Software /
code /
prosody
Diff
plugins/muc/muc.lib.lua @ 10686:ac3ec4f2b124
MUC: Pass previous role to :publicise_occupant_status() when destroying a MUC
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 12 Mar 2020 14:35:34 +0000 |
parent | 10684:de607875d4bd |
child | 10687:8c2c5b4fde32 |
line wrap: on
line diff
--- a/plugins/muc/muc.lib.lua Thu Mar 12 14:13:22 2020 +0000 +++ b/plugins/muc/muc.lib.lua Thu Mar 12 14:35:34 2020 +0000 @@ -908,12 +908,13 @@ x = x or st.stanza("x", {xmlns='http://jabber.org/protocol/muc#user'}); local occupants_updated = {}; for nick, occupant in self:each_occupant() do -- luacheck: ignore 213 + local prev_role = occupant.role; occupant.role = nil; self:save_occupant(occupant); - occupants_updated[occupant] = true; + occupants_updated[occupant] = prev_role; end - for occupant in pairs(occupants_updated) do - self:publicise_occupant_status(occupant, x); + for occupant, prev_role in pairs(occupants_updated) do + self:publicise_occupant_status(occupant, x, nil, nil, nil, prev_role); module:fire_event("muc-occupant-left", { room = self; nick = occupant.nick;