Skip to content

Commit 2c43785

Browse files
authored
* feat(visitors): Remove duplicate check.
* feat(visitors): Remove duplicate check. Any service can be added to ignore list. * squash: drop list usage. * squash: Drops unused util.
1 parent e672aaa commit 2c43785

4 files changed

Lines changed: 9 additions & 39 deletions

File tree

resources/prosody-plugins/mod_speakerstats_component.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ local room_jid_match_rewrite = util.room_jid_match_rewrite;
55
local is_jibri = util.is_jibri;
66
local is_healthcheck_room = util.is_healthcheck_room;
77
local process_host_module = util.process_host_module;
8-
local is_transcriber_jigasi = util.is_transcriber_jigasi;
8+
local is_transcriber = util.is_transcriber;
99
local jid_resource = require "util.jid".resource;
1010
local st = require "util.stanza";
1111
local socket = require "socket";
@@ -226,7 +226,7 @@ function occupant_joined(event)
226226

227227
if is_healthcheck_room(room.jid)
228228
or is_admin(occupant.bare_jid)
229-
or is_transcriber_jigasi(stanza)
229+
or is_transcriber(occupant.jid)
230230
or is_jibri(occupant) then
231231
return;
232232
end

resources/prosody-plugins/mod_visitors.lua

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ local filter_identity_from_presence = util.filter_identity_from_presence;
1616
local is_admin = util.is_admin;
1717
local presence_check_status = util.presence_check_status;
1818
local process_host_module = util.process_host_module;
19-
local is_transcriber_jigasi = util.is_transcriber_jigasi;
19+
local is_jibri = util.is_jibri;
2020
local room_jid_match_rewrite = util.room_jid_match_rewrite;
2121
local json = require 'cjson.safe';
2222

@@ -34,10 +34,6 @@ if main_muc_component_config == nil then
3434
return ;
3535
end
3636

37-
-- A list of domains which to be ignored for visitors. For occupants using those domain we do not propagate them
38-
-- to visitor nodes and we do not update them with presence changes
39-
local ignore_list = module:get_option_set('visitors_ignore_list', {});
40-
4137
-- Advertise the component for discovery via disco#items
4238
module:add_identity('component', 'visitors', 'visitors.'..module.host);
4339

@@ -270,9 +266,8 @@ process_host_module(main_muc_component_config, function(host_module, host)
270266
local room, stanzaEv, occupant = event.room, event.stanza, event.dest_occupant;
271267
local stanza = filter_stanza_nick_if_needed(stanzaEv, room);
272268

273-
-- filter focus and configured domains (used for jibri and transcribers)
274-
if is_admin(stanza.attr.from) or visitors_nodes[room.jid] == nil
275-
or (ignore_list:contains(jid.host(occupant.bare_jid)) and not is_transcriber_jigasi(stanza)) then
269+
-- filter focus and jibri
270+
if is_admin(stanza.attr.from) or visitors_nodes[room.jid] == nil or is_jibri(occupant.jid) then
276271
return;
277272
end
278273

@@ -292,9 +287,9 @@ process_host_module(main_muc_component_config, function(host_module, host)
292287
local room, stanzaEv, occupant = event.room, event.stanza, event.occupant;
293288
local stanza = filter_stanza_nick_if_needed(stanzaEv, room);
294289

295-
-- ignore configured domains (jibri and transcribers)
290+
-- ignore jicofo and jibri
296291
if is_admin(occupant.bare_jid) or visitors_nodes[room.jid] == nil or visitors_nodes[room.jid].nodes == nil
297-
or (ignore_list:contains(jid.host(occupant.bare_jid)) and not is_transcriber_jigasi(stanza)) then
292+
or is_jibri(occupant.jid) then
298293
return;
299294
end
300295

@@ -336,9 +331,8 @@ process_host_module(main_muc_component_config, function(host_module, host)
336331
local room, stanzaEv, occupant = event.room, event.stanza, event.occupant;
337332
local stanza = filter_stanza_nick_if_needed(stanzaEv, room);
338333

339-
-- filter focus, ignore configured domains (jibri and transcribers)
340-
if is_admin(stanza.attr.from) or visitors_nodes[room.jid] == nil
341-
or (ignore_list:contains(jid.host(occupant.bare_jid)) and not is_transcriber_jigasi(stanza)) then
334+
-- filter focus, ignore jibri
335+
if is_admin(stanza.attr.from) or visitors_nodes[room.jid] == nil or is_jibri(occupant.jid) then
342336
return;
343337
end
344338

resources/prosody-plugins/mod_visitors_component.lua

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -512,8 +512,6 @@ process_host_module(muc_domain_prefix..'.'..muc_domain_base, function(host_modul
512512
-- we skip any checks when auto-allow is enabled and room is live
513513
if (auto_allow_promotion or get_visitors_room_metadata(room).autoPromote and (is_live or is_live == nil))
514514
or ignore_list:contains(jid.host(stanza.attr.from)) -- jibri or other domains to ignore
515-
or is_sip_jigasi(stanza)
516-
or is_sip_jibri_join(stanza)
517515
or table_find(room._data.moderators, session.jitsi_meet_context_user and session.jitsi_meet_context_user.id)
518516
or table_find(room._data.participants, session.jitsi_meet_context_user and session.jitsi_meet_context_user.id) then
519517
if DEBUG then

resources/prosody-plugins/util.lib.lua

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -503,27 +503,6 @@ function is_sip_jigasi(stanza)
503503
return stanza:get_child('initiator', 'http://jitsi.org/protocol/jigasi');
504504
end
505505

506-
-- This requires presence stanza being passed
507-
function is_transcriber_jigasi(stanza)
508-
if not stanza then
509-
return false;
510-
end
511-
512-
local features = stanza:get_child('features');
513-
if not features then
514-
return false;
515-
end
516-
517-
for i = 1, #features do
518-
local feature = features[i];
519-
if feature.attr and feature.attr.var and feature.attr.var == 'http://jitsi.org/protocol/transcriber' then
520-
return true;
521-
end
522-
end
523-
524-
return false;
525-
end
526-
527506
function is_transcriber(jid)
528507
return starts_with_one_of(jid, TRANSCRIBER_PREFIXES);
529508
end
@@ -738,7 +717,6 @@ return {
738717
is_sip_jibri_join = is_sip_jibri_join;
739718
is_sip_jigasi = is_sip_jigasi;
740719
is_transcriber = is_transcriber;
741-
is_transcriber_jigasi = is_transcriber_jigasi;
742720
is_vpaas = is_vpaas;
743721
get_focus_occupant = get_focus_occupant;
744722
get_ip = get_ip;

0 commit comments

Comments
 (0)