view mod_muc_mam_markers/mod_muc_mam_markers.lua @ 4298:020dd0a59f1f

mod_muc_markers: Add option for @id rewriting, default off (may break some clients) XEP-0333 was updated to clarify that stanza-id should be used instead of the 'id' attribute when in a MUC. Some clients still use the id attribute, which is why we were rewriting it. Rewriting is bad because mod_muc advertises stable_id, indicating that Prosody does *not* rewrite ids. Recent versions of Conversations actually depend on this being true. All clients should migrate to using stanza-id for markers. See XEP-0333.
author Matthew Wild <mwild1@gmail.com>
date Mon, 14 Dec 2020 12:09:25 +0000
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");