Mercurial > prosody-modules
diff mod_carbons/mod_carbons.lua @ 1183:3acb01ca7e5c
mod_carbons: Handle enabled/disable with the same callback for all versions
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 05 Sep 2013 01:00:08 +0200 |
parents | 8ceab2331216 |
children | 0d3d15586d7e |
line wrap: on
line diff
--- a/mod_carbons/mod_carbons.lua Tue Sep 03 11:19:31 2013 +0100 +++ b/mod_carbons/mod_carbons.lua Thu Sep 05 01:00:08 2013 +0200 @@ -14,7 +14,7 @@ local function toggle_carbons(event) local origin, stanza = event.origin, event.stanza; if stanza.attr.type == "set" then - local state = stanza.tags[1].name; + local state = stanza.tags[1].attr.mode or stanza.tags[1].name; module:log("debug", "%s %sd carbons", origin.full_jid, state); origin.want_carbons = state == "enable" and stanza.tags[1].attr.xmlns; origin.send(st.reply(stanza)); @@ -27,19 +27,7 @@ -- COMPAT module:hook("iq/self/"..xmlns_carbons_old..":disable", toggle_carbons); module:hook("iq/self/"..xmlns_carbons_old..":enable", toggle_carbons); - --- COMPAT :( -if module:get_option_boolean("carbons_v0") then - module:hook("iq/self/"..xmlns_carbons_really_old..":carbons", function(event) - local origin, stanza = event.origin, event.stanza; - if stanza.attr.type == "set" then - local state = stanza.tags[1].attr.mode; - origin.want_carbons = state == "enable" and xmlns_carbons_really_old; - origin.send(st.reply(stanza)); - return true; - end - end); -end +module:hook("iq/self/"..xmlns_carbons_really_old..":carbons", toggle_carbons); local function message_handler(event, c2s) local origin, stanza = event.origin, event.stanza;