@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
@@ -241,6 +241,25 @@ describe('plugin-meetings', () => {
|
|
241
241
|
}
|
242
242
|
);
|
243
243
|
});
|
244
|
+
|
245
|
+
it('allows for disableWebRedirect', () => {
|
246
|
+
|
247
|
+
const res = MeetingInfoUtil.getRequestBody({
|
248
|
+
type: DESTINATION_TYPE.CONVERSATION_URL,
|
249
|
+
destination: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49281',
|
250
|
+
disableWebRedirect: true,
|
251
|
+
});
|
252
|
+
|
253
|
+
assert.deepEqual(
|
254
|
+
res,
|
255
|
+
{
|
256
|
+
conversationUrl: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49281',
|
257
|
+
supportHostKey: true,
|
258
|
+
supportCountryList: true,
|
259
|
+
disableWebRedirect: true,
|
260
|
+
}
|
261
|
+
);
|
262
|
+
});
|
244
263
|
});
|
245
264
|
|
246
265
|
describe('#getWebexSite', () => {
|
@@ -182,6 +182,15 @@ describe('plugin-meetings', () => {
|
|
182
182
|
metrics: {
|
183
183
|
submitClientMetrics: sinon.stub().returns(Promise.resolve()),
|
184
184
|
},
|
185
|
+
newMetrics: {
|
186
|
+
submitClientEvent: sinon.stub(),
|
187
|
+
callDiagnosticLatencies: {
|
188
|
+
measureLatency: sinon.stub().returns(Promise.resolve()),
|
189
|
+
},
|
190
|
+
callDiagnosticMetrics: {
|
191
|
+
clearErrorCache: sinon.stub(),
|
192
|
+
},
|
193
|
+
},
|
185
194
|
});
|
186
195
|
webex.emit('ready');
|
187
196
|
});
|
@@ -285,7 +294,8 @@ describe('plugin-meetings', () => {
|
|
285
294
|
|
286
295
|
describe('failure', () => {
|
287
296
|
it('should not accept non-number input', () => {
|
288
|
-
const logUploadIntervalMultiplicationFactor =
|
297
|
+
const logUploadIntervalMultiplicationFactor =
|
298
|
+
webex.meetings.config.logUploadIntervalMultiplicationFactor;
|
289
299
|
|
290
300
|
webex.meetings._setLogUploadIntervalMultiplicationFactor('test');
|
291
301
|
assert.equal(
|
@@ -390,6 +400,45 @@ describe('plugin-meetings', () => {
|
|
390
400
|
});
|
391
401
|
});
|
392
402
|
|
403
|
+
describe('#_toggleDisableAudioMainDtx', () => {
|
404
|
+
it('should have _toggleDisableAudioMainDtx', () => {
|
405
|
+
assert.equal(typeof webex.meetings._toggleDisableAudioMainDtx, 'function');
|
406
|
+
});
|
407
|
+
|
408
|
+
describe('success', () => {
|
409
|
+
it('should update meetings to disable audio main dtx', () => {
|
410
|
+
webex.meetings._toggleDisableAudioMainDtx(true);
|
411
|
+
assert.equal(webex.meetings.config.experimental.disableAudioMainDtx, true);
|
412
|
+
});
|
413
|
+
});
|
414
|
+
});
|
415
|
+
|
416
|
+
describe('#_toggleEnableAudioTwccForMultistream', () => {
|
417
|
+
it('should have _toggleEnableAudioTwccForMultistream', () => {
|
418
|
+
assert.equal(typeof webex.meetings._toggleEnableAudioTwccForMultistream, 'function');
|
419
|
+
});
|
420
|
+
|
421
|
+
describe('success', () => {
|
422
|
+
it('should update meetings to enable audio twcc support', () => {
|
423
|
+
webex.meetings._toggleEnableAudioTwccForMultistream(true);
|
424
|
+
assert.equal(webex.meetings.config.enableAudioTwccForMultistream, true);
|
425
|
+
});
|
426
|
+
});
|
427
|
+
});
|
428
|
+
|
429
|
+
describe('#_toggleStopIceGatheringAfterFirstRelayCandidate', () => {
|
430
|
+
it('should have _toggleStopIceGatheringAfterFirstRelayCandidate', () => {
|
431
|
+
assert.equal(typeof webex.meetings._toggleStopIceGatheringAfterFirstRelayCandidate, 'function');
|
432
|
+
});
|
433
|
+
|
434
|
+
describe('success', () => {
|
435
|
+
it('should update meetings to stop ICE candidates gathering after first relay candidate', () => {
|
436
|
+
webex.meetings._toggleStopIceGatheringAfterFirstRelayCandidate(true);
|
437
|
+
assert.equal(webex.meetings.config.stopIceGatheringAfterFirstRelayCandidate, true);
|
438
|
+
});
|
439
|
+
});
|
440
|
+
});
|
441
|
+
|
393
442
|
describe('Public API Contracts', () => {
|
394
443
|
describe('#register', () => {
|
395
444
|
it('emits an event and resolves when register succeeds', async () => {
|
@@ -441,6 +490,19 @@ describe('plugin-meetings', () => {
|
|
441
490
|
assert.isTrue(webex.meetings.registered);
|
442
491
|
});
|
443
492
|
|
493
|
+
it('resolves even if startReachability() rejects', async () => {
|
494
|
+
webex.canAuthorize = true;
|
495
|
+
webex.meetings.registered = false;
|
496
|
+
webex.meetings.startReachability = sinon.stub().rejects(new Error('fake error'));
|
497
|
+
|
498
|
+
await webex.meetings.register();
|
499
|
+
assert.calledOnceWithExactly(webex.internal.device.register, undefined);
|
500
|
+
assert.called(webex.internal.services.getMeetingPreferences);
|
501
|
+
assert.called(webex.internal.services.fetchClientRegionInfo);
|
502
|
+
assert.called(webex.internal.mercury.connect);
|
503
|
+
assert.isTrue(webex.meetings.registered);
|
504
|
+
});
|
505
|
+
|
444
506
|
it('passes on the device registration options', async () => {
|
445
507
|
webex.canAuthorize = true;
|
446
508
|
webex.meetings.registered = false;
|
@@ -569,6 +631,24 @@ describe('plugin-meetings', () => {
|
|
569
631
|
await assert.isRejected(webex.meetings.unregister());
|
570
632
|
});
|
571
633
|
|
634
|
+
it('does not reject when device.unregister fails with statusCode 404', (done) => {
|
635
|
+
webex.meetings.registered = true;
|
636
|
+
webex.internal.device.unregister = sinon.stub().rejects({statusCode: 404});
|
637
|
+
webex.meetings.unregister().then(() => {
|
638
|
+
assert.calledWith(
|
639
|
+
TriggerProxy.trigger,
|
640
|
+
sinon.match.instanceOf(Meetings),
|
641
|
+
{
|
642
|
+
file: 'meetings',
|
643
|
+
function: 'unregister',
|
644
|
+
},
|
645
|
+
'meetings:unregistered'
|
646
|
+
);
|
647
|
+
assert.isFalse(webex.meetings.registered);
|
648
|
+
done();
|
649
|
+
});
|
650
|
+
});
|
651
|
+
|
572
652
|
it('rejects when mercury.disconnect fails', async () => {
|
573
653
|
webex.meetings.registered = true;
|
574
654
|
webex.internal.mercury.disconnect = sinon.stub().returns(Promise.reject());
|
@@ -617,6 +697,7 @@ describe('plugin-meetings', () => {
|
|
617
697
|
quality: 'LOW',
|
618
698
|
authToken: 'fake_token',
|
619
699
|
mirror: false,
|
700
|
+
canvasResolutionScaling: 1,
|
620
701
|
});
|
621
702
|
assert.exists(result.enable);
|
622
703
|
assert.exists(result.disable);
|
@@ -632,6 +713,7 @@ describe('plugin-meetings', () => {
|
|
632
713
|
quality: 'HIGH',
|
633
714
|
blurStrength: 'STRONG',
|
634
715
|
bgImageUrl: 'https://test.webex.com/landscape.5a535788.jpg',
|
716
|
+
canvasResolutionScaling: 1,
|
635
717
|
};
|
636
718
|
|
637
719
|
const result = await webex.meetings.createVirtualBackgroundEffect(effectOptions);
|
@@ -666,7 +748,6 @@ describe('plugin-meetings', () => {
|
|
666
748
|
audioContext: {},
|
667
749
|
authToken: 'fake_token',
|
668
750
|
mode: 'WORKLET',
|
669
|
-
env: 'prod',
|
670
751
|
avoidSimd: false,
|
671
752
|
});
|
672
753
|
assert.exists(result.enable);
|
@@ -918,6 +999,69 @@ describe('plugin-meetings', () => {
|
|
918
999
|
});
|
919
1000
|
});
|
920
1001
|
});
|
1002
|
+
describe('#fetchStaticMeetingLink', () => {
|
1003
|
+
const conversationUrl = 'conv.fakeconversationurl.com';
|
1004
|
+
|
1005
|
+
afterEach(() => {
|
1006
|
+
sinon.restore();
|
1007
|
+
});
|
1008
|
+
|
1009
|
+
it('should have #fetchStaticMeetingLink', () => {
|
1010
|
+
assert.exists(webex.meetings.fetchStaticMeetingLink);
|
1011
|
+
});
|
1012
|
+
|
1013
|
+
it('should call MeetingInfo#fetchStaticMeetingLink() with proper params', () => {
|
1014
|
+
webex.meetings.meetingInfo.fetchStaticMeetingLink = sinon
|
1015
|
+
.stub()
|
1016
|
+
.resolves(conversationUrl);
|
1017
|
+
|
1018
|
+
return webex.meetings.fetchStaticMeetingLink(conversationUrl).then(() => {
|
1019
|
+
assert.calledWith(webex.meetings.meetingInfo.fetchStaticMeetingLink, conversationUrl);
|
1020
|
+
});
|
1021
|
+
});
|
1022
|
+
});
|
1023
|
+
describe('#enableStaticMeetingLink', () => {
|
1024
|
+
const conversationUrl = 'conv.fakeconversationurl.com';
|
1025
|
+
|
1026
|
+
afterEach(() => {
|
1027
|
+
sinon.restore();
|
1028
|
+
});
|
1029
|
+
|
1030
|
+
it('should have #enableStaticMeetingLink', () => {
|
1031
|
+
assert.exists(webex.meetings.enableStaticMeetingLink);
|
1032
|
+
});
|
1033
|
+
|
1034
|
+
it('should call MeetingInfo#enableStaticMeetingLink() with proper params', () => {
|
1035
|
+
webex.meetings.meetingInfo.enableStaticMeetingLink = sinon
|
1036
|
+
.stub()
|
1037
|
+
.resolves(conversationUrl);
|
1038
|
+
|
1039
|
+
return webex.meetings.enableStaticMeetingLink(conversationUrl).then(() => {
|
1040
|
+
assert.calledWith(webex.meetings.meetingInfo.enableStaticMeetingLink, conversationUrl);
|
1041
|
+
});
|
1042
|
+
});
|
1043
|
+
});
|
1044
|
+
describe('#disableStaticMeetingLink', () => {
|
1045
|
+
const conversationUrl = 'conv.fakeconversationurl.com';
|
1046
|
+
|
1047
|
+
afterEach(() => {
|
1048
|
+
sinon.restore();
|
1049
|
+
});
|
1050
|
+
|
1051
|
+
it('should have #disableStaticMeetingLink', () => {
|
1052
|
+
assert.exists(webex.meetings.disableStaticMeetingLink);
|
1053
|
+
});
|
1054
|
+
|
1055
|
+
it('should call MeetingInfo#disableStaticMeetingLink() with proper params', () => {
|
1056
|
+
webex.meetings.meetingInfo.disableStaticMeetingLink = sinon
|
1057
|
+
.stub()
|
1058
|
+
.resolves(conversationUrl);
|
1059
|
+
|
1060
|
+
return webex.meetings.disableStaticMeetingLink(conversationUrl).then(() => {
|
1061
|
+
assert.calledWith(webex.meetings.meetingInfo.disableStaticMeetingLink, conversationUrl);
|
1062
|
+
});
|
1063
|
+
});
|
1064
|
+
});
|
921
1065
|
describe('#create', () => {
|
922
1066
|
let infoOptions;
|
923
1067
|
|
@@ -50,6 +50,13 @@ describe('member', () => {
|
|
50
50
|
|
51
51
|
assert.calledOnceWithExactly(MemberUtil.canReclaimHost, participant);
|
52
52
|
});
|
53
|
+
|
54
|
+
it('checks that processParticipant calls isPresenterAssignmentProhibited', () => {
|
55
|
+
sinon.spy(MemberUtil, 'isPresenterAssignmentProhibited');
|
56
|
+
member.processParticipant(participant);
|
57
|
+
|
58
|
+
assert.calledOnceWithExactly(MemberUtil.isPresenterAssignmentProhibited, participant);
|
59
|
+
});
|
53
60
|
})
|
54
61
|
|
55
62
|
describe('#processMember', () => {
|
@@ -557,6 +557,30 @@ describe('plugin-meetings', () => {
|
|
557
557
|
testResult(false, undefined, false);
|
558
558
|
});
|
559
559
|
});
|
560
|
+
|
561
|
+
describe('MemberUtil.isPresenterAssignmentProhibited', () => {
|
562
|
+
it('returns true when isPresenterAssignmentProhibited is true', () => {
|
563
|
+
const participant = {
|
564
|
+
presenterAssignmentNotAllowed: true
|
565
|
+
};
|
566
|
+
|
567
|
+
assert.isTrue(MemberUtil.isPresenterAssignmentProhibited(participant));
|
568
|
+
});
|
569
|
+
|
570
|
+
it('returns false when isPresenterAssignmentProhibited is false', () => {
|
571
|
+
const participant = {
|
572
|
+
presenterAssignmentNotAllowed: false,
|
573
|
+
};
|
574
|
+
|
575
|
+
assert.isFalse(MemberUtil.isPresenterAssignmentProhibited(participant));
|
576
|
+
});
|
577
|
+
|
578
|
+
it('returns undefined when isPresenterAssignmentProhibited is undefined', () => {
|
579
|
+
const participant = {};
|
580
|
+
|
581
|
+
assert.isUndefined(MemberUtil.isPresenterAssignmentProhibited(participant));
|
582
|
+
});
|
583
|
+
});
|
560
584
|
});
|
561
585
|
|
562
586
|
describe('extractMediaStatus', () => {
|