# HG changeset patch # User tmolitor # Date 1530572628 -7200 # Node ID f35b2b76df6d8435ba43221f76e30de05124cd2b # Parent c7773ea263d08a3a7cee83ed3b0d63a104201e9c 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). diff -r c7773ea263d0 -r f35b2b76df6d mod_smacks_noerror/README.markdown --- 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 ======= diff -r c7773ea263d0 -r f35b2b76df6d mod_smacks_noerror/mod_smacks_noerror.lua --- 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 = {};