Software /
code /
prosody-modules
Diff
mod_muc_occupant_id/mod_muc_occupant_id.lua @ 3916:f1e28dcb3791
mod_muc_occupant_id: Ensure id is added to self-presences, nick changes, etc.
author | Maxime “pep” Buquet <pep@bouah.net> |
---|---|
date | Thu, 27 Feb 2020 00:39:40 +0100 |
parent | 3904:d14fc974efbc |
child | 3945:cf682a02b6d8 |
line wrap: on
line diff
--- 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 <occupant-id/> 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);