# HG changeset patch # User Emmanuel Gil Peyrot # Date 1505857088 -7200 # Node ID 63e505578d4f1f196dd3fe62c078b2a0698952a3 # Parent cb2d86f4b5119bad02887c235543b0a915581e3e mod_mam: Also return the preferences on set Fixes #995. diff -r cb2d86f4b511 -r 63e505578d4f plugins/mod_mam/mod_mam.lua --- a/plugins/mod_mam/mod_mam.lua Wed Sep 20 14:42:21 2017 +0100 +++ b/plugins/mod_mam/mod_mam.lua Tue Sep 19 23:38:08 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);