diff options
Diffstat (limited to 'core/presencemanager.lua')
-rw-r--r-- | core/presencemanager.lua | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/core/presencemanager.lua b/core/presencemanager.lua index e4dd6cc4..4d847563 100644 --- a/core/presencemanager.lua +++ b/core/presencemanager.lua @@ -103,7 +103,14 @@ function handle_normal_presence(origin, stanza, core_route_stanza) end
origin.priority = 0;
if stanza.attr.type == "unavailable" then
- origin.presence = nil;
+ origin.presence = nil; + if origin.directed then + for _, jid in ipairs(origin.directed) do + stanza.attr.to = jid; + core_route_stanza(origin, stanza); + end + origin.directed = nil; + end
else
origin.presence = stanza;
local priority = stanza:child_with_name("priority");
|