aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/muc/muc.lib.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2019-11-23 01:05:28 +0100
committerKim Alvefur <zash@zash.se>2019-11-23 01:05:28 +0100
commitebba1906578bf3eb074486696ed2dd7fb1dc5bc4 (patch)
tree97bd8b669b1b8b44300440b766f0787ff47a9912 /plugins/muc/muc.lib.lua
parentc4c38d2f01d5f2711b527c7c2412250ed6c58738 (diff)
downloadprosody-ebba1906578bf3eb074486696ed2dd7fb1dc5bc4.tar.gz
prosody-ebba1906578bf3eb074486696ed2dd7fb1dc5bc4.zip
MUC: Keep role across nickname change (fixes #1466)
Diffstat (limited to 'plugins/muc/muc.lib.lua')
-rw-r--r--plugins/muc/muc.lib.lua3
1 files changed, 3 insertions, 0 deletions
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index cf9b46f7..639ecc38 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -524,6 +524,9 @@ function room_mt:handle_normal_presence(origin, stanza)
log("debug", "no occupant found for %s; creating new occupant object for %s", dest_jid, real_jid);
is_first_dest_session = true;
dest_occupant = self:new_occupant(bare_jid, dest_jid);
+ if orig_occupant then
+ dest_occupant.role = orig_occupant.role;
+ end
else
is_first_dest_session = false;
end