--- a/plugins/muc/muc.lib.lua Tue Jun 13 20:14:06 2017 +0200
+++ b/plugins/muc/muc.lib.lua Mon Jun 26 01:03:51 2017 +0200
@@ -349,8 +349,11 @@
occupant:set_session(real_jid, st.presence({type="unavailable"})
:tag('status'):text(error_message));
self:save_occupant(occupant);
- local x = st.stanza("x", {xmlns = "http://jabber.org/protocol/muc#user";})
- :tag("status", {code = "307"})
+ local x = {
+ base = st.stanza("x", {xmlns = "http://jabber.org/protocol/muc#user";});
+ self = st.stanza("x", {xmlns = "http://jabber.org/protocol/muc#user";})
+ :tag("status", {code = "307"});
+ };
self:publicise_occupant_status(occupant, x);
if occupant.jid == real_jid then -- Was last session
module:fire_event("muc-occupant-left", {room = self; nick = occupant.nick; occupant = occupant;});
@@ -1298,7 +1301,11 @@
local x = st.stanza("x", {xmlns = "http://jabber.org/protocol/muc#user"});
if not role then
- x:tag("status", {code = "307"}):up();
+ x = {
+ base = x;
+ self = st.stanza("x", {xmlns = "http://jabber.org/protocol/muc#user"})
+ :tag("status", {code = "307"}):up();
+ };
end
occupant.role = role;
self:save_occupant(occupant);