Mercurial > prosody-modules
view mod_muc_mam_markers/mod_muc_mam_markers.lua @ 5536:96dec7681af8
mod_firewall: Update user marks to store instantly via map store
The original approach was to keep marks in memory only, and persist them at
shutdown. That saves I/O, at the cost of potentially losing marks on an
unclean shutdown.
This change persists marks instantly, which may have some performance overhead
but should be more "correct".
It also splits the marking/unmarking into an event which may be watched or
even fired by other modules.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 08 Jun 2023 16:20:42 +0100 |
parents | a1fc677d0cc8 |
children |
line wrap: on
line source
-- mod_muc_mam_markers -- -- Copyright (C) 2019 Marcos de Vera Piquero <marcos.devera@quobis.com> -- -- This file is MIT/X11 licensed. -- -- A module to make chat markers get stored in the MUC archives -- module:depends"muc_mam" local function handle_muc_message (event) local stanza = event.stanza; local is_received = stanza:get_child("received", "urn:xmpp:chat-markers:0"); local is_displayed = stanza:get_child("displayed", "urn:xmpp:chat-markers:0"); local is_acked = stanza:get_child("acknowledged", "urn:xmpp:chat-markers:0"); if (is_received or is_displayed or is_acked) then return true; end return nil; end module:hook("muc-message-is-historic", handle_muc_message); module:log("debug", "Module loaded");