mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2025-12-30 03:12:29 +00:00
feat(lobby): Handle disabling lobby. (#16770)
* feat(lobby): Handle disabling lobby. * squash: rename field.
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
- breakout_rooms - A table containing breakout rooms created in the main room. The keys are the JIDs of the breakout rooms, and the values are their subjects.
|
- breakout_rooms - A table containing breakout rooms created in the main room. The keys are the JIDs of the breakout rooms, and the values are their subjects.
|
||||||
- breakout_rooms_active - Whether there was a breakout room created in the main room.
|
- breakout_rooms_active - Whether there was a breakout room created in the main room.
|
||||||
- breakout_rooms_counter - A counter for breakout rooms created in the main room.
|
- breakout_rooms_counter - A counter for breakout rooms created in the main room.
|
||||||
|
- lobby_disabled - Whether lobby was disabled for the room by the backend.
|
||||||
- flip_participant_nick - Used in mod_muc_flip, when flipping a participant we store the nick of the second device/participant. Same processing as kicked_participant_nick.
|
- flip_participant_nick - Used in mod_muc_flip, when flipping a participant we store the nick of the second device/participant. Same processing as kicked_participant_nick.
|
||||||
- hideDisplayNameForGuests - When set to true, the display name of participants is hidden for guests.
|
- hideDisplayNameForGuests - When set to true, the display name of participants is hidden for guests.
|
||||||
- jicofo_lock - A boolean value, when set to true the room is locked waiting for Jicofo to join. All attempts to join will be queued until Jicofo joins.
|
- jicofo_lock - A boolean value, when set to true the room is locked waiting for Jicofo to join. All attempts to join will be queued until Jicofo joins.
|
||||||
|
|||||||
@@ -413,11 +413,16 @@ function process_lobby_muc_loaded(lobby_muc, host_module)
|
|||||||
host_module:hook('host-disco-info-node', function (event)
|
host_module:hook('host-disco-info-node', function (event)
|
||||||
local session, reply, node = event.origin, event.reply, event.node;
|
local session, reply, node = event.origin, event.reply, event.node;
|
||||||
if node == LOBBY_IDENTITY_TYPE
|
if node == LOBBY_IDENTITY_TYPE
|
||||||
and session.jitsi_web_query_room
|
and session.jitsi_web_query_room then
|
||||||
and check_display_name_required then
|
|
||||||
local room = get_room_by_name_and_subdomain(session.jitsi_web_query_room, session.jitsi_web_query_prefix);
|
local room = get_room_by_name_and_subdomain(session.jitsi_web_query_room, session.jitsi_web_query_prefix);
|
||||||
|
|
||||||
if room and room._data.lobbyroom then
|
if room and room._data.lobby_disabled then
|
||||||
|
-- we cannot remove the child from the stanza so let's just change the type
|
||||||
|
local lobby_identity = reply:get_child_with_attr('identity', nil, 'type', LOBBY_IDENTITY_TYPE);
|
||||||
|
lobby_identity.attr.type = 'DISABLED_'..LOBBY_IDENTITY_TYPE;
|
||||||
|
end
|
||||||
|
|
||||||
|
if check_display_name_required and room and room._data.lobbyroom then
|
||||||
reply:tag('feature', { var = DISPLAY_NAME_REQUIRED_FEATURE }):up();
|
reply:tag('feature', { var = DISPLAY_NAME_REQUIRED_FEATURE }):up();
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -489,6 +494,11 @@ process_host_module(main_muc_component_config, function(host_module, host)
|
|||||||
end
|
end
|
||||||
local members_only = event.fields['muc#roomconfig_membersonly'] and true or nil;
|
local members_only = event.fields['muc#roomconfig_membersonly'] and true or nil;
|
||||||
if members_only then
|
if members_only then
|
||||||
|
-- if lobby disabled just ignore and return
|
||||||
|
if room._data.lobby_disabled then
|
||||||
|
module:log('warn', 'Lobby is disabled for room %s, cannot enable members only', room.jid);
|
||||||
|
return;
|
||||||
|
end
|
||||||
local lobby_created = attach_lobby_room(room, actor);
|
local lobby_created = attach_lobby_room(room, actor);
|
||||||
if lobby_created then
|
if lobby_created then
|
||||||
module:fire_event('jitsi-lobby-enabled', { room = room; });
|
module:fire_event('jitsi-lobby-enabled', { room = room; });
|
||||||
|
|||||||
Reference in New Issue
Block a user