plugins/muc/muc.lib.lua
changeset 7400 e49737de9872
parent 7399 71a7140200fc
child 7405 ef7ea3bad7a1
--- a/plugins/muc/muc.lib.lua	Tue Apr 19 18:43:15 2016 +0200
+++ b/plugins/muc/muc.lib.lua	Tue Apr 19 18:46:07 2016 +0200
@@ -196,7 +196,7 @@
 	local base_presence do
 		-- Try to use main jid's presence
 		local pr = occupant:get_presence();
-		if pr and (pr.attr.type ~= "unavailable" or occupant.role == nil) then
+		if pr and (pr.attr.type ~= "unavailable" and occupant.role ~= nil) then
 			base_presence = st.clone(pr);
 		else -- user is leaving but didn't send a leave presence. make one for them
 			base_presence = st.presence {from = occupant.nick; type = "unavailable";};
@@ -737,7 +737,6 @@
 		occupants_updated[occupant] = true;
 	end
 	for occupant in pairs(occupants_updated) do
-		occupant:set_session(occupant.jid, st.presence({type="unavailable"}), true);
 		self:publicise_occupant_status(occupant, x);
 		module:fire_event("muc-occupant-left", { room = self; nick = occupant.nick; occupant = occupant;});
 	end