From 9b11d097e57d76eb8acc279a7c6320f9c9fdc543 Mon Sep 17 00:00:00 2001 From: Jaya Allamsetty Date: Thu, 28 Mar 2024 15:16:03 -0400 Subject: [PATCH] fix(flags): Init flags before creating XMPP conn. This allows us to set defaults through jitsi-meet. Also remove undocumented setting enableJoinAsVisitor that is no longer needed. --- JitsiConnection.js | 5 +++++ JitsiMeetJS.ts | 4 ---- modules/flags/FeatureFlags.js | 10 ---------- modules/xmpp/moderator.js | 3 +-- modules/xmpp/xmpp.js | 4 +--- 5 files changed, 7 insertions(+), 19 deletions(-) diff --git a/JitsiConnection.js b/JitsiConnection.js index 95b417b9ef..879a2c98a5 100644 --- a/JitsiConnection.js +++ b/JitsiConnection.js @@ -1,5 +1,6 @@ import JitsiConference from './JitsiConference'; import * as JitsiConnectionEvents from './JitsiConnectionEvents'; +import FeatureFlags from './modules/flags/FeatureFlags'; import Statistics from './modules/statistics/statistics'; import XMPP from './modules/xmpp/xmpp'; import { @@ -21,6 +22,10 @@ export default function JitsiConnection(appID, token, options) { this.appID = appID; this.token = token; this.options = options; + + // Initialize the feature flags so that they are advertised through the disco-info. + FeatureFlags.init(options.flags || {}); + this.xmpp = new XMPP(options, token); /* eslint-disable max-params */ diff --git a/JitsiMeetJS.ts b/JitsiMeetJS.ts index 603e574a77..9fa087f420 100644 --- a/JitsiMeetJS.ts +++ b/JitsiMeetJS.ts @@ -150,10 +150,6 @@ export default { Settings.init(options.externalStorage); Statistics.init(options); - const flags = options.flags || {}; - - // Configure the feature flags. - FeatureFlags.init(flags); // Initialize global window.connectionTimes // FIXME do not use 'window' diff --git a/modules/flags/FeatureFlags.js b/modules/flags/FeatureFlags.js index b7506ab774..ec81677d86 100644 --- a/modules/flags/FeatureFlags.js +++ b/modules/flags/FeatureFlags.js @@ -11,12 +11,10 @@ class FeatureFlags { * @param {object} flags - The feature flags. * @param {boolean=} flags.runInLiteMode - Enables lite mode for testing to disable media decoding. * @param {boolean=} flags.ssrcRewritingEnabled - Use SSRC rewriting. - * @param {boolean=} flags.enableJoinAsVisitor - Enable joining as a visitor. */ init(flags) { this._runInLiteMode = Boolean(flags.runInLiteMode); this._ssrcRewriting = Boolean(flags.ssrcRewritingEnabled); - this._joinAsVisitor = Boolean(flags.enableJoinAsVisitor ?? true); } /** @@ -37,14 +35,6 @@ class FeatureFlags { isSsrcRewritingSupported() { return this._ssrcRewriting; } - - /** - * Checks if the clients supports joining as a visitor. - * @returns {boolean} - */ - isJoinAsVisitorSupported() { - return this._joinAsVisitor; - } } export default new FeatureFlags(); diff --git a/modules/xmpp/moderator.js b/modules/xmpp/moderator.js index 2e956bd8c3..9c94a46a81 100644 --- a/modules/xmpp/moderator.js +++ b/modules/xmpp/moderator.js @@ -4,7 +4,6 @@ import $ from 'jquery'; import { $iq } from 'strophe.js'; import { CONNECTION_REDIRECTED } from '../../JitsiConnectionEvents'; -import FeatureFlags from '../flags/FeatureFlags'; import Settings from '../settings/Settings'; import Listenable from '../util/Listenable'; @@ -190,7 +189,7 @@ export default class Moderator extends Listenable { conferenceRequest.sessionId = sessionId; } - if (FeatureFlags.isJoinAsVisitorSupported() && !config.iAmRecorder && !config.iAmSipGateway) { + if (!config.iAmRecorder && !config.iAmSipGateway) { conferenceRequest.properties['visitors-version'] = 1; if (this.options.preferVisitor) { diff --git a/modules/xmpp/xmpp.js b/modules/xmpp/xmpp.js index f0a69efc21..6a70c788cb 100644 --- a/modules/xmpp/xmpp.js +++ b/modules/xmpp/xmpp.js @@ -263,9 +263,7 @@ export default class XMPP extends Listenable { // the version added in moderator.js, this one here is mostly defined // for keeping stats, since it is not made available to jocofo at // the time of the initial conference-request. - if (FeatureFlags.isJoinAsVisitorSupported()) { - this.caps.addFeature('http://jitsi.org/visitors-1'); - } + this.caps.addFeature('http://jitsi.org/visitors-1'); } /**