@webex/plugin-meetings 3.0.0-beta.28 → 3.0.0-beta.280
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 +46 -8
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +114 -14
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +763 -31
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/errors/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/webex-errors.js +28 -7
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +5 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.js +203 -28
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +14 -2
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +109 -15
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +309 -18
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +112 -1
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +383 -62
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +57 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +249 -72
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +58 -116
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +72 -123
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +82 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +3123 -2814
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +230 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +256 -196
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +601 -417
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +73 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +192 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +1 -1
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +36 -36
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +22 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +394 -94
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +71 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +49 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +121 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +86 -6
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +316 -233
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +12 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -468
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +238 -49
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +40 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +39 -36
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +209 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +233 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/index.js +225 -59
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +17 -8
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +199 -154
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +23 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +112 -97
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +96 -36
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +67 -73
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +11 -10
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/webex-errors.d.ts +13 -1
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +1 -6
- package/dist/types/constants.d.ts +161 -21
- package/dist/types/controls-options-manager/enums.d.ts +11 -1
- package/dist/types/controls-options-manager/index.d.ts +17 -1
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -7
- package/dist/types/index.d.ts +6 -4
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/index.d.ts +57 -4
- package/dist/types/locus-info/parser.d.ts +67 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -48
- package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
- package/dist/types/meeting/index.d.ts +345 -507
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +99 -23
- package/dist/types/meeting/request.d.ts +72 -43
- package/dist/types/meeting/util.d.ts +101 -1
- package/dist/types/meeting-info/index.d.ts +13 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/types/meetings/collection.d.ts +8 -0
- package/dist/types/meetings/index.d.ts +88 -12
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +13 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/members/collection.d.ts +5 -0
- package/dist/types/members/index.d.ts +35 -2
- package/dist/types/members/request.d.ts +73 -9
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +209 -1
- package/dist/types/metrics/constants.d.ts +11 -4
- package/dist/types/metrics/index.d.ts +4 -119
- package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
- package/dist/types/multistream/receiveSlot.d.ts +13 -11
- package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
- package/dist/types/multistream/remoteMedia.d.ts +8 -29
- package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
- package/dist/types/multistream/sendSlotManager.d.ts +61 -0
- package/dist/types/reachability/index.d.ts +61 -7
- package/dist/types/reachability/request.d.ts +7 -3
- package/dist/types/reconnection-manager/index.d.ts +9 -0
- package/dist/types/recording-controller/index.d.ts +15 -1
- package/dist/types/recording-controller/util.d.ts +5 -4
- package/dist/types/roap/request.d.ts +15 -11
- package/dist/types/roap/turnDiscovery.d.ts +18 -1
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +47 -0
- package/dist/types/statsAnalyzer/index.d.ts +6 -1
- package/package.json +23 -20
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +44 -14
- package/src/breakouts/breakout.ts +87 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +646 -18
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/webex-errors.ts +27 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +4 -9
- package/src/constants.ts +184 -18
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +40 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +413 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +100 -122
- package/src/media/properties.ts +85 -108
- package/src/meeting/in-meeting-actions.ts +163 -3
- package/src/meeting/index.ts +2541 -2309
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +229 -131
- package/src/meeting/request.ts +172 -121
- package/src/meeting/util.ts +588 -394
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +170 -14
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +23 -23
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +428 -108
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +79 -4
- package/src/member/index.ts +49 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +127 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +106 -7
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/constants.ts +11 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +47 -17
- package/src/multistream/receiveSlotManager.ts +34 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +148 -30
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/reachability/index.ts +228 -37
- package/src/reachability/request.ts +17 -8
- package/src/reconnection-manager/index.ts +81 -54
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +23 -30
- package/src/roap/request.ts +100 -104
- package/src/roap/turnDiscovery.ts +51 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +88 -88
- package/src/statsAnalyzer/mqaUtil.ts +13 -14
- package/test/integration/spec/converged-space-meetings.js +60 -3
- package/test/integration/spec/journey.js +320 -261
- package/test/integration/spec/space-meeting.js +76 -3
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +142 -24
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1488 -67
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +316 -43
- package/test/unit/spec/locus-info/index.js +1304 -33
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +208 -17
- package/test/unit/spec/media/index.ts +104 -37
- package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
- package/test/unit/spec/meeting/index.js +4515 -1932
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +408 -208
- package/test/unit/spec/meeting/request.js +440 -45
- package/test/unit/spec/meeting/utils.js +679 -64
- package/test/unit/spec/meeting-info/index.js +295 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +521 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +14 -0
- package/test/unit/spec/meetings/index.js +1007 -177
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +58 -4
- package/test/unit/spec/member/util.js +479 -35
- package/test/unit/spec/members/index.js +319 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +184 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
- package/test/unit/spec/multistream/receiveSlot.ts +43 -20
- package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
- package/test/unit/spec/multistream/remoteMedia.ts +30 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/reachability/index.ts +549 -9
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +84 -9
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +31 -51
- package/test/unit/spec/roap/request.ts +203 -85
- package/test/unit/spec/roap/turnDiscovery.ts +48 -13
- package/test/unit/spec/rtcMetrics/index.ts +68 -0
- package/test/unit/spec/stats-analyzer/index.js +64 -2
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -52
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -299
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/meeting/effectsState.d.ts +0 -42
- package/dist/types/metrics/config.d.ts +0 -178
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/test/unit/spec/meeting/effectsState.js +0 -285
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {StatelessWebexPlugin} from '@webex/webex-core';
|
|
2
|
+
import LoggerProxy from '../common/logs/logger-proxy';
|
|
3
|
+
import {getBroadcastRoles} from './utils';
|
|
4
|
+
import {HTTP_VERBS} from '../constants';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @class BreakoutRequest
|
|
8
|
+
*/
|
|
9
|
+
export default class BreakoutRequest extends StatelessWebexPlugin {
|
|
10
|
+
/**
|
|
11
|
+
* Broadcast message to all breakout session's participants
|
|
12
|
+
* @param {String} url
|
|
13
|
+
* @param {String} message
|
|
14
|
+
* @param {Object} options
|
|
15
|
+
* @param {string} groupId
|
|
16
|
+
* @param {string} sessionId
|
|
17
|
+
* @returns {Promise}
|
|
18
|
+
*/
|
|
19
|
+
broadcast({
|
|
20
|
+
url,
|
|
21
|
+
message,
|
|
22
|
+
options,
|
|
23
|
+
groupId,
|
|
24
|
+
sessionId,
|
|
25
|
+
}: {
|
|
26
|
+
url: string;
|
|
27
|
+
message: string;
|
|
28
|
+
options?: object;
|
|
29
|
+
groupId: string;
|
|
30
|
+
sessionId?: string;
|
|
31
|
+
}) {
|
|
32
|
+
const roles = getBroadcastRoles(options);
|
|
33
|
+
const params = {
|
|
34
|
+
id: groupId,
|
|
35
|
+
recipientRoles: roles.length ? roles : undefined,
|
|
36
|
+
sessions: sessionId ? [{id: sessionId}] : undefined,
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
return this.request({
|
|
41
|
+
method: HTTP_VERBS.POST,
|
|
42
|
+
uri: `${url}/message`,
|
|
43
|
+
body: {
|
|
44
|
+
message,
|
|
45
|
+
groups: [params],
|
|
46
|
+
},
|
|
47
|
+
}).catch((error) => {
|
|
48
|
+
if (error.body && error.body.errorCode === 201409036 && error.statusCode === 409) {
|
|
49
|
+
LoggerProxy.logger.info(`Breakouts#broadcast --> no joined participants`);
|
|
50
|
+
} else {
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
2
|
+
import LoggerProxy from '../common/logs/logger-proxy';
|
|
3
|
+
import BreakoutEditLockedError from './edit-lock-error';
|
|
4
|
+
import {BREAKOUTS} from '../constants';
|
|
5
|
+
|
|
6
|
+
export const getBroadcastRoles = (options): string[] => {
|
|
7
|
+
const recipientRoles = [];
|
|
8
|
+
if (!options || (!options.cohosts && !options.presenters)) {
|
|
9
|
+
return recipientRoles;
|
|
10
|
+
}
|
|
11
|
+
if (options.cohosts) {
|
|
12
|
+
recipientRoles.push('COHOST');
|
|
13
|
+
}
|
|
14
|
+
if (options.presenters) {
|
|
15
|
+
recipientRoles.push('PRESENTER');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return recipientRoles;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Deals with all kinds of errors of breakout service
|
|
23
|
+
* @param {object} error // one of the breakout service error
|
|
24
|
+
* @param {string} position // position of the error occur
|
|
25
|
+
* @returns {object}
|
|
26
|
+
*/
|
|
27
|
+
export const boServiceErrorHandler = (error: any, position: string): any => {
|
|
28
|
+
const errorCode = error?.body?.errorCode;
|
|
29
|
+
const {EDIT_LOCK_TOKEN_MISMATCH, EDIT_NOT_AUTHORIZED} = BREAKOUTS.ERROR_CODE;
|
|
30
|
+
let throwError;
|
|
31
|
+
switch (errorCode) {
|
|
32
|
+
case EDIT_LOCK_TOKEN_MISMATCH:
|
|
33
|
+
throwError = new BreakoutEditLockedError('Edit lock token mismatch', error);
|
|
34
|
+
break;
|
|
35
|
+
case EDIT_NOT_AUTHORIZED:
|
|
36
|
+
throwError = new BreakoutEditLockedError('Not authorized to interact with edit lock', error);
|
|
37
|
+
break;
|
|
38
|
+
default:
|
|
39
|
+
throwError = error;
|
|
40
|
+
}
|
|
41
|
+
LoggerProxy.logger.info(`${position} --> ${throwError?.message}`);
|
|
42
|
+
|
|
43
|
+
return throwError;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @param {object} breakout
|
|
49
|
+
* @param {string} newSessionType
|
|
50
|
+
* @returns {boolean}
|
|
51
|
+
*/
|
|
52
|
+
export const isSessionTypeChangedFromSessionToMain = (breakout, newSessionType) => {
|
|
53
|
+
return (
|
|
54
|
+
breakout.previous('sessionType') === BREAKOUTS.SESSION_TYPES.BREAKOUT &&
|
|
55
|
+
newSessionType === BREAKOUTS.SESSION_TYPES.MAIN
|
|
56
|
+
);
|
|
57
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {ERROR_DICTIONARY} from '../../constants';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Extended Error object for general parameter errors
|
|
5
|
+
*/
|
|
6
|
+
export default class NoMeetingInfoError extends Error {
|
|
7
|
+
code: any;
|
|
8
|
+
error: any;
|
|
9
|
+
sdkMessage: any;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @constructor
|
|
13
|
+
* @param {String} [message]
|
|
14
|
+
* @param {Object} [error]
|
|
15
|
+
*/
|
|
16
|
+
constructor(message: string = ERROR_DICTIONARY.NO_MEETING_INFO.MESSAGE, error: any = null) {
|
|
17
|
+
super(message);
|
|
18
|
+
this.name = ERROR_DICTIONARY.NO_MEETING_INFO.NAME;
|
|
19
|
+
this.sdkMessage = ERROR_DICTIONARY.NO_MEETING_INFO.MESSAGE;
|
|
20
|
+
this.error = error;
|
|
21
|
+
this.stack = error ? error.stack : new Error().stack;
|
|
22
|
+
this.code = ERROR_DICTIONARY.NO_MEETING_INFO.CODE;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -72,13 +72,17 @@ WebExMeetingsErrors[UserNotJoinedError.CODE] = UserNotJoinedError;
|
|
|
72
72
|
* @classdesc Raised whenever the user has not established media yet.
|
|
73
73
|
* @extends WebexMeetingsError
|
|
74
74
|
* @property {number} code - 30103
|
|
75
|
-
* @property {string} message -
|
|
75
|
+
* @property {string} message - error message
|
|
76
76
|
*/
|
|
77
77
|
class NoMediaEstablishedYetError extends WebexMeetingsError {
|
|
78
78
|
static CODE = 30103;
|
|
79
79
|
|
|
80
|
+
// eslint-disable-next-line require-jsdoc
|
|
80
81
|
constructor() {
|
|
81
|
-
super(
|
|
82
|
+
super(
|
|
83
|
+
NoMediaEstablishedYetError.CODE,
|
|
84
|
+
'Webrtc media connection is missing, call addMedia() first'
|
|
85
|
+
);
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
88
|
|
|
@@ -103,6 +107,27 @@ class UserInLobbyError extends WebexMeetingsError {
|
|
|
103
107
|
export {UserInLobbyError};
|
|
104
108
|
WebExMeetingsErrors[UserInLobbyError.CODE] = UserInLobbyError;
|
|
105
109
|
|
|
110
|
+
/**
|
|
111
|
+
* @class SpaceIDDeprecatedError
|
|
112
|
+
* @classdesc Raised whenever the user passes Space ID as destination for create meeting.
|
|
113
|
+
* @extends WebexMeetingsError
|
|
114
|
+
* @property {number} code - 30105
|
|
115
|
+
* @property {string} message - Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.'
|
|
116
|
+
*/
|
|
117
|
+
class SpaceIDDeprecatedError extends WebexMeetingsError {
|
|
118
|
+
static CODE = 30105;
|
|
119
|
+
|
|
120
|
+
constructor() {
|
|
121
|
+
super(
|
|
122
|
+
SpaceIDDeprecatedError.CODE,
|
|
123
|
+
'Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.'
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export {SpaceIDDeprecatedError};
|
|
129
|
+
WebExMeetingsErrors[SpaceIDDeprecatedError.CODE] = SpaceIDDeprecatedError;
|
|
130
|
+
|
|
106
131
|
/**
|
|
107
132
|
* @class IceGatheringFailed
|
|
108
133
|
* @classdesc Raised whenever ice gathering fails.
|
package/src/common/queue.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Simple queue
|
|
2
|
+
* Simple queue in which the elements are always sorted
|
|
3
3
|
*/
|
|
4
|
-
export default class
|
|
5
|
-
queue:
|
|
4
|
+
export default class SortedQueue<ItemType> {
|
|
5
|
+
queue: ItemType[];
|
|
6
|
+
// returns -1 if left < right, 0 if left === right, +1 if left > right
|
|
7
|
+
compareFunc: (left: ItemType, right: ItemType) => number;
|
|
8
|
+
|
|
6
9
|
/**
|
|
7
|
-
* @constructs
|
|
10
|
+
* @constructs SortedQueue
|
|
11
|
+
* @param {Function} compareFunc comparison function used for sorting the elements of the queue
|
|
8
12
|
*/
|
|
9
|
-
constructor() {
|
|
13
|
+
constructor(compareFunc: (left: ItemType, right: ItemType) => number) {
|
|
10
14
|
this.queue = [];
|
|
15
|
+
this.compareFunc = compareFunc;
|
|
11
16
|
}
|
|
12
17
|
|
|
13
18
|
/**
|
|
@@ -23,8 +28,17 @@ export default class SimpleQueue {
|
|
|
23
28
|
* @param {object} item
|
|
24
29
|
* @returns {undefined}
|
|
25
30
|
*/
|
|
26
|
-
enqueue(item:
|
|
27
|
-
|
|
31
|
+
enqueue(item: ItemType) {
|
|
32
|
+
// Find the index of the first item in the queue that's greater or equal to the new item.
|
|
33
|
+
// That's where we want to insert the new item.
|
|
34
|
+
const idx = this.queue.findIndex((existingItem) => {
|
|
35
|
+
return this.compareFunc(existingItem, item) >= 0;
|
|
36
|
+
});
|
|
37
|
+
if (idx >= 0) {
|
|
38
|
+
this.queue.splice(idx, 0, item);
|
|
39
|
+
} else {
|
|
40
|
+
this.queue.push(item);
|
|
41
|
+
}
|
|
28
42
|
}
|
|
29
43
|
|
|
30
44
|
/**
|
|
@@ -32,7 +46,7 @@ export default class SimpleQueue {
|
|
|
32
46
|
* Returns null if the queue is empty.
|
|
33
47
|
* @returns {(object|null)} Queue item or null.
|
|
34
48
|
*/
|
|
35
|
-
dequeue() {
|
|
49
|
+
dequeue(): ItemType {
|
|
36
50
|
if (this.queue.length === 0) {
|
|
37
51
|
return null;
|
|
38
52
|
}
|
package/src/config.ts
CHANGED
|
@@ -10,13 +10,7 @@ export default {
|
|
|
10
10
|
meetings: {
|
|
11
11
|
deviceType: deviceType.WEB,
|
|
12
12
|
mediaSettings: {
|
|
13
|
-
sendAudio: true,
|
|
14
|
-
sendVideo: true,
|
|
15
|
-
receiveAudio: true,
|
|
16
|
-
receiveVideo: true,
|
|
17
13
|
pstn: false,
|
|
18
|
-
sendShare: false,
|
|
19
|
-
receiveShare: false,
|
|
20
14
|
},
|
|
21
15
|
reconnection: {
|
|
22
16
|
enabled: false,
|
|
@@ -89,14 +83,15 @@ export default {
|
|
|
89
83
|
receiveTranscription: false,
|
|
90
84
|
enableExtmap: false,
|
|
91
85
|
enableAutomaticLLM: false,
|
|
86
|
+
installedOrgID: undefined,
|
|
92
87
|
experimental: {
|
|
93
88
|
enableMediaNegotiatedEvent: false,
|
|
94
|
-
enableUnifiedMeetings:
|
|
95
|
-
enableAdhocMeetings:
|
|
89
|
+
enableUnifiedMeetings: true,
|
|
90
|
+
enableAdhocMeetings: true,
|
|
96
91
|
enableTurnDiscovery: true,
|
|
97
92
|
},
|
|
98
93
|
degradationPreferences: {
|
|
99
|
-
maxMacroblocksLimit:
|
|
94
|
+
maxMacroblocksLimit: 8192,
|
|
100
95
|
},
|
|
101
96
|
},
|
|
102
97
|
};
|
package/src/constants.ts
CHANGED
|
@@ -4,13 +4,14 @@ import {hydraTypes} from '@webex/common';
|
|
|
4
4
|
// *********** LOWERCASE / CAMELCASE STRINGS ************
|
|
5
5
|
|
|
6
6
|
export const AUDIO = 'audio';
|
|
7
|
-
export const AUDIO_INPUT = 'audioinput';
|
|
8
7
|
export const AUDIO_STATUS = 'audioStatus';
|
|
9
8
|
export const ALERT = 'alert';
|
|
9
|
+
export const ALIAS = 'alias';
|
|
10
10
|
export const ANSWER = 'answer';
|
|
11
11
|
|
|
12
12
|
export const CALL = 'call';
|
|
13
13
|
export const CORRELATION_ID = 'correlationId';
|
|
14
|
+
export const MEETINGNUMBER = 'meetingNumber';
|
|
14
15
|
export const CONVERSATION_URL = 'conversationUrl';
|
|
15
16
|
export const CALENDAR = 'calendar';
|
|
16
17
|
export const CALENDAR_EVENTS_API = 'calendarEvents';
|
|
@@ -65,7 +66,6 @@ export const SHARE = 'share';
|
|
|
65
66
|
export const TYPE = 'type';
|
|
66
67
|
|
|
67
68
|
export const VIDEO = 'video';
|
|
68
|
-
export const VIDEO_INPUT = 'videoinput';
|
|
69
69
|
export const VIDEO_STATUS = 'videoStatus';
|
|
70
70
|
|
|
71
71
|
// *********** UPPERCASE ONLY STRINGS ************
|
|
@@ -93,6 +93,7 @@ export const _JOINED_ = 'JOINED';
|
|
|
93
93
|
|
|
94
94
|
export const _LOCUS_ID_ = 'LOCUS_ID';
|
|
95
95
|
export const _LEFT_ = 'LEFT';
|
|
96
|
+
export const _MOVED_ = 'MOVED';
|
|
96
97
|
|
|
97
98
|
export const _MEETING_LINK_ = 'MEETING_LINK';
|
|
98
99
|
export const _MEETING_UUID_ = 'MEETING_UUID';
|
|
@@ -189,7 +190,7 @@ export const ICE_FAIL_TIMEOUT = 3000;
|
|
|
189
190
|
|
|
190
191
|
export const RETRY_TIMEOUT = 3000;
|
|
191
192
|
|
|
192
|
-
export const PC_BAIL_TIMEOUT =
|
|
193
|
+
export const PC_BAIL_TIMEOUT = 15000;
|
|
193
194
|
|
|
194
195
|
// ******************** REGEX **********************
|
|
195
196
|
// Please alphabetize
|
|
@@ -280,6 +281,7 @@ export const EVENT_TRIGGERS = {
|
|
|
280
281
|
MEETING_STOPPED_SHARING_LOCAL: 'meeting:stoppedSharingLocal',
|
|
281
282
|
MEETING_STARTED_SHARING_REMOTE: 'meeting:startedSharingRemote',
|
|
282
283
|
MEETING_STOPPED_SHARING_REMOTE: 'meeting:stoppedSharingRemote',
|
|
284
|
+
MEETING_UPDATE_ANNOTATION_INFO: 'meeting:updateAnnotationInfo',
|
|
283
285
|
MEETING_STARTED_SHARING_WHITEBOARD: 'meeting:startedSharingWhiteboard',
|
|
284
286
|
MEETING_STOPPED_SHARING_WHITEBOARD: 'meeting:stoppedSharingWhiteboard',
|
|
285
287
|
MEETING_MEDIA_LOCAL_STARTED: 'meeting:media:local:start',
|
|
@@ -297,18 +299,29 @@ export const EVENT_TRIGGERS = {
|
|
|
297
299
|
MEETING_RINGING_STOP: 'meeting:ringingStop',
|
|
298
300
|
MEETING_SELF_LOBBY_WAITING: 'meeting:self:lobbyWaiting',
|
|
299
301
|
MEETING_SELF_GUEST_ADMITTED: 'meeting:self:guestAdmitted',
|
|
302
|
+
MEETING_SELF_VIDEO_MUTED_BY_OTHERS: 'meeting:self:videoMutedByOthers',
|
|
303
|
+
MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS: 'meeting:self:videoUnmutedByOthers',
|
|
300
304
|
MEETING_SELF_MUTED_BY_OTHERS: 'meeting:self:mutedByOthers',
|
|
301
305
|
MEETING_SELF_UNMUTED_BY_OTHERS: 'meeting:self:unmutedByOthers',
|
|
302
306
|
MEETING_SELF_REQUESTED_TO_UNMUTE: 'meeting:self:requestedToUnmute',
|
|
303
307
|
MEETING_SELF_PHONE_AUDIO_UPDATE: 'meeting:self:phoneAudioUpdate',
|
|
304
308
|
MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST: 'meeting:self:cannotViewParticipantList',
|
|
305
309
|
MEETING_SELF_IS_SHARING_BLOCKED: 'meeting:self:isSharingBlocked',
|
|
310
|
+
MEETING_SELF_ROLES_CHANGED: 'meeting:self:rolesChanged',
|
|
306
311
|
MEETING_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',
|
|
307
312
|
MEETING_ENTRY_EXIT_TONE_UPDATE: 'meeting:entryExitTone:update',
|
|
308
313
|
MEETING_BREAKOUTS_UPDATE: 'meeting:breakouts:update',
|
|
309
314
|
MEETING_BREAKOUTS_CLOSING: 'meeting:breakouts:closing',
|
|
310
315
|
MEETING_BREAKOUTS_MESSAGE: 'meeting:breakouts:message',
|
|
316
|
+
MEETING_BREAKOUTS_ASK_RETURN_TO_MAIN: 'meeting:breakouts:askReturnToMain',
|
|
317
|
+
MEETING_BREAKOUTS_LEAVE: 'meeting:breakouts:leave',
|
|
318
|
+
MEETING_BREAKOUTS_ASK_FOR_HELP: 'meeting:breakouts:askForHelp',
|
|
319
|
+
MEETING_BREAKOUTS_PRE_ASSIGNMENTS_UPDATE: 'meeting:breakouts:preAssignmentsUpdate',
|
|
320
|
+
MEETING_INTERPRETATION_UPDATE: 'meeting:interpretation:update',
|
|
321
|
+
MEETING_INTERPRETATION_SUPPORT_LANGUAGES_UPDATE: 'meeting:interpretation:supportLanguagesUpdate',
|
|
322
|
+
MEETING_INTERPRETATION_HANDOFF_REQUESTS_ARRIVED: 'meeting:interpretation:handoffRequestsArrived',
|
|
311
323
|
MEMBERS_UPDATE: 'members:update',
|
|
324
|
+
MEMBERS_CLEAR: 'members:clear',
|
|
312
325
|
MEMBERS_CONTENT_UPDATE: 'members:content:update',
|
|
313
326
|
MEMBERS_HOST_UPDATE: 'members:host:update',
|
|
314
327
|
MEMBERS_SELF_UPDATE: 'members:self:update',
|
|
@@ -337,17 +350,28 @@ export const EVENT_TRIGGERS = {
|
|
|
337
350
|
REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',
|
|
338
351
|
REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScreenShareAudio:created',
|
|
339
352
|
REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged',
|
|
353
|
+
// Controls
|
|
354
|
+
MEETING_CONTROLS_MUTE_ON_ENTRY_UPDATED: 'meeting:controls:mute-on-entry:updated',
|
|
355
|
+
MEETING_CONTROLS_SHARE_CONTROL_UPDATED: 'meeting:controls:share-control:updated',
|
|
356
|
+
MEETING_CONTROLS_DISALLOW_UNMUTE_UPDATED: 'meeting:controls:disallow-unmute:updated',
|
|
357
|
+
MEETING_CONTROLS_REACTIONS_UPDATED: 'meeting:controls:reactions:updated',
|
|
358
|
+
MEETING_CONTROLS_VIEW_THE_PARTICIPANTS_LIST_UPDATED:
|
|
359
|
+
'meeting:controls:view-the-participants-list:updated',
|
|
360
|
+
MEETING_CONTROLS_RAISE_HAND_UPDATED: 'meeting:controls:raise-hand:updated',
|
|
361
|
+
MEETING_CONTROLS_VIDEO_UPDATED: 'meeting:controls:video:updated',
|
|
362
|
+
// Locus URL changed
|
|
363
|
+
MEETING_LOCUS_URL_UPDATE: 'meeting:locus:locusUrl:update',
|
|
364
|
+
MEETING_STREAM_PUBLISH_STATE_CHANGED: 'meeting:streamPublishStateChanged',
|
|
340
365
|
};
|
|
341
366
|
|
|
342
367
|
export const EVENT_TYPES = {
|
|
343
368
|
SELF: 'self',
|
|
344
369
|
OTHER: 'other',
|
|
345
|
-
LOCAL: 'local',
|
|
346
370
|
REMOTE: 'remote',
|
|
347
371
|
REMOTE_AUDIO: 'remoteAudio',
|
|
348
372
|
REMOTE_VIDEO: 'remoteVideo',
|
|
349
373
|
REMOTE_SHARE: 'remoteShare',
|
|
350
|
-
|
|
374
|
+
REMOTE_SHARE_AUDIO: 'remoteShareAudio',
|
|
351
375
|
ERROR: 'error',
|
|
352
376
|
};
|
|
353
377
|
|
|
@@ -360,9 +384,12 @@ export const MEETING_REMOVED_REASON = {
|
|
|
360
384
|
FULLSTATE_REMOVED: 'FULLSTATE_REMOVED', // meeting got dropped ? not sure
|
|
361
385
|
MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING', // Meeting got ended or everyone left the meeting
|
|
362
386
|
CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST', // You triggered leave meeting
|
|
387
|
+
CLIENT_LEAVE_REQUEST_TAB_CLOSED: 'CLIENT_LEAVE_REQUEST_TAB_CLOSED', // You triggered leave meeting, such as closing the browser tab directly
|
|
363
388
|
USER_ENDED_SHARE_STREAMS: 'USER_ENDED_SHARE_STREAMS', // user triggered stop share
|
|
364
389
|
NO_MEETINGS_TO_SYNC: 'NO_MEETINGS_TO_SYNC', // After the syncMeeting no meeting exists
|
|
365
390
|
MEETING_CONNECTION_FAILED: 'MEETING_CONNECTION_FAILED', // meeting failed to connect due to ice failures or firewall issue
|
|
391
|
+
LOCUS_DTO_SYNC_FAILED: 'LOCUS_DTO_SYNC_FAILED', // failed to get any Locus DTO for that meeting
|
|
392
|
+
MISSING_MEETING_INFO: 'MISSING_MEETING_INFO', // meeting info failed to be fetched
|
|
366
393
|
};
|
|
367
394
|
|
|
368
395
|
// One one one calls ends for the following reasons
|
|
@@ -377,6 +404,8 @@ export const CALL_REMOVED_REASON = {
|
|
|
377
404
|
export const SHARE_STOPPED_REASON = {
|
|
378
405
|
SELF_STOPPED: 'SELF_STOPPED',
|
|
379
406
|
MEETING_REJOIN: 'MEETING_REJOIN',
|
|
407
|
+
MEDIA_RECONNECTION: 'MEDIA_RECONNECTION',
|
|
408
|
+
TRACK_ENDED: 'TRACK_ENDED',
|
|
380
409
|
};
|
|
381
410
|
|
|
382
411
|
export const EVENTS = {
|
|
@@ -452,6 +481,16 @@ export const ERROR_DICTIONARY = {
|
|
|
452
481
|
MESSAGE: 'Captcha is required.',
|
|
453
482
|
CODE: 8,
|
|
454
483
|
},
|
|
484
|
+
BREAKOUT_EDIT: {
|
|
485
|
+
NAME: 'BreakoutEditLockedError',
|
|
486
|
+
MESSAGE: 'Edit lock token mismatch',
|
|
487
|
+
CODE: 9,
|
|
488
|
+
},
|
|
489
|
+
NO_MEETING_INFO: {
|
|
490
|
+
NAME: 'NoMeetingInfo',
|
|
491
|
+
MESSAGE: 'No meeting info found for the meeting',
|
|
492
|
+
CODE: 10,
|
|
493
|
+
},
|
|
455
494
|
};
|
|
456
495
|
|
|
457
496
|
export const FLOOR_ACTION = {
|
|
@@ -473,6 +512,7 @@ export const HTTP_VERBS = {
|
|
|
473
512
|
POST: 'POST',
|
|
474
513
|
GET: 'GET',
|
|
475
514
|
PATCH: 'PATCH',
|
|
515
|
+
DELETE: 'DELETE',
|
|
476
516
|
};
|
|
477
517
|
|
|
478
518
|
// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState
|
|
@@ -518,17 +558,28 @@ export const LOCUS = {
|
|
|
518
558
|
SYNCDEBUG: 'sync_debug',
|
|
519
559
|
};
|
|
520
560
|
|
|
561
|
+
export const ANNOTATION = {
|
|
562
|
+
ANNOTATION_ON_SHARE_SUPPORTED: 'ANNOTATION_ON_SHARE_SUPPORTED',
|
|
563
|
+
};
|
|
521
564
|
export const BREAKOUTS = {
|
|
522
565
|
STATUS: {
|
|
523
566
|
CLOSING: 'CLOSING',
|
|
567
|
+
CLOSED: 'CLOSED',
|
|
568
|
+
PENDING: 'PENDING',
|
|
569
|
+
OPEN: 'OPEN',
|
|
524
570
|
},
|
|
525
571
|
EVENTS: {
|
|
526
572
|
BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',
|
|
527
573
|
MESSAGE: 'MESSAGE',
|
|
528
574
|
MEMBERS_UPDATE: 'MEMBERS_UPDATE',
|
|
575
|
+
ASK_RETURN_TO_MAIN: 'ASK_RETURN_TO_MAIN',
|
|
576
|
+
LEAVE_BREAKOUT: 'LEAVE_BREAKOUT',
|
|
577
|
+
ASK_FOR_HELP: 'ASK_FOR_HELP',
|
|
578
|
+
PRE_ASSIGNMENTS_UPDATE: 'PRE_ASSIGNMENTS_UPDATE',
|
|
529
579
|
},
|
|
530
580
|
SESSION_TYPES: {
|
|
531
581
|
MAIN: 'MAIN',
|
|
582
|
+
BREAKOUT: 'BREAKOUT',
|
|
532
583
|
},
|
|
533
584
|
SESSION_STATES: {
|
|
534
585
|
ACTIVE: 'active',
|
|
@@ -538,6 +589,35 @@ export const BREAKOUTS = {
|
|
|
538
589
|
REQUESTED: 'requested',
|
|
539
590
|
},
|
|
540
591
|
BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED',
|
|
592
|
+
ACTION: {
|
|
593
|
+
START: 'START',
|
|
594
|
+
CLOSE: 'CLOSE',
|
|
595
|
+
DELETE: 'DELETE',
|
|
596
|
+
},
|
|
597
|
+
ERROR_CODE: {
|
|
598
|
+
EDIT_LOCK_TOKEN_MISMATCH: 201409024,
|
|
599
|
+
EDIT_NOT_AUTHORIZED: 201403007,
|
|
600
|
+
},
|
|
601
|
+
EDIT_LOCK_STATUS: {
|
|
602
|
+
LOCKED: 'LOCKED',
|
|
603
|
+
NOT_LOCKED: 'NOT_LOCKED',
|
|
604
|
+
UNKNOWN: 'UNKNOWN',
|
|
605
|
+
},
|
|
606
|
+
DEFAULT_TTL: 30,
|
|
607
|
+
};
|
|
608
|
+
|
|
609
|
+
export const INTERPRETATION = {
|
|
610
|
+
EVENTS: {
|
|
611
|
+
SUPPORT_LANGUAGES_UPDATE: 'SUPPORT_LANGUAGES_UPDATE',
|
|
612
|
+
HANDOFF_REQUESTS_ARRIVED: 'HANDOFF_REQUESTS_ARRIVED',
|
|
613
|
+
},
|
|
614
|
+
ACTION_TYPE: {
|
|
615
|
+
OFFERED: 'OFFERED',
|
|
616
|
+
ACCEPTED: 'ACCEPTED',
|
|
617
|
+
REQUESTED: 'REQUESTED',
|
|
618
|
+
DECLINED: 'DECLINED',
|
|
619
|
+
},
|
|
620
|
+
RESOURCE_TYPE: 'SiHandover',
|
|
541
621
|
};
|
|
542
622
|
|
|
543
623
|
export const LOCUSINFO = {
|
|
@@ -547,13 +627,24 @@ export const LOCUSINFO = {
|
|
|
547
627
|
CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
|
|
548
628
|
CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',
|
|
549
629
|
CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
|
|
630
|
+
CONTROLS_MEETING_INTERPRETATION_UPDATED: 'CONTROLS_MEETING_INTERPRETATION_UPDATED',
|
|
550
631
|
CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',
|
|
632
|
+
CONTROLS_JOIN_BREAKOUT_FROM_MAIN: 'CONTROLS_JOIN_BREAKOUT_FROM_MAIN',
|
|
633
|
+
CONTROLS_MUTE_ON_ENTRY_CHANGED: 'CONTROLS_MUTE_ON_ENTRY_CHANGED',
|
|
634
|
+
CONTROLS_SHARE_CONTROL_CHANGED: 'CONTROLS_SHARE_CONTROL_CHANGED',
|
|
635
|
+
CONTROLS_DISALLOW_UNMUTE_CHANGED: 'CONTROLS_DISALLOW_UNMUTE_CHANGED',
|
|
636
|
+
CONTROLS_REACTIONS_CHANGED: 'CONTROLS_REACTIONS_CHANGED',
|
|
637
|
+
CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED: 'CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED',
|
|
638
|
+
CONTROLS_RAISE_HAND_CHANGED: 'CONTROLS_RAISE_HAND_CHANGED',
|
|
639
|
+
CONTROLS_VIDEO_CHANGED: 'CONTROLS_VIDEO_CHANGED',
|
|
551
640
|
SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
|
|
552
641
|
SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
|
|
642
|
+
SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',
|
|
553
643
|
SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',
|
|
554
644
|
LOCAL_UNMUTE_REQUESTED: 'LOCAL_UNMUTE_REQUESTED',
|
|
555
645
|
LOCAL_UNMUTE_REQUIRED: 'LOCAL_UNMUTE_REQUIRED',
|
|
556
646
|
SELF_MODERATOR_CHANGED: 'SELF_MODERATOR_CHANGED',
|
|
647
|
+
SELF_ROLES_CHANGED: 'SELF_ROLES_CHANGED',
|
|
557
648
|
MEETING_UPDATE: 'MEETING_UPDATE',
|
|
558
649
|
MEDIA_STATUS_CHANGE: 'MEDIA_STATUS_CHANGE',
|
|
559
650
|
FULL_STATE_TYPE_UPDATE: 'FULL_STATE_TYPE_UPDATE',
|
|
@@ -568,6 +659,7 @@ export const LOCUSINFO = {
|
|
|
568
659
|
SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',
|
|
569
660
|
SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
|
|
570
661
|
SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',
|
|
662
|
+
SELF_MEETING_INTERPRETATION_CHANGED: 'SELF_MEETING_INTERPRETATION_CHANGED',
|
|
571
663
|
MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
|
|
572
664
|
LINKS_SERVICES: 'LINKS_SERVICES',
|
|
573
665
|
},
|
|
@@ -732,6 +824,28 @@ export const MEETING_END_REASON = {
|
|
|
732
824
|
MEDIA_RELEASED: 'MEDIA_RELEASED',
|
|
733
825
|
};
|
|
734
826
|
|
|
827
|
+
export enum SELF_POLICY {
|
|
828
|
+
ENFORCE_VIRTUAL_BACKGROUND = 'enforceVirtualBackground',
|
|
829
|
+
SUPPORT_LOCAL_RECORD = 'supportLocalRecord',
|
|
830
|
+
SUPPORT_NETWORK_BASED_RECORD = 'supportNetworkBasedRecord',
|
|
831
|
+
SUPPORT_REALTIME_CLOSE_CAPTION = 'supportRealtimeCloseCaption',
|
|
832
|
+
SUPPORT_CHAT = 'supportChat',
|
|
833
|
+
SUPPORT_DESKTOP_SHARE_REMOTE = 'supportDesktopShareRemote',
|
|
834
|
+
SUPPORT_DESKTOP_SHARE = 'supportDesktopShare',
|
|
835
|
+
SUPPORT_WHITEBOARD = 'supportWhiteboard',
|
|
836
|
+
SUPPORT_FILE_TRANSFER = 'supportFileTransfer',
|
|
837
|
+
SUPPORT_APP_SHARE = 'supportAppShare',
|
|
838
|
+
SUPPORT_CAMERA_SHARE = 'supportCameraShare',
|
|
839
|
+
SUPPORT_FILE_SHARE = 'supportFileShare',
|
|
840
|
+
SUPPORT_ANNOTATION = 'supportAnnotation',
|
|
841
|
+
SUPPORT_BROADCAST_MESSAGE = 'supportBroadcastMessage',
|
|
842
|
+
SUPPORT_VIDEO = 'supportVideo',
|
|
843
|
+
SUPPORT_HQV = 'supportHQV',
|
|
844
|
+
SUPPORT_HDV = 'supportHDV',
|
|
845
|
+
SUPPORT_PARTICIPANT_LIST = 'supportParticipantList',
|
|
846
|
+
SUPPORT_VOIP = 'supportVoIP',
|
|
847
|
+
}
|
|
848
|
+
|
|
735
849
|
export const DISPLAY_HINTS = {
|
|
736
850
|
ADD_GUEST: 'ADD_GUEST',
|
|
737
851
|
ROSTER_WAITING_TO_JOIN: 'ROSTER_WAITING_TO_JOIN',
|
|
@@ -755,21 +869,64 @@ export const DISPLAY_HINTS = {
|
|
|
755
869
|
DISPLAY_NON_ENGLISH_ASR: 'DISPLAY_NON_ENGLISH_ASR',
|
|
756
870
|
TRANSCRIPTION_CONTROL_START: 'TRANSCRIPTION_CONTROL_START',
|
|
757
871
|
TRANSCRIPTION_CONTROL_STOP: 'TRANSCRIPTION_CONTROL_STOP',
|
|
872
|
+
SAVE_TRANSCRIPTS_ENABLED: 'SAVE_TRANSCRIPTS_ENABLED',
|
|
758
873
|
WEBEX_ASSISTANT_STATUS_ACTIVE: 'WEBEX_ASSISTANT_STATUS_ACTIVE',
|
|
759
874
|
WAITING_FOR_OTHERS: 'WAITING_FOR_OTHERS',
|
|
760
875
|
ENABLE_REACTIONS: 'ENABLE_REACTIONS',
|
|
761
876
|
DISABLE_REACTIONS: 'DISABLE_REACTIONS',
|
|
762
877
|
REACTIONS_ACTIVE: 'REACTIONS_ACTIVE',
|
|
763
878
|
REACTIONS_INACTIVE: 'REACTIONS_INACTIVE',
|
|
879
|
+
SHARE_CONTROL: 'SHARE_CONTROL',
|
|
764
880
|
ENABLE_MUTE_ON_ENTRY: 'ENABLE_MUTE_ON_ENTRY',
|
|
881
|
+
ENABLE_SHOW_DISPLAY_NAME: 'ENABLE_SHOW_DISPLAY_NAME',
|
|
882
|
+
DISABLE_SHOW_DISPLAY_NAME: 'DISABLE_SHOW_DISPLAY_NAME',
|
|
765
883
|
DISABLE_MUTE_ON_ENTRY: 'DISABLE_MUTE_ON_ENTRY',
|
|
766
884
|
ENABLE_HARD_MUTE: 'ENABLE_HARD_MUTE',
|
|
767
885
|
DISABLE_HARD_MUTE: 'DISABLE_HARD_MUTE',
|
|
886
|
+
MUTE_ALL: 'MUTE_ALL',
|
|
887
|
+
UNMUTE_ALL: 'UNMUTE_ALL',
|
|
888
|
+
PRESENTER_CONTROL: 'PRESENTER_CONTROL',
|
|
889
|
+
CAN_RENAME_SELF_AND_OBSERVED: 'CAN_RENAME_SELF_AND_OBSERVED',
|
|
890
|
+
CAN_RENAME_OTHERS: 'CAN_RENAME_OTHERS',
|
|
891
|
+
|
|
892
|
+
// breakout session
|
|
893
|
+
BREAKOUT_MANAGEMENT: 'BREAKOUT_MANAGEMENT',
|
|
894
|
+
BROADCAST_MESSAGE_TO_BREAKOUT: 'BROADCAST_MESSAGE_TO_BREAKOUT',
|
|
895
|
+
UCF_SUPPRESS_BREAKOUTS_SUPPORT: 'UCF_SUPPRESS_BREAKOUTS_SUPPORT',
|
|
896
|
+
DISABLE_ASK_FOR_HELP: 'DISABLE_ASK_FOR_HELP',
|
|
897
|
+
DISABLE_BREAKOUT_PREASSIGNMENTS: 'DISABLE_BREAKOUT_PREASSIGNMENTS',
|
|
898
|
+
DISABLE_LOBBY_TO_BREAKOUT: 'DISABLE_LOBBY_TO_BREAKOUT',
|
|
899
|
+
|
|
900
|
+
// participants list
|
|
901
|
+
DISABLE_VIEW_THE_PARTICIPANT_LIST: 'DISABLE_VIEW_THE_PARTICIPANT_LIST',
|
|
902
|
+
ENABLE_VIEW_THE_PARTICIPANT_LIST: 'ENABLE_VIEW_THE_PARTICIPANT_LIST',
|
|
903
|
+
|
|
904
|
+
// raise hand
|
|
905
|
+
DISABLE_RAISE_HAND: 'DISABLE_RAISE_HAND',
|
|
906
|
+
ENABLE_RAISE_HAND: 'ENABLE_RAISE_HAND',
|
|
907
|
+
|
|
908
|
+
// video
|
|
909
|
+
DISABLE_VIDEO: 'DISABLE_VIDEO',
|
|
910
|
+
ENABLE_VIDEO: 'ENABLE_VIDEO',
|
|
911
|
+
|
|
912
|
+
// Sharing
|
|
913
|
+
SHARE_FILE: 'SHARE_FILE',
|
|
914
|
+
SHARE_APPLICATION: 'SHARE_APPLICATION',
|
|
915
|
+
SHARE_CAMERA: 'SHARE_CAMERA',
|
|
916
|
+
SHARE_DESKTOP: 'SHARE_DESKTOP',
|
|
917
|
+
SHARE_CONTENT: 'SHARE_CONTENT',
|
|
918
|
+
SHARE_WHITEBOARD: 'SHARE_WHITEBOARD',
|
|
919
|
+
|
|
920
|
+
// Voip (audio/video)
|
|
921
|
+
VOIP_IS_ENABLED: 'VOIP_IS_ENABLED',
|
|
768
922
|
};
|
|
769
923
|
|
|
924
|
+
export const INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
|
|
925
|
+
|
|
770
926
|
export const SELF_ROLES = {
|
|
771
927
|
COHOST: 'COHOST',
|
|
772
928
|
MODERATOR: 'MODERATOR',
|
|
929
|
+
ATTENDEE: 'ATTENDEE',
|
|
773
930
|
};
|
|
774
931
|
|
|
775
932
|
export const MEETING_STATE = {
|
|
@@ -854,7 +1011,8 @@ export const RESOURCE = {
|
|
|
854
1011
|
};
|
|
855
1012
|
|
|
856
1013
|
export const REACHABILITY = {
|
|
857
|
-
|
|
1014
|
+
localStorageResult: 'reachability.result',
|
|
1015
|
+
localStorageJoinCookie: 'reachability.joinCookie',
|
|
858
1016
|
namespace: 'Reachability',
|
|
859
1017
|
};
|
|
860
1018
|
|
|
@@ -1035,16 +1193,6 @@ export const AVAILABLE_RESOLUTIONS = {
|
|
|
1035
1193
|
},
|
|
1036
1194
|
};
|
|
1037
1195
|
|
|
1038
|
-
export const VIDEO_RESOLUTIONS = {
|
|
1039
|
-
[QUALITY_LEVELS.LOW]: AVAILABLE_RESOLUTIONS['480p'],
|
|
1040
|
-
[QUALITY_LEVELS.MEDIUM]: AVAILABLE_RESOLUTIONS['720p'],
|
|
1041
|
-
[QUALITY_LEVELS.HIGH]: AVAILABLE_RESOLUTIONS['1080p'],
|
|
1042
|
-
[QUALITY_LEVELS['360p']]: AVAILABLE_RESOLUTIONS['360p'],
|
|
1043
|
-
[QUALITY_LEVELS['480p']]: AVAILABLE_RESOLUTIONS['480p'],
|
|
1044
|
-
[QUALITY_LEVELS['720p']]: AVAILABLE_RESOLUTIONS['720p'],
|
|
1045
|
-
[QUALITY_LEVELS['1080p']]: AVAILABLE_RESOLUTIONS['1080p'],
|
|
1046
|
-
};
|
|
1047
|
-
|
|
1048
1196
|
/*
|
|
1049
1197
|
* mqa Interval for sending stats metrics
|
|
1050
1198
|
*/
|
|
@@ -1057,8 +1205,6 @@ export const MEDIA_DEVICES = {
|
|
|
1057
1205
|
CAMERA: 'camera',
|
|
1058
1206
|
};
|
|
1059
1207
|
|
|
1060
|
-
export const METRICS_JOIN_TIMES_MAX_DURATION = 1200000;
|
|
1061
|
-
|
|
1062
1208
|
export const PSTN_STATUS = {
|
|
1063
1209
|
JOINED: 'JOINED', // we have provisioned a pstn device, which can be used to connect
|
|
1064
1210
|
CONNECTED: 'CONNECTED', // user is connected to audio with pstn device
|
|
@@ -1079,6 +1225,7 @@ export const MEETING_INFO_FAILURE_REASON = {
|
|
|
1079
1225
|
NONE: 'NONE', // meeting info was retrieved succesfully
|
|
1080
1226
|
WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided
|
|
1081
1227
|
WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided
|
|
1228
|
+
POLICY: 'POLICY', // meeting info request violates some meeting policy
|
|
1082
1229
|
OTHER: 'OTHER', // any other error (network, etc)
|
|
1083
1230
|
};
|
|
1084
1231
|
|
|
@@ -1093,3 +1240,22 @@ export const EMBEDDED_APP_TYPES = {
|
|
|
1093
1240
|
SLIDO: 'SLIDO',
|
|
1094
1241
|
OTHER: 'OTHER',
|
|
1095
1242
|
};
|
|
1243
|
+
|
|
1244
|
+
export const DEFAULT_MEETING_INFO_REQUEST_BODY = {
|
|
1245
|
+
supportHostKey: true,
|
|
1246
|
+
supportCountryList: true,
|
|
1247
|
+
};
|
|
1248
|
+
|
|
1249
|
+
/** the values for IP_VERSION are fixed and defined in Orpheus API */
|
|
1250
|
+
export const IP_VERSION = {
|
|
1251
|
+
unknown: 0,
|
|
1252
|
+
only_ipv4: 4, // we know we have ipv4, we don't know or we don't have ipv6
|
|
1253
|
+
only_ipv6: 6, // we know we have ipv6, we don't know or we don't have ipv4
|
|
1254
|
+
ipv4_and_ipv6: 1,
|
|
1255
|
+
} as const;
|
|
1256
|
+
|
|
1257
|
+
export type IP_VERSION = (typeof IP_VERSION)[keyof typeof IP_VERSION];
|
|
1258
|
+
|
|
1259
|
+
// constant for if the permissionToken is about to expire in the next 30 seconds, refresh it
|
|
1260
|
+
export const MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = 30;
|
|
1261
|
+
export const MEETING_PERMISSION_TOKEN_REFRESH_REASON = 'ttl-join';
|