From 4bceaa2443543f773ea3231730631b0030f51c5a Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
Date: Tue, 15 Dec 2020 13:36:08 +0000
Subject: MUC: Fix logic bug causing unnecessary presence to be sent, fixes
 #1615 (thanks damencho)

---
 plugins/muc/muc.lib.lua | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index 3139c131..037baa37 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -1326,8 +1326,8 @@ function room_mt:set_affiliation(actor, jid, affiliation, reason, data)
 			if occupant.role == nil then
 				module:fire_event("muc-occupant-left", {room = self; nick = occupant.nick; occupant = occupant;});
 			elseif is_semi_anonymous and
-				(old_role == "moderator" and occupant.role ~= "moderator") or
-				(old_role ~= "moderator" and occupant.role == "moderator") then -- Has gained or lost moderator status
+				((old_role == "moderator" and occupant.role ~= "moderator") or
+				(old_role ~= "moderator" and occupant.role == "moderator")) then -- Has gained or lost moderator status
 				-- Send everyone else's presences (as jid visibility has changed)
 				for real_jid in occupant:each_session() do
 					self:send_occupant_list(real_jid, function(occupant_jid, occupant) --luacheck: ignore 212 433
-- 
cgit v1.2.3