Mercurial > prosody-modules
comparison mod_smacks_noerror/mod_smacks_noerror.lua @ 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 | d1e975c24545 |
| children | e7dc25e54d02 |
comparison
equal
deleted
inserted
replaced
| 3170:c7773ea263d0 | 3171:f35b2b76df6d |
|---|---|
| 1 local t_insert = table.insert; | 1 local t_insert = table.insert; |
| 2 | 2 |
| 3 local mod_smacks = module:depends"smacks" | 3 local mod_smacks = module:depends"smacks" |
| 4 | |
| 5 -- ignore offline messages and don't return any error (the message will be already in MAM at this point) | |
| 6 -- this is *only* triggered if mod_offline is *not* loaded and completely ignored otherwise | |
| 7 module:hook("message/offline/handle", function(event) | |
| 8 event.origin.log("debug", "Ignoring offline message (mod_offline seems to be *not* loaded)..."); | |
| 9 return true; | |
| 10 end, -100); | |
| 4 | 11 |
| 5 local function discard_unacked_messages(session) | 12 local function discard_unacked_messages(session) |
| 6 local queue = session.outgoing_stanza_queue; | 13 local queue = session.outgoing_stanza_queue; |
| 7 local replacement_queue = {}; | 14 local replacement_queue = {}; |
| 8 session.outgoing_stanza_queue = replacement_queue; | 15 session.outgoing_stanza_queue = replacement_queue; |
