Diff

mod_muc_mam_hints/mod_muc_mam_hints.lua @ 3463:2aaf93d2b219

mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages Hook muc-message-is-historic and check if Message Processing Hints are present to compute the return value.
author marc0s <marcos@tenak.net>
date Wed, 13 Feb 2019 15:52:58 +0100
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_muc_mam_hints/mod_muc_mam_hints.lua	Wed Feb 13 15:52:58 2019 +0100
@@ -0,0 +1,19 @@
+--
+-- 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)