From 6061bd797ccde732339153fa5296d3ae2686fa87 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Fri, 26 Dec 2008 21:48:08 +0500 Subject: Delete the offline message store only when offline messages are present --- core/presencemanager.lua | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'core') diff --git a/core/presencemanager.lua b/core/presencemanager.lua index 4d847563..0f0808aa 100644 --- a/core/presencemanager.lua +++ b/core/presencemanager.lua @@ -95,11 +95,14 @@ function handle_normal_presence(origin, stanza, core_route_stanza) request.attr.to = jid; core_route_stanza(origin, request); end + end + local offline = offlinemanager.load(node, host); + if offline then + for _, msg in ipairs(offline) do + origin.send(msg); -- FIXME do we need to modify to/from in any way? + end + offlinemanager.deleteAll(node, host); end - for _, msg in ipairs(offlinemanager.load(node, host) or {}) do - origin.send(msg); -- FIXME do we need to modify to/from in any way? - end - offlinemanager.deleteAll(node, host); end origin.priority = 0; if stanza.attr.type == "unavailable" then -- cgit v1.2.3