Mercurial > prosody-modules
view mod_muc_thread_polyfill/mod_muc_thread_polyfill.lua @ 6398:9c9889ad4302
mod_unsubscriber: Add MUC support
This catches XEP-0045 Join stanzas and replies with an error telling the
prospective participant that the supposed MUC is gone. The user or their
client can then take action to remove any bookmark or at least disable
autojoin.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 07 Feb 2026 12:25:52 +0100 |
| parents | 1a08652c3fea |
| children |
line wrap: on
line source
local st = require "util.stanza"; local jid = require "util.jid"; local archive = module:open_store("muc_log", "archive"); module:hook("muc-occupant-groupchat", function (event) local stanza = event.stanza; local room = event.room; if stanza:get_child("thread") then return; end local reply = stanza:get_child("reply", "urn:xmpp:reply:0"); if not reply then return; end local reply_id = reply.attr.id; if not reply_id then return; end local archived = archive:get(jid.node(room.jid), reply_id); if not archived then return; end local parent_thread = archived:get_child("thread"); if parent_thread then stanza:add_child(st.clone(parent_thread)); end end);
