view mod_muc_mam_hints/mod_muc_mam_hints.lua @ 5381:32a9817c7516

mod_firewall: Initialize compiled chunk just once for all handlers This should fix a case where some stateful dependencies (such as throttles) produce separate instances for every call to new_handler(), leading to surprising behaviour (e.g. rules executed via JUMP CHAIN vs ::deliver would have separate rate limits). This also adds better error handling in case the compiled code fails to run for some reason.
author Matthew Wild <mwild1@gmail.com>
date Fri, 28 Apr 2023 13:27:06 +0100
parents 2aaf93d2b219
children
line wrap: on
line source

--
-- A module to indicate if a MUC message qualifies as historic based on XEP-0334 hints
--

module:depends"muc_mam"

module:log("debug", "Module loaded");

module:hook("muc-message-is-historic", function (event)
  if (event.stanza:get_child("no-store", "urn:xmpp:hints") or
    event.stanza:get_child("no-permanent-store", "urn:xmpp:hints")) then
      module:log("debug", "Not archiving stanza: %s (urn:xmpp:hints)", event.stanza)
    return false
  elseif event.stanza:get_child("store", "urn:xmpp:hints") then
    return true
  else
    return nil
  end
end)