From 7ff04a760ef33520658d505bd5d2e3cc6c8111ca Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Tue, 2 Jun 2009 07:23:28 +0500 Subject: mod_presence: Remove JIDs from directed presence list on sending error or unavailable presence --- plugins/mod_presence.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/mod_presence.lua b/plugins/mod_presence.lua index 468fbd98..f30a1b84 100644 --- a/plugins/mod_presence.lua +++ b/plugins/mod_presence.lua @@ -285,6 +285,10 @@ module:hook("pre-presence/full", function(data) local to_bare = jid_bare(to); if not(origin.roster[to_bare] and (origin.roster[to_bare].subscription == "both" or origin.roster[to_bare].subscription == "from")) then -- directed presence origin.directed = origin.directed or {}; - origin.directed[to] = true; -- FIXME does it make more sense to add to_bare rather than to? + if stanza.attr.type then -- removing from directed presence list on sending an error or unavailable + origin.directed[to] = nil; -- FIXME does it make more sense to add to_bare rather than to? + else + origin.directed[to] = true; -- FIXME does it make more sense to add to_bare rather than to? + end end end); -- cgit v1.2.3