fix(breakout-rooms) fix checking if a user is in a room

Breakout rooms are just reserved UUIDs, they need not exist as actual MUCs,
until a participant joins. Thus, take this into account when checking if a
participant is in a room.
This commit is contained in:
Saúl Ibarra Corretgé 2021-11-26 15:26:02 +01:00 committed by Saúl Ibarra Corretgé
parent 4a88ad098a
commit 00a74ca47a
1 changed files with 5 additions and 3 deletions

View File

@ -263,9 +263,11 @@ function on_message(event)
-- Check if the participant is in any breakout room.
for breakout_room_jid in pairs(room._data.breakout_rooms or {}) do
local breakout_room = breakout_rooms_muc_service.get_room_from_jid(breakout_room_jid);
occupant = breakout_room:get_occupant_by_real_jid(from);
if occupant then
break;
if breakout_room then
occupant = breakout_room:get_occupant_by_real_jid(from);
if occupant then
break;
end
end
end
if not occupant then