@webex/plugin-meetings 3.0.0-beta.26 → 3.0.0-beta.261
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 +841 -19
- 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/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 +196 -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 +381 -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 +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +224 -63
- 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 +60 -121
- 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 +3022 -2795
- 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 +70 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +189 -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 +372 -90
- 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 +88 -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 -5
- 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 +10 -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 +49 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +52 -34
- 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 +161 -57
- 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 +51 -34
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +6 -6
- 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/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 +155 -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 +65 -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 +344 -506
- 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 +86 -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 +9 -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 +16 -12
- package/dist/types/multistream/receiveSlotManager.d.ts +19 -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 +44 -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 +710 -10
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -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 +178 -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 +412 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +231 -39
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +100 -122
- package/src/media/properties.ts +70 -108
- package/src/meeting/in-meeting-actions.ts +163 -3
- package/src/meeting/index.ts +2471 -2306
- 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 +79 -8
- package/src/meeting-info/meeting-info-v2.ts +168 -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 +414 -108
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +103 -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 +107 -6
- 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 +9 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +55 -18
- package/src/multistream/receiveSlotManager.ts +46 -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 +165 -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 +73 -35
- package/src/statsAnalyzer/mqaUtil.ts +8 -10
- package/test/integration/spec/converged-space-meetings.js +233 -0
- 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 +1545 -48
- 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 +1283 -33
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +62 -22
- 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 +4095 -1913
- 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 +293 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +517 -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 +941 -151
- 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 +72 -13
- package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
- 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 +343 -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 +29 -2
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +6 -3
- 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
|
+
};
|
|
@@ -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,11 @@ 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
|
|
366
392
|
};
|
|
367
393
|
|
|
368
394
|
// One one one calls ends for the following reasons
|
|
@@ -377,6 +403,8 @@ export const CALL_REMOVED_REASON = {
|
|
|
377
403
|
export const SHARE_STOPPED_REASON = {
|
|
378
404
|
SELF_STOPPED: 'SELF_STOPPED',
|
|
379
405
|
MEETING_REJOIN: 'MEETING_REJOIN',
|
|
406
|
+
MEDIA_RECONNECTION: 'MEDIA_RECONNECTION',
|
|
407
|
+
TRACK_ENDED: 'TRACK_ENDED',
|
|
380
408
|
};
|
|
381
409
|
|
|
382
410
|
export const EVENTS = {
|
|
@@ -452,6 +480,11 @@ export const ERROR_DICTIONARY = {
|
|
|
452
480
|
MESSAGE: 'Captcha is required.',
|
|
453
481
|
CODE: 8,
|
|
454
482
|
},
|
|
483
|
+
BREAKOUT_EDIT: {
|
|
484
|
+
NAME: 'BreakoutEditLockedError',
|
|
485
|
+
MESSAGE: 'Edit lock token mismatch',
|
|
486
|
+
CODE: 9,
|
|
487
|
+
},
|
|
455
488
|
};
|
|
456
489
|
|
|
457
490
|
export const FLOOR_ACTION = {
|
|
@@ -473,6 +506,7 @@ export const HTTP_VERBS = {
|
|
|
473
506
|
POST: 'POST',
|
|
474
507
|
GET: 'GET',
|
|
475
508
|
PATCH: 'PATCH',
|
|
509
|
+
DELETE: 'DELETE',
|
|
476
510
|
};
|
|
477
511
|
|
|
478
512
|
// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState
|
|
@@ -518,17 +552,28 @@ export const LOCUS = {
|
|
|
518
552
|
SYNCDEBUG: 'sync_debug',
|
|
519
553
|
};
|
|
520
554
|
|
|
555
|
+
export const ANNOTATION = {
|
|
556
|
+
ANNOTATION_ON_SHARE_SUPPORTED: 'ANNOTATION_ON_SHARE_SUPPORTED',
|
|
557
|
+
};
|
|
521
558
|
export const BREAKOUTS = {
|
|
522
559
|
STATUS: {
|
|
523
560
|
CLOSING: 'CLOSING',
|
|
561
|
+
CLOSED: 'CLOSED',
|
|
562
|
+
PENDING: 'PENDING',
|
|
563
|
+
OPEN: 'OPEN',
|
|
524
564
|
},
|
|
525
565
|
EVENTS: {
|
|
526
566
|
BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',
|
|
527
567
|
MESSAGE: 'MESSAGE',
|
|
528
568
|
MEMBERS_UPDATE: 'MEMBERS_UPDATE',
|
|
569
|
+
ASK_RETURN_TO_MAIN: 'ASK_RETURN_TO_MAIN',
|
|
570
|
+
LEAVE_BREAKOUT: 'LEAVE_BREAKOUT',
|
|
571
|
+
ASK_FOR_HELP: 'ASK_FOR_HELP',
|
|
572
|
+
PRE_ASSIGNMENTS_UPDATE: 'PRE_ASSIGNMENTS_UPDATE',
|
|
529
573
|
},
|
|
530
574
|
SESSION_TYPES: {
|
|
531
575
|
MAIN: 'MAIN',
|
|
576
|
+
BREAKOUT: 'BREAKOUT',
|
|
532
577
|
},
|
|
533
578
|
SESSION_STATES: {
|
|
534
579
|
ACTIVE: 'active',
|
|
@@ -538,6 +583,35 @@ export const BREAKOUTS = {
|
|
|
538
583
|
REQUESTED: 'requested',
|
|
539
584
|
},
|
|
540
585
|
BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED',
|
|
586
|
+
ACTION: {
|
|
587
|
+
START: 'START',
|
|
588
|
+
CLOSE: 'CLOSE',
|
|
589
|
+
DELETE: 'DELETE',
|
|
590
|
+
},
|
|
591
|
+
ERROR_CODE: {
|
|
592
|
+
EDIT_LOCK_TOKEN_MISMATCH: 201409024,
|
|
593
|
+
EDIT_NOT_AUTHORIZED: 201403007,
|
|
594
|
+
},
|
|
595
|
+
EDIT_LOCK_STATUS: {
|
|
596
|
+
LOCKED: 'LOCKED',
|
|
597
|
+
NOT_LOCKED: 'NOT_LOCKED',
|
|
598
|
+
UNKNOWN: 'UNKNOWN',
|
|
599
|
+
},
|
|
600
|
+
DEFAULT_TTL: 30,
|
|
601
|
+
};
|
|
602
|
+
|
|
603
|
+
export const INTERPRETATION = {
|
|
604
|
+
EVENTS: {
|
|
605
|
+
SUPPORT_LANGUAGES_UPDATE: 'SUPPORT_LANGUAGES_UPDATE',
|
|
606
|
+
HANDOFF_REQUESTS_ARRIVED: 'HANDOFF_REQUESTS_ARRIVED',
|
|
607
|
+
},
|
|
608
|
+
ACTION_TYPE: {
|
|
609
|
+
OFFERED: 'OFFERED',
|
|
610
|
+
ACCEPTED: 'ACCEPTED',
|
|
611
|
+
REQUESTED: 'REQUESTED',
|
|
612
|
+
DECLINED: 'DECLINED',
|
|
613
|
+
},
|
|
614
|
+
RESOURCE_TYPE: 'SiHandover',
|
|
541
615
|
};
|
|
542
616
|
|
|
543
617
|
export const LOCUSINFO = {
|
|
@@ -547,13 +621,24 @@ export const LOCUSINFO = {
|
|
|
547
621
|
CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
|
|
548
622
|
CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',
|
|
549
623
|
CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
|
|
624
|
+
CONTROLS_MEETING_INTERPRETATION_UPDATED: 'CONTROLS_MEETING_INTERPRETATION_UPDATED',
|
|
550
625
|
CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',
|
|
626
|
+
CONTROLS_JOIN_BREAKOUT_FROM_MAIN: 'CONTROLS_JOIN_BREAKOUT_FROM_MAIN',
|
|
627
|
+
CONTROLS_MUTE_ON_ENTRY_CHANGED: 'CONTROLS_MUTE_ON_ENTRY_CHANGED',
|
|
628
|
+
CONTROLS_SHARE_CONTROL_CHANGED: 'CONTROLS_SHARE_CONTROL_CHANGED',
|
|
629
|
+
CONTROLS_DISALLOW_UNMUTE_CHANGED: 'CONTROLS_DISALLOW_UNMUTE_CHANGED',
|
|
630
|
+
CONTROLS_REACTIONS_CHANGED: 'CONTROLS_REACTIONS_CHANGED',
|
|
631
|
+
CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED: 'CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED',
|
|
632
|
+
CONTROLS_RAISE_HAND_CHANGED: 'CONTROLS_RAISE_HAND_CHANGED',
|
|
633
|
+
CONTROLS_VIDEO_CHANGED: 'CONTROLS_VIDEO_CHANGED',
|
|
551
634
|
SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
|
|
552
635
|
SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
|
|
636
|
+
SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',
|
|
553
637
|
SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',
|
|
554
638
|
LOCAL_UNMUTE_REQUESTED: 'LOCAL_UNMUTE_REQUESTED',
|
|
555
639
|
LOCAL_UNMUTE_REQUIRED: 'LOCAL_UNMUTE_REQUIRED',
|
|
556
640
|
SELF_MODERATOR_CHANGED: 'SELF_MODERATOR_CHANGED',
|
|
641
|
+
SELF_ROLES_CHANGED: 'SELF_ROLES_CHANGED',
|
|
557
642
|
MEETING_UPDATE: 'MEETING_UPDATE',
|
|
558
643
|
MEDIA_STATUS_CHANGE: 'MEDIA_STATUS_CHANGE',
|
|
559
644
|
FULL_STATE_TYPE_UPDATE: 'FULL_STATE_TYPE_UPDATE',
|
|
@@ -568,6 +653,7 @@ export const LOCUSINFO = {
|
|
|
568
653
|
SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',
|
|
569
654
|
SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
|
|
570
655
|
SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',
|
|
656
|
+
SELF_MEETING_INTERPRETATION_CHANGED: 'SELF_MEETING_INTERPRETATION_CHANGED',
|
|
571
657
|
MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
|
|
572
658
|
LINKS_SERVICES: 'LINKS_SERVICES',
|
|
573
659
|
},
|
|
@@ -732,6 +818,28 @@ export const MEETING_END_REASON = {
|
|
|
732
818
|
MEDIA_RELEASED: 'MEDIA_RELEASED',
|
|
733
819
|
};
|
|
734
820
|
|
|
821
|
+
export enum SELF_POLICY {
|
|
822
|
+
ENFORCE_VIRTUAL_BACKGROUND = 'enforceVirtualBackground',
|
|
823
|
+
SUPPORT_LOCAL_RECORD = 'supportLocalRecord',
|
|
824
|
+
SUPPORT_NETWORK_BASED_RECORD = 'supportNetworkBasedRecord',
|
|
825
|
+
SUPPORT_REALTIME_CLOSE_CAPTION = 'supportRealtimeCloseCaption',
|
|
826
|
+
SUPPORT_CHAT = 'supportChat',
|
|
827
|
+
SUPPORT_DESKTOP_SHARE_REMOTE = 'supportDesktopShareRemote',
|
|
828
|
+
SUPPORT_DESKTOP_SHARE = 'supportDesktopShare',
|
|
829
|
+
SUPPORT_WHITEBOARD = 'supportWhiteboard',
|
|
830
|
+
SUPPORT_FILE_TRANSFER = 'supportFileTransfer',
|
|
831
|
+
SUPPORT_APP_SHARE = 'supportAppShare',
|
|
832
|
+
SUPPORT_CAMERA_SHARE = 'supportCameraShare',
|
|
833
|
+
SUPPORT_FILE_SHARE = 'supportFileShare',
|
|
834
|
+
SUPPORT_ANNOTATION = 'supportAnnotation',
|
|
835
|
+
SUPPORT_BROADCAST_MESSAGE = 'supportBroadcastMessage',
|
|
836
|
+
SUPPORT_VIDEO = 'supportVideo',
|
|
837
|
+
SUPPORT_HQV = 'supportHQV',
|
|
838
|
+
SUPPORT_HDV = 'supportHDV',
|
|
839
|
+
SUPPORT_PARTICIPANT_LIST = 'supportParticipantList',
|
|
840
|
+
SUPPORT_VOIP = 'supportVoIP',
|
|
841
|
+
}
|
|
842
|
+
|
|
735
843
|
export const DISPLAY_HINTS = {
|
|
736
844
|
ADD_GUEST: 'ADD_GUEST',
|
|
737
845
|
ROSTER_WAITING_TO_JOIN: 'ROSTER_WAITING_TO_JOIN',
|
|
@@ -755,21 +863,64 @@ export const DISPLAY_HINTS = {
|
|
|
755
863
|
DISPLAY_NON_ENGLISH_ASR: 'DISPLAY_NON_ENGLISH_ASR',
|
|
756
864
|
TRANSCRIPTION_CONTROL_START: 'TRANSCRIPTION_CONTROL_START',
|
|
757
865
|
TRANSCRIPTION_CONTROL_STOP: 'TRANSCRIPTION_CONTROL_STOP',
|
|
866
|
+
SAVE_TRANSCRIPTS_ENABLED: 'SAVE_TRANSCRIPTS_ENABLED',
|
|
758
867
|
WEBEX_ASSISTANT_STATUS_ACTIVE: 'WEBEX_ASSISTANT_STATUS_ACTIVE',
|
|
759
868
|
WAITING_FOR_OTHERS: 'WAITING_FOR_OTHERS',
|
|
760
869
|
ENABLE_REACTIONS: 'ENABLE_REACTIONS',
|
|
761
870
|
DISABLE_REACTIONS: 'DISABLE_REACTIONS',
|
|
762
871
|
REACTIONS_ACTIVE: 'REACTIONS_ACTIVE',
|
|
763
872
|
REACTIONS_INACTIVE: 'REACTIONS_INACTIVE',
|
|
873
|
+
SHARE_CONTROL: 'SHARE_CONTROL',
|
|
764
874
|
ENABLE_MUTE_ON_ENTRY: 'ENABLE_MUTE_ON_ENTRY',
|
|
875
|
+
ENABLE_SHOW_DISPLAY_NAME: 'ENABLE_SHOW_DISPLAY_NAME',
|
|
876
|
+
DISABLE_SHOW_DISPLAY_NAME: 'DISABLE_SHOW_DISPLAY_NAME',
|
|
765
877
|
DISABLE_MUTE_ON_ENTRY: 'DISABLE_MUTE_ON_ENTRY',
|
|
766
878
|
ENABLE_HARD_MUTE: 'ENABLE_HARD_MUTE',
|
|
767
879
|
DISABLE_HARD_MUTE: 'DISABLE_HARD_MUTE',
|
|
880
|
+
MUTE_ALL: 'MUTE_ALL',
|
|
881
|
+
UNMUTE_ALL: 'UNMUTE_ALL',
|
|
882
|
+
PRESENTER_CONTROL: 'PRESENTER_CONTROL',
|
|
883
|
+
CAN_RENAME_SELF_AND_OBSERVED: 'CAN_RENAME_SELF_AND_OBSERVED',
|
|
884
|
+
CAN_RENAME_OTHERS: 'CAN_RENAME_OTHERS',
|
|
885
|
+
|
|
886
|
+
// breakout session
|
|
887
|
+
BREAKOUT_MANAGEMENT: 'BREAKOUT_MANAGEMENT',
|
|
888
|
+
BROADCAST_MESSAGE_TO_BREAKOUT: 'BROADCAST_MESSAGE_TO_BREAKOUT',
|
|
889
|
+
UCF_SUPPRESS_BREAKOUTS_SUPPORT: 'UCF_SUPPRESS_BREAKOUTS_SUPPORT',
|
|
890
|
+
DISABLE_ASK_FOR_HELP: 'DISABLE_ASK_FOR_HELP',
|
|
891
|
+
DISABLE_BREAKOUT_PREASSIGNMENTS: 'DISABLE_BREAKOUT_PREASSIGNMENTS',
|
|
892
|
+
DISABLE_LOBBY_TO_BREAKOUT: 'DISABLE_LOBBY_TO_BREAKOUT',
|
|
893
|
+
|
|
894
|
+
// participants list
|
|
895
|
+
DISABLE_VIEW_THE_PARTICIPANT_LIST: 'DISABLE_VIEW_THE_PARTICIPANT_LIST',
|
|
896
|
+
ENABLE_VIEW_THE_PARTICIPANT_LIST: 'ENABLE_VIEW_THE_PARTICIPANT_LIST',
|
|
897
|
+
|
|
898
|
+
// raise hand
|
|
899
|
+
DISABLE_RAISE_HAND: 'DISABLE_RAISE_HAND',
|
|
900
|
+
ENABLE_RAISE_HAND: 'ENABLE_RAISE_HAND',
|
|
901
|
+
|
|
902
|
+
// video
|
|
903
|
+
DISABLE_VIDEO: 'DISABLE_VIDEO',
|
|
904
|
+
ENABLE_VIDEO: 'ENABLE_VIDEO',
|
|
905
|
+
|
|
906
|
+
// Sharing
|
|
907
|
+
SHARE_FILE: 'SHARE_FILE',
|
|
908
|
+
SHARE_APPLICATION: 'SHARE_APPLICATION',
|
|
909
|
+
SHARE_CAMERA: 'SHARE_CAMERA',
|
|
910
|
+
SHARE_DESKTOP: 'SHARE_DESKTOP',
|
|
911
|
+
SHARE_CONTENT: 'SHARE_CONTENT',
|
|
912
|
+
SHARE_WHITEBOARD: 'SHARE_WHITEBOARD',
|
|
913
|
+
|
|
914
|
+
// Voip (audio/video)
|
|
915
|
+
VOIP_IS_ENABLED: 'VOIP_IS_ENABLED',
|
|
768
916
|
};
|
|
769
917
|
|
|
918
|
+
export const INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
|
|
919
|
+
|
|
770
920
|
export const SELF_ROLES = {
|
|
771
921
|
COHOST: 'COHOST',
|
|
772
922
|
MODERATOR: 'MODERATOR',
|
|
923
|
+
ATTENDEE: 'ATTENDEE',
|
|
773
924
|
};
|
|
774
925
|
|
|
775
926
|
export const MEETING_STATE = {
|
|
@@ -854,7 +1005,8 @@ export const RESOURCE = {
|
|
|
854
1005
|
};
|
|
855
1006
|
|
|
856
1007
|
export const REACHABILITY = {
|
|
857
|
-
|
|
1008
|
+
localStorageResult: 'reachability.result',
|
|
1009
|
+
localStorageJoinCookie: 'reachability.joinCookie',
|
|
858
1010
|
namespace: 'Reachability',
|
|
859
1011
|
};
|
|
860
1012
|
|
|
@@ -1035,16 +1187,6 @@ export const AVAILABLE_RESOLUTIONS = {
|
|
|
1035
1187
|
},
|
|
1036
1188
|
};
|
|
1037
1189
|
|
|
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
1190
|
/*
|
|
1049
1191
|
* mqa Interval for sending stats metrics
|
|
1050
1192
|
*/
|
|
@@ -1057,8 +1199,6 @@ export const MEDIA_DEVICES = {
|
|
|
1057
1199
|
CAMERA: 'camera',
|
|
1058
1200
|
};
|
|
1059
1201
|
|
|
1060
|
-
export const METRICS_JOIN_TIMES_MAX_DURATION = 1200000;
|
|
1061
|
-
|
|
1062
1202
|
export const PSTN_STATUS = {
|
|
1063
1203
|
JOINED: 'JOINED', // we have provisioned a pstn device, which can be used to connect
|
|
1064
1204
|
CONNECTED: 'CONNECTED', // user is connected to audio with pstn device
|
|
@@ -1079,6 +1219,7 @@ export const MEETING_INFO_FAILURE_REASON = {
|
|
|
1079
1219
|
NONE: 'NONE', // meeting info was retrieved succesfully
|
|
1080
1220
|
WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided
|
|
1081
1221
|
WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided
|
|
1222
|
+
POLICY: 'POLICY', // meeting info request violates some meeting policy
|
|
1082
1223
|
OTHER: 'OTHER', // any other error (network, etc)
|
|
1083
1224
|
};
|
|
1084
1225
|
|
|
@@ -1093,3 +1234,22 @@ export const EMBEDDED_APP_TYPES = {
|
|
|
1093
1234
|
SLIDO: 'SLIDO',
|
|
1094
1235
|
OTHER: 'OTHER',
|
|
1095
1236
|
};
|
|
1237
|
+
|
|
1238
|
+
export const DEFAULT_MEETING_INFO_REQUEST_BODY = {
|
|
1239
|
+
supportHostKey: true,
|
|
1240
|
+
supportCountryList: true,
|
|
1241
|
+
};
|
|
1242
|
+
|
|
1243
|
+
/** the values for IP_VERSION are fixed and defined in Orpheus API */
|
|
1244
|
+
export const IP_VERSION = {
|
|
1245
|
+
unknown: 0,
|
|
1246
|
+
only_ipv4: 4, // we know we have ipv4, we don't know or we don't have ipv6
|
|
1247
|
+
only_ipv6: 6, // we know we have ipv6, we don't know or we don't have ipv4
|
|
1248
|
+
ipv4_and_ipv6: 1,
|
|
1249
|
+
} as const;
|
|
1250
|
+
|
|
1251
|
+
export type IP_VERSION = (typeof IP_VERSION)[keyof typeof IP_VERSION];
|
|
1252
|
+
|
|
1253
|
+
// constant for if the permissionToken is about to expire in the next 30 seconds, refresh it
|
|
1254
|
+
export const MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = 30;
|
|
1255
|
+
export const MEETING_PERMISSION_TOKEN_REFRESH_REASON = 'ttl-join';
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
enum Setting {
|
|
2
2
|
disallowUnmute = 'DisallowUnmute',
|
|
3
3
|
muteOnEntry = 'MuteOnEntry',
|
|
4
|
+
muted = 'Muted',
|
|
4
5
|
}
|
|
5
6
|
|
|
7
|
+
enum Control {
|
|
8
|
+
audio = 'audio',
|
|
9
|
+
raiseHand = 'raiseHand',
|
|
10
|
+
reactions = 'reactions',
|
|
11
|
+
shareControl = 'shareControl',
|
|
12
|
+
video = 'video',
|
|
13
|
+
viewTheParticipantList = 'viewTheParticipantList',
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export {Control, Setting};
|
|
17
|
+
|
|
6
18
|
export default Setting;
|