@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/locus-info/index.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import {isEqual, assignWith, cloneDeep, isEmpty} from 'lodash';
|
1
|
+
import {isEqual, assignWith, cloneDeep, isEmpty, forEach} from 'lodash';
|
2
2
|
|
3
3
|
import LoggerProxy from '../common/logs/logger-proxy';
|
4
4
|
import EventsScope from '../common/events/events-scope';
|
@@ -17,7 +17,9 @@ import {
|
|
17
17
|
MEETING_REMOVED_REASON,
|
18
18
|
CALL_REMOVED_REASON,
|
19
19
|
RECORDING_STATE,
|
20
|
+
BREAKOUTS,
|
20
21
|
} from '../constants';
|
22
|
+
|
21
23
|
import InfoUtils from './infoUtils';
|
22
24
|
import FullState from './fullState';
|
23
25
|
import SelfUtils from './selfUtils';
|
@@ -67,6 +69,7 @@ export default class LocusInfo extends EventsScope {
|
|
67
69
|
services: any;
|
68
70
|
resources: any;
|
69
71
|
mainSessionLocusCache: any;
|
72
|
+
self: any;
|
70
73
|
/**
|
71
74
|
* Constructor
|
72
75
|
* @param {function} updateMeeting callback to update the meeting object from an object
|
@@ -157,6 +160,22 @@ export default class LocusInfo extends EventsScope {
|
|
157
160
|
} else {
|
158
161
|
meeting.locusInfo.onFullLocus(res.body);
|
159
162
|
}
|
163
|
+
})
|
164
|
+
.catch((e) => {
|
165
|
+
LoggerProxy.logger.info(
|
166
|
+
`Locus-info:index#doLocusSync --> getLocusDTO succeeded but failed to handle result, locus parser will resume but not all data may be synced (${e.toString()})`
|
167
|
+
);
|
168
|
+
|
169
|
+
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.LOCUS_SYNC_HANDLING_FAILED, {
|
170
|
+
correlationId: meeting.correlationId,
|
171
|
+
url,
|
172
|
+
reason: e.message,
|
173
|
+
errorName: e.name,
|
174
|
+
stack: e.stack,
|
175
|
+
code: e.code,
|
176
|
+
});
|
177
|
+
})
|
178
|
+
.finally(() => {
|
160
179
|
// Notify parser to resume processing delta events.
|
161
180
|
// Any deltas in the queue that have now been superseded by this sync will simply be ignored
|
162
181
|
this.locusParser.resume();
|
@@ -261,7 +280,7 @@ export default class LocusInfo extends EventsScope {
|
|
261
280
|
this.updateMeetingInfo(locus.info);
|
262
281
|
this.updateEmbeddedApps(locus.embeddedApps);
|
263
282
|
// self and participants generate sipUrl for 1:1 meeting
|
264
|
-
this.updateSelf(locus.self
|
283
|
+
this.updateSelf(locus.self);
|
265
284
|
this.updateHostInfo(locus.host);
|
266
285
|
this.updateMediaShares(locus.mediaShares);
|
267
286
|
this.updateServices(locus.links?.services);
|
@@ -419,6 +438,7 @@ export default class LocusInfo extends EventsScope {
|
|
419
438
|
*/
|
420
439
|
onDeltaLocus(locus: any) {
|
421
440
|
const isReplaceMembers = ControlsUtils.isNeedReplaceMembers(this.controls, locus.controls);
|
441
|
+
this.mergeParticipants(this.participants, locus.participants);
|
422
442
|
this.updateLocusInfo(locus);
|
423
443
|
this.updateParticipants(locus.participants, isReplaceMembers);
|
424
444
|
this.isMeetingActive();
|
@@ -446,7 +466,7 @@ export default class LocusInfo extends EventsScope {
|
|
446
466
|
this.updateMediaShares(locus.mediaShares);
|
447
467
|
this.updateParticipantsUrl(locus.participantsUrl);
|
448
468
|
this.updateReplace(locus.replace);
|
449
|
-
this.updateSelf(locus.self
|
469
|
+
this.updateSelf(locus.self);
|
450
470
|
this.updateLocusUrl(locus.url);
|
451
471
|
this.updateAclUrl(locus.aclUrl);
|
452
472
|
this.updateBasequence(locus.baseSequence);
|
@@ -780,6 +800,23 @@ export default class LocusInfo extends EventsScope {
|
|
780
800
|
isReplace,
|
781
801
|
}
|
782
802
|
);
|
803
|
+
|
804
|
+
if (participants && Array.isArray(participants) && participants.length > 0) {
|
805
|
+
for (const participant of participants) {
|
806
|
+
if (participant && participant?.reason === 'FAILURE') {
|
807
|
+
this.emitScoped(
|
808
|
+
{
|
809
|
+
file: 'locus-info',
|
810
|
+
function: 'updateParticipants',
|
811
|
+
},
|
812
|
+
LOCUSINFO.EVENTS.PARTICIPANT_REASON_CHANGED,
|
813
|
+
{
|
814
|
+
displayName: participant?.person?.primaryDisplayString,
|
815
|
+
}
|
816
|
+
);
|
817
|
+
}
|
818
|
+
}
|
819
|
+
}
|
783
820
|
}
|
784
821
|
|
785
822
|
/**
|
@@ -797,6 +834,7 @@ export default class LocusInfo extends EventsScope {
|
|
797
834
|
hasRecordingPausedChanged,
|
798
835
|
hasMeetingContainerChanged,
|
799
836
|
hasTranscribeChanged,
|
837
|
+
hasTranscribeSpokenLanguageChanged,
|
800
838
|
hasManualCaptionChanged,
|
801
839
|
hasEntryExitToneChanged,
|
802
840
|
hasBreakoutChanged,
|
@@ -814,6 +852,9 @@ export default class LocusInfo extends EventsScope {
|
|
814
852
|
hasMeetingFullChanged,
|
815
853
|
hasPracticeSessionEnabledChanged,
|
816
854
|
hasStageViewChanged,
|
855
|
+
hasAnnotationControlChanged,
|
856
|
+
hasRemoteDesktopControlChanged,
|
857
|
+
hasPollingQAControlChanged,
|
817
858
|
},
|
818
859
|
current,
|
819
860
|
} = ControlsUtils.getControls(this.controls, controls);
|
@@ -933,6 +974,21 @@ export default class LocusInfo extends EventsScope {
|
|
933
974
|
);
|
934
975
|
}
|
935
976
|
|
977
|
+
if (hasTranscribeSpokenLanguageChanged) {
|
978
|
+
const {spokenLanguage} = current.transcribe;
|
979
|
+
|
980
|
+
this.emitScoped(
|
981
|
+
{
|
982
|
+
file: 'locus-info',
|
983
|
+
function: 'updateControls',
|
984
|
+
},
|
985
|
+
LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED,
|
986
|
+
{
|
987
|
+
spokenLanguage,
|
988
|
+
}
|
989
|
+
);
|
990
|
+
}
|
991
|
+
|
936
992
|
if (hasManualCaptionChanged) {
|
937
993
|
const {enabled} = current.manualCaptionControl;
|
938
994
|
|
@@ -1049,6 +1105,30 @@ export default class LocusInfo extends EventsScope {
|
|
1049
1105
|
);
|
1050
1106
|
}
|
1051
1107
|
|
1108
|
+
if (hasAnnotationControlChanged) {
|
1109
|
+
this.emitScoped(
|
1110
|
+
{file: 'locus-info', function: 'updateControls'},
|
1111
|
+
LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED,
|
1112
|
+
{state: current.annotationControl}
|
1113
|
+
);
|
1114
|
+
}
|
1115
|
+
|
1116
|
+
if (hasRemoteDesktopControlChanged) {
|
1117
|
+
this.emitScoped(
|
1118
|
+
{file: 'locus-info', function: 'updateControls'},
|
1119
|
+
LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED,
|
1120
|
+
{state: current.rdcControl}
|
1121
|
+
);
|
1122
|
+
}
|
1123
|
+
|
1124
|
+
if (hasPollingQAControlChanged) {
|
1125
|
+
this.emitScoped(
|
1126
|
+
{file: 'locus-info', function: 'updateControls'},
|
1127
|
+
LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED,
|
1128
|
+
{state: current.pollingQAControl}
|
1129
|
+
);
|
1130
|
+
}
|
1131
|
+
|
1052
1132
|
this.controls = controls;
|
1053
1133
|
}
|
1054
1134
|
}
|
@@ -1336,17 +1416,20 @@ export default class LocusInfo extends EventsScope {
|
|
1336
1416
|
|
1337
1417
|
/**
|
1338
1418
|
* handles when the locus.self is updated
|
1339
|
-
* @param {Object} self the locus.
|
1340
|
-
* @param {Array} participants the locus.participants property
|
1419
|
+
* @param {Object} self the new locus.self
|
1341
1420
|
* @returns {undefined}
|
1342
1421
|
* @memberof LocusInfo
|
1343
1422
|
* emits internal events self_admitted_guest, self_unadmitted_guest, locus_info_update_self
|
1344
1423
|
*/
|
1345
|
-
updateSelf(self: any
|
1346
|
-
|
1347
|
-
if (self && !isEqual(this.self, self)) {
|
1424
|
+
updateSelf(self: any) {
|
1425
|
+
if (self) {
|
1348
1426
|
// @ts-ignore
|
1349
|
-
const parsedSelves = SelfUtils.getSelves(
|
1427
|
+
const parsedSelves = SelfUtils.getSelves(
|
1428
|
+
this.parsedLocus.self,
|
1429
|
+
self,
|
1430
|
+
this.webex.internal.device.url,
|
1431
|
+
this.participants // using this.participants instead of locus.participants here, because with delta DTOs locus.participants will only contain a small subset of participants
|
1432
|
+
);
|
1350
1433
|
|
1351
1434
|
this.updateMeeting(parsedSelves.current);
|
1352
1435
|
this.parsedLocus.self = parsedSelves.current;
|
@@ -1360,7 +1443,7 @@ export default class LocusInfo extends EventsScope {
|
|
1360
1443
|
// TODO: check if we need to save the sipUri here as well
|
1361
1444
|
// this.emit(LOCUSINFO.EVENTS.MEETING_UPDATE, SelfUtils.getSipUrl(this.getLocusPartner(participants, self), this.parsedLocus.fullState.type, this.parsedLocus.info.sipUri));
|
1362
1445
|
const result = SelfUtils.getSipUrl(
|
1363
|
-
this.getLocusPartner(participants, self),
|
1446
|
+
this.getLocusPartner(this.participants, self),
|
1364
1447
|
this.parsedLocus.fullState.type,
|
1365
1448
|
this.parsedLocus.info.sipUri
|
1366
1449
|
);
|
@@ -1506,7 +1589,7 @@ export default class LocusInfo extends EventsScope {
|
|
1506
1589
|
{}
|
1507
1590
|
);
|
1508
1591
|
}
|
1509
|
-
if (parsedSelves.updates.
|
1592
|
+
if (parsedSelves.updates.hasUserEnteredLobby) {
|
1510
1593
|
this.emitScoped(
|
1511
1594
|
{
|
1512
1595
|
file: 'locus-info',
|
@@ -1516,7 +1599,7 @@ export default class LocusInfo extends EventsScope {
|
|
1516
1599
|
self
|
1517
1600
|
);
|
1518
1601
|
}
|
1519
|
-
if (parsedSelves.updates.
|
1602
|
+
if (parsedSelves.updates.hasUserBeenAdmitted) {
|
1520
1603
|
this.emitScoped(
|
1521
1604
|
{
|
1522
1605
|
file: 'locus-info',
|
@@ -1706,7 +1789,8 @@ export default class LocusInfo extends EventsScope {
|
|
1706
1789
|
* @memberof LocusInfo
|
1707
1790
|
*/
|
1708
1791
|
getTheLocusToUpdate(newLocus: any) {
|
1709
|
-
const switchStatus = ControlsUtils.getSessionSwitchStatus(this
|
1792
|
+
const switchStatus = ControlsUtils.getSessionSwitchStatus(this, newLocus);
|
1793
|
+
|
1710
1794
|
if (switchStatus.isReturnToMain && this.mainSessionLocusCache) {
|
1711
1795
|
return cloneDeep(this.mainSessionLocusCache);
|
1712
1796
|
}
|