# HG changeset patch # User Maxime “pep” Buquet # Date 1582760380 -3600 # Node ID f1e28dcb37915187b8c9522613ad3863703e691f # Parent 80dffbbd056b44492fba2340f0ebfc521199ad7c mod_muc_occupant_id: Ensure id is added to self-presences, nick changes, etc. diff -r 80dffbbd056b -r f1e28dcb3791 mod_muc_occupant_id/README.markdown --- a/mod_muc_occupant_id/README.markdown Wed Feb 26 22:48:10 2020 +0000 +++ b/mod_muc_occupant_id/README.markdown Thu Feb 27 00:39:40 2020 +0100 @@ -13,7 +13,6 @@ TODO ==== -- Self-presence - Subject messages - MUC-PM support diff -r 80dffbbd056b -r f1e28dcb3791 mod_muc_occupant_id/mod_muc_occupant_id.lua --- a/mod_muc_occupant_id/mod_muc_occupant_id.lua Wed Feb 26 22:48:10 2020 +0000 +++ b/mod_muc_occupant_id/mod_muc_occupant_id.lua Thu Feb 27 00:39:40 2020 +0100 @@ -30,7 +30,12 @@ end local function update_occupant(event) - local stanza, occupant, room = event.stanza, event.occupant, event.room; + local stanza, room, occupant, dest_occupant = event.stanza, event.room, event.occupant, event.dest_occupant; + + -- "muc-occupant-pre-change" provides "dest_occupant" but not "occupant". + if dest_occupant ~= nil then + occupant = dest_occupant; + end -- strip any existing tags to avoid forgery stanza:remove_children("occupant-id", xmlns_occupant_id); @@ -47,4 +52,5 @@ -- TODO: Handle MUC-PMs module:hook("muc-broadcast-presence", update_occupant); module:hook("muc-occupant-pre-join", update_occupant); +module:hook("muc-occupant-pre-change", update_occupant); module:hook("muc-occupant-groupchat", update_occupant);