Mercurial > prosody-modules
changeset 3500:e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
This module will hook `message/offline/handle` and will skip offline
storage for messages hinted with `no-store` or `no-permanent-store`.
author | marc0s <marcos.devera@quobis.com> |
---|---|
date | Fri, 29 Mar 2019 17:06:18 +0100 |
parents | a1fc677d0cc8 |
children | 1df139b157fb |
files | mod_offline_hints/README.markdown mod_offline_hints/mod_offline_hints.lua |
diffstat | 2 files changed, 46 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_offline_hints/README.markdown Fri Mar 29 17:06:18 2019 +0100 @@ -0,0 +1,22 @@ +--- +labels: +- 'Stage-alpha' +summary: Do not store in offline storage messages hinted with no-store' +... + +Introduction +============ + +`mod_offline` does not take into account XEP-334 tags. This module +will not add to the offline storage those messages tagged with +`<no-store />`. + +Usage +===== + +First copy the module to the prosody plugins directory. + +Then add "offline\_hints" to your modules\_enabled list in your +configuration. + +No configuration options are available.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_offline_hints/mod_offline_hints.lua Fri Mar 29 17:06:18 2019 +0100 @@ -0,0 +1,24 @@ +-- mod_offline_hints +-- +-- Copyright (C) 2019 Marcos de Vera Piquero <marcos.devera@quobis.com> +-- +-- This file is MIT/X11 licensed. +-- +-- A module to discard hinted messages with no-store at mod_offline +-- + +module:depends"offline"; + +local function handle_offline (event) + local stanza = event.stanza; + if (stanza:get_child("no-store", "urn:xmpp:hints") or + stanza:get_child("no-permanent-store", "urn:xmpp:hints")) then + module:log("debug", "Not storing offline stanza: %s (urn:xmpp:hints)", stanza); + return false; + end + return nil; +end + +module:hook("message/offline/handle", handle_offline); + +module:log("debug", "Module loaded");