@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.
Files changed (138) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/constants.js +24 -0
  4. package/dist/constants.js.map +1 -1
  5. package/dist/controls-options-manager/index.js +22 -5
  6. package/dist/controls-options-manager/index.js.map +1 -1
  7. package/dist/index.js +2 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/interceptors/index.js +7 -0
  10. package/dist/interceptors/index.js.map +1 -1
  11. package/dist/interceptors/locusRouteToken.js +116 -0
  12. package/dist/interceptors/locusRouteToken.js.map +1 -0
  13. package/dist/interpretation/index.js +1 -1
  14. package/dist/interpretation/siLanguage.js +1 -1
  15. package/dist/locus-info/controlsUtils.js +11 -2
  16. package/dist/locus-info/controlsUtils.js.map +1 -1
  17. package/dist/locus-info/index.js +76 -322
  18. package/dist/locus-info/index.js.map +1 -1
  19. package/dist/locus-info/parser.js +4 -1
  20. package/dist/locus-info/parser.js.map +1 -1
  21. package/dist/media/properties.js +53 -5
  22. package/dist/media/properties.js.map +1 -1
  23. package/dist/meeting/in-meeting-actions.js +14 -0
  24. package/dist/meeting/in-meeting-actions.js.map +1 -1
  25. package/dist/meeting/index.js +467 -277
  26. package/dist/meeting/index.js.map +1 -1
  27. package/dist/meeting/request.js +177 -14
  28. package/dist/meeting/request.js.map +1 -1
  29. package/dist/meeting/type.js +7 -0
  30. package/dist/meeting/type.js.map +1 -0
  31. package/dist/meeting/util.js +100 -3
  32. package/dist/meeting/util.js.map +1 -1
  33. package/dist/meeting-info/meeting-info-v2.js +29 -21
  34. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  35. package/dist/meetings/index.js +20 -16
  36. package/dist/meetings/index.js.map +1 -1
  37. package/dist/member/index.js +9 -0
  38. package/dist/member/index.js.map +1 -1
  39. package/dist/member/util.js +10 -0
  40. package/dist/member/util.js.map +1 -1
  41. package/dist/members/index.js +10 -7
  42. package/dist/members/index.js.map +1 -1
  43. package/dist/members/util.js +7 -2
  44. package/dist/members/util.js.map +1 -1
  45. package/dist/metrics/constants.js +2 -1
  46. package/dist/metrics/constants.js.map +1 -1
  47. package/dist/multistream/mediaRequestManager.js +1 -1
  48. package/dist/multistream/mediaRequestManager.js.map +1 -1
  49. package/dist/multistream/remoteMedia.js +34 -5
  50. package/dist/multistream/remoteMedia.js.map +1 -1
  51. package/dist/multistream/remoteMediaGroup.js +42 -2
  52. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  53. package/dist/reachability/index.js +3 -3
  54. package/dist/reachability/index.js.map +1 -1
  55. package/dist/types/constants.d.ts +23 -0
  56. package/dist/types/controls-options-manager/index.d.ts +9 -1
  57. package/dist/types/interceptors/index.d.ts +2 -1
  58. package/dist/types/interceptors/locusRouteToken.d.ts +38 -0
  59. package/dist/types/locus-info/index.d.ts +9 -54
  60. package/dist/types/media/properties.d.ts +21 -0
  61. package/dist/types/meeting/in-meeting-actions.d.ts +14 -0
  62. package/dist/types/meeting/index.d.ts +64 -29
  63. package/dist/types/meeting/request.d.ts +42 -0
  64. package/dist/types/meeting/type.d.ts +9 -0
  65. package/dist/types/meeting/util.d.ts +13 -0
  66. package/dist/types/meeting-info/meeting-info-v2.d.ts +6 -3
  67. package/dist/types/meetings/index.d.ts +3 -1
  68. package/dist/types/member/index.d.ts +1 -0
  69. package/dist/types/member/util.d.ts +5 -0
  70. package/dist/types/members/index.d.ts +12 -11
  71. package/dist/types/members/util.d.ts +8 -4
  72. package/dist/types/metrics/constants.d.ts +1 -0
  73. package/dist/types/multistream/remoteMedia.d.ts +20 -1
  74. package/dist/types/multistream/remoteMediaGroup.d.ts +11 -0
  75. package/dist/webinar/index.js +1 -1
  76. package/package.json +25 -27
  77. package/src/constants.ts +26 -2
  78. package/src/controls-options-manager/index.ts +26 -5
  79. package/src/index.ts +2 -1
  80. package/src/interceptors/index.ts +2 -1
  81. package/src/interceptors/locusRouteToken.ts +80 -0
  82. package/src/locus-info/controlsUtils.ts +18 -0
  83. package/src/locus-info/index.ts +69 -357
  84. package/src/locus-info/parser.ts +5 -1
  85. package/src/media/properties.ts +43 -0
  86. package/src/meeting/in-meeting-actions.ts +29 -0
  87. package/src/meeting/index.ts +296 -87
  88. package/src/meeting/request.ts +141 -0
  89. package/src/meeting/type.ts +9 -0
  90. package/src/meeting/util.ts +107 -3
  91. package/src/meeting-info/meeting-info-v2.ts +24 -5
  92. package/src/meetings/index.ts +15 -22
  93. package/src/member/index.ts +10 -0
  94. package/src/member/util.ts +14 -0
  95. package/src/members/index.ts +20 -10
  96. package/src/members/util.ts +20 -3
  97. package/src/metrics/constants.ts +1 -0
  98. package/src/multistream/mediaRequestManager.ts +7 -7
  99. package/src/multistream/remoteMedia.ts +34 -4
  100. package/src/multistream/remoteMediaGroup.ts +37 -2
  101. package/src/reachability/index.ts +3 -3
  102. package/test/unit/spec/common/browser-detection.js +0 -24
  103. package/test/unit/spec/controls-options-manager/index.js +47 -0
  104. package/test/unit/spec/fixture/locus.js +1 -0
  105. package/test/unit/spec/interceptors/locusRouteToken.ts +87 -0
  106. package/test/unit/spec/locus-info/index.js +80 -361
  107. package/test/unit/spec/locus-info/parser.js +3 -2
  108. package/test/unit/spec/media/properties.ts +137 -0
  109. package/test/unit/spec/meeting/in-meeting-actions.ts +14 -0
  110. package/test/unit/spec/meeting/index.js +637 -53
  111. package/test/unit/spec/meeting/muteState.js +32 -6
  112. package/test/unit/spec/meeting/request.js +21 -0
  113. package/test/unit/spec/meeting/utils.js +171 -18
  114. package/test/unit/spec/meeting-info/meetinginfov2.js +8 -3
  115. package/test/unit/spec/meetings/index.js +12 -5
  116. package/test/unit/spec/member/util.js +24 -0
  117. package/test/unit/spec/members/collection.js +120 -0
  118. package/test/unit/spec/members/index.js +107 -2
  119. package/test/unit/spec/members/request.js +55 -0
  120. package/test/unit/spec/members/utils.js +116 -14
  121. package/test/unit/spec/multistream/mediaRequestManager.ts +19 -6
  122. package/test/unit/spec/multistream/remoteMedia.ts +66 -2
  123. package/test/unit/spec/reachability/index.ts +158 -3
  124. package/test/unit/spec/roap/turnDiscovery.ts +3 -3
  125. package/dist/hashTree/constants.js +0 -23
  126. package/dist/hashTree/constants.js.map +0 -1
  127. package/dist/hashTree/hashTree.js +0 -516
  128. package/dist/hashTree/hashTree.js.map +0 -1
  129. package/dist/hashTree/hashTreeParser.js +0 -521
  130. package/dist/hashTree/hashTreeParser.js.map +0 -1
  131. package/dist/types/hashTree/constants.d.ts +0 -8
  132. package/dist/types/hashTree/hashTree.d.ts +0 -128
  133. package/dist/types/hashTree/hashTreeParser.d.ts +0 -152
  134. package/src/hashTree/constants.ts +0 -12
  135. package/src/hashTree/hashTree.ts +0 -460
  136. package/src/hashTree/hashTreeParser.ts +0 -556
  137. package/test/unit/spec/hashTree/hashTree.ts +0 -394
  138. package/test/unit/spec/hashTree/hashTreeParser.ts +0 -156
@@ -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$stateElementsMe, _data$locus$info, _data$locus, _data$locus$info2;
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, data.dataSets);
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 _this12 = this;
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 = _this12.sortLocusArrayToUpdate(locusArray.loci);
1638
+ var lociToUpdate = _this13.sortLocusArrayToUpdate(locusArray.loci);
1635
1639
  lociToUpdate.forEach(function (locus) {
1636
1640
  activeLocusUrl.push(locus.url);
1637
- _this12.handleLocusEvent({
1641
+ _this13.handleLocusEvent({
1638
1642
  locus: locus,
1639
1643
  locusUrl: locus.url
1640
1644
  });
1641
1645
  });
1642
1646
  }
1643
- var meetingsCollection = _this12.meetingCollection.getAll();
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
- _this12.destroy(meeting, _constants.MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
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 _this13 = this;
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 = _this13.getCorrespondingMeetingByLocus({
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
- _this13.breakoutLocusForHandleLater.push(breakoutLocus);
1701
+ _this14.breakoutLocusForHandleLater.push(breakoutLocus);
1698
1702
  } else {
1699
1703
  lociToUpdate.push(breakoutLocus);
1700
1704
  }