diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_carbons.lua | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/plugins/mod_carbons.lua b/plugins/mod_carbons.lua index 51242809..9b94d58d 100644 --- a/plugins/mod_carbons.lua +++ b/plugins/mod_carbons.lua @@ -7,7 +7,7 @@ local st = require "util.stanza"; local jid_bare = require "util.jid".bare; local xmlns_carbons = "urn:xmpp:carbons:2"; local xmlns_forward = "urn:xmpp:forward:0"; -local full_sessions, bare_sessions = full_sessions, bare_sessions; +local full_sessions, bare_sessions = prosody.full_sessions, prosody.bare_sessions; local function toggle_carbons(event) local origin, stanza = event.origin, event.stanza; @@ -21,14 +21,12 @@ module:hook("iq-set/self/"..xmlns_carbons..":enable", toggle_carbons); local function message_handler(event, c2s) local origin, stanza = event.origin, event.stanza; - local orig_type = stanza.attr.type; + local orig_type = stanza.attr.type or "normal"; local orig_from = stanza.attr.from; local orig_to = stanza.attr.to; - if not (orig_type == nil - or orig_type == "normal" - or orig_type == "chat") then - return -- No carbons for messages of type error or headline + if not(orig_type == "chat" or orig_type == "normal" and stanza:get_child("body")) then + return -- Only chat type messages end -- Stanza sent by a local client |