@webex/plugin-meetings 3.8.0 → 3.8.1-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -13
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +70 -6
- package/dist/breakouts/index.js.map +1 -1
- package/dist/common/errors/webex-errors.js +12 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +28 -123
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +3 -0
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +78 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/interpretation/index.js +4 -4
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +37 -11
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +92 -12
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +432 -418
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +17 -17
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +94 -6
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/brbState.js +9 -2
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +21 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +678 -344
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +21 -22
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +4 -4
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +30 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +13 -2
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +373 -68
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +5 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/index.js +136 -1
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/util.js +14 -0
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +55 -9
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +3 -0
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +335 -353
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +137 -29
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +38 -0
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +36 -1
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +10 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +40 -8
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/reachability/clusterReachability.js +63 -27
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +107 -47
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/reachability.types.js +14 -0
- package/dist/reachability/reachability.types.js.map +1 -1
- package/dist/reachability/request.js +19 -3
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +2 -2
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/util.js +5 -5
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/turnDiscovery.js +45 -27
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/types.js +17 -0
- package/dist/roap/types.js.map +1 -0
- package/dist/types/common/errors/webex-errors.d.ts +7 -1
- package/dist/types/config.d.ts +3 -0
- package/dist/types/constants.d.ts +20 -85
- package/dist/types/controls-options-manager/enums.d.ts +4 -1
- package/dist/types/controls-options-manager/types.d.ts +10 -1
- package/dist/types/locus-info/index.d.ts +3 -3
- package/dist/types/locus-info/selfUtils.d.ts +216 -1
- package/dist/types/media/properties.d.ts +15 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +20 -0
- package/dist/types/meeting/index.d.ts +65 -1
- package/dist/types/meeting/muteState.d.ts +0 -1
- package/dist/types/meeting/request.d.ts +12 -1
- package/dist/types/meeting/request.type.d.ts +6 -0
- package/dist/types/meeting/util.d.ts +3 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +82 -1
- package/dist/types/meetings/index.d.ts +57 -0
- package/dist/types/member/index.d.ts +21 -6
- package/dist/types/member/types.d.ts +73 -14
- package/dist/types/member/util.d.ts +156 -1
- package/dist/types/members/collection.d.ts +6 -5
- package/dist/types/members/index.d.ts +32 -43
- package/dist/types/members/request.d.ts +26 -0
- package/dist/types/members/util.d.ts +27 -0
- package/dist/types/metrics/constants.d.ts +10 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +10 -1
- package/dist/types/reachability/clusterReachability.d.ts +15 -7
- package/dist/types/reachability/index.d.ts +10 -1
- package/dist/types/reachability/reachability.types.d.ts +5 -0
- package/dist/types/roap/index.d.ts +3 -2
- package/dist/types/roap/turnDiscovery.d.ts +5 -17
- package/dist/types/roap/types.d.ts +16 -0
- package/dist/webinar/index.js +2 -2
- package/dist/webinar/index.js.map +1 -1
- package/package.json +24 -23
- package/src/breakouts/index.ts +69 -0
- package/src/common/errors/webex-errors.ts +8 -1
- package/src/config.ts +3 -0
- package/src/constants.ts +30 -90
- package/src/controls-options-manager/enums.ts +3 -0
- package/src/controls-options-manager/types.ts +16 -1
- package/src/controls-options-manager/util.ts +93 -0
- package/src/interpretation/index.ts +3 -3
- package/src/locus-info/controlsUtils.ts +59 -14
- package/src/locus-info/index.ts +97 -13
- package/src/locus-info/selfUtils.ts +496 -442
- package/src/media/index.ts +23 -21
- package/src/media/properties.ts +96 -0
- package/src/meeting/brbState.ts +11 -2
- package/src/meeting/in-meeting-actions.ts +40 -0
- package/src/meeting/index.ts +470 -105
- package/src/meeting/locusMediaRequest.ts +27 -22
- package/src/meeting/muteState.ts +4 -4
- package/src/meeting/request.ts +36 -1
- package/src/meeting/request.type.ts +7 -0
- package/src/meeting/util.ts +11 -2
- package/src/meeting-info/meeting-info-v2.ts +254 -8
- package/src/meeting-info/utilv2.ts +5 -0
- package/src/meetings/index.ts +148 -1
- package/src/meetings/util.ts +18 -0
- package/src/member/index.ts +68 -22
- package/src/member/types.ts +82 -16
- package/src/member/util.ts +357 -350
- package/src/members/collection.ts +4 -3
- package/src/members/index.ts +137 -18
- package/src/members/request.ts +44 -0
- package/src/members/util.ts +43 -1
- package/src/metrics/constants.ts +10 -0
- package/src/multistream/remoteMediaManager.ts +32 -10
- package/src/reachability/clusterReachability.ts +73 -26
- package/src/reachability/index.ts +62 -1
- package/src/reachability/reachability.types.ts +6 -0
- package/src/reachability/request.ts +7 -0
- package/src/reconnection-manager/index.ts +2 -2
- package/src/recording-controller/util.ts +17 -13
- package/src/roap/index.ts +3 -7
- package/src/roap/turnDiscovery.ts +34 -39
- package/src/roap/types.ts +23 -0
- package/src/webinar/index.ts +1 -1
- package/test/unit/spec/breakouts/index.ts +167 -95
- package/test/unit/spec/controls-options-manager/util.js +178 -0
- package/test/unit/spec/interpretation/index.ts +39 -1
- package/test/unit/spec/locus-info/controlsUtils.js +155 -9
- package/test/unit/spec/locus-info/index.js +209 -73
- package/test/unit/spec/locus-info/selfUtils.js +98 -24
- package/test/unit/spec/media/index.ts +150 -18
- package/test/unit/spec/media/properties.ts +130 -0
- package/test/unit/spec/meeting/brbState.ts +40 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +23 -4
- package/test/unit/spec/meeting/index.js +804 -139
- package/test/unit/spec/meeting/locusMediaRequest.ts +95 -87
- package/test/unit/spec/meeting/muteState.js +73 -2
- package/test/unit/spec/meeting/request.js +32 -1
- package/test/unit/spec/meeting/utils.js +119 -18
- package/test/unit/spec/meeting-info/meetinginfov2.js +484 -114
- package/test/unit/spec/meeting-info/utilv2.js +19 -0
- package/test/unit/spec/meetings/index.js +146 -2
- package/test/unit/spec/member/index.js +7 -0
- package/test/unit/spec/member/util.js +24 -0
- package/test/unit/spec/members/index.js +304 -78
- package/test/unit/spec/members/request.js +68 -22
- package/test/unit/spec/members/utils.js +75 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +397 -118
- package/test/unit/spec/reachability/clusterReachability.ts +88 -56
- package/test/unit/spec/reachability/index.ts +97 -0
- package/test/unit/spec/reachability/request.js +47 -2
- package/test/unit/spec/reconnection-manager/index.js +4 -4
- package/test/unit/spec/roap/turnDiscovery.ts +110 -28
- package/test/unit/spec/webinar/index.ts +5 -0
- package/dist/annotation/annotation.types.d.ts +0 -42
- package/dist/annotation/constants.d.ts +0 -31
- package/dist/annotation/index.d.ts +0 -117
- package/dist/breakouts/breakout.d.ts +0 -8
- package/dist/breakouts/collection.d.ts +0 -5
- package/dist/breakouts/edit-lock-error.d.ts +0 -15
- package/dist/breakouts/events.d.ts +0 -8
- package/dist/breakouts/index.d.ts +0 -5
- package/dist/breakouts/request.d.ts +0 -22
- package/dist/breakouts/utils.d.ts +0 -15
- package/dist/common/browser-detection.d.ts +0 -9
- package/dist/common/collection.d.ts +0 -48
- package/dist/common/config.d.ts +0 -2
- package/dist/common/errors/captcha-error.d.ts +0 -15
- package/dist/common/errors/intent-to-join.d.ts +0 -16
- package/dist/common/errors/join-meeting.d.ts +0 -17
- package/dist/common/errors/media.d.ts +0 -15
- package/dist/common/errors/no-meeting-info.d.ts +0 -14
- package/dist/common/errors/parameter.d.ts +0 -15
- package/dist/common/errors/password-error.d.ts +0 -15
- package/dist/common/errors/permission.d.ts +0 -14
- package/dist/common/errors/reclaim-host-role-error.js +0 -149
- package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
- package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
- package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/common/errors/reconnection-in-progress.js +0 -33
- package/dist/common/errors/reconnection-in-progress.js.map +0 -1
- package/dist/common/errors/reconnection.d.ts +0 -15
- package/dist/common/errors/stats.d.ts +0 -15
- package/dist/common/errors/webex-errors.d.ts +0 -93
- package/dist/common/errors/webex-meetings-error.d.ts +0 -20
- package/dist/common/events/events-scope.d.ts +0 -17
- package/dist/common/events/events.d.ts +0 -12
- package/dist/common/events/trigger-proxy.d.ts +0 -2
- package/dist/common/events/util.d.ts +0 -2
- package/dist/common/logs/logger-config.d.ts +0 -2
- package/dist/common/logs/logger-proxy.d.ts +0 -2
- package/dist/common/logs/request.d.ts +0 -36
- package/dist/common/queue.d.ts +0 -34
- package/dist/config.d.ts +0 -72
- package/dist/constants.d.ts +0 -1088
- package/dist/controls-options-manager/constants.d.ts +0 -4
- package/dist/controls-options-manager/enums.d.ts +0 -15
- package/dist/controls-options-manager/index.d.ts +0 -136
- package/dist/controls-options-manager/types.d.ts +0 -43
- package/dist/controls-options-manager/util.d.ts +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/interceptors/index.d.ts +0 -2
- package/dist/interceptors/locusRetry.d.ts +0 -27
- package/dist/interpretation/collection.d.ts +0 -5
- package/dist/interpretation/index.d.ts +0 -5
- package/dist/interpretation/siLanguage.d.ts +0 -5
- package/dist/locus-info/controlsUtils.d.ts +0 -2
- package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
- package/dist/locus-info/fullState.d.ts +0 -2
- package/dist/locus-info/hostUtils.d.ts +0 -2
- package/dist/locus-info/index.d.ts +0 -322
- package/dist/locus-info/infoUtils.d.ts +0 -2
- package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
- package/dist/locus-info/parser.d.ts +0 -272
- package/dist/locus-info/selfUtils.d.ts +0 -2
- package/dist/media/index.d.ts +0 -34
- package/dist/media/properties.d.ts +0 -93
- package/dist/media/util.d.ts +0 -2
- package/dist/mediaQualityMetrics/config.d.ts +0 -241
- package/dist/mediaQualityMetrics/config.js +0 -502
- package/dist/mediaQualityMetrics/config.js.map +0 -1
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/meeting/in-meeting-actions.d.ts +0 -167
- package/dist/meeting/index.d.ts +0 -1825
- package/dist/meeting/locusMediaRequest.d.ts +0 -74
- package/dist/meeting/muteState.d.ts +0 -178
- package/dist/meeting/request.d.ts +0 -295
- package/dist/meeting/request.type.d.ts +0 -11
- package/dist/meeting/state.d.ts +0 -9
- package/dist/meeting/util.d.ts +0 -119
- package/dist/meeting/voicea-meeting.d.ts +0 -16
- package/dist/meeting-info/collection.d.ts +0 -20
- package/dist/meeting-info/index.d.ts +0 -69
- package/dist/meeting-info/meeting-info-v2.d.ts +0 -123
- package/dist/meeting-info/request.d.ts +0 -22
- package/dist/meeting-info/util.d.ts +0 -2
- package/dist/meeting-info/utilv2.d.ts +0 -2
- package/dist/meetings/collection.d.ts +0 -40
- package/dist/meetings/index.d.ts +0 -390
- package/dist/meetings/meetings.types.d.ts +0 -4
- package/dist/meetings/request.d.ts +0 -27
- package/dist/meetings/util.d.ts +0 -18
- package/dist/member/index.d.ts +0 -160
- package/dist/member/member.types.js +0 -17
- package/dist/member/member.types.js.map +0 -1
- package/dist/member/types.d.ts +0 -32
- package/dist/member/util.d.ts +0 -2
- package/dist/members/collection.d.ts +0 -29
- package/dist/members/index.d.ts +0 -353
- package/dist/members/request.d.ts +0 -114
- package/dist/members/types.d.ts +0 -25
- package/dist/members/util.d.ts +0 -215
- package/dist/metrics/config.js +0 -276
- package/dist/metrics/config.js.map +0 -1
- package/dist/metrics/constants.d.ts +0 -70
- package/dist/metrics/index.d.ts +0 -45
- package/dist/multistream/mediaRequestManager.d.ts +0 -119
- package/dist/multistream/receiveSlot.d.ts +0 -68
- package/dist/multistream/receiveSlotManager.d.ts +0 -56
- package/dist/multistream/remoteMedia.d.ts +0 -72
- package/dist/multistream/remoteMediaGroup.d.ts +0 -49
- package/dist/multistream/remoteMediaManager.d.ts +0 -300
- package/dist/multistream/sendSlotManager.d.ts +0 -69
- package/dist/networkQualityMonitor/index.d.ts +0 -70
- package/dist/networkQualityMonitor/index.js +0 -221
- package/dist/networkQualityMonitor/index.js.map +0 -1
- package/dist/peer-connection-manager/index.js +0 -671
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.js +0 -109
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/personal-meeting-room/index.d.ts +0 -47
- package/dist/personal-meeting-room/request.d.ts +0 -14
- package/dist/personal-meeting-room/util.d.ts +0 -2
- package/dist/reachability/clusterReachability.d.ts +0 -109
- package/dist/reachability/index.d.ts +0 -105
- package/dist/reachability/request.d.ts +0 -39
- package/dist/reachability/util.d.ts +0 -8
- package/dist/reactions/constants.d.ts +0 -3
- package/dist/reactions/reactions.d.ts +0 -4
- package/dist/reactions/reactions.type.d.ts +0 -52
- package/dist/reconnection-manager/index.d.ts +0 -136
- package/dist/recording-controller/enums.d.ts +0 -7
- package/dist/recording-controller/index.d.ts +0 -207
- package/dist/recording-controller/util.d.ts +0 -14
- package/dist/roap/collection.js +0 -62
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.js +0 -275
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/index.d.ts +0 -86
- package/dist/roap/request.d.ts +0 -39
- package/dist/roap/state.js +0 -126
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/turnDiscovery.d.ts +0 -155
- package/dist/roap/util.js +0 -75
- package/dist/roap/util.js.map +0 -1
- package/dist/rtcMetrics/constants.d.ts +0 -4
- package/dist/rtcMetrics/constants.js +0 -11
- package/dist/rtcMetrics/constants.js.map +0 -1
- package/dist/rtcMetrics/index.d.ts +0 -61
- package/dist/rtcMetrics/index.js +0 -197
- package/dist/rtcMetrics/index.js.map +0 -1
- package/dist/statsAnalyzer/global.d.ts +0 -36
- package/dist/statsAnalyzer/global.js +0 -126
- package/dist/statsAnalyzer/global.js.map +0 -1
- package/dist/statsAnalyzer/index.d.ts +0 -217
- package/dist/statsAnalyzer/index.js +0 -1013
- package/dist/statsAnalyzer/index.js.map +0 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/dist/statsAnalyzer/mqaUtil.js +0 -179
- package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
- package/dist/transcription/index.d.ts +0 -64
- package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
- package/dist/types/networkQualityMonitor/index.d.ts +0 -70
- package/dist/types/rtcMetrics/constants.d.ts +0 -4
- package/dist/types/rtcMetrics/index.d.ts +0 -71
- package/dist/types/statsAnalyzer/global.d.ts +0 -36
- package/dist/types/statsAnalyzer/index.d.ts +0 -217
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/dist/webinar/collection.d.ts +0 -16
- package/dist/webinar/index.d.ts +0 -5
package/src/constants.ts
CHANGED
@@ -369,6 +369,10 @@ export const EVENT_TRIGGERS = {
|
|
369
369
|
MEETING_CONTROLS_MEETING_FULL_UPDATED: 'meeting:controls:meeting-full:updated',
|
370
370
|
MEETING_CONTROLS_PRACTICE_SESSION_STATUS_UPDATED:
|
371
371
|
'meeting:controls:practice-session-status:updated',
|
372
|
+
MEETING_CONTROLS_ANNOTATION_UPDATED: 'meeting:controls:annotation:updated',
|
373
|
+
MEETING_CONTROLS_REMOTE_DESKTOP_CONTROL_UPDATED:
|
374
|
+
'meeting:controls:remote-desktop-control:updated',
|
375
|
+
MEETING_CONTROLS_POLLING_QA_UPDATED: 'meeting:controls:polling-qa:updated',
|
372
376
|
// Locus URL changed
|
373
377
|
MEETING_LOCUS_URL_UPDATE: 'meeting:locus:locusUrl:update',
|
374
378
|
MEETING_STREAM_PUBLISH_STATE_CHANGED: 'meeting:streamPublishStateChanged',
|
@@ -376,8 +380,10 @@ export const EVENT_TRIGGERS = {
|
|
376
380
|
MEETING_TRANSCRIPTION_CONNECTED: 'meeting:transcription:connected',
|
377
381
|
MEETING_STARTED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:started',
|
378
382
|
MEETING_STOPPED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:stopped',
|
383
|
+
MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED: 'meeting:transcription:spokenLanguageUpdate',
|
379
384
|
MEETING_MANUAL_CAPTION_UPDATED: 'meeting:manualCaptionControl:updated',
|
380
385
|
MEETING_CAPTION_RECEIVED: 'meeting:caption-received',
|
386
|
+
MEETING_PARTICIPANT_REASON_CHANGED: 'meeting:participant-reason-changed',
|
381
387
|
};
|
382
388
|
|
383
389
|
export const EVENT_TYPES = {
|
@@ -695,6 +701,8 @@ export const LOCUSINFO = {
|
|
695
701
|
CONTROLS_MEETING_LAYOUT_UPDATED: 'CONTROLS_MEETING_LAYOUT_UPDATED',
|
696
702
|
CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',
|
697
703
|
CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
|
704
|
+
CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED:
|
705
|
+
'CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED',
|
698
706
|
CONTROLS_MEETING_MANUAL_CAPTION_UPDATED: 'CONTROLS_MEETING_MANUAL_CAPTION_UPDATED',
|
699
707
|
CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',
|
700
708
|
CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
|
@@ -711,6 +719,9 @@ export const LOCUSINFO = {
|
|
711
719
|
CONTROLS_PRACTICE_SESSION_STATUS_UPDATED: 'CONTROLS_PRACTICE_SESSION_STATUS_UPDATED',
|
712
720
|
CONTROLS_VIDEO_CHANGED: 'CONTROLS_VIDEO_CHANGED',
|
713
721
|
CONTROLS_STAGE_VIEW_UPDATED: 'CONTROLS_STAGE_VIEW_UPDATED',
|
722
|
+
CONTROLS_ANNOTATION_CHANGED: 'CONTROLS_ANNOTATION_CHANGED',
|
723
|
+
CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED: 'CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED',
|
724
|
+
CONTROLS_POLLING_QA_CHANGED: 'CONTROLS_POLLING_QA_CHANGED',
|
714
725
|
SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
|
715
726
|
SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
|
716
727
|
SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',
|
@@ -738,6 +749,7 @@ export const LOCUSINFO = {
|
|
738
749
|
MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
|
739
750
|
LINKS_SERVICES: 'LINKS_SERVICES',
|
740
751
|
LINKS_RESOURCES: 'LINKS_RESOURCES',
|
752
|
+
PARTICIPANT_REASON_CHANGED: 'PARTICIPANT_REASON_CHANGED',
|
741
753
|
},
|
742
754
|
};
|
743
755
|
|
@@ -904,7 +916,9 @@ export enum SELF_POLICY {
|
|
904
916
|
ENFORCE_VIRTUAL_BACKGROUND = 'enforceVirtualBackground',
|
905
917
|
SUPPORT_LOCAL_RECORD = 'supportLocalRecord',
|
906
918
|
SUPPORT_NETWORK_BASED_RECORD = 'supportNetworkBasedRecord',
|
919
|
+
SUPPORT_PREMISE_RECORD = 'supportPremiseRecord',
|
907
920
|
SUPPORT_REALTIME_CLOSE_CAPTION = 'supportRealtimeCloseCaption',
|
921
|
+
SUPPORT_REALTIME_CLOSE_CAPTION_MANUAL = 'supportRealtimeCloseCaptionManual',
|
908
922
|
SUPPORT_CHAT = 'supportChat',
|
909
923
|
SUPPORT_DESKTOP_SHARE_REMOTE = 'supportDesktopShareRemote',
|
910
924
|
SUPPORT_DESKTOP_SHARE = 'supportDesktopShare',
|
@@ -972,6 +986,7 @@ export const DISPLAY_HINTS = {
|
|
972
986
|
PRESENTER_CONTROL: 'PRESENTER_CONTROL',
|
973
987
|
CAN_RENAME_SELF_AND_OBSERVED: 'CAN_RENAME_SELF_AND_OBSERVED',
|
974
988
|
CAN_RENAME_OTHERS: 'CAN_RENAME_OTHERS',
|
989
|
+
MOVE_TO_LOBBY: 'MOVE_TO_LOBBY',
|
975
990
|
|
976
991
|
// breakout session
|
977
992
|
BREAKOUT_MANAGEMENT: 'BREAKOUT_MANAGEMENT',
|
@@ -1025,6 +1040,21 @@ export const DISPLAY_HINTS = {
|
|
1025
1040
|
PRACTICE_SESSION_OFF: 'PRACTICE_SESSION_OFF',
|
1026
1041
|
SHOW_PRACTICE_SESSION_START: 'SHOW_PRACTICE_SESSION_START',
|
1027
1042
|
SHOW_PRACTICE_SESSION_STOP: 'SHOW_PRACTICE_SESSION_STOP',
|
1043
|
+
|
1044
|
+
// Explicit consent for post meeting data
|
1045
|
+
SHOW_POST_MEETING_DATA_CONSENT_PROMPT: 'SHOW_POST_MEETING_DATA_CONSENT_PROMPT',
|
1046
|
+
|
1047
|
+
// Annotations
|
1048
|
+
ENABLE_ANNOTATION_MEETING_OPTION: 'ENABLE_ANNOTATION_MEETING_OPTION',
|
1049
|
+
DISABLE_ANNOTATION_MEETING_OPTION: 'DISABLE_ANNOTATION_MEETING_OPTION',
|
1050
|
+
|
1051
|
+
// Remote Desktop Control
|
1052
|
+
ENABLE_RDC_MEETING_OPTION: 'ENABLE_RDC_MEETING_OPTION',
|
1053
|
+
DISABLE_RDC_MEETING_OPTION: 'DISABLE_RDC_MEETING_OPTION',
|
1054
|
+
|
1055
|
+
// Polling QA
|
1056
|
+
ENABLE_ATTENDEE_START_POLLING_QA: 'ENABLE_ATTENDEE_START_POLLING_QA',
|
1057
|
+
DISABLE_ATTENDEE_START_POLLING_QA: 'DISABLE_ATTENDEE_START_POLLING_QA',
|
1028
1058
|
};
|
1029
1059
|
|
1030
1060
|
export const INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
|
@@ -1149,96 +1179,6 @@ export const NETWORK_STATUS = {
|
|
1149
1179
|
|
1150
1180
|
export type NETWORK_STATUS = Enum<typeof NETWORK_STATUS>;
|
1151
1181
|
|
1152
|
-
export const NETWORK_TYPE = {
|
1153
|
-
VPN: 'vpn',
|
1154
|
-
UNKNOWN: 'unknown',
|
1155
|
-
WIFI: 'wifi',
|
1156
|
-
ETHERNET: 'ethernet',
|
1157
|
-
};
|
1158
|
-
|
1159
|
-
export const STATS = {
|
1160
|
-
SEND_DIRECTION: 'send',
|
1161
|
-
RECEIVE_DIRECTION: 'recv',
|
1162
|
-
REMOTE: 'remote',
|
1163
|
-
LOCAL: 'local',
|
1164
|
-
};
|
1165
|
-
|
1166
|
-
export const MQA_STATS = {
|
1167
|
-
MQA_SIZE: 120, // MQA is done on 60 second intervals by server def, add a buffer for missed events
|
1168
|
-
CA_TYPE: 'MQA',
|
1169
|
-
DEFAULT_IP: '0.0.0.0',
|
1170
|
-
DEFAULT_SHARE_SENDER_STATS: {
|
1171
|
-
common: {
|
1172
|
-
common: {
|
1173
|
-
direction: 'sendrecv', // TODO: parse from SDP and save globally
|
1174
|
-
isMain: false, // always true for share sender
|
1175
|
-
mariFecEnabled: false, // unavailable
|
1176
|
-
mariRtxEnabled: false, // unavailable
|
1177
|
-
mariLiteEnabled: false, // unavailable
|
1178
|
-
mariQosEnabled: false, // unavailable
|
1179
|
-
multistreamEnabled: false, // unavailable
|
1180
|
-
},
|
1181
|
-
availableBitrate: 0,
|
1182
|
-
dtlsBitrate: 0, // unavailable
|
1183
|
-
dtlsPackets: 0, // unavailable
|
1184
|
-
fecBitrate: 0, // unavailable
|
1185
|
-
fecPackets: 0, // unavailable
|
1186
|
-
maxBitrate: 0, // unavailable
|
1187
|
-
queueDelay: 0, // unavailable
|
1188
|
-
remoteJitter: 0, // unavailable
|
1189
|
-
remoteLossRate: 0,
|
1190
|
-
roundTripTime: 0,
|
1191
|
-
rtcpBitrate: 0, // unavailable
|
1192
|
-
rtcpPackets: 0, // unavailable
|
1193
|
-
rtpBitrate: 0, // unavailable
|
1194
|
-
rtpPackets: 0,
|
1195
|
-
stunBitrate: 0, // unavailable
|
1196
|
-
stunPackets: 0, // unavailable
|
1197
|
-
transportType: 'UDP', // TODO: parse the transport type from the SDP and save globally
|
1198
|
-
},
|
1199
|
-
streams: [
|
1200
|
-
{
|
1201
|
-
common: {
|
1202
|
-
codec: 'H264', // TODO: parse the codec from the SDP and save globally
|
1203
|
-
duplicateSsci: 0, // unavailable
|
1204
|
-
requestedBitrate: 0, // unavailable
|
1205
|
-
requestedFrames: 0, // unavailable
|
1206
|
-
rtpPackets: 0,
|
1207
|
-
ssci: 0, // unavailable
|
1208
|
-
transmittedBitrate: 0,
|
1209
|
-
transmittedFrameRate: 0,
|
1210
|
-
},
|
1211
|
-
h264CodecProfile: 'BP', // TODO: parse the profile level from h264 in the SDP and save globally
|
1212
|
-
localConfigurationChanges: 0, // unavailable
|
1213
|
-
remoteConfigurationChanges: 0, // unavailable
|
1214
|
-
requestedFrameSize: 0, // unavailable
|
1215
|
-
requestedKeyFrames: 0, // unavailable
|
1216
|
-
transmittedFrameSize: 0, // unavailable
|
1217
|
-
transmittedHeight: 0,
|
1218
|
-
transmittedKeyFrames: 0,
|
1219
|
-
transmittedWidth: 0,
|
1220
|
-
},
|
1221
|
-
],
|
1222
|
-
},
|
1223
|
-
intervalMetadata: {
|
1224
|
-
memoryUsage: {
|
1225
|
-
cpuBitWidth: 0,
|
1226
|
-
mainProcessMaximumMemoryBytes: 0,
|
1227
|
-
osBitWidth: 0,
|
1228
|
-
processAverageMemoryUsage: 0,
|
1229
|
-
processMaximumMemoryBytes: 0,
|
1230
|
-
processMaximumMemoryUsage: 0,
|
1231
|
-
systemAverageMemoryUsage: 0,
|
1232
|
-
systemMaximumMemoryUsage: 0,
|
1233
|
-
},
|
1234
|
-
peerReflexiveIP: 'NULL', // TODO: save after ice trickling completes and use as a global variable
|
1235
|
-
processAverageCPU: 0,
|
1236
|
-
processMaximumCPU: 0,
|
1237
|
-
systemAverageCPU: 0,
|
1238
|
-
systemMaximumCPU: 0,
|
1239
|
-
},
|
1240
|
-
};
|
1241
|
-
|
1242
1182
|
// ****** MEDIA QUALITY CONSTANTS ****** //
|
1243
1183
|
|
1244
1184
|
// these values must match allowed values of RemoteQualityLevel from the @webex/internal-media-core lib
|
@@ -40,13 +40,28 @@ export interface ViewTheParticipantListProperties {
|
|
40
40
|
attendeeCount?: boolean;
|
41
41
|
}
|
42
42
|
|
43
|
+
export interface AnnotationProperties {
|
44
|
+
enabled?: boolean;
|
45
|
+
}
|
46
|
+
|
47
|
+
export interface RemoteDesktopControlProperties {
|
48
|
+
enabled?: boolean;
|
49
|
+
}
|
50
|
+
|
51
|
+
export interface PollingQAProperties {
|
52
|
+
enabled?: boolean;
|
53
|
+
}
|
54
|
+
|
43
55
|
export type Properties =
|
44
56
|
| AudioProperties
|
45
57
|
| RaiseHandProperties
|
46
58
|
| ReactionsProperties
|
47
59
|
| ShareControlProperties
|
48
60
|
| VideoProperties
|
49
|
-
| ViewTheParticipantListProperties
|
61
|
+
| ViewTheParticipantListProperties
|
62
|
+
| AnnotationProperties
|
63
|
+
| RemoteDesktopControlProperties
|
64
|
+
| PollingQAProperties;
|
50
65
|
|
51
66
|
export interface ControlConfig<Props = Properties> {
|
52
67
|
/**
|
@@ -7,6 +7,9 @@ import {
|
|
7
7
|
ReactionsProperties,
|
8
8
|
ViewTheParticipantListProperties,
|
9
9
|
VideoProperties,
|
10
|
+
type RemoteDesktopControlProperties,
|
11
|
+
type AnnotationProperties,
|
12
|
+
type PollingQAProperties,
|
10
13
|
} from './types';
|
11
14
|
|
12
15
|
/**
|
@@ -256,6 +259,75 @@ class Utils {
|
|
256
259
|
return Utils.hasHints({requiredHints, displayHints});
|
257
260
|
}
|
258
261
|
|
262
|
+
/**
|
263
|
+
* Validate if a annotation-scoped control is allowed to be sent to the service.
|
264
|
+
*
|
265
|
+
* @param {ControlConfig<AnnotationProperties>} control - Annotation control config to validate
|
266
|
+
* @param {Array<string>} displayHints - All available hints
|
267
|
+
* @returns {boolean} - True if all of the actions are allowed.
|
268
|
+
*/
|
269
|
+
public static canUpdateAnnotation(
|
270
|
+
control: ControlConfig<AnnotationProperties>,
|
271
|
+
displayHints: Array<string>
|
272
|
+
): boolean {
|
273
|
+
const requiredHints = [];
|
274
|
+
|
275
|
+
if (control.properties.enabled === true) {
|
276
|
+
requiredHints.push(DISPLAY_HINTS.ENABLE_ANNOTATION_MEETING_OPTION);
|
277
|
+
}
|
278
|
+
if (control.properties.enabled === false) {
|
279
|
+
requiredHints.push(DISPLAY_HINTS.DISABLE_ANNOTATION_MEETING_OPTION);
|
280
|
+
}
|
281
|
+
|
282
|
+
return Utils.hasHints({requiredHints, displayHints});
|
283
|
+
}
|
284
|
+
|
285
|
+
/**
|
286
|
+
* Validate if a rdc-scoped control is allowed to be sent to the service.
|
287
|
+
*
|
288
|
+
* @param {ControlConfig<RemoteDesktopControlProperties>} control - Remote Desktop Control config to validate
|
289
|
+
* @param {Array<string>} displayHints - All available hints
|
290
|
+
* @returns {boolean} - True if all of the actions are allowed.
|
291
|
+
*/
|
292
|
+
public static canUpdateRemoteDesktopControl(
|
293
|
+
control: ControlConfig<RemoteDesktopControlProperties>,
|
294
|
+
displayHints: Array<string>
|
295
|
+
): boolean {
|
296
|
+
const requiredHints = [];
|
297
|
+
|
298
|
+
if (control.properties.enabled === true) {
|
299
|
+
requiredHints.push(DISPLAY_HINTS.ENABLE_RDC_MEETING_OPTION);
|
300
|
+
}
|
301
|
+
if (control.properties.enabled === false) {
|
302
|
+
requiredHints.push(DISPLAY_HINTS.DISABLE_RDC_MEETING_OPTION);
|
303
|
+
}
|
304
|
+
|
305
|
+
return Utils.hasHints({requiredHints, displayHints});
|
306
|
+
}
|
307
|
+
|
308
|
+
/**
|
309
|
+
* Validate if a pollingQA-scoped control is allowed to be sent to the service.
|
310
|
+
*
|
311
|
+
* @param {ControlConfig<PollingQAProperties>} control - Polling QA config to validate
|
312
|
+
* @param {Array<string>} displayHints - All available hints
|
313
|
+
* @returns {boolean} - True if all of the actions are allowed.
|
314
|
+
*/
|
315
|
+
public static canUpdatePollingQA(
|
316
|
+
control: ControlConfig<PollingQAProperties>,
|
317
|
+
displayHints: Array<string>
|
318
|
+
): boolean {
|
319
|
+
const requiredHints = [];
|
320
|
+
|
321
|
+
if (control.properties.enabled === true) {
|
322
|
+
requiredHints.push(DISPLAY_HINTS.ENABLE_ATTENDEE_START_POLLING_QA);
|
323
|
+
}
|
324
|
+
if (control.properties.enabled === false) {
|
325
|
+
requiredHints.push(DISPLAY_HINTS.DISABLE_ATTENDEE_START_POLLING_QA);
|
326
|
+
}
|
327
|
+
|
328
|
+
return Utils.hasHints({requiredHints, displayHints});
|
329
|
+
}
|
330
|
+
|
259
331
|
/**
|
260
332
|
* Validate that a control can be sent to the service based on the provided
|
261
333
|
* display hints.
|
@@ -301,6 +373,27 @@ class Utils {
|
|
301
373
|
);
|
302
374
|
break;
|
303
375
|
|
376
|
+
case Control.annotation:
|
377
|
+
determinant = Utils.canUpdateAnnotation(
|
378
|
+
control as ControlConfig<AnnotationProperties>,
|
379
|
+
displayHints
|
380
|
+
);
|
381
|
+
break;
|
382
|
+
|
383
|
+
case Control.rdc:
|
384
|
+
determinant = Utils.canUpdateRemoteDesktopControl(
|
385
|
+
control as ControlConfig<RemoteDesktopControlProperties>,
|
386
|
+
displayHints
|
387
|
+
);
|
388
|
+
break;
|
389
|
+
|
390
|
+
case Control.pollingQA:
|
391
|
+
determinant = Utils.canUpdatePollingQA(
|
392
|
+
control as ControlConfig<PollingQAProperties>,
|
393
|
+
displayHints
|
394
|
+
);
|
395
|
+
break;
|
396
|
+
|
304
397
|
default:
|
305
398
|
determinant = false;
|
306
399
|
}
|
@@ -35,13 +35,13 @@ const SimultaneousInterpretation = WebexPlugin.extend({
|
|
35
35
|
derived: {
|
36
36
|
shouldQuerySupportLanguages: {
|
37
37
|
cache: false,
|
38
|
-
deps: ['canManageInterpreters', 'hostSIEnabled'],
|
38
|
+
deps: ['canManageInterpreters', 'hostSIEnabled', 'locusUrl'],
|
39
39
|
/**
|
40
40
|
* Returns should query support languages or not
|
41
41
|
* @returns {boolean}
|
42
42
|
*/
|
43
43
|
fn() {
|
44
|
-
return !!(this.canManageInterpreters && this.hostSIEnabled);
|
44
|
+
return !!(this.canManageInterpreters && this.hostSIEnabled && this.locusUrl);
|
45
45
|
},
|
46
46
|
},
|
47
47
|
},
|
@@ -51,7 +51,7 @@ const SimultaneousInterpretation = WebexPlugin.extend({
|
|
51
51
|
*/
|
52
52
|
initialize() {
|
53
53
|
this.listenTo(this, 'change:shouldQuerySupportLanguages', () => {
|
54
|
-
if (this.
|
54
|
+
if (this.shouldQuerySupportLanguages && !this.supportLanguages) {
|
55
55
|
this.querySupportLanguages();
|
56
56
|
}
|
57
57
|
});
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import {isEqual} from 'lodash';
|
2
|
-
import {BREAKOUTS} from '../constants';
|
2
|
+
import {BREAKOUTS, MEETING_STATE} from '../constants';
|
3
3
|
|
4
4
|
const ControlsUtils: any = {};
|
5
5
|
|
@@ -40,6 +40,7 @@ ControlsUtils.parse = (controls: any) => {
|
|
40
40
|
parsedControls.transcribe = {
|
41
41
|
transcribing: controls.transcribe.transcribing,
|
42
42
|
caption: controls.transcribe.caption,
|
43
|
+
spokenLanguage: controls.transcribe.spokenLanguage,
|
43
44
|
};
|
44
45
|
}
|
45
46
|
|
@@ -111,6 +112,24 @@ ControlsUtils.parse = (controls: any) => {
|
|
111
112
|
};
|
112
113
|
}
|
113
114
|
|
115
|
+
if (controls?.annotationControl) {
|
116
|
+
parsedControls.annotationControl = {
|
117
|
+
enabled: controls.annotationControl.enabled,
|
118
|
+
};
|
119
|
+
}
|
120
|
+
|
121
|
+
if (controls?.rdcControl) {
|
122
|
+
parsedControls.rdcControl = {
|
123
|
+
enabled: controls.rdcControl.enabled,
|
124
|
+
};
|
125
|
+
}
|
126
|
+
|
127
|
+
if (controls?.pollingQAControl) {
|
128
|
+
parsedControls.pollingQAControl = {
|
129
|
+
enabled: controls.pollingQAControl.enabled,
|
130
|
+
};
|
131
|
+
}
|
132
|
+
|
114
133
|
return parsedControls;
|
115
134
|
};
|
116
135
|
|
@@ -174,6 +193,11 @@ ControlsUtils.getControls = (oldControls: any, newControls: any) => {
|
|
174
193
|
!isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
|
175
194
|
(previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
|
176
195
|
|
196
|
+
hasTranscribeSpokenLanguageChanged:
|
197
|
+
current?.transcribe &&
|
198
|
+
!isEqual(previous?.transcribe?.spokenLanguage, current?.transcribe?.spokenLanguage) &&
|
199
|
+
!!(previous?.transcribe?.spokenLanguage || current?.transcribe?.spokenLanguage),
|
200
|
+
|
177
201
|
hasManualCaptionChanged:
|
178
202
|
current?.manualCaptionControl &&
|
179
203
|
!isEqual(previous?.manualCaptionControl?.enabled, current?.manualCaptionControl?.enabled) &&
|
@@ -206,11 +230,20 @@ ControlsUtils.getControls = (oldControls: any, newControls: any) => {
|
|
206
230
|
),
|
207
231
|
|
208
232
|
hasPracticeSessionEnabledChanged: !isEqual(
|
209
|
-
previous?.practiceSession?.enabled,
|
210
|
-
current?.practiceSession?.enabled
|
233
|
+
!!previous?.practiceSession?.enabled,
|
234
|
+
!!current?.practiceSession?.enabled
|
211
235
|
),
|
212
236
|
|
213
237
|
hasStageViewChanged: !isEqual(previous?.videoLayout, current?.videoLayout),
|
238
|
+
|
239
|
+
hasAnnotationControlChanged:
|
240
|
+
current?.annotationControl?.enabled !== previous?.annotationControl?.enabled,
|
241
|
+
|
242
|
+
hasRemoteDesktopControlChanged:
|
243
|
+
current?.rdcControl?.enabled !== previous?.rdcControl?.enabled,
|
244
|
+
|
245
|
+
hasPollingQAControlChanged:
|
246
|
+
current?.pollingQAControl?.enabled !== previous?.pollingQAControl?.enabled,
|
214
247
|
},
|
215
248
|
};
|
216
249
|
};
|
@@ -242,30 +275,42 @@ ControlsUtils.isNeedReplaceMembers = (oldControls: any, controls: any) => {
|
|
242
275
|
}
|
243
276
|
|
244
277
|
return (
|
245
|
-
oldControls
|
246
|
-
oldControls
|
278
|
+
oldControls?.breakout?.groupId !== controls?.breakout?.groupId ||
|
279
|
+
oldControls?.breakout?.sessionId !== controls?.breakout?.sessionId
|
247
280
|
);
|
248
281
|
};
|
249
282
|
|
250
283
|
/**
|
251
284
|
* determine the switch status between breakout session and main session.
|
252
|
-
* @param {
|
253
|
-
* @param {
|
285
|
+
* @param {LocusInfo} oldLocus
|
286
|
+
* @param {LocusInfo} newLocus
|
254
287
|
* @returns {Object}
|
255
288
|
*/
|
256
|
-
ControlsUtils.getSessionSwitchStatus = (
|
289
|
+
ControlsUtils.getSessionSwitchStatus = (oldLocus: any, newLocus: any) => {
|
257
290
|
const status = {isReturnToMain: false, isJoinToBreakout: false};
|
258
291
|
// no breakout case
|
259
|
-
if (!
|
292
|
+
if (!oldLocus.controls?.breakout || !newLocus.controls?.breakout) {
|
260
293
|
return status;
|
261
294
|
}
|
262
295
|
|
263
|
-
|
264
|
-
|
265
|
-
|
296
|
+
// It is used to fix the timing issue triggered when the creator leaves session to ensure that the member list is complete
|
297
|
+
const needUseCache = !!(
|
298
|
+
oldLocus.self?.isCreator &&
|
299
|
+
newLocus.participants?.length === 1 &&
|
300
|
+
newLocus.participants?.[0].isCreator &&
|
301
|
+
newLocus.participants?.[0].state === MEETING_STATE.STATES.JOINED &&
|
302
|
+
newLocus.controls?.breakout?.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&
|
303
|
+
newLocus.controls?.breakout?.groups?.length
|
304
|
+
);
|
305
|
+
|
306
|
+
const isReturnToMain =
|
307
|
+
oldLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&
|
308
|
+
newLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;
|
309
|
+
|
310
|
+
status.isReturnToMain = needUseCache || isReturnToMain;
|
266
311
|
status.isJoinToBreakout =
|
267
|
-
|
268
|
-
controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT;
|
312
|
+
oldLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&
|
313
|
+
newLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT;
|
269
314
|
|
270
315
|
return status;
|
271
316
|
};
|