mod_vcard_legacy: Include avatar data even if metadata can't be loaded

Normally both nodes should have the same configuration and matching
items, but we can't depend on it without having some code that enforces
it, which does not exist at the time of this commit.

Including the avatar itself should be prioritised. The image format can
be derived from magic bytes.
remotes/origin/0.11
Kim Alvefur 7 years ago
parent 7032c73db0
commit 3d0909ee7d
  1. 7
      plugins/mod_vcard_legacy.lua

@ -111,9 +111,10 @@ module:hook("iq-get/bare/vcard-temp:vCard", function (event)
local meta_ok, avatar_meta = pep_service:get_items("urn:xmpp:avatar:metadata", stanza.attr.from);
local data_ok, avatar_data = pep_service:get_items("urn:xmpp:avatar:data", stanza.attr.from);
if meta_ok and data_ok then
for _, hash in ipairs(avatar_meta) do
local meta = avatar_meta[hash];
if data_ok then
for _, hash in ipairs(avatar_data) do
local meta = meta_ok and avatar_meta[hash];
local data = avatar_data[hash];
local info = meta and meta.tags[1]:get_child("info");
vcard_temp:tag("PHOTO");

Loading…
Cancel
Save