From 331bd2014b3f8a22ade2b566d6f16a2128eca2cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Mon, 4 Apr 2022 13:05:24 +0200 Subject: [PATCH] Revert "fix(salesforce) use salesforce only in the main room (#11286)" This reverts commit bd994f210373abe90282034c4e212bc35d31c73b. --- lang/main.json | 2 +- package-lock.json | 10 ++-- package.json | 2 +- .../base/conference/middleware.any.js | 4 ++ react/features/conference/middleware.js | 46 +++---------------- react/features/salesforce/actions.js | 5 +- react/features/salesforce/functions.js | 15 ------ react/features/salesforce/index.js | 2 + .../native/LinkToSalesforceButton.js | 3 +- .../components/web/LinkToSalesforceButton.js | 2 +- .../toolbox/components/web/Toolbox.js | 6 +-- 11 files changed, 27 insertions(+), 70 deletions(-) create mode 100644 react/features/salesforce/index.js diff --git a/lang/main.json b/lang/main.json index 888a37476..ab1c593d6 100644 --- a/lang/main.json +++ b/lang/main.json @@ -841,7 +841,7 @@ "raisedHandsLabel": "Number of raised hands", "record": { "already": { - "linked": "The meeting is already linked to this Salesforce object." + "linked": "Record is already linked to this session." }, "type": { "account": "Account", diff --git a/package-lock.json b/package-lock.json index 09cf21cc9..cd822ee6e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -73,7 +73,7 @@ "jquery-i18next": "1.2.1", "js-md5": "0.6.1", "jwt-decode": "2.2.0", - "lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1409.0.0+88378583/lib-jitsi-meet.tgz", + "lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1399.0.0+1a98d919/lib-jitsi-meet.tgz", "libflacjs": "https://git@github.com/mmig/libflac.js#93d37e7f811f01cf7d8b6a603e38bd3c3810907d", "lodash": "4.17.21", "moment": "2.29.1", @@ -11789,8 +11789,8 @@ }, "node_modules/lib-jitsi-meet": { "version": "0.0.0", - "resolved": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1409.0.0+88378583/lib-jitsi-meet.tgz", - "integrity": "sha512-c6WfdRVZl1cLl+oCKggMXk7yoYVTnvMU6kL8q9g3TtiNCocpBlh6HPLz9/A2DzLzCcyNio5KeNucyX7Ir3EXbA==", + "resolved": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1399.0.0+1a98d919/lib-jitsi-meet.tgz", + "integrity": "sha512-aIWaPY62nEZ9x13JDvv92UFhAvCSdC0ogCv4KpR1+Bwb6YmOPks+GHWpirZGk2RzgOL3cry43SDTVL4Tc0VyNA==", "license": "Apache-2.0", "dependencies": { "@jitsi/js-utils": "2.0.0", @@ -28784,8 +28784,8 @@ } }, "lib-jitsi-meet": { - "version": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1409.0.0+88378583/lib-jitsi-meet.tgz", - "integrity": "sha512-c6WfdRVZl1cLl+oCKggMXk7yoYVTnvMU6kL8q9g3TtiNCocpBlh6HPLz9/A2DzLzCcyNio5KeNucyX7Ir3EXbA==", + "version": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1399.0.0+1a98d919/lib-jitsi-meet.tgz", + "integrity": "sha512-aIWaPY62nEZ9x13JDvv92UFhAvCSdC0ogCv4KpR1+Bwb6YmOPks+GHWpirZGk2RzgOL3cry43SDTVL4Tc0VyNA==", "requires": { "@jitsi/js-utils": "2.0.0", "@jitsi/logger": "2.0.0", diff --git a/package.json b/package.json index 72b9d0e6f..75ec8a848 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "jquery-i18next": "1.2.1", "js-md5": "0.6.1", "jwt-decode": "2.2.0", - "lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1409.0.0+88378583/lib-jitsi-meet.tgz", + "lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1399.0.0+1a98d919/lib-jitsi-meet.tgz", "libflacjs": "https://git@github.com/mmig/libflac.js#93d37e7f811f01cf7d8b6a603e38bd3c3810907d", "lodash": "4.17.21", "moment": "2.29.1", diff --git a/react/features/base/conference/middleware.any.js b/react/features/base/conference/middleware.any.js index 035cd682d..1caa8e38c 100644 --- a/react/features/base/conference/middleware.any.js +++ b/react/features/base/conference/middleware.any.js @@ -15,6 +15,7 @@ import { NOTIFICATION_TIMEOUT_TYPE, showErrorNotification } from '../../notifications'; +import { showSalesforceNotification } from '../../salesforce'; import { CONNECTION_ESTABLISHED, CONNECTION_FAILED, connectionDisconnected } from '../connection'; import { validateJwt } from '../jwt'; import { JitsiConferenceErrors } from '../lib-jitsi-meet'; @@ -239,6 +240,9 @@ function _conferenceJoined({ dispatch, getState }, next, action) { dispatch(openDisplayNamePrompt(undefined)); } + + dispatch(showSalesforceNotification()); + return result; } diff --git a/react/features/conference/middleware.js b/react/features/conference/middleware.js index 4c89a8fb1..77711cb36 100644 --- a/react/features/conference/middleware.js +++ b/react/features/conference/middleware.js @@ -12,7 +12,6 @@ import { MiddlewareRegistry, StateListenerRegistry } from '../base/redux'; import { SET_REDUCED_UI } from '../base/responsive-ui'; import { FeedbackDialog } from '../feedback'; import { setFilmstripEnabled } from '../filmstrip'; -import { showSalesforceNotification } from '../salesforce/actions'; import { setToolboxEnabled } from '../toolbox/actions'; import { notifyKickedOut } from './actions'; @@ -22,12 +21,13 @@ MiddlewareRegistry.register(store => next => action => { switch (action.type) { case CONFERENCE_JOINED: - _conferenceJoined(store); - - break; - case SET_REDUCED_UI: { - _setReducedUI(store); + const { dispatch, getState } = store; + const state = getState(); + const { reducedUI } = state['features/base/responsive-ui']; + + dispatch(setToolboxEnabled(!reducedUI)); + dispatch(setFilmstripEnabled(!reducedUI)); break; } @@ -80,37 +80,3 @@ StateListenerRegistry.register( } } }); - -/** - * Configures the UI. In reduced UI mode some components will - * be hidden if there is no space to render them. - * - * @param {Store} store - The redux store in which the specified {@code action} - * is being dispatched. - * @private - * @returns {void} - */ -function _setReducedUI({ dispatch, getState }) { - const { reducedUI } = getState()['features/base/responsive-ui']; - - dispatch(setToolboxEnabled(!reducedUI)); - dispatch(setFilmstripEnabled(!reducedUI)); -} - -/** - * Does extra sync up on properties that may need to be updated after the - * conference was joined. - * - * @param {Store} store - The redux store in which the specified {@code action} - * is being dispatched. - * @private - * @returns {void} - */ -function _conferenceJoined({ dispatch, getState }) { - _setReducedUI({ - dispatch, - getState - }); - - dispatch(showSalesforceNotification()); -} diff --git a/react/features/salesforce/actions.js b/react/features/salesforce/actions.js index 562884695..bcc5f9959 100644 --- a/react/features/salesforce/actions.js +++ b/react/features/salesforce/actions.js @@ -10,7 +10,6 @@ import { } from '../notifications'; import { SalesforceLinkDialog } from './components'; -import { isSalesforceEnabled } from './functions'; /** * Displays the notification for linking the meeting to Salesforce. @@ -19,7 +18,9 @@ import { isSalesforceEnabled } from './functions'; */ export function showSalesforceNotification() { return (dispatch: Object, getState: Function) => { - if (!isSalesforceEnabled(getState())) { + const { salesforceUrl } = getState()['features/base/config']; + + if (!salesforceUrl) { return; } diff --git a/react/features/salesforce/functions.js b/react/features/salesforce/functions.js index 280fa08f0..fa77d0991 100644 --- a/react/features/salesforce/functions.js +++ b/react/features/salesforce/functions.js @@ -1,21 +1,6 @@ // @flow import { doGetJSON } from '../base/util'; -import { isInBreakoutRoom } from '../breakout-rooms/functions'; - -/** - * Determines whether Salesforce is enabled for the current conference. - * - * @param {Function|Object} state - The redux store, the redux - * {@code getState} function, or the redux state itself. - * @returns {boolean} - */ -export const isSalesforceEnabled = (state: Function | Object) => { - const { salesforceUrl } = state['features/base/config']; - const isBreakoutRoom = isInBreakoutRoom(state); - - return Boolean(salesforceUrl) && !isBreakoutRoom; -}; /** * Fetches the Salesforce records that were most recently interacted with. diff --git a/react/features/salesforce/index.js b/react/features/salesforce/index.js new file mode 100644 index 000000000..a6be21126 --- /dev/null +++ b/react/features/salesforce/index.js @@ -0,0 +1,2 @@ +export * from './components'; +export * from './actions'; diff --git a/react/features/toolbox/components/native/LinkToSalesforceButton.js b/react/features/toolbox/components/native/LinkToSalesforceButton.js index 0e53c0815..4cc81c1bd 100644 --- a/react/features/toolbox/components/native/LinkToSalesforceButton.js +++ b/react/features/toolbox/components/native/LinkToSalesforceButton.js @@ -8,7 +8,6 @@ import { AbstractButton, type AbstractButtonProps } from '../../../base/toolbox/ import { navigate } from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef'; import { screen } from '../../../mobile/navigation/routes'; -import { isSalesforceEnabled } from '../../../salesforce/functions'; /** * Implementation of a button for opening the Salesforce link dialog. @@ -40,7 +39,7 @@ class LinkToSalesforceButton extends AbstractButton { */ function mapStateToProps(state) { return { - visible: isSalesforceEnabled(state) + visible: Boolean(state['features/base/config'].salesforceUrl) }; } diff --git a/react/features/toolbox/components/web/LinkToSalesforceButton.js b/react/features/toolbox/components/web/LinkToSalesforceButton.js index d7b3e0ff1..93e67b44e 100644 --- a/react/features/toolbox/components/web/LinkToSalesforceButton.js +++ b/react/features/toolbox/components/web/LinkToSalesforceButton.js @@ -6,7 +6,7 @@ import { translate } from '../../../base/i18n'; import { IconSalesforce } from '../../../base/icons'; import { connect } from '../../../base/redux'; import { AbstractButton, type AbstractButtonProps } from '../../../base/toolbox/components'; -import { SalesforceLinkDialog } from '../../../salesforce/components'; +import { SalesforceLinkDialog } from '../../../salesforce'; /** * The type of the React {@code Component} props of {@link LinkToSalesforce}. diff --git a/react/features/toolbox/components/web/Toolbox.js b/react/features/toolbox/components/web/Toolbox.js index 8f2b17724..e65f6d811 100644 --- a/react/features/toolbox/components/web/Toolbox.js +++ b/react/features/toolbox/components/web/Toolbox.js @@ -52,7 +52,6 @@ import { LiveStreamButton, RecordButton } from '../../../recording'; -import { isSalesforceEnabled } from '../../../salesforce/functions'; import { isScreenAudioSupported, isScreenVideoShared, @@ -1392,7 +1391,8 @@ function _mapStateToProps(state, ownProps) { disableProfile, enableFeaturesBasedOnToken, iAmRecorder, - iAmSipGateway + iAmSipGateway, + salesforceUrl } = state['features/base/config']; const { fullScreen, @@ -1441,7 +1441,7 @@ function _mapStateToProps(state, ownProps) { _isIosMobile: isIosMobileBrowser(), _isMobile: isMobileBrowser(), _isVpaasMeeting: isVpaasMeeting(state), - _hasSalesforce: isSalesforceEnabled(state), + _hasSalesforce: Boolean(salesforceUrl), _localParticipantID: localParticipant?.id, _localVideo: localVideo, _overflowMenuVisible: overflowMenuVisible,