aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2018-11-27 21:18:19 +0100
committerKim Alvefur <zash@zash.se>2018-11-27 21:18:19 +0100
commitaad8ebabe8c7c6f85956eb13626db8eee5051a28 (patch)
treefcb1579e9e63fb308ae73646cc06591a08d3f991
parentcf22878c983c7ebd6cf2a6bef90ed44b7295298d (diff)
parenta24712e84549f512be9339976cf2e5583292703e (diff)
downloadprosody-aad8ebabe8c7c6f85956eb13626db8eee5051a28.tar.gz
prosody-aad8ebabe8c7c6f85956eb13626db8eee5051a28.zip
Merge 0.11->trunk
-rw-r--r--plugins/mod_csi.lua1
-rw-r--r--plugins/mod_csi_simple.lua4
2 files changed, 3 insertions, 2 deletions
diff --git a/plugins/mod_csi.lua b/plugins/mod_csi.lua
index 03f052b7..7f50dfd9 100644
--- a/plugins/mod_csi.lua
+++ b/plugins/mod_csi.lua
@@ -11,6 +11,7 @@ end);
function refire_event(name)
return function (event)
if event.origin.username then
+ session.state = event.stanza.name;
module:fire_event(name, event);
return true;
end
diff --git a/plugins/mod_csi_simple.lua b/plugins/mod_csi_simple.lua
index f3df5734..1efff38f 100644
--- a/plugins/mod_csi_simple.lua
+++ b/plugins/mod_csi_simple.lua
@@ -81,11 +81,11 @@ module:hook("csi-client-inactive", function (event)
pump:pause();
session.pump = pump;
function session.send(stanza)
- if module:fire_event("csi-is-stanza-important", { stanza = stanza, session = session }) then
+ if session.state == "active" or module:fire_event("csi-is-stanza-important", { stanza = stanza, session = session }) then
pump:flush();
send(stanza);
else
- if st.is_stanza(stanza) then
+ if st.is_stanza(stanza) and stanza.attr.xmlns == nil and stanza.name ~= "iq" then
stanza = st.clone(stanza);
stanza:add_direct_child(st.stanza("delay", {xmlns = "urn:xmpp:delay", from = bare_jid, stamp = dt.datetime()}));
end