@webex/plugin-meetings 3.0.0-beta.17 → 3.0.0-beta.19
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/dist/breakouts/breakout.js +116 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/index.js +226 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +38 -5
- package/dist/constants.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +2 -1
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +48 -0
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/parser.js +1 -0
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +19 -11
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +3 -3
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +4 -4
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/index.js +719 -490
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +25 -44
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +4 -57
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +2 -0
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meetings/index.js +28 -18
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +14 -12
- package/dist/meetings/request.js.map +1 -1
- package/dist/member/index.js +9 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +14 -1
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +8 -6
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +3 -1
- package/dist/members/request.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +46 -6
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/multistreamMedia.js +4 -0
- package/dist/multistream/multistreamMedia.js.map +1 -1
- package/dist/multistream/receiveSlot.js +3 -3
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +8 -6
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +168 -63
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/reachability/index.js +63 -51
- package/dist/reachability/index.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +25 -12
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.js +343 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.js +63 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/request.js +88 -68
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +72 -47
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/index.js +3 -3
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +18 -6
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/package.json +24 -19
- package/src/breakouts/README.md +190 -0
- package/src/breakouts/breakout.ts +110 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/index.ts +225 -0
- package/src/config.ts +4 -1
- package/src/constants.ts +35 -1
- package/src/locus-info/controlsUtils.ts +2 -0
- package/src/locus-info/index.ts +59 -1
- package/src/locus-info/parser.ts +1 -0
- package/src/locus-info/selfUtils.ts +8 -0
- package/src/media/index.ts +1 -2
- package/src/media/properties.ts +6 -9
- package/src/meeting/index.ts +398 -129
- package/src/meeting/request.ts +9 -31
- package/src/meeting/request.type.ts +2 -0
- package/src/meeting/util.ts +3 -60
- package/src/meeting-info/meeting-info-v2.ts +2 -0
- package/src/meetings/index.ts +10 -5
- package/src/meetings/request.ts +1 -1
- package/src/member/index.ts +9 -0
- package/src/member/util.ts +14 -1
- package/src/members/index.ts +1 -0
- package/src/members/request.ts +1 -0
- package/src/multistream/mediaRequestManager.ts +79 -15
- package/src/multistream/multistreamMedia.ts +4 -0
- package/src/multistream/receiveSlot.ts +17 -12
- package/src/multistream/receiveSlotManager.ts +22 -21
- package/src/multistream/remoteMedia.ts +1 -1
- package/src/multistream/remoteMediaGroup.ts +2 -2
- package/src/multistream/remoteMediaManager.ts +150 -37
- package/src/reachability/index.ts +16 -13
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.type.ts +25 -0
- package/src/reconnection-manager/index.ts +18 -9
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +315 -0
- package/src/recording-controller/util.ts +58 -0
- package/src/roap/request.ts +78 -73
- package/src/roap/turnDiscovery.ts +8 -6
- package/src/statsAnalyzer/index.ts +4 -4
- package/src/statsAnalyzer/mqaUtil.ts +6 -0
- package/test/unit/spec/breakouts/breakout.ts +119 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/index.ts +293 -0
- package/test/unit/spec/locus-info/controlsUtils.js +20 -0
- package/test/unit/spec/locus-info/index.js +103 -0
- package/test/unit/spec/locus-info/selfConstant.js +25 -0
- package/test/unit/spec/locus-info/selfUtils.js +84 -0
- package/test/unit/spec/media/index.ts +1 -1
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/effectsState.js +5 -1
- package/test/unit/spec/meeting/index.js +419 -50
- package/test/unit/spec/meeting/request.js +17 -0
- package/test/unit/spec/meeting/utils.js +20 -129
- package/test/unit/spec/meetings/index.js +1 -0
- package/test/unit/spec/member/util.js +26 -1
- package/test/unit/spec/multistream/mediaRequestManager.ts +312 -50
- package/test/unit/spec/multistream/receiveSlot.ts +6 -6
- package/test/unit/spec/multistream/receiveSlotManager.ts +13 -13
- package/test/unit/spec/multistream/remoteMedia.ts +2 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +354 -65
- package/test/unit/spec/reachability/index.ts +58 -24
- package/test/unit/spec/reconnection-manager/index.js +42 -13
- package/test/unit/spec/recording-controller/index.js +231 -0
- package/test/unit/spec/recording-controller/util.js +102 -0
- package/test/unit/spec/roap/index.ts +2 -1
- package/test/unit/spec/roap/request.ts +114 -0
- package/test/unit/spec/roap/turnDiscovery.ts +45 -29
- package/test/unit/spec/stats-analyzer/index.js +2 -2
- package/test/utils/webex-test-users.js +1 -0
- package/tsconfig.json +6 -0
- package/dist/media/internal-media-core-wrapper.js +0 -18
- package/dist/media/internal-media-core-wrapper.js.map +0 -1
- package/src/media/internal-media-core-wrapper.ts +0 -9
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _webexCore = require("@webex/webex-core");
|
|
10
|
+
var _constants = require("../constants");
|
|
11
|
+
var _members = _interopRequireDefault(require("../members"));
|
|
12
|
+
/*!
|
|
13
|
+
* Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @class
|
|
18
|
+
*/
|
|
19
|
+
var Breakout = _webexCore.WebexPlugin.extend({
|
|
20
|
+
idAttribute: 'sessionId',
|
|
21
|
+
namespace: _constants.MEETINGS,
|
|
22
|
+
props: {
|
|
23
|
+
active: ['boolean', false, false],
|
|
24
|
+
// this session is active
|
|
25
|
+
allowed: ['boolean', false, false],
|
|
26
|
+
// allowed to join this session
|
|
27
|
+
assigned: ['boolean', false, false],
|
|
28
|
+
// assigned to this session, but not necessarily joined yet
|
|
29
|
+
assignedCurrent: ['boolean', false, false],
|
|
30
|
+
// assigned AND current session
|
|
31
|
+
requested: ['boolean', false, false],
|
|
32
|
+
// requested by the host to join this session
|
|
33
|
+
current: ['boolean', false, false],
|
|
34
|
+
// the current joined session
|
|
35
|
+
name: 'string',
|
|
36
|
+
sessionId: 'string',
|
|
37
|
+
sessionType: 'string',
|
|
38
|
+
groupId: 'string',
|
|
39
|
+
url: 'string' // where to send requests to
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
derived: {
|
|
43
|
+
isMain: {
|
|
44
|
+
deps: ['sessionType'],
|
|
45
|
+
/**
|
|
46
|
+
* If the breakout has no name, assume it is the main session
|
|
47
|
+
* @returns {boolean}
|
|
48
|
+
*/
|
|
49
|
+
fn: function fn() {
|
|
50
|
+
return this.sessionType === 'MAIN';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
initialize: function initialize() {
|
|
55
|
+
this.members = new _members.default({}, {
|
|
56
|
+
parent: this.webex
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
/**
|
|
60
|
+
* Joins the breakout session
|
|
61
|
+
* @returns {Promise}
|
|
62
|
+
*/
|
|
63
|
+
join: function join() {
|
|
64
|
+
return this.request({
|
|
65
|
+
method: _constants.HTTP_VERBS.POST,
|
|
66
|
+
uri: "".concat(this.url, "/move"),
|
|
67
|
+
body: {
|
|
68
|
+
groupId: this.groupId,
|
|
69
|
+
sessionId: this.sessionId
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
},
|
|
73
|
+
/**
|
|
74
|
+
* Leaves the breakout session to return to the main session
|
|
75
|
+
* @returns {Promise}
|
|
76
|
+
* @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found
|
|
77
|
+
*/
|
|
78
|
+
leave: function leave() {
|
|
79
|
+
if (this.isMain) {
|
|
80
|
+
throw new Error('Cannot leave the main session');
|
|
81
|
+
}
|
|
82
|
+
var mainSession = this.parent.breakouts.filter(function (breakout) {
|
|
83
|
+
return breakout.isMain;
|
|
84
|
+
})[0];
|
|
85
|
+
if (!mainSession) {
|
|
86
|
+
throw new Error('Cannot leave, no main session found');
|
|
87
|
+
}
|
|
88
|
+
return mainSession.join();
|
|
89
|
+
},
|
|
90
|
+
/**
|
|
91
|
+
* Sends a help request for the current breakout
|
|
92
|
+
* @returns {Promise}
|
|
93
|
+
*/
|
|
94
|
+
askForHelp: function askForHelp() {
|
|
95
|
+
return this.request({
|
|
96
|
+
method: _constants.HTTP_VERBS.POST,
|
|
97
|
+
uri: "".concat(this.url, "/help"),
|
|
98
|
+
body: {
|
|
99
|
+
groupId: this.groupId,
|
|
100
|
+
sessionId: this.sessionId
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
},
|
|
104
|
+
/**
|
|
105
|
+
* Parses the participants from the locus object
|
|
106
|
+
* @param locus Locus object
|
|
107
|
+
* @returns {void}
|
|
108
|
+
*/
|
|
109
|
+
parseRoster: function parseRoster(locus) {
|
|
110
|
+
this.members.locusParticipantsUpdate(locus);
|
|
111
|
+
},
|
|
112
|
+
version: "3.0.0-beta.19"
|
|
113
|
+
});
|
|
114
|
+
var _default = Breakout;
|
|
115
|
+
exports.default = _default;
|
|
116
|
+
//# sourceMappingURL=breakout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","derived","isMain","deps","fn","initialize","members","Members","parent","webex","join","request","method","HTTP_VERBS","POST","uri","body","leave","Error","mainSession","breakouts","filter","breakout","askForHelp","parseRoster","locus","locusParticipantsUpdate"],"sources":["breakout.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport {HTTP_VERBS, MEETINGS} from '../constants';\nimport LocusInfo from '../locus-info';\nimport Members from '../members';\n\n/**\n * @class\n */\nconst Breakout = WebexPlugin.extend({\n idAttribute: 'sessionId',\n\n namespace: MEETINGS,\n\n props: {\n active: ['boolean', false, false], // this session is active\n allowed: ['boolean', false, false], // allowed to join this session\n assigned: ['boolean', false, false], // assigned to this session, but not necessarily joined yet\n assignedCurrent: ['boolean', false, false], // assigned AND current session\n requested: ['boolean', false, false], // requested by the host to join this session\n current: ['boolean', false, false], // the current joined session\n name: 'string',\n sessionId: 'string',\n sessionType: 'string',\n groupId: 'string',\n url: 'string', // where to send requests to\n },\n\n derived: {\n isMain: {\n deps: ['sessionType'],\n /**\n * If the breakout has no name, assume it is the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === 'MAIN';\n },\n },\n },\n\n initialize() {\n this.members = new Members({}, {parent: this.webex});\n },\n\n /**\n * Joins the breakout session\n * @returns {Promise}\n */\n join() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/move`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * Leaves the breakout session to return to the main session\n * @returns {Promise}\n * @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found\n */\n leave() {\n if (this.isMain) {\n throw new Error('Cannot leave the main session');\n }\n\n const mainSession = this.parent.breakouts.filter((breakout) => breakout.isMain)[0];\n\n if (!mainSession) {\n throw new Error('Cannot leave, no main session found');\n }\n\n return mainSession.join();\n },\n\n /**\n * Sends a help request for the current breakout\n * @returns {Promise}\n */\n askForHelp() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/help`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * Parses the participants from the locus object\n * @param locus Locus object\n * @returns {void}\n */\n\n parseRoster(locus) {\n this.members.locusParticipantsUpdate(locus);\n },\n});\n\nexport default Breakout;\n"],"mappings":";;;;;;;;AAIA;AAEA;AAEA;AARA;AACA;AACA;;AAQA;AACA;AACA;AACA,IAAMA,QAAQ,GAAGC,sBAAW,CAACC,MAAM,CAAC;EAClCC,WAAW,EAAE,WAAW;EAExBC,SAAS,EAAEC,mBAAQ;EAEnBC,KAAK,EAAE;IACLC,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IACnCC,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IACpCC,QAAQ,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IACrCC,eAAe,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IAC5CC,SAAS,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IACtCC,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE;IACpCC,IAAI,EAAE,QAAQ;IACdC,SAAS,EAAE,QAAQ;IACnBC,WAAW,EAAE,QAAQ;IACrBC,OAAO,EAAE,QAAQ;IACjBC,GAAG,EAAE,QAAQ,CAAE;EACjB,CAAC;;EAEDC,OAAO,EAAE;IACPC,MAAM,EAAE;MACNC,IAAI,EAAE,CAAC,aAAa,CAAC;MACrB;AACN;AACA;AACA;MACMC,EAAE,gBAAG;QACH,OAAO,IAAI,CAACN,WAAW,KAAK,MAAM;MACpC;IACF;EACF,CAAC;EAEDO,UAAU,wBAAG;IACX,IAAI,CAACC,OAAO,GAAG,IAAIC,gBAAO,CAAC,CAAC,CAAC,EAAE;MAACC,MAAM,EAAE,IAAI,CAACC;IAAK,CAAC,CAAC;EACtD,CAAC;EAED;AACF;AACA;AACA;EACEC,IAAI,kBAAG;IACL,OAAO,IAAI,CAACC,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;MACvBC,GAAG,YAAK,IAAI,CAACf,GAAG,UAAO;MACvBgB,IAAI,EAAE;QACJjB,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBF,SAAS,EAAE,IAAI,CAACA;MAClB;IACF,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EACEoB,KAAK,mBAAG;IACN,IAAI,IAAI,CAACf,MAAM,EAAE;MACf,MAAM,IAAIgB,KAAK,CAAC,+BAA+B,CAAC;IAClD;IAEA,IAAMC,WAAW,GAAG,IAAI,CAACX,MAAM,CAACY,SAAS,CAACC,MAAM,CAAC,UAACC,QAAQ;MAAA,OAAKA,QAAQ,CAACpB,MAAM;IAAA,EAAC,CAAC,CAAC,CAAC;IAElF,IAAI,CAACiB,WAAW,EAAE;MAChB,MAAM,IAAID,KAAK,CAAC,qCAAqC,CAAC;IACxD;IAEA,OAAOC,WAAW,CAACT,IAAI,EAAE;EAC3B,CAAC;EAED;AACF;AACA;AACA;EACEa,UAAU,wBAAG;IACX,OAAO,IAAI,CAACZ,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;MACvBC,GAAG,YAAK,IAAI,CAACf,GAAG,UAAO;MACvBgB,IAAI,EAAE;QACJjB,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBF,SAAS,EAAE,IAAI,CAACA;MAClB;IACF,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EAEE2B,WAAW,uBAACC,KAAK,EAAE;IACjB,IAAI,CAACnB,OAAO,CAACoB,uBAAuB,CAACD,KAAK,CAAC;EAC7C,CAAC;EAAA;AACH,CAAC,CAAC;AAAC,eAEY1C,QAAQ;AAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _ampersandCollection = _interopRequireDefault(require("ampersand-collection"));
|
|
10
|
+
var _constants = require("../constants");
|
|
11
|
+
var _breakout = _interopRequireDefault(require("./breakout"));
|
|
12
|
+
/*!
|
|
13
|
+
* Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
var BreakoutCollection = _ampersandCollection.default.extend({
|
|
17
|
+
model: _breakout.default,
|
|
18
|
+
namespace: _constants.MEETINGS,
|
|
19
|
+
mainIndex: 'sessionId'
|
|
20
|
+
});
|
|
21
|
+
var _default = BreakoutCollection;
|
|
22
|
+
exports.default = _default;
|
|
23
|
+
//# sourceMappingURL=collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BreakoutCollection","AmpCollection","extend","model","Breakout","namespace","MEETINGS","mainIndex"],"sources":["collection.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport AmpCollection from 'ampersand-collection';\n\nimport {MEETINGS} from '../constants';\n\nimport Breakout from './breakout';\n\nconst BreakoutCollection = AmpCollection.extend({\n model: Breakout,\n\n namespace: MEETINGS,\n\n mainIndex: 'sessionId',\n});\n\nexport default BreakoutCollection;\n"],"mappings":";;;;;;;;AAIA;AAEA;AAEA;AARA;AACA;AACA;;AAQA,IAAMA,kBAAkB,GAAGC,4BAAa,CAACC,MAAM,CAAC;EAC9CC,KAAK,EAAEC,iBAAQ;EAEfC,SAAS,EAAEC,mBAAQ;EAEnBC,SAAS,EAAE;AACb,CAAC,CAAC;AAAC,eAEYP,kBAAkB;AAAA"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
11
|
+
var _forEach2 = _interopRequireDefault(require("lodash/forEach"));
|
|
12
|
+
var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
|
|
13
|
+
var _webexCore = require("@webex/webex-core");
|
|
14
|
+
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
15
|
+
var _constants = require("../constants");
|
|
16
|
+
var _breakout = _interopRequireDefault(require("./breakout"));
|
|
17
|
+
var _collection = _interopRequireDefault(require("./collection"));
|
|
18
|
+
/*!
|
|
19
|
+
* Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @class Breakouts
|
|
24
|
+
*/
|
|
25
|
+
var Breakouts = _webexCore.WebexPlugin.extend({
|
|
26
|
+
namespace: _constants.MEETINGS,
|
|
27
|
+
collections: {
|
|
28
|
+
breakouts: _collection.default
|
|
29
|
+
},
|
|
30
|
+
props: {
|
|
31
|
+
allowBackToMain: 'boolean',
|
|
32
|
+
// only present when in a breakout session
|
|
33
|
+
delayCloseTime: 'number',
|
|
34
|
+
// appears once breakouts start
|
|
35
|
+
enableBreakoutSession: 'boolean',
|
|
36
|
+
// appears from the moment you enable breakouts
|
|
37
|
+
groupId: 'string',
|
|
38
|
+
// appears from the moment you enable breakouts
|
|
39
|
+
name: 'string',
|
|
40
|
+
// only present when in a breakout session
|
|
41
|
+
sessionId: 'string',
|
|
42
|
+
// appears from the moment you enable breakouts
|
|
43
|
+
sessionType: 'string',
|
|
44
|
+
// appears from the moment you enable breakouts
|
|
45
|
+
startTime: 'string',
|
|
46
|
+
// appears once breakouts start
|
|
47
|
+
status: 'string',
|
|
48
|
+
// only present when in a breakout session
|
|
49
|
+
url: 'string',
|
|
50
|
+
// appears from the moment you enable breakouts
|
|
51
|
+
locusUrl: 'string' // the current locus url
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
children: {
|
|
55
|
+
currentBreakoutSession: _breakout.default
|
|
56
|
+
},
|
|
57
|
+
derived: {
|
|
58
|
+
isInMainSession: {
|
|
59
|
+
deps: ['sessionType'],
|
|
60
|
+
/**
|
|
61
|
+
* Returns true if the user is in the main session
|
|
62
|
+
* @returns {boolean}
|
|
63
|
+
*/
|
|
64
|
+
fn: function fn() {
|
|
65
|
+
return this.sessionType === _constants.BREAKOUTS.SESSION_TYPES.MAIN;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
/**
|
|
70
|
+
* initialize for the breakouts
|
|
71
|
+
* @returns {void}
|
|
72
|
+
*/
|
|
73
|
+
initialize: function initialize() {
|
|
74
|
+
var _this = this;
|
|
75
|
+
this.listenTo(this, 'change:status', function () {
|
|
76
|
+
if (_this.status === _constants.BREAKOUTS.STATUS.CLOSING) {
|
|
77
|
+
_this.trigger(_constants.BREAKOUTS.EVENTS.BREAKOUTS_CLOSING);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
this.debouncedQueryRosters = (0, _debounce2.default)(this.queryRosters, 10, {
|
|
81
|
+
leading: true,
|
|
82
|
+
trailing: false
|
|
83
|
+
});
|
|
84
|
+
this.listenTo(this.breakouts, 'add', function () {
|
|
85
|
+
_this.debouncedQueryRosters();
|
|
86
|
+
});
|
|
87
|
+
this.listenToBroadcastMessages();
|
|
88
|
+
this.listenToBreakoutRosters();
|
|
89
|
+
},
|
|
90
|
+
/**
|
|
91
|
+
* Calls this to clean up listeners
|
|
92
|
+
* @returns {void}
|
|
93
|
+
*/
|
|
94
|
+
cleanUp: function cleanUp() {
|
|
95
|
+
this.stopListening();
|
|
96
|
+
},
|
|
97
|
+
/**
|
|
98
|
+
* Update the current locus url of the meeting
|
|
99
|
+
* @param {string} locusUrl // locus url
|
|
100
|
+
* @returns {void}
|
|
101
|
+
*/
|
|
102
|
+
locusUrlUpdate: function locusUrlUpdate(locusUrl) {
|
|
103
|
+
this.set('locusUrl', locusUrl);
|
|
104
|
+
},
|
|
105
|
+
/**
|
|
106
|
+
* The initial roster lists need to be queried because you don't
|
|
107
|
+
* get a breakout.roster event when you join the meeting
|
|
108
|
+
* @returns {void}
|
|
109
|
+
*/
|
|
110
|
+
queryRosters: function queryRosters() {
|
|
111
|
+
var _this2 = this;
|
|
112
|
+
this.webex.request({
|
|
113
|
+
uri: "".concat(this.url, "/roster"),
|
|
114
|
+
qs: {
|
|
115
|
+
locusUrl: btoa(this.locusUrl)
|
|
116
|
+
}
|
|
117
|
+
}).then(function (result) {
|
|
118
|
+
var rosters = result.body.rosters;
|
|
119
|
+
rosters.forEach(function (_ref) {
|
|
120
|
+
var locus = _ref.locus;
|
|
121
|
+
_this2.handleRosterUpdate(locus);
|
|
122
|
+
});
|
|
123
|
+
_this2.trigger(_constants.BREAKOUTS.EVENTS.MEMBERS_UPDATE);
|
|
124
|
+
}).catch(function (error) {
|
|
125
|
+
_loggerProxy.default.logger.error('Meeting:breakouts#queryRosters failed', error);
|
|
126
|
+
});
|
|
127
|
+
},
|
|
128
|
+
/**
|
|
129
|
+
*
|
|
130
|
+
* @param {Object} locus // locus object
|
|
131
|
+
* @returns {void}
|
|
132
|
+
*/
|
|
133
|
+
handleRosterUpdate: function handleRosterUpdate(locus) {
|
|
134
|
+
var _locus$controls, _locus$controls$break;
|
|
135
|
+
var sessionId = (_locus$controls = locus.controls) === null || _locus$controls === void 0 ? void 0 : (_locus$controls$break = _locus$controls.breakout) === null || _locus$controls$break === void 0 ? void 0 : _locus$controls$break.sessionId;
|
|
136
|
+
var session = this.breakouts.get(sessionId);
|
|
137
|
+
if (!session) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
session.parseRoster(locus);
|
|
141
|
+
},
|
|
142
|
+
/**
|
|
143
|
+
* Sets up listener for broadcast messages sent to the breakout session
|
|
144
|
+
* @returns {void}
|
|
145
|
+
*/
|
|
146
|
+
listenToBroadcastMessages: function listenToBroadcastMessages() {
|
|
147
|
+
var _this3 = this;
|
|
148
|
+
this.listenTo(this.webex.internal.llm, 'event:breakout.message', function (event) {
|
|
149
|
+
var _event$data = event.data,
|
|
150
|
+
senderUserId = _event$data.senderUserId,
|
|
151
|
+
sentTime = _event$data.sentTime,
|
|
152
|
+
message = _event$data.message;
|
|
153
|
+
_this3.trigger(_constants.BREAKOUTS.EVENTS.MESSAGE, {
|
|
154
|
+
senderUserId: senderUserId,
|
|
155
|
+
sentTime: sentTime,
|
|
156
|
+
message: message,
|
|
157
|
+
// FIXME: This is only the current sessionId
|
|
158
|
+
// We'd need to check that the dataChannelUrl is still the same
|
|
159
|
+
// to guarantee that this message was sent to this session
|
|
160
|
+
sessionId: _this3.currentBreakoutSession.sessionId
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
},
|
|
164
|
+
/**
|
|
165
|
+
* Sets up a listener for roster messags from mecury
|
|
166
|
+
* @returns {void}
|
|
167
|
+
*/
|
|
168
|
+
listenToBreakoutRosters: function listenToBreakoutRosters() {
|
|
169
|
+
var _this4 = this;
|
|
170
|
+
this.listenTo(this.webex.internal.mercury, 'event:breakout.roster', function (event) {
|
|
171
|
+
_this4.handleRosterUpdate(event.data.locus);
|
|
172
|
+
_this4.trigger(_constants.BREAKOUTS.EVENTS.MEMBERS_UPDATE);
|
|
173
|
+
});
|
|
174
|
+
},
|
|
175
|
+
/**
|
|
176
|
+
* Updates the information about the current breakout
|
|
177
|
+
* @param {Object} params
|
|
178
|
+
* @returns {void}
|
|
179
|
+
*/
|
|
180
|
+
updateBreakout: function updateBreakout(params) {
|
|
181
|
+
var _this$set;
|
|
182
|
+
this.set(params);
|
|
183
|
+
this.set('currentBreakoutSession', (_this$set = {
|
|
184
|
+
sessionId: params.sessionId,
|
|
185
|
+
groupId: params.groupId,
|
|
186
|
+
name: params.name,
|
|
187
|
+
current: true,
|
|
188
|
+
sessionType: params.sessionType,
|
|
189
|
+
url: params.url
|
|
190
|
+
}, (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.ACTIVE, false), (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.ALLOWED, false), (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.ALLOWED, false), (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT, false), (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.REQUESTED, false), _this$set));
|
|
191
|
+
},
|
|
192
|
+
/**
|
|
193
|
+
* Updates the information about available breakouts
|
|
194
|
+
* @param {Object} payload
|
|
195
|
+
* @returns {void}
|
|
196
|
+
*/
|
|
197
|
+
updateBreakoutSessions: function updateBreakoutSessions(payload) {
|
|
198
|
+
var _this5 = this;
|
|
199
|
+
var breakouts = {};
|
|
200
|
+
if (payload.breakoutSessions) {
|
|
201
|
+
(0, _forEach2.default)(_constants.BREAKOUTS.SESSION_STATES, function (state) {
|
|
202
|
+
(0, _forEach2.default)(payload.breakoutSessions[state], function (breakout) {
|
|
203
|
+
var sessionId = breakout.sessionId;
|
|
204
|
+
if (!breakouts[sessionId]) {
|
|
205
|
+
breakouts[sessionId] = breakout;
|
|
206
|
+
breakouts[sessionId][_constants.BREAKOUTS.SESSION_STATES.ACTIVE] = false;
|
|
207
|
+
breakouts[sessionId][_constants.BREAKOUTS.SESSION_STATES.ASSIGNED] = false;
|
|
208
|
+
breakouts[sessionId][_constants.BREAKOUTS.SESSION_STATES.ALLOWED] = false;
|
|
209
|
+
breakouts[sessionId][_constants.BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT] = false;
|
|
210
|
+
breakouts[sessionId][_constants.BREAKOUTS.SESSION_STATES.REQUESTED] = false;
|
|
211
|
+
}
|
|
212
|
+
breakouts[sessionId][state] = true;
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
(0, _forEach2.default)(breakouts, function (breakout) {
|
|
217
|
+
// eslint-disable-next-line no-param-reassign
|
|
218
|
+
breakout.url = _this5.url;
|
|
219
|
+
});
|
|
220
|
+
this.breakouts.set((0, _values.default)(breakouts));
|
|
221
|
+
},
|
|
222
|
+
version: "3.0.0-beta.19"
|
|
223
|
+
});
|
|
224
|
+
var _default = Breakouts;
|
|
225
|
+
exports.default = _default;
|
|
226
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Breakouts","WebexPlugin","extend","namespace","MEETINGS","collections","breakouts","BreakoutCollection","props","allowBackToMain","delayCloseTime","enableBreakoutSession","groupId","name","sessionId","sessionType","startTime","status","url","locusUrl","children","currentBreakoutSession","Breakout","derived","isInMainSession","deps","fn","BREAKOUTS","SESSION_TYPES","MAIN","initialize","listenTo","STATUS","CLOSING","trigger","EVENTS","BREAKOUTS_CLOSING","debouncedQueryRosters","queryRosters","leading","trailing","listenToBroadcastMessages","listenToBreakoutRosters","cleanUp","stopListening","locusUrlUpdate","set","webex","request","uri","qs","btoa","then","result","rosters","body","forEach","locus","handleRosterUpdate","MEMBERS_UPDATE","catch","error","LoggerProxy","logger","controls","breakout","session","get","parseRoster","internal","llm","event","data","senderUserId","sentTime","message","MESSAGE","mercury","updateBreakout","params","current","SESSION_STATES","ACTIVE","ALLOWED","ASSIGNED_CURRENT","REQUESTED","updateBreakoutSessions","payload","breakoutSessions","state","ASSIGNED"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {debounce, forEach} from 'lodash';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport {BREAKOUTS, MEETINGS} from '../constants';\n\nimport Breakout from './breakout';\nimport BreakoutCollection from './collection';\n\n/**\n * @class Breakouts\n */\nconst Breakouts = WebexPlugin.extend({\n namespace: MEETINGS,\n\n collections: {\n breakouts: BreakoutCollection,\n },\n\n props: {\n allowBackToMain: 'boolean', // only present when in a breakout session\n delayCloseTime: 'number', // appears once breakouts start\n enableBreakoutSession: 'boolean', // appears from the moment you enable breakouts\n groupId: 'string', // appears from the moment you enable breakouts\n name: 'string', // only present when in a breakout session\n sessionId: 'string', // appears from the moment you enable breakouts\n sessionType: 'string', // appears from the moment you enable breakouts\n startTime: 'string', // appears once breakouts start\n status: 'string', // only present when in a breakout session\n url: 'string', // appears from the moment you enable breakouts\n locusUrl: 'string', // the current locus url\n },\n\n children: {\n currentBreakoutSession: Breakout,\n },\n\n derived: {\n isInMainSession: {\n deps: ['sessionType'],\n /**\n * Returns true if the user is in the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n },\n },\n },\n\n /**\n * initialize for the breakouts\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:status', () => {\n if (this.status === BREAKOUTS.STATUS.CLOSING) {\n this.trigger(BREAKOUTS.EVENTS.BREAKOUTS_CLOSING);\n }\n });\n this.debouncedQueryRosters = debounce(this.queryRosters, 10, {\n leading: true,\n trailing: false,\n });\n this.listenTo(this.breakouts, 'add', () => {\n this.debouncedQueryRosters();\n });\n this.listenToBroadcastMessages();\n this.listenToBreakoutRosters();\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n\n /**\n * The initial roster lists need to be queried because you don't\n * get a breakout.roster event when you join the meeting\n * @returns {void}\n */\n queryRosters() {\n this.webex\n .request({uri: `${this.url}/roster`, qs: {locusUrl: btoa(this.locusUrl)}})\n .then((result) => {\n const {\n body: {rosters},\n } = result;\n\n rosters.forEach(({locus}) => {\n this.handleRosterUpdate(locus);\n });\n\n this.trigger(BREAKOUTS.EVENTS.MEMBERS_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:breakouts#queryRosters failed', error);\n });\n },\n\n /**\n *\n * @param {Object} locus // locus object\n * @returns {void}\n */\n handleRosterUpdate(locus) {\n const sessionId = locus.controls?.breakout?.sessionId;\n\n const session = this.breakouts.get(sessionId);\n\n if (!session) {\n return;\n }\n\n session.parseRoster(locus);\n },\n\n /**\n * Sets up listener for broadcast messages sent to the breakout session\n * @returns {void}\n */\n listenToBroadcastMessages() {\n this.listenTo(this.webex.internal.llm, 'event:breakout.message', (event) => {\n const {\n data: {senderUserId, sentTime, message},\n } = event;\n\n this.trigger(BREAKOUTS.EVENTS.MESSAGE, {\n senderUserId,\n sentTime,\n message,\n // FIXME: This is only the current sessionId\n // We'd need to check that the dataChannelUrl is still the same\n // to guarantee that this message was sent to this session\n sessionId: this.currentBreakoutSession.sessionId,\n });\n });\n },\n\n /**\n * Sets up a listener for roster messags from mecury\n * @returns {void}\n */\n listenToBreakoutRosters() {\n this.listenTo(this.webex.internal.mercury, 'event:breakout.roster', (event) => {\n this.handleRosterUpdate(event.data.locus);\n this.trigger(BREAKOUTS.EVENTS.MEMBERS_UPDATE);\n });\n },\n\n /**\n * Updates the information about the current breakout\n * @param {Object} params\n * @returns {void}\n */\n updateBreakout(params) {\n this.set(params);\n\n this.set('currentBreakoutSession', {\n sessionId: params.sessionId,\n groupId: params.groupId,\n name: params.name,\n current: true,\n sessionType: params.sessionType,\n url: params.url,\n [BREAKOUTS.SESSION_STATES.ACTIVE]: false,\n [BREAKOUTS.SESSION_STATES.ALLOWED]: false,\n [BREAKOUTS.SESSION_STATES.ALLOWED]: false,\n [BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT]: false,\n [BREAKOUTS.SESSION_STATES.REQUESTED]: false,\n });\n },\n\n /**\n * Updates the information about available breakouts\n * @param {Object} payload\n * @returns {void}\n */\n updateBreakoutSessions(payload) {\n const breakouts = {};\n\n if (payload.breakoutSessions) {\n forEach(BREAKOUTS.SESSION_STATES, (state) => {\n forEach(payload.breakoutSessions[state], (breakout) => {\n const {sessionId} = breakout;\n\n if (!breakouts[sessionId]) {\n breakouts[sessionId] = breakout;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ACTIVE] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ASSIGNED] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ALLOWED] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.REQUESTED] = false;\n }\n\n breakouts[sessionId][state] = true;\n });\n });\n }\n\n forEach(breakouts, (breakout: typeof Breakout) => {\n // eslint-disable-next-line no-param-reassign\n breakout.url = this.url;\n });\n\n this.breakouts.set(Object.values(breakouts));\n },\n});\n\nexport default Breakouts;\n"],"mappings":";;;;;;;;;;;;AAGA;AAEA;AAEA;AAEA;AACA;AAVA;AACA;AACA;;AAUA;AACA;AACA;AACA,IAAMA,SAAS,GAAGC,sBAAW,CAACC,MAAM,CAAC;EACnCC,SAAS,EAAEC,mBAAQ;EAEnBC,WAAW,EAAE;IACXC,SAAS,EAAEC;EACb,CAAC;EAEDC,KAAK,EAAE;IACLC,eAAe,EAAE,SAAS;IAAE;IAC5BC,cAAc,EAAE,QAAQ;IAAE;IAC1BC,qBAAqB,EAAE,SAAS;IAAE;IAClCC,OAAO,EAAE,QAAQ;IAAE;IACnBC,IAAI,EAAE,QAAQ;IAAE;IAChBC,SAAS,EAAE,QAAQ;IAAE;IACrBC,WAAW,EAAE,QAAQ;IAAE;IACvBC,SAAS,EAAE,QAAQ;IAAE;IACrBC,MAAM,EAAE,QAAQ;IAAE;IAClBC,GAAG,EAAE,QAAQ;IAAE;IACfC,QAAQ,EAAE,QAAQ,CAAE;EACtB,CAAC;;EAEDC,QAAQ,EAAE;IACRC,sBAAsB,EAAEC;EAC1B,CAAC;EAEDC,OAAO,EAAE;IACPC,eAAe,EAAE;MACfC,IAAI,EAAE,CAAC,aAAa,CAAC;MACrB;AACN;AACA;AACA;MACMC,EAAE,gBAAG;QACH,OAAO,IAAI,CAACX,WAAW,KAAKY,oBAAS,CAACC,aAAa,CAACC,IAAI;MAC1D;IACF;EACF,CAAC;EAED;AACF;AACA;AACA;EACEC,UAAU,wBAAG;IAAA;IACX,IAAI,CAACC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,YAAM;MACzC,IAAI,KAAI,CAACd,MAAM,KAAKU,oBAAS,CAACK,MAAM,CAACC,OAAO,EAAE;QAC5C,KAAI,CAACC,OAAO,CAACP,oBAAS,CAACQ,MAAM,CAACC,iBAAiB,CAAC;MAClD;IACF,CAAC,CAAC;IACF,IAAI,CAACC,qBAAqB,GAAG,wBAAS,IAAI,CAACC,YAAY,EAAE,EAAE,EAAE;MAC3DC,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAE;IACZ,CAAC,CAAC;IACF,IAAI,CAACT,QAAQ,CAAC,IAAI,CAACzB,SAAS,EAAE,KAAK,EAAE,YAAM;MACzC,KAAI,CAAC+B,qBAAqB,EAAE;IAC9B,CAAC,CAAC;IACF,IAAI,CAACI,yBAAyB,EAAE;IAChC,IAAI,CAACC,uBAAuB,EAAE;EAChC,CAAC;EAED;AACF;AACA;AACA;EACEC,OAAO,qBAAG;IACR,IAAI,CAACC,aAAa,EAAE;EACtB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,cAAc,0BAAC1B,QAAQ,EAAE;IACvB,IAAI,CAAC2B,GAAG,CAAC,UAAU,EAAE3B,QAAQ,CAAC;EAChC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEmB,YAAY,0BAAG;IAAA;IACb,IAAI,CAACS,KAAK,CACPC,OAAO,CAAC;MAACC,GAAG,YAAK,IAAI,CAAC/B,GAAG,YAAS;MAAEgC,EAAE,EAAE;QAAC/B,QAAQ,EAAEgC,IAAI,CAAC,IAAI,CAAChC,QAAQ;MAAC;IAAC,CAAC,CAAC,CACzEiC,IAAI,CAAC,UAACC,MAAM,EAAK;MAChB,IACSC,OAAO,GACZD,MAAM,CADRE,IAAI,CAAGD,OAAO;MAGhBA,OAAO,CAACE,OAAO,CAAC,gBAAa;QAAA,IAAXC,KAAK,QAALA,KAAK;QACrB,MAAI,CAACC,kBAAkB,CAACD,KAAK,CAAC;MAChC,CAAC,CAAC;MAEF,MAAI,CAACvB,OAAO,CAACP,oBAAS,CAACQ,MAAM,CAACwB,cAAc,CAAC;IAC/C,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,KAAK,EAAK;MAChBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,uCAAuC,EAAEA,KAAK,CAAC;IAC1E,CAAC,CAAC;EACN,CAAC;EAED;AACF;AACA;AACA;AACA;EACEH,kBAAkB,8BAACD,KAAK,EAAE;IAAA;IACxB,IAAM3C,SAAS,sBAAG2C,KAAK,CAACO,QAAQ,6EAAd,gBAAgBC,QAAQ,0DAAxB,sBAA0BnD,SAAS;IAErD,IAAMoD,OAAO,GAAG,IAAI,CAAC5D,SAAS,CAAC6D,GAAG,CAACrD,SAAS,CAAC;IAE7C,IAAI,CAACoD,OAAO,EAAE;MACZ;IACF;IAEAA,OAAO,CAACE,WAAW,CAACX,KAAK,CAAC;EAC5B,CAAC;EAED;AACF;AACA;AACA;EACEhB,yBAAyB,uCAAG;IAAA;IAC1B,IAAI,CAACV,QAAQ,CAAC,IAAI,CAACgB,KAAK,CAACsB,QAAQ,CAACC,GAAG,EAAE,wBAAwB,EAAE,UAACC,KAAK,EAAK;MAC1E,kBAEIA,KAAK,CADPC,IAAI;QAAGC,YAAY,eAAZA,YAAY;QAAEC,QAAQ,eAARA,QAAQ;QAAEC,OAAO,eAAPA,OAAO;MAGxC,MAAI,CAACzC,OAAO,CAACP,oBAAS,CAACQ,MAAM,CAACyC,OAAO,EAAE;QACrCH,YAAY,EAAZA,YAAY;QACZC,QAAQ,EAARA,QAAQ;QACRC,OAAO,EAAPA,OAAO;QACP;QACA;QACA;QACA7D,SAAS,EAAE,MAAI,CAACO,sBAAsB,CAACP;MACzC,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;EACE4B,uBAAuB,qCAAG;IAAA;IACxB,IAAI,CAACX,QAAQ,CAAC,IAAI,CAACgB,KAAK,CAACsB,QAAQ,CAACQ,OAAO,EAAE,uBAAuB,EAAE,UAACN,KAAK,EAAK;MAC7E,MAAI,CAACb,kBAAkB,CAACa,KAAK,CAACC,IAAI,CAACf,KAAK,CAAC;MACzC,MAAI,CAACvB,OAAO,CAACP,oBAAS,CAACQ,MAAM,CAACwB,cAAc,CAAC;IAC/C,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EACEmB,cAAc,0BAACC,MAAM,EAAE;IAAA;IACrB,IAAI,CAACjC,GAAG,CAACiC,MAAM,CAAC;IAEhB,IAAI,CAACjC,GAAG,CAAC,wBAAwB;MAC/BhC,SAAS,EAAEiE,MAAM,CAACjE,SAAS;MAC3BF,OAAO,EAAEmE,MAAM,CAACnE,OAAO;MACvBC,IAAI,EAAEkE,MAAM,CAAClE,IAAI;MACjBmE,OAAO,EAAE,IAAI;MACbjE,WAAW,EAAEgE,MAAM,CAAChE,WAAW;MAC/BG,GAAG,EAAE6D,MAAM,CAAC7D;IAAG,4CACdS,oBAAS,CAACsD,cAAc,CAACC,MAAM,EAAG,KAAK,4CACvCvD,oBAAS,CAACsD,cAAc,CAACE,OAAO,EAAG,KAAK,4CACxCxD,oBAAS,CAACsD,cAAc,CAACE,OAAO,EAAG,KAAK,4CACxCxD,oBAAS,CAACsD,cAAc,CAACG,gBAAgB,EAAG,KAAK,4CACjDzD,oBAAS,CAACsD,cAAc,CAACI,SAAS,EAAG,KAAK,cAC3C;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,sBAAsB,kCAACC,OAAO,EAAE;IAAA;IAC9B,IAAMjF,SAAS,GAAG,CAAC,CAAC;IAEpB,IAAIiF,OAAO,CAACC,gBAAgB,EAAE;MAC5B,uBAAQ7D,oBAAS,CAACsD,cAAc,EAAE,UAACQ,KAAK,EAAK;QAC3C,uBAAQF,OAAO,CAACC,gBAAgB,CAACC,KAAK,CAAC,EAAE,UAACxB,QAAQ,EAAK;UACrD,IAAOnD,SAAS,GAAImD,QAAQ,CAArBnD,SAAS;UAEhB,IAAI,CAACR,SAAS,CAACQ,SAAS,CAAC,EAAE;YACzBR,SAAS,CAACQ,SAAS,CAAC,GAAGmD,QAAQ;YAC/B3D,SAAS,CAACQ,SAAS,CAAC,CAACa,oBAAS,CAACsD,cAAc,CAACC,MAAM,CAAC,GAAG,KAAK;YAC7D5E,SAAS,CAACQ,SAAS,CAAC,CAACa,oBAAS,CAACsD,cAAc,CAACS,QAAQ,CAAC,GAAG,KAAK;YAC/DpF,SAAS,CAACQ,SAAS,CAAC,CAACa,oBAAS,CAACsD,cAAc,CAACE,OAAO,CAAC,GAAG,KAAK;YAC9D7E,SAAS,CAACQ,SAAS,CAAC,CAACa,oBAAS,CAACsD,cAAc,CAACG,gBAAgB,CAAC,GAAG,KAAK;YACvE9E,SAAS,CAACQ,SAAS,CAAC,CAACa,oBAAS,CAACsD,cAAc,CAACI,SAAS,CAAC,GAAG,KAAK;UAClE;UAEA/E,SAAS,CAACQ,SAAS,CAAC,CAAC2E,KAAK,CAAC,GAAG,IAAI;QACpC,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IAEA,uBAAQnF,SAAS,EAAE,UAAC2D,QAAyB,EAAK;MAChD;MACAA,QAAQ,CAAC/C,GAAG,GAAG,MAAI,CAACA,GAAG;IACzB,CAAC,CAAC;IAEF,IAAI,CAACZ,SAAS,CAACwC,GAAG,CAAC,qBAAcxC,SAAS,CAAC,CAAC;EAC9C,CAAC;EAAA;AACH,CAAC,CAAC;AAAC,eAEYN,SAAS;AAAA"}
|
package/dist/config.js
CHANGED
|
@@ -99,7 +99,10 @@ var _default = {
|
|
|
99
99
|
enableMediaNegotiatedEvent: false,
|
|
100
100
|
enableUnifiedMeetings: false,
|
|
101
101
|
enableAdhocMeetings: false,
|
|
102
|
-
enableTurnDiscovery:
|
|
102
|
+
enableTurnDiscovery: true
|
|
103
|
+
},
|
|
104
|
+
degradationPreferences: {
|
|
105
|
+
maxMacroblocksLimit: 32400
|
|
103
106
|
}
|
|
104
107
|
}
|
|
105
108
|
};
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["meetings","deviceType","WEB","mediaSettings","sendAudio","sendVideo","receiveAudio","receiveVideo","pstn","sendShare","receiveShare","reconnection","enabled","autoRejoin","detection","iceReconnectionTimeout","maxRejoinAttempts","stats","enableStatsAnalyzer","autoDowngradeEnabled","interval","analyzerInterval","historyMax","videoPacketLossRatioThreshold","rttThreshold","jitterThreshold","metrics","clientName","clientType","subClientType","mqaMetricsInterval","autoSendMQA","logging","enable","verboseEvents","resolution","maxWidth","maxHeight","idealWidth","idealHeight","screenResolution","bandwidth","audio","video","startBitrate","screenFrameRate","videoShareFrameRate","aspectRatio","autoUploadLogs","enableRtx","receiveTranscription","enableExtmap","enableAutomaticLLM","experimental","enableMediaNegotiatedEvent","enableUnifiedMeetings","enableAdhocMeetings","enableTurnDiscovery"],"sources":["config.ts"],"sourcesContent":["import {\n // @ts-ignore\n deviceType,\n} from '@webex/common';\n\nexport default {\n // TODO: this needs to be defaulted\n // to JS_SDK and clients set it to WEB or others\n // see https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-73167\n meetings: {\n deviceType: deviceType.WEB,\n mediaSettings: {\n sendAudio: true,\n sendVideo: true,\n receiveAudio: true,\n receiveVideo: true,\n pstn: false,\n sendShare: false,\n receiveShare: false,\n },\n reconnection: {\n enabled: false,\n autoRejoin: true,\n detection: true,\n // Timeout duration to wait for ICE to reconnect if a disconnect is received.\n iceReconnectionTimeout: 10000,\n // Amount of times attempting to rejoin a meeting during reconnect\n maxRejoinAttempts: 3,\n },\n stats: {\n // Enable the webrtc stats analyzer that emits quality degradation events\n enableStatsAnalyzer: true,\n // Enable the auto downgrade video quality feature\n autoDowngradeEnabled: false,\n // 1 second intervals to collect stats data\n interval: 1000,\n // we just want to analyze data every 5 sec interval\n analyzerInterval: 5000,\n // hold the last 2 minute of a calls data\n historyMax: 120,\n // Once packet loss hits this ratio, the video will downgrade\n videoPacketLossRatioThreshold: 9, // comparison of packets lost / packets received\n rttThreshold: 500, // 500 ms noticeable quality lag begins based on bandwidth of user\n jitterThreshold: 500, // 500 ms noticeable quality lag begins based on bandwidth of user\n },\n metrics: {\n // change to your client name else data will be muddled\n // you do not need a specific format, and you do not need to register it\n clientName: 'WEBEX_JS_SDK',\n // TODO: for now this line has to be whitelisted, which is problematic for third party\n clientType: 'WEBEX_SDK',\n // Stores the sub client type used when sending metrics\n subClientType: 'WEB_APP',\n // send average values MQA in 60 second intervals\n mqaMetricsInterval: 60000,\n // send to cisco internal MQA data automatically\n // we already send CA\n autoSendMQA: true,\n },\n logging: {\n enable: true,\n verboseEvents: true,\n },\n resolution: {\n maxWidth: 1280,\n maxHeight: 720,\n idealWidth: 1280,\n idealHeight: 720,\n },\n screenResolution: {\n maxWidth: 1920,\n maxHeight: 1080,\n idealWidth: 1920,\n idealHeight: 1080,\n },\n bandwidth: {\n // please note, these are the maximum bandwidth values\n // the server supports, minimums have to be tested\n audio: 64000,\n video: 4000000,\n startBitrate: 2000,\n },\n screenFrameRate: 10,\n videoShareFrameRate: 30,\n aspectRatio: 1.7695852534562213,\n // When enabled, as calls are ended, it will upload the SDK logs and correlate them\n autoUploadLogs: true,\n enableRtx: true,\n receiveTranscription: false,\n enableExtmap: false,\n enableAutomaticLLM: false,\n experimental: {\n enableMediaNegotiatedEvent: false,\n enableUnifiedMeetings: false,\n enableAdhocMeetings: false,\n enableTurnDiscovery:
|
|
1
|
+
{"version":3,"names":["meetings","deviceType","WEB","mediaSettings","sendAudio","sendVideo","receiveAudio","receiveVideo","pstn","sendShare","receiveShare","reconnection","enabled","autoRejoin","detection","iceReconnectionTimeout","maxRejoinAttempts","stats","enableStatsAnalyzer","autoDowngradeEnabled","interval","analyzerInterval","historyMax","videoPacketLossRatioThreshold","rttThreshold","jitterThreshold","metrics","clientName","clientType","subClientType","mqaMetricsInterval","autoSendMQA","logging","enable","verboseEvents","resolution","maxWidth","maxHeight","idealWidth","idealHeight","screenResolution","bandwidth","audio","video","startBitrate","screenFrameRate","videoShareFrameRate","aspectRatio","autoUploadLogs","enableRtx","receiveTranscription","enableExtmap","enableAutomaticLLM","experimental","enableMediaNegotiatedEvent","enableUnifiedMeetings","enableAdhocMeetings","enableTurnDiscovery","degradationPreferences","maxMacroblocksLimit"],"sources":["config.ts"],"sourcesContent":["import {\n // @ts-ignore\n deviceType,\n} from '@webex/common';\n\nexport default {\n // TODO: this needs to be defaulted\n // to JS_SDK and clients set it to WEB or others\n // see https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-73167\n meetings: {\n deviceType: deviceType.WEB,\n mediaSettings: {\n sendAudio: true,\n sendVideo: true,\n receiveAudio: true,\n receiveVideo: true,\n pstn: false,\n sendShare: false,\n receiveShare: false,\n },\n reconnection: {\n enabled: false,\n autoRejoin: true,\n detection: true,\n // Timeout duration to wait for ICE to reconnect if a disconnect is received.\n iceReconnectionTimeout: 10000,\n // Amount of times attempting to rejoin a meeting during reconnect\n maxRejoinAttempts: 3,\n },\n stats: {\n // Enable the webrtc stats analyzer that emits quality degradation events\n enableStatsAnalyzer: true,\n // Enable the auto downgrade video quality feature\n autoDowngradeEnabled: false,\n // 1 second intervals to collect stats data\n interval: 1000,\n // we just want to analyze data every 5 sec interval\n analyzerInterval: 5000,\n // hold the last 2 minute of a calls data\n historyMax: 120,\n // Once packet loss hits this ratio, the video will downgrade\n videoPacketLossRatioThreshold: 9, // comparison of packets lost / packets received\n rttThreshold: 500, // 500 ms noticeable quality lag begins based on bandwidth of user\n jitterThreshold: 500, // 500 ms noticeable quality lag begins based on bandwidth of user\n },\n metrics: {\n // change to your client name else data will be muddled\n // you do not need a specific format, and you do not need to register it\n clientName: 'WEBEX_JS_SDK',\n // TODO: for now this line has to be whitelisted, which is problematic for third party\n clientType: 'WEBEX_SDK',\n // Stores the sub client type used when sending metrics\n subClientType: 'WEB_APP',\n // send average values MQA in 60 second intervals\n mqaMetricsInterval: 60000,\n // send to cisco internal MQA data automatically\n // we already send CA\n autoSendMQA: true,\n },\n logging: {\n enable: true,\n verboseEvents: true,\n },\n resolution: {\n maxWidth: 1280,\n maxHeight: 720,\n idealWidth: 1280,\n idealHeight: 720,\n },\n screenResolution: {\n maxWidth: 1920,\n maxHeight: 1080,\n idealWidth: 1920,\n idealHeight: 1080,\n },\n bandwidth: {\n // please note, these are the maximum bandwidth values\n // the server supports, minimums have to be tested\n audio: 64000,\n video: 4000000,\n startBitrate: 2000,\n },\n screenFrameRate: 10,\n videoShareFrameRate: 30,\n aspectRatio: 1.7695852534562213,\n // When enabled, as calls are ended, it will upload the SDK logs and correlate them\n autoUploadLogs: true,\n enableRtx: true,\n receiveTranscription: false,\n enableExtmap: false,\n enableAutomaticLLM: false,\n experimental: {\n enableMediaNegotiatedEvent: false,\n enableUnifiedMeetings: false,\n enableAdhocMeetings: false,\n enableTurnDiscovery: true,\n },\n degradationPreferences: {\n maxMacroblocksLimit: 32400,\n },\n },\n};\n"],"mappings":";;;;;;;AAAA;AAGuB,eAER;EACb;EACA;EACA;EACAA,QAAQ,EAAE;IACRC,UAAU,EAAEA,kBAAU,CAACC,GAAG;IAC1BC,aAAa,EAAE;MACbC,SAAS,EAAE,IAAI;MACfC,SAAS,EAAE,IAAI;MACfC,YAAY,EAAE,IAAI;MAClBC,YAAY,EAAE,IAAI;MAClBC,IAAI,EAAE,KAAK;MACXC,SAAS,EAAE,KAAK;MAChBC,YAAY,EAAE;IAChB,CAAC;IACDC,YAAY,EAAE;MACZC,OAAO,EAAE,KAAK;MACdC,UAAU,EAAE,IAAI;MAChBC,SAAS,EAAE,IAAI;MACf;MACAC,sBAAsB,EAAE,KAAK;MAC7B;MACAC,iBAAiB,EAAE;IACrB,CAAC;IACDC,KAAK,EAAE;MACL;MACAC,mBAAmB,EAAE,IAAI;MACzB;MACAC,oBAAoB,EAAE,KAAK;MAC3B;MACAC,QAAQ,EAAE,IAAI;MACd;MACAC,gBAAgB,EAAE,IAAI;MACtB;MACAC,UAAU,EAAE,GAAG;MACf;MACAC,6BAA6B,EAAE,CAAC;MAAE;MAClCC,YAAY,EAAE,GAAG;MAAE;MACnBC,eAAe,EAAE,GAAG,CAAE;IACxB,CAAC;;IACDC,OAAO,EAAE;MACP;MACA;MACAC,UAAU,EAAE,cAAc;MAC1B;MACAC,UAAU,EAAE,WAAW;MACvB;MACAC,aAAa,EAAE,SAAS;MACxB;MACAC,kBAAkB,EAAE,KAAK;MACzB;MACA;MACAC,WAAW,EAAE;IACf,CAAC;IACDC,OAAO,EAAE;MACPC,MAAM,EAAE,IAAI;MACZC,aAAa,EAAE;IACjB,CAAC;IACDC,UAAU,EAAE;MACVC,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAE,GAAG;MACdC,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE;IACf,CAAC;IACDC,gBAAgB,EAAE;MAChBJ,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAE,IAAI;MACfC,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE;IACf,CAAC;IACDE,SAAS,EAAE;MACT;MACA;MACAC,KAAK,EAAE,KAAK;MACZC,KAAK,EAAE,OAAO;MACdC,YAAY,EAAE;IAChB,CAAC;IACDC,eAAe,EAAE,EAAE;IACnBC,mBAAmB,EAAE,EAAE;IACvBC,WAAW,EAAE,kBAAkB;IAC/B;IACAC,cAAc,EAAE,IAAI;IACpBC,SAAS,EAAE,IAAI;IACfC,oBAAoB,EAAE,KAAK;IAC3BC,YAAY,EAAE,KAAK;IACnBC,kBAAkB,EAAE,KAAK;IACzBC,YAAY,EAAE;MACZC,0BAA0B,EAAE,KAAK;MACjCC,qBAAqB,EAAE,KAAK;MAC5BC,mBAAmB,EAAE,KAAK;MAC1BC,mBAAmB,EAAE;IACvB,CAAC;IACDC,sBAAsB,EAAE;MACtBC,mBAAmB,EAAE;IACvB;EACF;AACF,CAAC;AAAA"}
|
package/dist/constants.js
CHANGED
|
@@ -5,8 +5,8 @@ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequ
|
|
|
5
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
9
|
-
exports._WEBEX_MEETING_ = exports._WAIT_ = exports._USER_ = exports._UNKNOWN_ = exports._S_LINE = exports._SLIDES_ = exports._SIP_URI_ = exports._SIP_BRIDGE_ = exports._SEND_RECEIVE_ = exports._SEND_ONLY_ = exports._ROOM_ = exports._RESOURCE_ROOM_ = exports._REQUESTED_ = exports._REMOVE_ = exports._RECEIVE_ONLY_ = exports._PERSONAL_ROOM_ = exports._PEOPLE_ = exports._OBSERVE_ = exports._NOT_IN_MEETING_ = exports._NONE_ = exports._MOVE_MEDIA_ = exports._MEETING_UUID_ = exports._MEETING_LINK_ = exports._MEETING_ID_ = exports._MEETING_CENTER_ = exports._MEETING_ = exports._LOCUS_ID_ = exports._LEFT_ = exports._JOIN_ = exports._JOINED_ = exports._IN_MEETING_ = exports._IN_LOBBY_ = exports._IN_ = exports._INCOMING_ = exports._INACTIVE_ = exports._ID_ = exports._IDLE_ = exports._FORCED_ = exports._ERROR_ = exports._CREATED_ = exports._CONVERSATION_URL_ = exports._CONFLICT_ = exports._CALL_ = exports._ANSWER_ = exports._ACTIVE_ = exports.WWW_DOT = exports.WHITEBOARD = exports.WEBEX_DOT_COM = exports.WBXAPPAPI_SERVICE = exports.VIDEO_STATUS = exports.VIDEO_RESOLUTIONS = exports.VIDEO_INPUT = exports.VIDEO = exports.VALID_PMR_LINK = exports.VALID_PMR_ADDRESS = exports.VALID_PIN = exports.VALID_EMAIL_ADDRESS = exports.UUID_REG = exports.USE_URI_LOOKUP_FALSE = exports.TYPE = exports.STATS = exports.SIP_URI = exports.SHARE_STOPPED_REASON = exports.SHARE_STATUS = exports.SHARE_PEER_CONNECTION_NAME = exports.SHARE = exports.SEND_DTMF_ENDPOINT = exports.SENDRECV = exports.SELF_ROLES = exports.ROAP = exports.RETRY_TIMEOUT = exports.RESOURCE = exports.REMOTE = exports.RECORDING_STATE = void 0;
|
|
8
|
+
exports.READY = exports.REACHABILITY = exports.QUALITY_LEVELS = exports.PSTN_STATUS = exports.PROVISIONAL_TYPE_DIAL_OUT = exports.PROVISIONAL_TYPE_DIAL_IN = exports.PEER_CONNECTION_STATE = exports.PC_BAIL_TIMEOUT = exports.PASSWORD_STATUS = exports.PARTICIPANT_DELTAS = exports.PARTICIPANT = exports.ONLINE = exports.OFFLINE = exports.NETWORK_TYPE = exports.NETWORK_STATUS = exports.MediaContent = exports.MQA_STATS = exports.MQA_INTEVAL = exports.MODERATOR_TRUE = exports.MODERATOR_FALSE = exports.METRICS_JOIN_TIMES_MAX_DURATION = exports.MEET_M = exports.MEETING_VIDEO_STATE_MACHINE = exports.MEETING_STATE_MACHINE = exports.MEETING_STATE = exports.MEETING_REMOVED_REASON = exports.MEETING_INFO_FAILURE_REASON = exports.MEETING_ERRORS = exports.MEETING_END_REASON = exports.MEETING_AUDIO_STATE_MACHINE = exports.MEETINGS = exports.MEETINGINFO = exports.MEET = exports.MEDIA_TRACK_CONSTRAINT = exports.MEDIA_STATE = exports.MEDIA_PEER_CONNECTION_NAME = exports.MEDIA_DEVICES = exports.MEDIA = exports.MAX_RANDOM_DELAY_FOR_MEETING_INFO = exports.LOCUS_URL = exports.LOCUSINFO = exports.LOCUSEVENT = exports.LOCUS = exports.LOCI = exports.LOCAL = exports.LIVE = exports.LEAVE = exports.LAYOUT_TYPES = exports.JOIN = exports.IPV4_REGEX = exports.INTENT_TO_JOIN = exports.ICE_TIMEOUT = exports.ICE_STATE = exports.ICE_GATHERING_STATE = exports.ICE_FAIL_TIMEOUT = exports.HTTP_VERBS = exports.HTTPS_PROTOCOL = exports.HOST = exports.HECATE = exports.GATHERING = exports.FULL_STATE = exports.FLOOR_ACTION = exports.EVENT_TYPES = exports.EVENT_TRIGGERS = exports.EVENTS = exports.ERROR_DICTIONARY = exports.ERROR = exports.ENDED = exports.END = exports.EMBEDDED_APP_TYPES = exports.DISPLAY_HINTS = exports.DIALER_REGEX = exports.DEVELOPMENT = exports.DEFAULT_GET_STATS_FILTER = exports.DEFAULT_EXCLUDED_STATS = exports.DECLINE = exports.CORRELATION_ID = exports.CONVERSATION_URL = exports.CONVERSATION_SERVICE = exports.CONTROLS = exports.CONTENT = exports.CONNECTION_STATE = exports.COMPLETE = exports.CMR_MEETINGS = exports.CLAIM = exports.CALL_REMOVED_REASON = exports.CALL = exports.CALENDAR_EVENTS_API = exports.CALENDAR_EVENTS = exports.CALENDAR = exports.BREAKOUTS = exports.BNR_STATUS = exports.AVAILABLE_RESOLUTIONS = exports.AUDIO_STATUS = exports.AUDIO_INPUT = exports.AUDIO = exports.API = exports.ANSWER = exports.ALTERNATE_REDIRECT_TRUE = exports.ALERT = void 0;
|
|
9
|
+
exports._WEBEX_MEETING_ = exports._WAIT_ = exports._USER_ = exports._UNKNOWN_ = exports._S_LINE = exports._SLIDES_ = exports._SIP_URI_ = exports._SIP_BRIDGE_ = exports._SEND_RECEIVE_ = exports._SEND_ONLY_ = exports._ROOM_ = exports._RESOURCE_ROOM_ = exports._REQUESTED_ = exports._REMOVE_ = exports._RECEIVE_ONLY_ = exports._PERSONAL_ROOM_ = exports._PEOPLE_ = exports._OBSERVE_ = exports._NOT_IN_MEETING_ = exports._NONE_ = exports._MOVE_MEDIA_ = exports._MEETING_UUID_ = exports._MEETING_LINK_ = exports._MEETING_ID_ = exports._MEETING_CENTER_ = exports._MEETING_ = exports._LOCUS_ID_ = exports._LEFT_ = exports._JOIN_ = exports._JOINED_ = exports._IN_MEETING_ = exports._IN_LOBBY_ = exports._IN_ = exports._INCOMING_ = exports._INACTIVE_ = exports._ID_ = exports._IDLE_ = exports._FORCED_ = exports._ERROR_ = exports._CREATED_ = exports._CONVERSATION_URL_ = exports._CONFLICT_ = exports._CALL_ = exports._ANSWER_ = exports._ACTIVE_ = exports.WWW_DOT = exports.WHITEBOARD = exports.WEBEX_DOT_COM = exports.WBXAPPAPI_SERVICE = exports.VIDEO_STATUS = exports.VIDEO_RESOLUTIONS = exports.VIDEO_INPUT = exports.VIDEO = exports.VALID_PMR_LINK = exports.VALID_PMR_ADDRESS = exports.VALID_PIN = exports.VALID_EMAIL_ADDRESS = exports.UUID_REG = exports.USE_URI_LOOKUP_FALSE = exports.TYPE = exports.STATS = exports.SIP_URI = exports.SHARE_STOPPED_REASON = exports.SHARE_STATUS = exports.SHARE_PEER_CONNECTION_NAME = exports.SHARE = exports.SEND_DTMF_ENDPOINT = exports.SENDRECV = exports.SELF_ROLES = exports.ROAP = exports.RETRY_TIMEOUT = exports.RESOURCE = exports.REMOTE = exports.RECORDING_STATE = exports.RECONNECTION = void 0;
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
11
11
|
var _common = require("@webex/common");
|
|
12
12
|
var _VIDEO_RESOLUTIONS;
|
|
@@ -361,6 +361,7 @@ var EVENT_TRIGGERS = {
|
|
|
361
361
|
MEETING_STOPPED_RECORDING: 'meeting:recording:stopped',
|
|
362
362
|
MEETING_STARTED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:started',
|
|
363
363
|
MEETING_STOPPED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:stopped',
|
|
364
|
+
MEETING_RECEIVE_REACTIONS: 'meeting:receiveReactions',
|
|
364
365
|
MEETING_PAUSED_RECORDING: 'meeting:recording:paused',
|
|
365
366
|
MEETING_RESUMED_RECORDING: 'meeting:recording:resumed',
|
|
366
367
|
MEETING_ADDED: 'meeting:added',
|
|
@@ -377,6 +378,9 @@ var EVENT_TRIGGERS = {
|
|
|
377
378
|
MEETING_SELF_IS_SHARING_BLOCKED: 'meeting:self:isSharingBlocked',
|
|
378
379
|
MEETING_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',
|
|
379
380
|
MEETING_ENTRY_EXIT_TONE_UPDATE: 'meeting:entryExitTone:update',
|
|
381
|
+
MEETING_BREAKOUTS_UPDATE: 'meeting:breakouts:update',
|
|
382
|
+
MEETING_BREAKOUTS_CLOSING: 'meeting:breakouts:closing',
|
|
383
|
+
MEETING_BREAKOUTS_MESSAGE: 'meeting:breakouts:message',
|
|
380
384
|
MEMBERS_UPDATE: 'members:update',
|
|
381
385
|
MEMBERS_CONTENT_UPDATE: 'members:content:update',
|
|
382
386
|
MEMBERS_HOST_UPDATE: 'members:host:update',
|
|
@@ -404,7 +408,7 @@ var EVENT_TRIGGERS = {
|
|
|
404
408
|
REMOTE_VIDEO_SOURCE_COUNT_CHANGED: 'media:remoteVideoSourceCountChanged',
|
|
405
409
|
REMOTE_AUDIO_SOURCE_COUNT_CHANGED: 'media:remoteAudioSourceCountChanged',
|
|
406
410
|
REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',
|
|
407
|
-
REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:
|
|
411
|
+
REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScreenShareAudio:created',
|
|
408
412
|
REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged'
|
|
409
413
|
};
|
|
410
414
|
exports.EVENT_TRIGGERS = EVENT_TRIGGERS;
|
|
@@ -595,11 +599,34 @@ var LOCUS = {
|
|
|
595
599
|
SYNCDEBUG: 'sync_debug'
|
|
596
600
|
};
|
|
597
601
|
exports.LOCUS = LOCUS;
|
|
602
|
+
var BREAKOUTS = {
|
|
603
|
+
STATUS: {
|
|
604
|
+
CLOSING: 'CLOSING'
|
|
605
|
+
},
|
|
606
|
+
EVENTS: {
|
|
607
|
+
BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',
|
|
608
|
+
MESSAGE: 'MESSAGE',
|
|
609
|
+
MEMBERS_UPDATE: 'MEMBERS_UPDATE'
|
|
610
|
+
},
|
|
611
|
+
SESSION_TYPES: {
|
|
612
|
+
MAIN: 'MAIN'
|
|
613
|
+
},
|
|
614
|
+
SESSION_STATES: {
|
|
615
|
+
ACTIVE: 'active',
|
|
616
|
+
ASSIGNED: 'assigned',
|
|
617
|
+
ALLOWED: 'allowed',
|
|
618
|
+
ASSIGNED_CURRENT: 'assignedCurrent',
|
|
619
|
+
REQUESTED: 'requested'
|
|
620
|
+
},
|
|
621
|
+
BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED'
|
|
622
|
+
};
|
|
623
|
+
exports.BREAKOUTS = BREAKOUTS;
|
|
598
624
|
var LOCUSINFO = {
|
|
599
625
|
EVENTS: {
|
|
600
626
|
CONTROLS_MEETING_LAYOUT_UPDATED: 'CONTROLS_MEETING_LAYOUT_UPDATED',
|
|
601
627
|
CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',
|
|
602
628
|
CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
|
|
629
|
+
CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',
|
|
603
630
|
CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
|
|
604
631
|
CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',
|
|
605
632
|
SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
|
|
@@ -620,7 +647,10 @@ var LOCUSINFO = {
|
|
|
620
647
|
DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',
|
|
621
648
|
EMBEDDED_APPS_UPDATED: 'EMBEDDED_APPS_UPDATED',
|
|
622
649
|
SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',
|
|
623
|
-
SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE'
|
|
650
|
+
SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
|
|
651
|
+
SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',
|
|
652
|
+
MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
|
|
653
|
+
LINKS_SERVICES: 'LINKS_SERVICES'
|
|
624
654
|
}
|
|
625
655
|
};
|
|
626
656
|
exports.LOCUSINFO = LOCUSINFO;
|
|
@@ -630,6 +660,8 @@ var LOCUSEVENT = {
|
|
|
630
660
|
CONTROLS_UPDATED: 'locus.controls_updated',
|
|
631
661
|
// delta events
|
|
632
662
|
DIFFERENCE: 'locus.difference',
|
|
663
|
+
// Breakout sessions
|
|
664
|
+
BREAKOUT_ROSTER: 'breakout.roster',
|
|
633
665
|
// screen sharing
|
|
634
666
|
FLOOR_GRANTED: 'locus.floor_granted',
|
|
635
667
|
FLOOR_RELEASED: 'locus.floor_released',
|
|
@@ -879,7 +911,8 @@ var RESOURCE = {
|
|
|
879
911
|
};
|
|
880
912
|
exports.RESOURCE = RESOURCE;
|
|
881
913
|
var REACHABILITY = {
|
|
882
|
-
localStorage: 'reachability.result'
|
|
914
|
+
localStorage: 'reachability.result',
|
|
915
|
+
namespace: 'Reachability'
|
|
883
916
|
};
|
|
884
917
|
exports.REACHABILITY = REACHABILITY;
|
|
885
918
|
var ROAP = {
|