Software /
code /
prosody-modules
Changeset
3171:f35b2b76df6d
mod_smacks_noerror: Add ability to silence errors if mod_offline is disabled
This will also silence "message not delivered" errors if mod_offline
is disabled and all clients are offline.
This assumes working MAM for all clients (lready assumed by the rest of this module).
author | tmolitor <thilo@eightysoft.de> |
---|---|
date | Tue, 03 Jul 2018 01:03:48 +0200 |
parents | 3170:c7773ea263d0 |
children | 3172:8d2fe3b93c15 |
files | mod_smacks_noerror/README.markdown mod_smacks_noerror/mod_smacks_noerror.lua |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_smacks_noerror/README.markdown Mon Jul 02 22:45:30 2018 +0200 +++ b/mod_smacks_noerror/README.markdown Tue Jul 03 01:03:48 2018 +0200 @@ -18,6 +18,12 @@ unacked message stanzas instead of sending error replies. Unacked iq stanzas are still answered with an error reply though. +If you disable mod_offline, this module will also silence "message not delivered" +error messages that will otherwise be generated when prosody would normally +store offline message but can't do this because of disabled mod_offline. +If mod_offline is *not* disabled this module will not change offline storage +behaviour at all. + Warning =======
--- a/mod_smacks_noerror/mod_smacks_noerror.lua Mon Jul 02 22:45:30 2018 +0200 +++ b/mod_smacks_noerror/mod_smacks_noerror.lua Tue Jul 03 01:03:48 2018 +0200 @@ -2,6 +2,13 @@ local mod_smacks = module:depends"smacks" +-- ignore offline messages and don't return any error (the message will be already in MAM at this point) +-- this is *only* triggered if mod_offline is *not* loaded and completely ignored otherwise +module:hook("message/offline/handle", function(event) + event.origin.log("debug", "Ignoring offline message (mod_offline seems to be *not* loaded)..."); + return true; +end, -100); + local function discard_unacked_messages(session) local queue = session.outgoing_stanza_queue; local replacement_queue = {};