@webex/plugin-meetings 3.9.0-webinar5k.1 → 3.10.0
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 +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +24 -0
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/index.js +22 -5
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +7 -0
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/locusRouteToken.js +116 -0
- package/dist/interceptors/locusRouteToken.js.map +1 -0
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +11 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +76 -322
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/parser.js +4 -1
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/media/properties.js +53 -5
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +14 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +467 -277
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +177 -14
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/type.js +7 -0
- package/dist/meeting/type.js.map +1 -0
- package/dist/meeting/util.js +100 -3
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +29 -21
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meetings/index.js +20 -16
- package/dist/meetings/index.js.map +1 -1
- package/dist/member/index.js +9 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +10 -0
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +10 -7
- package/dist/members/index.js.map +1 -1
- package/dist/members/util.js +7 -2
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +2 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +34 -5
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +42 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/reachability/index.js +3 -3
- package/dist/reachability/index.js.map +1 -1
- package/dist/types/constants.d.ts +23 -0
- package/dist/types/controls-options-manager/index.d.ts +9 -1
- package/dist/types/interceptors/index.d.ts +2 -1
- package/dist/types/interceptors/locusRouteToken.d.ts +38 -0
- package/dist/types/locus-info/index.d.ts +9 -54
- package/dist/types/media/properties.d.ts +21 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +14 -0
- package/dist/types/meeting/index.d.ts +64 -29
- package/dist/types/meeting/request.d.ts +42 -0
- package/dist/types/meeting/type.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +13 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +6 -3
- package/dist/types/meetings/index.d.ts +3 -1
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/member/util.d.ts +5 -0
- package/dist/types/members/index.d.ts +12 -11
- package/dist/types/members/util.d.ts +8 -4
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/multistream/remoteMedia.d.ts +20 -1
- package/dist/types/multistream/remoteMediaGroup.d.ts +11 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +25 -27
- package/src/constants.ts +26 -2
- package/src/controls-options-manager/index.ts +26 -5
- package/src/index.ts +2 -1
- package/src/interceptors/index.ts +2 -1
- package/src/interceptors/locusRouteToken.ts +80 -0
- package/src/locus-info/controlsUtils.ts +18 -0
- package/src/locus-info/index.ts +69 -357
- package/src/locus-info/parser.ts +5 -1
- package/src/media/properties.ts +43 -0
- package/src/meeting/in-meeting-actions.ts +29 -0
- package/src/meeting/index.ts +296 -87
- package/src/meeting/request.ts +141 -0
- package/src/meeting/type.ts +9 -0
- package/src/meeting/util.ts +107 -3
- package/src/meeting-info/meeting-info-v2.ts +24 -5
- package/src/meetings/index.ts +15 -22
- package/src/member/index.ts +10 -0
- package/src/member/util.ts +14 -0
- package/src/members/index.ts +20 -10
- package/src/members/util.ts +20 -3
- package/src/metrics/constants.ts +1 -0
- package/src/multistream/mediaRequestManager.ts +7 -7
- package/src/multistream/remoteMedia.ts +34 -4
- package/src/multistream/remoteMediaGroup.ts +37 -2
- package/src/reachability/index.ts +3 -3
- package/test/unit/spec/common/browser-detection.js +0 -24
- package/test/unit/spec/controls-options-manager/index.js +47 -0
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interceptors/locusRouteToken.ts +87 -0
- package/test/unit/spec/locus-info/index.js +80 -361
- package/test/unit/spec/locus-info/parser.js +3 -2
- package/test/unit/spec/media/properties.ts +137 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +14 -0
- package/test/unit/spec/meeting/index.js +637 -53
- package/test/unit/spec/meeting/muteState.js +32 -6
- package/test/unit/spec/meeting/request.js +21 -0
- package/test/unit/spec/meeting/utils.js +171 -18
- package/test/unit/spec/meeting-info/meetinginfov2.js +8 -3
- package/test/unit/spec/meetings/index.js +12 -5
- package/test/unit/spec/member/util.js +24 -0
- package/test/unit/spec/members/collection.js +120 -0
- package/test/unit/spec/members/index.js +107 -2
- package/test/unit/spec/members/request.js +55 -0
- package/test/unit/spec/members/utils.js +116 -14
- package/test/unit/spec/multistream/mediaRequestManager.ts +19 -6
- package/test/unit/spec/multistream/remoteMedia.ts +66 -2
- package/test/unit/spec/reachability/index.ts +158 -3
- package/test/unit/spec/roap/turnDiscovery.ts +3 -3
- package/dist/hashTree/constants.js +0 -23
- package/dist/hashTree/constants.js.map +0 -1
- package/dist/hashTree/hashTree.js +0 -516
- package/dist/hashTree/hashTree.js.map +0 -1
- package/dist/hashTree/hashTreeParser.js +0 -521
- package/dist/hashTree/hashTreeParser.js.map +0 -1
- package/dist/types/hashTree/constants.d.ts +0 -8
- package/dist/types/hashTree/hashTree.d.ts +0 -128
- package/dist/types/hashTree/hashTreeParser.d.ts +0 -152
- package/src/hashTree/constants.ts +0 -12
- package/src/hashTree/hashTree.ts +0 -460
- package/src/hashTree/hashTreeParser.ts +0 -556
- package/test/unit/spec/hashTree/hashTree.ts +0 -394
- package/test/unit/spec/hashTree/hashTreeParser.ts +0 -156
package/dist/meetings/index.js
CHANGED
|
@@ -439,11 +439,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
439
439
|
}, {
|
|
440
440
|
key: "getCorrespondingMeetingByLocus",
|
|
441
441
|
value: function getCorrespondingMeetingByLocus(data) {
|
|
442
|
-
var _data$
|
|
443
|
-
if (data.eventType === 'locus.state_message' && (_data$stateElementsMe = data.stateElementsMessage) !== null && _data$stateElementsMe !== void 0 && _data$stateElementsMe.locusUrl) {
|
|
444
|
-
return this.meetingCollection.getByKey(_meetings.MEETING_KEY.LOCUS_URL, data.stateElementsMessage.locusUrl);
|
|
445
|
-
}
|
|
446
|
-
|
|
442
|
+
var _data$locus$info, _data$locus, _data$locus$info2;
|
|
447
443
|
// getting meeting by correlationId. This will happen for the new event
|
|
448
444
|
// Either the locus
|
|
449
445
|
// TODO : Add check for the callBack Address
|
|
@@ -526,7 +522,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
526
522
|
meeting = newMeeting;
|
|
527
523
|
|
|
528
524
|
// It's a new meeting so initialize the locus data
|
|
529
|
-
meeting.locusInfo.initialSetup(data.locus
|
|
525
|
+
meeting.locusInfo.initialSetup(data.locus);
|
|
530
526
|
_this2.checkHandleBreakoutLocus(data.locus);
|
|
531
527
|
}).catch(function (e) {
|
|
532
528
|
_loggerProxy.default.logger.error(e);
|
|
@@ -1252,6 +1248,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1252
1248
|
* @param {Object} [meetingInfo] - Pre-fetched complete meeting info
|
|
1253
1249
|
* @param {String} [meetingLookupUrl] - meeting info prefetch url
|
|
1254
1250
|
* @param {string} sessionCorrelationId - the optional specified sessionCorrelationId (callStateForMetrics.sessionCorrelationId) can be provided instead
|
|
1251
|
+
* @param {String} classificationId - If space support classification, it will provide it while start instant meeting
|
|
1255
1252
|
* @returns {Promise<Meeting>} A new Meeting.
|
|
1256
1253
|
* @public
|
|
1257
1254
|
* @memberof Meetings
|
|
@@ -1269,6 +1266,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1269
1266
|
var meetingInfo = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : undefined;
|
|
1270
1267
|
var meetingLookupUrl = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : undefined;
|
|
1271
1268
|
var sessionCorrelationId = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : undefined;
|
|
1269
|
+
var classificationId = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : undefined;
|
|
1272
1270
|
// Validate meeting information based on the provided destination and
|
|
1273
1271
|
// type. This must be performed prior to determining if the meeting is
|
|
1274
1272
|
// found in the collection, as we mutate the destination for hydra person
|
|
@@ -1319,7 +1317,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1319
1317
|
// Validate if a meeting was found.
|
|
1320
1318
|
if (!meeting) {
|
|
1321
1319
|
// Create a meeting based on the normalized destination and type.
|
|
1322
|
-
return _this11.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams, callStateForMetrics, failOnMissingMeetingInfo, meetingInfo, meetingLookupUrl).then(function (createdMeeting) {
|
|
1320
|
+
return _this11.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams, callStateForMetrics, failOnMissingMeetingInfo, meetingInfo, meetingLookupUrl, classificationId).then(function (createdMeeting) {
|
|
1323
1321
|
// If the meeting was successfully created.
|
|
1324
1322
|
if (createdMeeting && createdMeeting.on) {
|
|
1325
1323
|
// Create a destruction event for the meeting.
|
|
@@ -1422,6 +1420,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1422
1420
|
* @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
|
|
1423
1421
|
* @param {Object} [meetingInfo] - Pre-fetched complete meeting info
|
|
1424
1422
|
* @param {String} [meetingLookupUrl] - meeting info prefetch url
|
|
1423
|
+
* @param {String} classificationId see create()
|
|
1425
1424
|
* @returns {Promise} a new meeting instance complete with meeting info and destination
|
|
1426
1425
|
* @private
|
|
1427
1426
|
* @memberof Meetings
|
|
@@ -1430,6 +1429,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1430
1429
|
key: "createMeeting",
|
|
1431
1430
|
value: (function () {
|
|
1432
1431
|
var _createMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(destination) {
|
|
1432
|
+
var _this12 = this;
|
|
1433
1433
|
var type,
|
|
1434
1434
|
useRandomDelayForInfo,
|
|
1435
1435
|
infoExtraParams,
|
|
@@ -1437,6 +1437,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1437
1437
|
failOnMissingMeetingInfo,
|
|
1438
1438
|
meetingInfo,
|
|
1439
1439
|
meetingLookupUrl,
|
|
1440
|
+
classificationId,
|
|
1440
1441
|
meeting,
|
|
1441
1442
|
_destination$fullStat,
|
|
1442
1443
|
waitingTime,
|
|
@@ -1460,6 +1461,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1460
1461
|
failOnMissingMeetingInfo = _args3.length > 5 && _args3[5] !== undefined ? _args3[5] : false;
|
|
1461
1462
|
meetingInfo = _args3.length > 6 && _args3[6] !== undefined ? _args3[6] : undefined;
|
|
1462
1463
|
meetingLookupUrl = _args3.length > 7 && _args3[7] !== undefined ? _args3[7] : undefined;
|
|
1464
|
+
classificationId = _args3.length > 8 && _args3[8] !== undefined ? _args3[8] : undefined;
|
|
1463
1465
|
meeting = new _meeting.default({
|
|
1464
1466
|
// @ts-ignore
|
|
1465
1467
|
userId: this.webex.internal.device.userId,
|
|
@@ -1476,8 +1478,9 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1476
1478
|
}, {
|
|
1477
1479
|
// @ts-ignore
|
|
1478
1480
|
parent: this.webex
|
|
1481
|
+
}, function (newMeeting) {
|
|
1482
|
+
_this12.meetingCollection.set(newMeeting);
|
|
1479
1483
|
});
|
|
1480
|
-
this.meetingCollection.set(meeting);
|
|
1481
1484
|
_context3.prev = 9;
|
|
1482
1485
|
// if no participant has joined the scheduled meeting (meaning meeting is not active) and we get a locusEvent,
|
|
1483
1486
|
// it means the meeting will start in 5-6 min. In that case, we want to fetchMeetingInfo
|
|
@@ -1495,6 +1498,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1495
1498
|
isMeetingActive = !!((_destination$fullStat = destination.fullState) !== null && _destination$fullStat !== void 0 && _destination$fullStat.active); // @ts-ignore
|
|
1496
1499
|
enableUnifiedMeetings = this.config.experimental.enableUnifiedMeetings;
|
|
1497
1500
|
meetingInfoOptions = {
|
|
1501
|
+
classificationId: classificationId,
|
|
1498
1502
|
extraParams: infoExtraParams,
|
|
1499
1503
|
sendCAevents: !!(callStateForMetrics !== null && callStateForMetrics !== void 0 && callStateForMetrics.correlationId) // if client sends correlation id as argument of public create(), then it means that this meeting creation is part of a pre-join intent from user
|
|
1500
1504
|
};
|
|
@@ -1619,7 +1623,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1619
1623
|
}, {
|
|
1620
1624
|
key: "syncMeetings",
|
|
1621
1625
|
value: function syncMeetings() {
|
|
1622
|
-
var
|
|
1626
|
+
var _this13 = this;
|
|
1623
1627
|
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1624
1628
|
_ref3$keepOnlyLocusMe = _ref3.keepOnlyLocusMeetings,
|
|
1625
1629
|
keepOnlyLocusMeetings = _ref3$keepOnlyLocusMe === void 0 ? true : _ref3$keepOnlyLocusMe;
|
|
@@ -1631,16 +1635,16 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1631
1635
|
return this.request.getActiveMeetings().then(function (locusArray) {
|
|
1632
1636
|
var activeLocusUrl = [];
|
|
1633
1637
|
if (locusArray !== null && locusArray !== void 0 && locusArray.loci && locusArray.loci.length > 0) {
|
|
1634
|
-
var lociToUpdate =
|
|
1638
|
+
var lociToUpdate = _this13.sortLocusArrayToUpdate(locusArray.loci);
|
|
1635
1639
|
lociToUpdate.forEach(function (locus) {
|
|
1636
1640
|
activeLocusUrl.push(locus.url);
|
|
1637
|
-
|
|
1641
|
+
_this13.handleLocusEvent({
|
|
1638
1642
|
locus: locus,
|
|
1639
1643
|
locusUrl: locus.url
|
|
1640
1644
|
});
|
|
1641
1645
|
});
|
|
1642
1646
|
}
|
|
1643
|
-
var meetingsCollection =
|
|
1647
|
+
var meetingsCollection = _this13.meetingCollection.getAll();
|
|
1644
1648
|
if ((0, _keys.default)(meetingsCollection).length > 0) {
|
|
1645
1649
|
// Sometimes the mercury events are lost after mercury reconnect
|
|
1646
1650
|
// Remove any Locus meetings that are not returned by Locus
|
|
@@ -1652,7 +1656,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1652
1656
|
if ((keepOnlyLocusMeetings || locusUrl) && !activeLocusUrl.includes(locusUrl)) {
|
|
1653
1657
|
// destroy function also uploads logs
|
|
1654
1658
|
// @ts-ignore
|
|
1655
|
-
|
|
1659
|
+
_this13.destroy(meeting, _constants.MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
|
|
1656
1660
|
}
|
|
1657
1661
|
}
|
|
1658
1662
|
}
|
|
@@ -1672,7 +1676,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1672
1676
|
}, {
|
|
1673
1677
|
key: "sortLocusArrayToUpdate",
|
|
1674
1678
|
value: function sortLocusArrayToUpdate(loci) {
|
|
1675
|
-
var
|
|
1679
|
+
var _this14 = this;
|
|
1676
1680
|
var mainLoci = loci.filter(function (locus) {
|
|
1677
1681
|
return !_util2.default.isBreakoutLocusDTO(locus);
|
|
1678
1682
|
});
|
|
@@ -1686,7 +1690,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1686
1690
|
var _mainLocus$controls, _mainLocus$controls$b, _breakoutLocus$contro, _breakoutLocus$contro2;
|
|
1687
1691
|
return ((_mainLocus$controls = mainLocus.controls) === null || _mainLocus$controls === void 0 ? void 0 : (_mainLocus$controls$b = _mainLocus$controls.breakout) === null || _mainLocus$controls$b === void 0 ? void 0 : _mainLocus$controls$b.url) === ((_breakoutLocus$contro = breakoutLocus.controls) === null || _breakoutLocus$contro === void 0 ? void 0 : (_breakoutLocus$contro2 = _breakoutLocus$contro.breakout) === null || _breakoutLocus$contro2 === void 0 ? void 0 : _breakoutLocus$contro2.url);
|
|
1688
1692
|
});
|
|
1689
|
-
var existCorrespondingMeeting =
|
|
1693
|
+
var existCorrespondingMeeting = _this14.getCorrespondingMeetingByLocus({
|
|
1690
1694
|
locus: breakoutLocus,
|
|
1691
1695
|
locusUrl: breakoutLocus.url
|
|
1692
1696
|
});
|
|
@@ -1694,7 +1698,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1694
1698
|
// if exists both main session and breakout session locus of the same non-exist meeting, handle main locus first,
|
|
1695
1699
|
// after meeting create with main locus, then handle the associate breakout locus.
|
|
1696
1700
|
// if only handle breakout locus, will miss some date
|
|
1697
|
-
|
|
1701
|
+
_this14.breakoutLocusForHandleLater.push(breakoutLocus);
|
|
1698
1702
|
} else {
|
|
1699
1703
|
lociToUpdate.push(breakoutLocus);
|
|
1700
1704
|
}
|