diff --git a/react/features/base/config/configType.ts b/react/features/base/config/configType.ts index 7188b0ae4f..e94b81926e 100644 --- a/react/features/base/config/configType.ts +++ b/react/features/base/config/configType.ts @@ -654,6 +654,7 @@ export interface IConfig { video?: boolean; }; queueService: string; + showJoinMeetingDialog?: boolean; }; watchRTCConfigParams?: IWatchRTCConfiguration; webhookProxyUrl?: string; diff --git a/react/features/base/config/configWhitelist.ts b/react/features/base/config/configWhitelist.ts index bb7bdd0a90..a6fdb28a08 100644 --- a/react/features/base/config/configWhitelist.ts +++ b/react/features/base/config/configWhitelist.ts @@ -238,6 +238,7 @@ export default [ 'useTurnUdp', 'videoQuality', 'visitors.enableMediaOnPromote', + 'visitors.showJoinMeetingDialog', 'watchRTCConfigParams.allowBrowserLogCollection', 'watchRTCConfigParams.collectionInterval', 'watchRTCConfigParams.console', diff --git a/react/features/visitors/middleware.ts b/react/features/visitors/middleware.ts index 3e1e0703b4..216f43c8b5 100644 --- a/react/features/visitors/middleware.ts +++ b/react/features/visitors/middleware.ts @@ -64,6 +64,7 @@ MiddlewareRegistry.register(({ dispatch, getState }) => next => action => { if (getState()['features/visitors'].iAmVisitor) { const { demoteActorDisplayName } = getState()['features/visitors']; + const { showJoinMeetingDialog = true } = getState()['features/base/config'].visitors || {}; if (demoteActorDisplayName) { const notificationParams: INotificationProps = { @@ -78,7 +79,7 @@ MiddlewareRegistry.register(({ dispatch, getState }) => next => action => { dispatch(showNotification(notificationParams, NOTIFICATION_TIMEOUT_TYPE.STICKY)); dispatch(setVisitorDemoteActor(undefined)); }); - } else { + } else if (showJoinMeetingDialog) { dispatch(openDialog(JoinMeetingDialog)); }