# HG changeset patch # User Waqas Hussain # Date 1243909408 -18000 # Node ID f2b50efe8d44b85b2e0e2de7778de6a7ea520bb8 # Parent d0e80c1578e16d8a0e4e6cd18820a98b742377dc mod_presence: Remove JIDs from directed presence list on sending error or unavailable presence diff -r d0e80c1578e1 -r f2b50efe8d44 plugins/mod_presence.lua --- a/plugins/mod_presence.lua Tue Jun 02 07:22:16 2009 +0500 +++ b/plugins/mod_presence.lua Tue Jun 02 07:23:28 2009 +0500 @@ -285,6 +285,10 @@ 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);