comparison mod_delay/mod_delay.lua @ 3054:5e94061c1aa7

mod_delay: Don't break on smacks resume
author tmolitor <thilo@eightysoft.de>
date Mon, 28 May 2018 05:27:03 +0200
parents 05248d5a7166
children
comparison
equal deleted inserted replaced
3052:e4a986d55bb2 3054:5e94061c1aa7
1 -- Copyright (C) 2016-2017 Thilo Molitor
2 --
3 -- This project is MIT/X11 licensed. Please see the
4 -- COPYING file in the source package for more information.
5 --
6
1 local add_filter = require "util.filters".add_filter; 7 local add_filter = require "util.filters".add_filter;
2 local remove_filter = require "util.filters".remove_filter; 8 local remove_filter = require "util.filters".remove_filter;
3 local datetime = require "util.datetime"; 9 local datetime = require "util.datetime";
4 10
5 local xmlns_delay = "urn:xmpp:delay"; 11 local xmlns_delay = "urn:xmpp:delay";
21 end 27 end
22 28
23 module:hook("resource-bind", function(event) 29 module:hook("resource-bind", function(event)
24 add_filter(event.session, "stanzas/in", add_delay, 1); 30 add_filter(event.session, "stanzas/in", add_delay, 1);
25 end); 31 end);
26 32 module:hook("smacks-hibernation-end", function(event)
33 -- older smacks module versions send only the "intermediate" session in event.session and no session.resumed one
34 if event.resumed then
35 add_filter(event.resumed, "stanzas/in", add_delay, 1);
36 end
37 end);
27 module:hook("pre-resource-unbind", function (event) 38 module:hook("pre-resource-unbind", function (event)
28 remove_filter(event.session, "stanzas/in", add_delay); 39 remove_filter(event.session, "stanzas/in", add_delay);
29 end); 40 end);