diff --git a/interface_config.js b/interface_config.js index 4c4ef83438..e220ae13a2 100644 --- a/interface_config.js +++ b/interface_config.js @@ -195,10 +195,14 @@ var interfaceConfig = { */ ENABLE_SCREENSHOT_CAPTURE: false, - // If true, presence status: busy, calling, connected etc. is not displayed + /** + * If true, presence status: busy, calling, connected etc. is not displayed. + */ DISABLE_PRESENCE_STATUS: false, - // If true, notifications regarding joining/leaving are no longer displayed + /** + * If true, notifications regarding joining/leaving are no longer displayed. + */ DISABLE_JOIN_LEAVE_NOTIFICATIONS: false, /** diff --git a/modules/UI/UI.js b/modules/UI/UI.js index 35d523c472..80cfea594c 100644 --- a/modules/UI/UI.js +++ b/modules/UI/UI.js @@ -16,7 +16,7 @@ import { getLocalParticipant } from '../../react/features/base/participants'; import { toggleChat } from '../../react/features/chat'; import { setDocumentUrl } from '../../react/features/etherpad'; import { setFilmstripVisible } from '../../react/features/filmstrip'; -import { setNotificationsEnabled } from '../../react/features/notifications'; +import { joinLeaveNotificationsDisabled, setNotificationsEnabled } from '../../react/features/notifications'; import { dockToolbox, setToolboxEnabled, @@ -327,7 +327,9 @@ UI.updateUserStatus = (user, status) => { const reduxState = APP.store.getState() || {}; const { calleeInfoVisible } = reduxState['features/invite'] || {}; - if (!status || calleeInfoVisible) { + // We hide status updates when join/leave notifications are disabled, + // as jigasi is the component with statuses and they are seen as join/leave notifications. + if (!status || calleeInfoVisible || joinLeaveNotificationsDisabled()) { return; }