Diff

plugins/mod_mam/mod_mam.lua @ 8253:3a6f5b0f56f0

Merge 0.10->trunk
author Kim Alvefur <zash@zash.se>
date Thu, 21 Sep 2017 02:36:28 +0200
parent 8252:63e505578d4f
child 8538:3eb4cafb3b64
line wrap: on
line diff
--- a/plugins/mod_mam/mod_mam.lua	Sun Sep 17 13:33:38 2017 -0400
+++ b/plugins/mod_mam/mod_mam.lua	Thu Sep 21 02:36:28 2017 +0200
@@ -67,20 +67,18 @@
 module:hook("iq/self/"..xmlns_mam..":prefs", function(event)
 	local origin, stanza = event.origin, event.stanza;
 	local user = origin.username;
-	if stanza.attr.type == "get" then
-		local prefs = prefs_to_stanza(get_prefs(user));
-		local reply = st.reply(stanza):add_child(prefs);
-		origin.send(reply);
-	else -- type == "set"
+	if stanza.attr.type == "set" then
 		local new_prefs = stanza:get_child("prefs", xmlns_mam);
 		local prefs = prefs_from_stanza(new_prefs);
 		local ok, err = set_prefs(user, prefs);
 		if not ok then
 			origin.send(st.error_reply(stanza, "cancel", "internal-server-error", "Error storing preferences: "..tostring(err)));
-		else
-			origin.send(st.reply(stanza));
+			return true;
 		end
 	end
+	local prefs = prefs_to_stanza(get_prefs(user));
+	local reply = st.reply(stanza):add_child(prefs);
+	origin.send(reply);
 	return true;
 end);
 
@@ -294,6 +292,7 @@
 			end
 		end);
 		if #clone_for_storage.tags == 0 then
+			log("debug", "Not archiving stanza: %s (empty when stripped)", stanza:top_tag());
 			return;
 		end
 	else