mod_cloud_notify/mod_cloud_notify.lua
changeset 2399 2e641ab995b3
parent 2267 92af641fcf48
child 2613 6ab46ff685d0
--- a/mod_cloud_notify/mod_cloud_notify.lua	Thu Nov 24 00:47:32 2016 +0100
+++ b/mod_cloud_notify/mod_cloud_notify.lua	Thu Nov 24 01:15:08 2016 +0100
@@ -160,7 +160,7 @@
 local function hibernate_session(event)
 	local session = event.origin;
 	local queue = event.queue;
-	-- process already unacked stanzas
+	-- process unacked stanzas
 	for i=1,#queue do
 		process_new_stanza(queue[i], session);
 	end
@@ -174,8 +174,19 @@
 	filters.remove_filter(session, "stanzas/out", process_new_stanza);
 end
 
+-- smacks ack is delayed
+local function ack_delayed(event)
+	local session = event.origin;
+	local queue = event.queue;
+	-- process unacked stanzas (process_new_stanza will only send push requests for new messages)
+	for i=1,#queue do
+		process_new_stanza(queue[i], session);
+	end
+end
+
 module:hook("smacks-hibernation-start", hibernate_session);
 module:hook("smacks-hibernation-end", restore_session);
+module:hook("smacks-ack-delayed", ack_delayed);
 
 
 module:hook("message/offline/broadcast", function(event)