Annotate

mod_muc_mam_hints/mod_muc_mam_hints.lua @ 4362:116c88c28532

mod_http_admin_api: restructure group-related info in API - Return the members of the group right in the get_group_by_id call. This is an O(1) of extra work. - Remove the groups attribute from get_user_by_name as that is O(n) of work and rarely immediately needed. The replacement for the group membership information in the user is for now to use the group API and iterate; future work may fix that.
author Jonas Schäfer <jonas@wielicki.name>
date Wed, 20 Jan 2021 15:30:29 +0100
parent 3463:2aaf93d2b219
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3463
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
1 --
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
2 -- A module to indicate if a MUC message qualifies as historic based on XEP-0334 hints
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
3 --
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
4
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
5 module:depends"muc_mam"
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
6
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
7 module:log("debug", "Module loaded");
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
8
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
9 module:hook("muc-message-is-historic", function (event)
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
10 if (event.stanza:get_child("no-store", "urn:xmpp:hints") or
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
11 event.stanza:get_child("no-permanent-store", "urn:xmpp:hints")) then
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
12 module:log("debug", "Not archiving stanza: %s (urn:xmpp:hints)", event.stanza)
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
13 return false
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
14 elseif event.stanza:get_child("store", "urn:xmpp:hints") then
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
15 return true
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
16 else
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
17 return nil
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
18 end
2aaf93d2b219 mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
marc0s <marcos@tenak.net>
parents:
diff changeset
19 end)