Software /
code /
prosody
Diff
plugins/mod_message.lua @ 4965:c1685f0441b7
mod_message: Don't treat a message as delivered ok if session.send() returns false
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sun, 22 Jul 2012 16:59:55 +0100 |
parent | 4759:c4a0c420d232 |
child | 5370:7838acadb0fa |
line wrap: on
line diff
--- a/plugins/mod_message.lua Sun Jul 22 16:59:12 2012 +0100 +++ b/plugins/mod_message.lua Sun Jul 22 16:59:55 2012 +0100 @@ -35,10 +35,13 @@ if user then -- some resources are connected local recipients = user.top_resources; if recipients then + local sent; for i=1,#recipients do - recipients[i].send(stanza); + sent = recipients[i].send(stanza) or sent; end - return true; + if sent then + return true; + end end end -- no resources are online @@ -65,9 +68,7 @@ local origin, stanza = data.origin, data.stanza; local session = full_sessions[stanza.attr.to]; - if session then - -- TODO fire post processing event - session.send(stanza); + if session and session.send(stanza) then return true; else -- resource not online return process_to_bare(jid_bare(stanza.attr.to), origin, stanza);