--- a/plugins/mod_csi_simple.lua Sun Mar 24 18:33:38 2019 +0100
+++ b/plugins/mod_csi_simple.lua Sun Mar 24 18:58:53 2019 +0100
@@ -104,11 +104,17 @@
return stanza;
end
+local function flush_buffer(data, session)
+ session.conn:resume_writes();
+ return data;
+end
+
module:hook("csi-client-inactive", function (event)
local session = event.origin;
if session.conn and session.conn and session.conn.pause_writes then
session.conn:pause_writes();
filters.add_filter(session, "stanzas/out", manage_buffer);
+ filters.add_filter(session, "bytes/in", flush_buffer);
elseif session.pump then
session.pump:pause();
else
@@ -136,6 +142,7 @@
session.pump:resume();
elseif session.conn and session.conn and session.conn.resume_writes then
filters.remove_filter(session, "stanzas/out", manage_buffer);
+ filters.remove_filter(session, "bytes/in", flush_buffer);
session.conn:resume_writes();
end
end);