aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
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
commit59e906ef3fd2cb68314d8fae0748bc087d0dc537 (patch)
tree97bd8b669b1b8b44300440b766f0787ff47a9912 /plugins
parentd0cb023ea8025b74aafba800d1a815bedf7183ff (diff)
downloadprosody-59e906ef3fd2cb68314d8fae0748bc087d0dc537.tar.gz
prosody-59e906ef3fd2cb68314d8fae0748bc087d0dc537.zip
MUC: Keep role across nickname change (fixes #1466)
Diffstat (limited to 'plugins')
-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