mod_vcard_legacy: Fix publishing vcard without avatar
authorKim Alvefur <zash@zash.se>
Mon, 01 Jun 2020 17:55:01 +0200
changeset 10869 9c27b2385fad
parent 10868 1b657605ea29
child 10870 5265f7fe11dd
mod_vcard_legacy: Fix publishing vcard without avatar
plugins/mod_vcard_legacy.lua
--- a/plugins/mod_vcard_legacy.lua	Mon Jun 01 17:37:54 2020 +0200
+++ b/plugins/mod_vcard_legacy.lua	Mon Jun 01 17:55:01 2020 +0200
@@ -276,12 +276,14 @@
 			pep_service:purge("urn:xmpp:avatar:data", actor);
 		end
 
-		local ok, err = pep_service:publish("urn:xmpp:avatar:data", actor, avatar.hash, avatar.data, node_defaults);
-		if ok then
-			ok, err = pep_service:publish("urn:xmpp:avatar:metadata", actor, avatar.hash, avatar.meta, node_defaults);
-		end
-		if not ok then
-			return ok, err;
+		if avatar.data and avatar.meta then
+			local ok, err = assert(pep_service:publish("urn:xmpp:avatar:data", actor, avatar.hash, avatar.data, node_defaults));
+			if ok then
+				ok, err = assert(pep_service:publish("urn:xmpp:avatar:metadata", actor, avatar.hash, avatar.meta, node_defaults));
+			end
+			if not ok then
+				return ok, err;
+			end
 		end
 	end