@webex/plugin-meetings 3.11.0-next.43 → 3.11.0-next.44

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.
@@ -16,7 +16,6 @@ _Object$defineProperty(exports, "__esModule", {
16
16
  value: true
17
17
  });
18
18
  exports.default = exports.ScreenShareFloorStatus = exports.MEDIA_UPDATE_TYPE = void 0;
19
- var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
20
19
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
21
20
  var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
22
21
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
@@ -25,6 +24,7 @@ var _isNan = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/numb
25
24
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
26
25
  var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
27
26
  var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
27
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
28
28
  var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
29
29
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
30
30
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
@@ -636,6 +636,61 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
636
636
  function: 'handleLLMOnline'
637
637
  }, _constants.EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED, undefined);
638
638
  });
639
+ /**
640
+ * Disconnects and cleans up the default LLM session listeners/timers.
641
+ * @param {Object} options
642
+ * @param {boolean} [options.removeOnlineListener=true] removes the one-time online listener
643
+ * @param {boolean} [options.throwOnError=true] rethrows disconnect errors when true
644
+ * @returns {Promise<void>}
645
+ */
646
+ (0, _defineProperty3.default)(_this, "cleanupLLMConneciton", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
647
+ var _ref3,
648
+ _ref3$removeOnlineLis,
649
+ removeOnlineListener,
650
+ _ref3$throwOnError,
651
+ throwOnError,
652
+ _args = arguments,
653
+ _t;
654
+ return _regenerator.default.wrap(function (_context) {
655
+ while (1) switch (_context.prev = _context.next) {
656
+ case 0:
657
+ _ref3 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref3$removeOnlineLis = _ref3.removeOnlineListener, removeOnlineListener = _ref3$removeOnlineLis === void 0 ? true : _ref3$removeOnlineLis, _ref3$throwOnError = _ref3.throwOnError, throwOnError = _ref3$throwOnError === void 0 ? true : _ref3$throwOnError;
658
+ _context.prev = 1;
659
+ _context.next = 2;
660
+ return _this.webex.internal.llm.disconnectLLM({
661
+ code: 3050,
662
+ reason: 'done (permanent)'
663
+ });
664
+ case 2:
665
+ _context.next = 4;
666
+ break;
667
+ case 3:
668
+ _context.prev = 3;
669
+ _t = _context["catch"](1);
670
+ _loggerProxy.default.logger.error('Meeting:index#cleanupLLMConneciton --> Failed to disconnect default LLM session', _t);
671
+ if (!throwOnError) {
672
+ _context.next = 4;
673
+ break;
674
+ }
675
+ throw _t;
676
+ case 4:
677
+ _context.prev = 4;
678
+ if (removeOnlineListener) {
679
+ // @ts-ignore - Fix type
680
+ _this.webex.internal.llm.off('online', _this.handleLLMOnline);
681
+ }
682
+ // @ts-ignore - fix types
683
+ _this.webex.internal.llm.off('event:relay.event', _this.processRelayEvent);
684
+ // @ts-ignore - Fix type
685
+ _this.webex.internal.llm.off(_constants.LOCUS_LLM_EVENT, _this.processLocusLLMEvent);
686
+ _this.clearLLMHealthCheckTimer();
687
+ return _context.finish(4);
688
+ case 5:
689
+ case "end":
690
+ return _context.stop();
691
+ }
692
+ }, _callee, null, [[1, 3, 4, 5]]);
693
+ })));
639
694
  /**
640
695
  * Handles ROAP_FAILURE event from the webrtc media connection
641
696
  *
@@ -821,8 +876,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
821
876
  seq: event.roapMessage.seq,
822
877
  tieBreaker: event.roapMessage.tieBreaker,
823
878
  meeting: _this // or can pass meeting ID
824
- }).then(function (_ref2) {
825
- var roapAnswer = _ref2.roapAnswer;
879
+ }).then(function (_ref4) {
880
+ var roapAnswer = _ref4.roapAnswer;
826
881
  if (roapAnswer) {
827
882
  _loggerProxy.default.logger.log("".concat(LOG_HEADER, " received Roap ANSWER in http response"));
828
883
  _this.roapMessageReceived(roapAnswer);
@@ -1225,32 +1280,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
1225
1280
  * @returns {Promise<void>}
1226
1281
  */
1227
1282
  (0, _defineProperty3.default)(_this, "forceSendStatsReport", /*#__PURE__*/function () {
1228
- var _ref4 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(_ref3) {
1229
- var callFrom, LOG_HEADER, _this$mediaProperties, _this$mediaProperties2, _t;
1230
- return _regenerator.default.wrap(function (_context) {
1231
- while (1) switch (_context.prev = _context.next) {
1283
+ var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(_ref5) {
1284
+ var callFrom, LOG_HEADER, _this$mediaProperties, _this$mediaProperties2, _t2;
1285
+ return _regenerator.default.wrap(function (_context2) {
1286
+ while (1) switch (_context2.prev = _context2.next) {
1232
1287
  case 0:
1233
- callFrom = _ref3.callFrom;
1288
+ callFrom = _ref5.callFrom;
1234
1289
  LOG_HEADER = "Meeting:index#forceSendStatsReport --> called from ".concat(callFrom, " : ");
1235
- _context.prev = 1;
1236
- _context.next = 2;
1290
+ _context2.prev = 1;
1291
+ _context2.next = 2;
1237
1292
  return (_this$mediaProperties = _this.mediaProperties) === null || _this$mediaProperties === void 0 ? void 0 : (_this$mediaProperties2 = _this$mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties2 === void 0 ? void 0 : _this$mediaProperties2.forceRtcMetricsSend();
1238
1293
  case 2:
1239
1294
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " successfully uploaded available webrtc telemetry statistics"));
1240
- _context.next = 4;
1295
+ _context2.next = 4;
1241
1296
  break;
1242
1297
  case 3:
1243
- _context.prev = 3;
1244
- _t = _context["catch"](1);
1245
- _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to upload webrtc telemetry statistics: "), _t);
1298
+ _context2.prev = 3;
1299
+ _t2 = _context2["catch"](1);
1300
+ _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to upload webrtc telemetry statistics: "), _t2);
1246
1301
  case 4:
1247
1302
  case "end":
1248
- return _context.stop();
1303
+ return _context2.stop();
1249
1304
  }
1250
- }, _callee, null, [[1, 3]]);
1305
+ }, _callee2, null, [[1, 3]]);
1251
1306
  }));
1252
1307
  return function (_x) {
1253
- return _ref4.apply(this, arguments);
1308
+ return _ref6.apply(this, arguments);
1254
1309
  };
1255
1310
  }());
1256
1311
  /**
@@ -1310,40 +1365,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
1310
1365
  * @memberof Meeting
1311
1366
  * @returns {undefined}
1312
1367
  */
1313
- (0, _defineProperty3.default)(_this, "handleShareAudioStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
1314
- var _t2;
1315
- return _regenerator.default.wrap(function (_context2) {
1316
- while (1) switch (_context2.prev = _context2.next) {
1368
+ (0, _defineProperty3.default)(_this, "handleShareAudioStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
1369
+ var _t3;
1370
+ return _regenerator.default.wrap(function (_context3) {
1371
+ while (1) switch (_context3.prev = _context3.next) {
1317
1372
  case 0:
1318
1373
  _loggerProxy.default.logger.info("Meeting:index#handleShareAudioStreamEnded --> audio share stream ended");
1319
1374
  // current share audio stream has ended, but there might be an active
1320
1375
  // share video stream. we only leave from wireless share if share has
1321
1376
  // completely ended, which means no share audio or video streams active
1322
1377
  if (!(_this.wirelessShare && !_this.mediaProperties.shareVideoStream)) {
1323
- _context2.next = 1;
1378
+ _context3.next = 1;
1324
1379
  break;
1325
1380
  }
1326
1381
  _this.leave({
1327
1382
  reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
1328
1383
  });
1329
- _context2.next = 4;
1384
+ _context3.next = 4;
1330
1385
  break;
1331
1386
  case 1:
1332
- _context2.prev = 1;
1333
- _context2.next = 2;
1387
+ _context3.prev = 1;
1388
+ _context3.next = 2;
1334
1389
  return _this.unpublishStreams([_this.mediaProperties.shareAudioStream]);
1335
1390
  case 2:
1336
- _context2.next = 4;
1391
+ _context3.next = 4;
1337
1392
  break;
1338
1393
  case 3:
1339
- _context2.prev = 3;
1340
- _t2 = _context2["catch"](1);
1341
- _loggerProxy.default.logger.log('Meeting:index#handleShareAudioStreamEnded --> Error stopping share: ', _t2);
1394
+ _context3.prev = 3;
1395
+ _t3 = _context3["catch"](1);
1396
+ _loggerProxy.default.logger.log('Meeting:index#handleShareAudioStreamEnded --> Error stopping share: ', _t3);
1342
1397
  case 4:
1343
1398
  case "end":
1344
- return _context2.stop();
1399
+ return _context3.stop();
1345
1400
  }
1346
- }, _callee2, null, [[1, 3]]);
1401
+ }, _callee3, null, [[1, 3]]);
1347
1402
  })));
1348
1403
  /**
1349
1404
  * Functionality for when a share video is muted or unmuted.
@@ -1375,42 +1430,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
1375
1430
  * @memberof Meeting
1376
1431
  * @returns {undefined}
1377
1432
  */
1378
- (0, _defineProperty3.default)(_this, "handleShareVideoStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
1379
- var _t3;
1380
- return _regenerator.default.wrap(function (_context3) {
1381
- while (1) switch (_context3.prev = _context3.next) {
1433
+ (0, _defineProperty3.default)(_this, "handleShareVideoStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
1434
+ var _t4;
1435
+ return _regenerator.default.wrap(function (_context4) {
1436
+ while (1) switch (_context4.prev = _context4.next) {
1382
1437
  case 0:
1383
1438
  _loggerProxy.default.logger.info("Meeting:index#handleShareVideoStreamEnded --> video share stream ended");
1384
1439
  // current share video stream has ended, but there might be an active
1385
1440
  // share audio stream. we only leave from wireless share if share has
1386
1441
  // completely ended, which means no share audio or video streams active
1387
1442
  if (!(_this.wirelessShare && !_this.mediaProperties.shareAudioStream)) {
1388
- _context3.next = 1;
1443
+ _context4.next = 1;
1389
1444
  break;
1390
1445
  }
1391
1446
  _this.leave({
1392
1447
  reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
1393
1448
  });
1394
- _context3.next = 4;
1449
+ _context4.next = 4;
1395
1450
  break;
1396
1451
  case 1:
1397
- _context3.prev = 1;
1398
- _context3.next = 2;
1452
+ _context4.prev = 1;
1453
+ _context4.next = 2;
1399
1454
  return _this.unpublishStreams([_this.mediaProperties.shareVideoStream]);
1400
1455
  case 2:
1401
- _context3.next = 4;
1456
+ _context4.next = 4;
1402
1457
  break;
1403
1458
  case 3:
1404
- _context3.prev = 3;
1405
- _t3 = _context3["catch"](1);
1406
- _loggerProxy.default.logger.log('Meeting:index#handleShareVideoStreamEnded --> Error stopping share: ', _t3);
1459
+ _context4.prev = 3;
1460
+ _t4 = _context4["catch"](1);
1461
+ _loggerProxy.default.logger.log('Meeting:index#handleShareVideoStreamEnded --> Error stopping share: ', _t4);
1407
1462
  case 4:
1408
1463
  _this.triggerStoppedSharing();
1409
1464
  case 5:
1410
1465
  case "end":
1411
- return _context3.stop();
1466
+ return _context4.stop();
1412
1467
  }
1413
- }, _callee3, null, [[1, 3]]);
1468
+ }, _callee4, null, [[1, 3]]);
1414
1469
  })));
1415
1470
  /**
1416
1471
  * Emits meeting:stoppedSharingLocal
@@ -1434,26 +1489,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
1434
1489
  * @public
1435
1490
  * @memberof Meeting
1436
1491
  */
1437
- (0, _defineProperty3.default)(_this, "clearMeetingData", function () {
1438
- _this.audio = null;
1439
- _this.video = null;
1440
- _this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
1441
- if (_this.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
1442
- _this.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
1443
- }
1444
- _this.queuedMediaUpdates = [];
1445
- if (_this.transcription) {
1446
- _this.stopTranscription();
1447
- _this.transcription = undefined;
1448
- }
1449
- _this.annotation.deregisterEvents();
1450
-
1451
- // @ts-ignore - fix types
1452
- _this.webex.internal.llm.off('event:relay.event', _this.processRelayEvent);
1453
- // @ts-ignore - Fix type
1454
- _this.webex.internal.llm.off(_constants.LOCUS_LLM_EVENT, _this.processLocusLLMEvent);
1455
- _this.clearLLMHealthCheckTimer();
1456
- });
1492
+ (0, _defineProperty3.default)(_this, "clearMeetingData", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
1493
+ return _regenerator.default.wrap(function (_context5) {
1494
+ while (1) switch (_context5.prev = _context5.next) {
1495
+ case 0:
1496
+ _this.audio = null;
1497
+ _this.video = null;
1498
+ _this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
1499
+ if (_this.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
1500
+ _this.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
1501
+ }
1502
+ _this.queuedMediaUpdates = [];
1503
+ if (_this.transcription) {
1504
+ _this.stopTranscription();
1505
+ _this.transcription = undefined;
1506
+ }
1507
+ _this.annotation.deregisterEvents();
1508
+ _context5.next = 1;
1509
+ return _this.cleanupLLMConneciton({
1510
+ throwOnError: false
1511
+ });
1512
+ case 1:
1513
+ case "end":
1514
+ return _context5.stop();
1515
+ }
1516
+ }, _callee5);
1517
+ })));
1457
1518
  /**
1458
1519
  * starts keepAlives being sent
1459
1520
  * @returns {void}
@@ -2586,20 +2647,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2586
2647
  }, {
2587
2648
  key: "injectMeetingInfo",
2588
2649
  value: (function () {
2589
- var _injectMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(meetingInfo, fetchParams, meetingLookupUrl) {
2590
- return _regenerator.default.wrap(function (_context4) {
2591
- while (1) switch (_context4.prev = _context4.next) {
2650
+ var _injectMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(meetingInfo, fetchParams, meetingLookupUrl) {
2651
+ return _regenerator.default.wrap(function (_context6) {
2652
+ while (1) switch (_context6.prev = _context6.next) {
2592
2653
  case 0:
2593
- _context4.next = 1;
2654
+ _context6.next = 1;
2594
2655
  return this.prepForFetchMeetingInfo(fetchParams, 'injectMeetingInfo');
2595
2656
  case 1:
2596
2657
  this.parseMeetingInfo(meetingInfo, this.destination);
2597
2658
  this.setMeetingInfo(meetingInfo, meetingLookupUrl);
2598
2659
  case 2:
2599
2660
  case "end":
2600
- return _context4.stop();
2661
+ return _context6.stop();
2601
2662
  }
2602
- }, _callee4, this);
2663
+ }, _callee6, this);
2603
2664
  }));
2604
2665
  function injectMeetingInfo(_x2, _x3, _x4) {
2605
2666
  return _injectMeetingInfo.apply(this, arguments);
@@ -2618,15 +2679,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2618
2679
  )
2619
2680
  }, {
2620
2681
  key: "prepForFetchMeetingInfo",
2621
- value: function prepForFetchMeetingInfo(_ref7, caller) {
2622
- var _ref7$password = _ref7.password,
2623
- password = _ref7$password === void 0 ? null : _ref7$password,
2624
- _ref7$registrationId = _ref7.registrationId,
2625
- registrationId = _ref7$registrationId === void 0 ? null : _ref7$registrationId,
2626
- _ref7$captchaCode = _ref7.captchaCode,
2627
- captchaCode = _ref7$captchaCode === void 0 ? null : _ref7$captchaCode,
2628
- _ref7$extraParams = _ref7.extraParams,
2629
- extraParams = _ref7$extraParams === void 0 ? {} : _ref7$extraParams;
2682
+ value: function prepForFetchMeetingInfo(_ref0, caller) {
2683
+ var _ref0$password = _ref0.password,
2684
+ password = _ref0$password === void 0 ? null : _ref0$password,
2685
+ _ref0$registrationId = _ref0.registrationId,
2686
+ registrationId = _ref0$registrationId === void 0 ? null : _ref0$registrationId,
2687
+ _ref0$captchaCode = _ref0.captchaCode,
2688
+ captchaCode = _ref0$captchaCode === void 0 ? null : _ref0$captchaCode,
2689
+ _ref0$extraParams = _ref0.extraParams,
2690
+ extraParams = _ref0$extraParams === void 0 ? {} : _ref0$extraParams;
2630
2691
  // when fetch meeting info is called directly by the client, we want to clear out the random timer for sdk to do it
2631
2692
  if (this.fetchMeetingInfoTimeoutId) {
2632
2693
  clearTimeout(this.fetchMeetingInfoTimeoutId);
@@ -2650,18 +2711,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2650
2711
  }, {
2651
2712
  key: "fetchMeetingInfoInternal",
2652
2713
  value: (function () {
2653
- var _fetchMeetingInfoInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(_ref8) {
2654
- var destination, destinationType, _ref8$password, password, _ref8$captchaCode, captchaCode, _ref8$extraParams, extraParams, _ref8$sendCAevents, sendCAevents, _ref8$registrationId, registrationId, _ref8$classificationI, classificationId, captchaInfo, info, _err$body, _err$body2, _t4;
2655
- return _regenerator.default.wrap(function (_context5) {
2656
- while (1) switch (_context5.prev = _context5.next) {
2714
+ var _fetchMeetingInfoInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(_ref1) {
2715
+ var destination, destinationType, _ref1$password, password, _ref1$captchaCode, captchaCode, _ref1$extraParams, extraParams, _ref1$sendCAevents, sendCAevents, _ref1$registrationId, registrationId, _ref1$classificationI, classificationId, captchaInfo, info, _err$body, _err$body2, _t5;
2716
+ return _regenerator.default.wrap(function (_context7) {
2717
+ while (1) switch (_context7.prev = _context7.next) {
2657
2718
  case 0:
2658
- destination = _ref8.destination, destinationType = _ref8.destinationType, _ref8$password = _ref8.password, password = _ref8$password === void 0 ? null : _ref8$password, _ref8$captchaCode = _ref8.captchaCode, captchaCode = _ref8$captchaCode === void 0 ? null : _ref8$captchaCode, _ref8$extraParams = _ref8.extraParams, extraParams = _ref8$extraParams === void 0 ? {} : _ref8$extraParams, _ref8$sendCAevents = _ref8.sendCAevents, sendCAevents = _ref8$sendCAevents === void 0 ? false : _ref8$sendCAevents, _ref8$registrationId = _ref8.registrationId, registrationId = _ref8$registrationId === void 0 ? null : _ref8$registrationId, _ref8$classificationI = _ref8.classificationId, classificationId = _ref8$classificationI === void 0 ? null : _ref8$classificationI;
2659
- _context5.prev = 1;
2719
+ destination = _ref1.destination, destinationType = _ref1.destinationType, _ref1$password = _ref1.password, password = _ref1$password === void 0 ? null : _ref1$password, _ref1$captchaCode = _ref1.captchaCode, captchaCode = _ref1$captchaCode === void 0 ? null : _ref1$captchaCode, _ref1$extraParams = _ref1.extraParams, extraParams = _ref1$extraParams === void 0 ? {} : _ref1$extraParams, _ref1$sendCAevents = _ref1.sendCAevents, sendCAevents = _ref1$sendCAevents === void 0 ? false : _ref1$sendCAevents, _ref1$registrationId = _ref1.registrationId, registrationId = _ref1$registrationId === void 0 ? null : _ref1$registrationId, _ref1$classificationI = _ref1.classificationId, classificationId = _ref1$classificationI === void 0 ? null : _ref1$classificationI;
2720
+ _context7.prev = 1;
2660
2721
  captchaInfo = captchaCode ? {
2661
2722
  code: captchaCode,
2662
2723
  id: this.requiredCaptcha.captchaId
2663
2724
  } : null;
2664
- _context5.next = 2;
2725
+ _context7.next = 2;
2665
2726
  return this.attrs.meetingInfoProvider.fetchMeetingInfo(destination, destinationType, password, captchaInfo,
2666
2727
  // @ts-ignore - config coming from registerPlugin
2667
2728
  this.config.installedOrgID, this.locusId, extraParams, {
@@ -2669,112 +2730,112 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2669
2730
  sendCAevents: sendCAevents
2670
2731
  }, registrationId, null, classificationId);
2671
2732
  case 2:
2672
- info = _context5.sent;
2733
+ info = _context7.sent;
2673
2734
  this.parseMeetingInfo(info === null || info === void 0 ? void 0 : info.body, this.destination, info === null || info === void 0 ? void 0 : info.errors);
2674
2735
  this.setMeetingInfo(info === null || info === void 0 ? void 0 : info.body, info === null || info === void 0 ? void 0 : info.url);
2675
- return _context5.abrupt("return", _promise.default.resolve());
2736
+ return _context7.abrupt("return", _promise.default.resolve());
2676
2737
  case 3:
2677
- _context5.prev = 3;
2678
- _t4 = _context5["catch"](1);
2738
+ _context7.prev = 3;
2739
+ _t5 = _context7["catch"](1);
2679
2740
  this.updateMeetingActions();
2680
- if (!(_t4 instanceof _meetingInfoV.MeetingInfoV2PolicyError)) {
2681
- _context5.next = 4;
2741
+ if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2PolicyError)) {
2742
+ _context7.next = 4;
2682
2743
  break;
2683
2744
  }
2684
2745
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.POLICY;
2685
- this.meetingInfoFailureCode = _t4.wbxAppApiCode;
2686
- if (_t4.meetingInfo) {
2687
- this.meetingInfo = _t4.meetingInfo;
2746
+ this.meetingInfoFailureCode = _t5.wbxAppApiCode;
2747
+ if (_t5.meetingInfo) {
2748
+ this.meetingInfo = _t5.meetingInfo;
2688
2749
  }
2689
2750
  throw new _permission.default();
2690
2751
  case 4:
2691
- if (!(_t4 instanceof _meetingInfoV.MeetingInfoV2JoinWebinarError)) {
2692
- _context5.next = 5;
2752
+ if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2JoinWebinarError)) {
2753
+ _context7.next = 5;
2693
2754
  break;
2694
2755
  }
2695
2756
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_REGISTRATION;
2696
- if (_constants.WEBINAR_ERROR_WEBCAST.includes(_t4.wbxAppApiCode)) {
2757
+ if (_constants.WEBINAR_ERROR_WEBCAST.includes(_t5.wbxAppApiCode)) {
2697
2758
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NEED_JOIN_WITH_WEBCAST;
2698
- } else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(_t4.wbxAppApiCode)) {
2759
+ } else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(_t5.wbxAppApiCode)) {
2699
2760
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_NEED_REGISTRATION_ID;
2700
2761
  }
2701
- this.meetingInfoFailureCode = _t4.wbxAppApiCode;
2702
- if (_t4.meetingInfo) {
2703
- this.meetingInfo = _t4.meetingInfo;
2762
+ this.meetingInfoFailureCode = _t5.wbxAppApiCode;
2763
+ if (_t5.meetingInfo) {
2764
+ this.meetingInfo = _t5.meetingInfo;
2704
2765
  }
2705
2766
  this.requiredCaptcha = null;
2706
2767
  throw new _joinWebinarError.default();
2707
2768
  case 5:
2708
- if (!(_t4 instanceof _meetingInfoV.MeetingInfoV2JoinForbiddenError)) {
2709
- _context5.next = 6;
2769
+ if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2JoinForbiddenError)) {
2770
+ _context7.next = 6;
2710
2771
  break;
2711
2772
  }
2712
2773
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.JOIN_FORBIDDEN;
2713
- this.meetingInfoFailureCode = _t4.wbxAppApiCode;
2714
- if (_t4.meetingInfo) {
2715
- this.meetingInfo = _t4.meetingInfo;
2774
+ this.meetingInfoFailureCode = _t5.wbxAppApiCode;
2775
+ if (_t5.meetingInfo) {
2776
+ this.meetingInfo = _t5.meetingInfo;
2716
2777
  }
2717
2778
 
2718
2779
  // Handle the case where user hasn't reached Join Before Host (JBH) time (error code 403003)
2719
- if (_constants.JOIN_BEFORE_HOST === _t4.wbxAppApiCode) {
2780
+ if (_constants.JOIN_BEFORE_HOST === _t5.wbxAppApiCode) {
2720
2781
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NOT_REACH_JBH;
2721
2782
  }
2722
- throw new _joinForbiddenError.default(this.meetingInfoFailureReason, _t4);
2783
+ throw new _joinForbiddenError.default(this.meetingInfoFailureReason, _t5);
2723
2784
  case 6:
2724
- if (!(_t4 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
2725
- _context5.next = 8;
2785
+ if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
2786
+ _context7.next = 8;
2726
2787
  break;
2727
2788
  }
2728
2789
  _loggerProxy.default.logger.info(// @ts-ignore
2729
- "Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - password required (code=").concat(_t4 === null || _t4 === void 0 ? void 0 : (_err$body = _t4.body) === null || _err$body === void 0 ? void 0 : _err$body.code, ")."));
2790
+ "Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - password required (code=").concat(_t5 === null || _t5 === void 0 ? void 0 : (_err$body = _t5.body) === null || _err$body === void 0 ? void 0 : _err$body.code, ")."));
2730
2791
 
2731
2792
  // when wbxappapi requires password it still populates partial meeting info in the response
2732
- if (_t4.meetingInfo) {
2733
- this.meetingInfo = _t4.meetingInfo;
2734
- this.meetingNumber = _t4.meetingInfo.meetingNumber;
2793
+ if (_t5.meetingInfo) {
2794
+ this.meetingInfo = _t5.meetingInfo;
2795
+ this.meetingNumber = _t5.meetingInfo.meetingNumber;
2735
2796
  }
2736
- this.meetingInfoFailureCode = _t4.wbxAppApiCode;
2797
+ this.meetingInfoFailureCode = _t5.wbxAppApiCode;
2737
2798
  this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
2738
2799
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
2739
2800
  if (!this.requiredCaptcha) {
2740
- _context5.next = 7;
2801
+ _context7.next = 7;
2741
2802
  break;
2742
2803
  }
2743
- _context5.next = 7;
2804
+ _context7.next = 7;
2744
2805
  return this.refreshCaptcha();
2745
2806
  case 7:
2746
2807
  throw new _passwordError.default();
2747
2808
  case 8:
2748
- if (!(_t4 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
2749
- _context5.next = 9;
2809
+ if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
2810
+ _context7.next = 9;
2750
2811
  break;
2751
2812
  }
2752
2813
  _loggerProxy.default.logger.info(// @ts-ignore
2753
- "Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - captcha required (code=").concat(_t4 === null || _t4 === void 0 ? void 0 : (_err$body2 = _t4.body) === null || _err$body2 === void 0 ? void 0 : _err$body2.code, ")."));
2814
+ "Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - captcha required (code=").concat(_t5 === null || _t5 === void 0 ? void 0 : (_err$body2 = _t5.body) === null || _err$body2 === void 0 ? void 0 : _err$body2.code, ")."));
2754
2815
  if (this.requiredCaptcha) {
2755
2816
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_CAPTCHA;
2756
- } else if (_t4.isRegistrationIdRequired) {
2817
+ } else if (_t5.isRegistrationIdRequired) {
2757
2818
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_REGISTRATION_ID;
2758
2819
  } else {
2759
2820
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
2760
2821
  }
2761
- this.meetingInfoFailureCode = _t4.wbxAppApiCode;
2762
- if (_t4.isPasswordRequired) {
2822
+ this.meetingInfoFailureCode = _t5.wbxAppApiCode;
2823
+ if (_t5.isPasswordRequired) {
2763
2824
  this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
2764
2825
  }
2765
- if (_t4.isRegistrationIdRequired) {
2826
+ if (_t5.isRegistrationIdRequired) {
2766
2827
  this.registrationIdStatus = _constants.REGISTRATION_ID_STATUS.REQUIRED;
2767
2828
  }
2768
- this.requiredCaptcha = _t4.captchaInfo;
2829
+ this.requiredCaptcha = _t5.captchaInfo;
2769
2830
  throw new _captchaError.default();
2770
2831
  case 9:
2771
2832
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
2772
- throw _t4;
2833
+ throw _t5;
2773
2834
  case 10:
2774
2835
  case "end":
2775
- return _context5.stop();
2836
+ return _context7.stop();
2776
2837
  }
2777
- }, _callee5, this, [[1, 3]]);
2838
+ }, _callee7, this, [[1, 3]]);
2778
2839
  }));
2779
2840
  function fetchMeetingInfoInternal(_x5) {
2780
2841
  return _fetchMeetingInfoInternal.apply(this, arguments);
@@ -2791,18 +2852,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2791
2852
  }, {
2792
2853
  key: "refreshPermissionToken",
2793
2854
  value: (function () {
2794
- var _refreshPermissionToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(reason) {
2855
+ var _refreshPermissionToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(reason) {
2795
2856
  var _this$meetingInfo;
2796
- var isStartingSpaceInstantV2Meeting, destination, destinationType, permissionTokenExpiryInfo, timeLeft, expiryTime, currentTime, _t5;
2797
- return _regenerator.default.wrap(function (_context6) {
2798
- while (1) switch (_context6.prev = _context6.next) {
2857
+ var isStartingSpaceInstantV2Meeting, destination, destinationType, permissionTokenExpiryInfo, timeLeft, expiryTime, currentTime, _t6;
2858
+ return _regenerator.default.wrap(function (_context8) {
2859
+ while (1) switch (_context8.prev = _context8.next) {
2799
2860
  case 0:
2800
2861
  if ((_this$meetingInfo = this.meetingInfo) !== null && _this$meetingInfo !== void 0 && _this$meetingInfo.permissionToken) {
2801
- _context6.next = 1;
2862
+ _context8.next = 1;
2802
2863
  break;
2803
2864
  }
2804
2865
  _loggerProxy.default.logger.info("Meeting:index#refreshPermissionToken --> cannot refresh the permission token, because we don't have it (reason=".concat(reason, ")"));
2805
- return _context6.abrupt("return");
2866
+ return _context8.abrupt("return");
2806
2867
  case 1:
2807
2868
  isStartingSpaceInstantV2Meeting = this.destinationType === _constants.DESTINATION_TYPE.CONVERSATION_URL &&
2808
2869
  // @ts-ignore - config coming from registerPlugin
@@ -2824,8 +2885,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2824
2885
  reason: reason,
2825
2886
  destinationType: destinationType
2826
2887
  });
2827
- _context6.prev = 2;
2828
- _context6.next = 3;
2888
+ _context8.prev = 2;
2889
+ _context8.next = 3;
2829
2890
  return this.fetchMeetingInfoInternal({
2830
2891
  destination: destination,
2831
2892
  destinationType: destinationType,
@@ -2835,23 +2896,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2835
2896
  sendCAevents: true // because if we're refreshing the permissionToken, it means that user is intending to join that meeting, so we want CA events
2836
2897
  });
2837
2898
  case 3:
2838
- _context6.next = 5;
2899
+ _context8.next = 5;
2839
2900
  break;
2840
2901
  case 4:
2841
- _context6.prev = 4;
2842
- _t5 = _context6["catch"](2);
2843
- _loggerProxy.default.logger.info('Meeting:index#refreshPermissionToken --> failed to refresh the permission token:', _t5);
2902
+ _context8.prev = 4;
2903
+ _t6 = _context8["catch"](2);
2904
+ _loggerProxy.default.logger.info('Meeting:index#refreshPermissionToken --> failed to refresh the permission token:', _t6);
2844
2905
  _metrics.default.sendBehavioralMetric(_constants2.default.PERMISSION_TOKEN_REFRESH_ERROR, {
2845
2906
  correlationId: this.correlationId,
2846
- reason: _t5.message,
2847
- stack: _t5.stack
2907
+ reason: _t6.message,
2908
+ stack: _t6.stack
2848
2909
  });
2849
- throw _t5;
2910
+ throw _t6;
2850
2911
  case 5:
2851
2912
  case "end":
2852
- return _context6.stop();
2913
+ return _context8.stop();
2853
2914
  }
2854
- }, _callee6, this, [[2, 4]]);
2915
+ }, _callee8, this, [[2, 4]]);
2855
2916
  }));
2856
2917
  function refreshPermissionToken(_x6) {
2857
2918
  return _refreshPermissionToken.apply(this, arguments);
@@ -2872,22 +2933,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2872
2933
  }, {
2873
2934
  key: "fetchMeetingInfo",
2874
2935
  value: (function () {
2875
- var _fetchMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(options) {
2876
- return _regenerator.default.wrap(function (_context7) {
2877
- while (1) switch (_context7.prev = _context7.next) {
2936
+ var _fetchMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(options) {
2937
+ return _regenerator.default.wrap(function (_context9) {
2938
+ while (1) switch (_context9.prev = _context9.next) {
2878
2939
  case 0:
2879
- _context7.next = 1;
2940
+ _context9.next = 1;
2880
2941
  return this.prepForFetchMeetingInfo(options, 'fetchMeetingInfo');
2881
2942
  case 1:
2882
- return _context7.abrupt("return", this.fetchMeetingInfoInternal(_objectSpread({
2943
+ return _context9.abrupt("return", this.fetchMeetingInfoInternal(_objectSpread({
2883
2944
  destination: this.destination,
2884
2945
  destinationType: this.destinationType
2885
2946
  }, options)));
2886
2947
  case 2:
2887
2948
  case "end":
2888
- return _context7.stop();
2949
+ return _context9.stop();
2889
2950
  }
2890
- }, _callee7, this);
2951
+ }, _callee9, this);
2891
2952
  }));
2892
2953
  function fetchMeetingInfo(_x7) {
2893
2954
  return _fetchMeetingInfo.apply(this, arguments);
@@ -3413,10 +3474,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3413
3474
  key: "setupLocusControlsListener",
3414
3475
  value: function setupLocusControlsListener() {
3415
3476
  var _this12 = this;
3416
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (_ref9) {
3417
- var state = _ref9.state,
3418
- modifiedBy = _ref9.modifiedBy,
3419
- lastModified = _ref9.lastModified;
3477
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (_ref10) {
3478
+ var state = _ref10.state,
3479
+ modifiedBy = _ref10.modifiedBy,
3480
+ lastModified = _ref10.lastModified;
3420
3481
  var event;
3421
3482
  switch (state) {
3422
3483
  case _constants.RECORDING_STATE.RECORDING:
@@ -3447,8 +3508,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3447
3508
  function: 'setupLocusControlsListener'
3448
3509
  }, event, _this12.recording);
3449
3510
  });
3450
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (_ref0) {
3451
- var meetingContainerUrl = _ref0.meetingContainerUrl;
3511
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (_ref11) {
3512
+ var meetingContainerUrl = _ref11.meetingContainerUrl;
3452
3513
  _triggerProxy.default.trigger(_this12, {
3453
3514
  file: 'meeting/index',
3454
3515
  function: 'setupLocusControlsListener'
@@ -3456,9 +3517,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3456
3517
  meetingContainerUrl: meetingContainerUrl
3457
3518
  });
3458
3519
  });
3459
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (_ref1) {
3460
- var caption = _ref1.caption,
3461
- transcribing = _ref1.transcribing;
3520
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (_ref12) {
3521
+ var caption = _ref12.caption,
3522
+ transcribing = _ref12.transcribing;
3462
3523
  // user need to be joined to start the llm and receive transcription
3463
3524
  if (_this12.isJoined()) {
3464
3525
  // @ts-ignore - config coming from registerPlugin
@@ -3475,8 +3536,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3475
3536
  }
3476
3537
  }
3477
3538
  });
3478
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (_ref10) {
3479
- var spokenLanguage = _ref10.spokenLanguage;
3539
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (_ref13) {
3540
+ var spokenLanguage = _ref13.spokenLanguage;
3480
3541
  if (spokenLanguage) {
3481
3542
  var _this12$transcription;
3482
3543
  if ((_this12$transcription = _this12.transcription) !== null && _this12$transcription !== void 0 && _this12$transcription.languageOptions) {
@@ -3493,8 +3554,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3493
3554
  });
3494
3555
  }
3495
3556
  });
3496
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (_ref11) {
3497
- var enable = _ref11.enable;
3557
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (_ref14) {
3558
+ var enable = _ref14.enable;
3498
3559
  _triggerProxy.default.trigger(_this12, {
3499
3560
  file: 'meeting/index',
3500
3561
  function: 'setupLocusControlsListener'
@@ -3502,31 +3563,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3502
3563
  enable: enable
3503
3564
  });
3504
3565
  });
3505
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED, function (_ref12) {
3506
- var hesiodLlmId = _ref12.hesiodLlmId;
3566
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED, function (_ref15) {
3567
+ var hesiodLlmId = _ref15.hesiodLlmId;
3507
3568
  if (hesiodLlmId) {
3508
3569
  // @ts-ignore
3509
3570
  _this12.webex.internal.voicea.onCaptionServiceIdUpdate(hesiodLlmId);
3510
3571
  }
3511
3572
  });
3512
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref13) {
3513
- var breakout = _ref13.breakout;
3573
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref16) {
3574
+ var breakout = _ref16.breakout;
3514
3575
  _this12.breakouts.updateBreakout(breakout);
3515
3576
  _triggerProxy.default.trigger(_this12, {
3516
3577
  file: 'meeting/index',
3517
3578
  function: 'setupLocusControlsListener'
3518
3579
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
3519
3580
  });
3520
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref14) {
3521
- var interpretation = _ref14.interpretation;
3581
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref17) {
3582
+ var interpretation = _ref17.interpretation;
3522
3583
  _this12.simultaneousInterpretation.updateInterpretation(interpretation);
3523
3584
  _triggerProxy.default.trigger(_this12, {
3524
3585
  file: 'meeting/index',
3525
3586
  function: 'setupLocusControlsListener'
3526
3587
  }, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
3527
3588
  });
3528
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref15) {
3529
- var entryExitTone = _ref15.entryExitTone;
3589
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref18) {
3590
+ var entryExitTone = _ref18.entryExitTone;
3530
3591
  _triggerProxy.default.trigger(_this12, {
3531
3592
  file: 'meeting/index',
3532
3593
  function: 'setupLocusControlsListener'
@@ -3534,8 +3595,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3534
3595
  entryExitTone: entryExitTone
3535
3596
  });
3536
3597
  });
3537
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref16) {
3538
- var state = _ref16.state;
3598
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref19) {
3599
+ var state = _ref19.state;
3539
3600
  _triggerProxy.default.trigger(_this12, {
3540
3601
  file: 'meeting/index',
3541
3602
  function: 'setupLocusControlsListener'
@@ -3543,8 +3604,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3543
3604
  state: state
3544
3605
  });
3545
3606
  });
3546
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref17) {
3547
- var state = _ref17.state;
3607
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref20) {
3608
+ var state = _ref20.state;
3548
3609
  _triggerProxy.default.trigger(_this12, {
3549
3610
  file: 'meeting/index',
3550
3611
  function: 'setupLocusControlsListener'
@@ -3552,8 +3613,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3552
3613
  state: state
3553
3614
  });
3554
3615
  });
3555
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref18) {
3556
- var state = _ref18.state;
3616
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref21) {
3617
+ var state = _ref21.state;
3557
3618
  _triggerProxy.default.trigger(_this12, {
3558
3619
  file: 'meeting/index',
3559
3620
  function: 'setupLocusControlsListener'
@@ -3561,8 +3622,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3561
3622
  state: state
3562
3623
  });
3563
3624
  });
3564
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref19) {
3565
- var state = _ref19.state;
3625
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref22) {
3626
+ var state = _ref22.state;
3566
3627
  _triggerProxy.default.trigger(_this12, {
3567
3628
  file: 'meeting/index',
3568
3629
  function: 'setupLocusControlsListener'
@@ -3570,8 +3631,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3570
3631
  state: state
3571
3632
  });
3572
3633
  });
3573
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref20) {
3574
- var state = _ref20.state;
3634
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref23) {
3635
+ var state = _ref23.state;
3575
3636
  _triggerProxy.default.trigger(_this12, {
3576
3637
  file: 'meeting/index',
3577
3638
  function: 'setupLocusControlsListener'
@@ -3579,8 +3640,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3579
3640
  state: state
3580
3641
  });
3581
3642
  });
3582
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref21) {
3583
- var state = _ref21.state;
3643
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref24) {
3644
+ var state = _ref24.state;
3584
3645
  _triggerProxy.default.trigger(_this12, {
3585
3646
  file: 'meeting/index',
3586
3647
  function: 'setupLocusControlsListener'
@@ -3588,8 +3649,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3588
3649
  state: state
3589
3650
  });
3590
3651
  });
3591
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED, function (_ref22) {
3592
- var aiSummaryNotification = _ref22.aiSummaryNotification;
3652
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED, function (_ref25) {
3653
+ var aiSummaryNotification = _ref25.aiSummaryNotification;
3593
3654
  _triggerProxy.default.trigger(_this12, {
3594
3655
  file: 'meeting/index',
3595
3656
  function: 'setupLocusControlsListener'
@@ -3597,8 +3658,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3597
3658
  aiSummaryNotification: aiSummaryNotification
3598
3659
  });
3599
3660
  });
3600
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref23) {
3601
- var state = _ref23.state;
3661
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref26) {
3662
+ var state = _ref26.state;
3602
3663
  _triggerProxy.default.trigger(_this12, {
3603
3664
  file: 'meeting/index',
3604
3665
  function: 'setupLocusControlsListener'
@@ -3606,8 +3667,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3606
3667
  state: state
3607
3668
  });
3608
3669
  });
3609
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref24) {
3610
- var state = _ref24.state;
3670
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref27) {
3671
+ var state = _ref27.state;
3611
3672
  _triggerProxy.default.trigger(_this12, {
3612
3673
  file: 'meeting/index',
3613
3674
  function: 'setupLocusControlsListener'
@@ -3615,8 +3676,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3615
3676
  state: state
3616
3677
  });
3617
3678
  });
3618
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref25) {
3619
- var state = _ref25.state;
3679
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref28) {
3680
+ var state = _ref28.state;
3620
3681
  _this12.webinar.updatePracticeSessionStatus(state);
3621
3682
  _triggerProxy.default.trigger(_this12, {
3622
3683
  file: 'meeting/index',
@@ -3625,8 +3686,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3625
3686
  state: state
3626
3687
  });
3627
3688
  });
3628
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref26) {
3629
- var state = _ref26.state;
3689
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref29) {
3690
+ var state = _ref29.state;
3630
3691
  _triggerProxy.default.trigger(_this12, {
3631
3692
  file: 'meeting/index',
3632
3693
  function: 'setupLocusControlsListener'
@@ -3634,8 +3695,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3634
3695
  state: state
3635
3696
  });
3636
3697
  });
3637
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref27) {
3638
- var state = _ref27.state;
3698
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref30) {
3699
+ var state = _ref30.state;
3639
3700
  _triggerProxy.default.trigger(_this12, {
3640
3701
  file: 'meeting/index',
3641
3702
  function: 'setupLocusControlsListener'
@@ -3643,8 +3704,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3643
3704
  state: state
3644
3705
  });
3645
3706
  });
3646
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (_ref28) {
3647
- var state = _ref28.state;
3707
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (_ref31) {
3708
+ var state = _ref31.state;
3648
3709
  _triggerProxy.default.trigger(_this12, {
3649
3710
  file: 'meeting/index',
3650
3711
  function: 'setupLocusControlsListener'
@@ -3652,8 +3713,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3652
3713
  state: state
3653
3714
  });
3654
3715
  });
3655
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (_ref29) {
3656
- var state = _ref29.state;
3716
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (_ref32) {
3717
+ var state = _ref32.state;
3657
3718
  _triggerProxy.default.trigger(_this12, {
3658
3719
  file: 'meeting/index',
3659
3720
  function: 'setupLocusControlsListener'
@@ -3661,8 +3722,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3661
3722
  state: state
3662
3723
  });
3663
3724
  });
3664
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (_ref30) {
3665
- var state = _ref30.state;
3725
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (_ref33) {
3726
+ var state = _ref33.state;
3666
3727
  _triggerProxy.default.trigger(_this12, {
3667
3728
  file: 'meeting/index',
3668
3729
  function: 'setupLocusControlsListener'
@@ -3670,8 +3731,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3670
3731
  state: state
3671
3732
  });
3672
3733
  });
3673
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (_ref31) {
3674
- var state = _ref31.state;
3734
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (_ref34) {
3735
+ var state = _ref34.state;
3675
3736
  _triggerProxy.default.trigger(_this12, {
3676
3737
  file: 'meeting/index',
3677
3738
  function: 'setupLocusControlsListener'
@@ -3718,21 +3779,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3718
3779
  var _this13 = this;
3719
3780
  // Will get triggered on local and remote share
3720
3781
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
3721
- var _ref32 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
3782
+ var _ref35 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(payload) {
3722
3783
  var _payload$previous, _payload$previous2;
3723
- var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this13$locusInfo, _this13$locusInfo$inf, _this13$webinar, oldShareStatus, sendStartedSharingRemote, _this13$mediaProperti, _t6, _t7;
3724
- return _regenerator.default.wrap(function (_context8) {
3725
- while (1) switch (_context8.prev = _context8.next) {
3784
+ var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this13$locusInfo, _this13$locusInfo$inf, _this13$webinar, oldShareStatus, sendStartedSharingRemote, _this13$mediaProperti, _t7, _t8;
3785
+ return _regenerator.default.wrap(function (_context0) {
3786
+ while (1) switch (_context0.prev = _context0.next) {
3726
3787
  case 0:
3727
3788
  _payload$current = payload.current, contentShare = _payload$current.content, whiteboardShare = _payload$current.whiteboard;
3728
3789
  previousContentShare = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
3729
3790
  previousWhiteboardShare = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
3730
3791
  _this13.triggerAnnotationInfoEvent(contentShare, previousContentShare);
3731
3792
  if (!(!payload.forceUpdate && contentShare.beneficiaryId === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.beneficiaryId) && contentShare.disposition === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.disposition) && contentShare.deviceUrlSharing === previousContentShare.deviceUrlSharing && whiteboardShare.beneficiaryId === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.beneficiaryId) && whiteboardShare.disposition === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.disposition) && whiteboardShare.resourceUrl === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.resourceUrl) && contentShare.resourceType === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.resourceType))) {
3732
- _context8.next = 1;
3793
+ _context0.next = 1;
3733
3794
  break;
3734
3795
  }
3735
- return _context8.abrupt("return");
3796
+ return _context0.abrupt("return");
3736
3797
  case 1:
3737
3798
  newShareStatus = _this13.shareStatus; // REMOTE - check if remote started sharing
3738
3799
  if (_this13.selfId !== contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
@@ -3770,22 +3831,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3770
3831
  }
3771
3832
  _loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this13.shareStatus, " newShareStatus=").concat(newShareStatus));
3772
3833
  if (!(newShareStatus !== _this13.shareStatus)) {
3773
- _context8.next = 17;
3834
+ _context0.next = 17;
3774
3835
  break;
3775
3836
  }
3776
3837
  oldShareStatus = _this13.shareStatus; // update our state before we send out any notifications
3777
3838
  _this13.shareStatus = newShareStatus;
3778
3839
 
3779
3840
  // send out "stop" notifications for the old state
3780
- _t6 = oldShareStatus;
3781
- _context8.next = _t6 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 2 : _t6 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 3 : _t6 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 4 : _t6 === _constants.SHARE_STATUS.NO_SHARE ? 5 : 6;
3841
+ _t7 = oldShareStatus;
3842
+ _context0.next = _t7 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 2 : _t7 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 3 : _t7 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 4 : _t7 === _constants.SHARE_STATUS.NO_SHARE ? 5 : 6;
3782
3843
  break;
3783
3844
  case 2:
3784
3845
  _triggerProxy.default.trigger(_this13, {
3785
3846
  file: 'meetings/index',
3786
3847
  function: 'remoteShare'
3787
3848
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
3788
- return _context8.abrupt("continue", 7);
3849
+ return _context0.abrupt("continue", 7);
3789
3850
  case 3:
3790
3851
  _triggerProxy.default.trigger(_this13, {
3791
3852
  file: 'meeting/index',
@@ -3793,7 +3854,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3793
3854
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
3794
3855
  reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
3795
3856
  });
3796
- return _context8.abrupt("continue", 7);
3857
+ return _context0.abrupt("continue", 7);
3797
3858
  case 4:
3798
3859
  _triggerProxy.default.trigger(_this13, {
3799
3860
  file: 'meeting/index',
@@ -3816,14 +3877,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3816
3877
  meetingId: _this13.id
3817
3878
  }
3818
3879
  });
3819
- return _context8.abrupt("continue", 7);
3880
+ return _context0.abrupt("continue", 7);
3820
3881
  case 5:
3821
- return _context8.abrupt("continue", 7);
3882
+ return _context0.abrupt("continue", 7);
3822
3883
  case 6:
3823
- return _context8.abrupt("continue", 7);
3884
+ return _context0.abrupt("continue", 7);
3824
3885
  case 7:
3825
- _t7 = newShareStatus;
3826
- _context8.next = _t7 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 8 : _t7 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 12 : _t7 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 13 : _t7 === _constants.SHARE_STATUS.NO_SHARE ? 14 : 15;
3886
+ _t8 = newShareStatus;
3887
+ _context0.next = _t8 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 8 : _t8 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 12 : _t8 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 13 : _t8 === _constants.SHARE_STATUS.NO_SHARE ? 14 : 15;
3827
3888
  break;
3828
3889
  case 8:
3829
3890
  sendStartedSharingRemote = function sendStartedSharingRemote() {
@@ -3849,19 +3910,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3849
3910
  resourceType: contentShare.resourceType
3850
3911
  });
3851
3912
  };
3852
- _context8.prev = 9;
3913
+ _context0.prev = 9;
3853
3914
  if (!((_this13$mediaProperti = _this13.mediaProperties.mediaDirection) !== null && _this13$mediaProperti !== void 0 && _this13$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
3854
- _context8.next = 10;
3915
+ _context0.next = 10;
3855
3916
  break;
3856
3917
  }
3857
- _context8.next = 10;
3918
+ _context0.next = 10;
3858
3919
  return _this13.unpublishStreams([_this13.mediaProperties.shareVideoStream, _this13.mediaProperties.shareAudioStream]);
3859
3920
  case 10:
3860
- _context8.prev = 10;
3921
+ _context0.prev = 10;
3861
3922
  sendStartedSharingRemote();
3862
- return _context8.finish(10);
3923
+ return _context0.finish(10);
3863
3924
  case 11:
3864
- return _context8.abrupt("continue", 16);
3925
+ return _context0.abrupt("continue", 16);
3865
3926
  case 12:
3866
3927
  _triggerProxy.default.trigger(_this13, {
3867
3928
  file: 'meeting/index',
@@ -3878,7 +3939,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3878
3939
  meetingId: _this13.id
3879
3940
  }
3880
3941
  });
3881
- return _context8.abrupt("continue", 16);
3942
+ return _context0.abrupt("continue", 16);
3882
3943
  case 13:
3883
3944
  _triggerProxy.default.trigger(_this13, {
3884
3945
  file: 'meeting/index',
@@ -3897,14 +3958,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3897
3958
  meetingId: _this13.id
3898
3959
  }
3899
3960
  });
3900
- return _context8.abrupt("continue", 16);
3961
+ return _context0.abrupt("continue", 16);
3901
3962
  case 14:
3902
- return _context8.abrupt("continue", 16);
3963
+ return _context0.abrupt("continue", 16);
3903
3964
  case 15:
3904
- return _context8.abrupt("continue", 16);
3965
+ return _context0.abrupt("continue", 16);
3905
3966
  case 16:
3906
3967
  _this13.members.locusMediaSharesUpdate(payload);
3907
- _context8.next = 18;
3968
+ _context0.next = 18;
3908
3969
  break;
3909
3970
  case 17:
3910
3971
  if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
@@ -3948,12 +4009,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3948
4009
  }
3949
4010
  case 18:
3950
4011
  case "end":
3951
- return _context8.stop();
4012
+ return _context0.stop();
3952
4013
  }
3953
- }, _callee8, null, [[9,, 10, 11]]);
4014
+ }, _callee0, null, [[9,, 10, 11]]);
3954
4015
  }));
3955
4016
  return function (_x8) {
3956
- return _ref32.apply(this, arguments);
4017
+ return _ref35.apply(this, arguments);
3957
4018
  };
3958
4019
  }());
3959
4020
  }
@@ -4074,8 +4135,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4074
4135
  });
4075
4136
  }
4076
4137
  });
4077
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref33) {
4078
- var isInitializing = _ref33.isInitializing;
4138
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref36) {
4139
+ var isInitializing = _ref36.isInitializing;
4079
4140
  _this17.updateMeetingActions();
4080
4141
  _this17.recordingController.setDisplayHints(_this17.userDisplayHints);
4081
4142
  _this17.recordingController.setUserPolicy(_this17.selfUserPolicies);
@@ -4102,6 +4163,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4102
4163
  // @ts-ignore - config coming from registerPlugin
4103
4164
  if (datachannelUrl && this.config.enableAutomaticLLM) {
4104
4165
  this.updateLLMConnection();
4166
+ if (this.webinar.isJoinPracticeSessionDataChannel()) {
4167
+ this.webinar.updatePSDataChannel();
4168
+ }
4105
4169
  }
4106
4170
  }
4107
4171
 
@@ -4213,10 +4277,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4213
4277
  _this19.updateLLMConnection();
4214
4278
  });
4215
4279
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
4216
- var _ref34 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
4280
+ var _ref37 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(payload) {
4217
4281
  var _this19$rtcMetrics;
4218
- return _regenerator.default.wrap(function (_context9) {
4219
- while (1) switch (_context9.prev = _context9.next) {
4282
+ return _regenerator.default.wrap(function (_context1) {
4283
+ while (1) switch (_context1.prev = _context1.next) {
4220
4284
  case 0:
4221
4285
  _this19.stopKeepAlive();
4222
4286
  if (payload) {
@@ -4242,12 +4306,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4242
4306
  _this19.updateLLMConnection();
4243
4307
  case 1:
4244
4308
  case "end":
4245
- return _context9.stop();
4309
+ return _context1.stop();
4246
4310
  }
4247
- }, _callee9);
4311
+ }, _callee1);
4248
4312
  }));
4249
4313
  return function (_x9) {
4250
- return _ref34.apply(this, arguments);
4314
+ return _ref37.apply(this, arguments);
4251
4315
  };
4252
4316
  }());
4253
4317
 
@@ -4369,49 +4433,49 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4369
4433
  }
4370
4434
  });
4371
4435
  this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
4372
- var _ref35 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(payload) {
4373
- var _t8;
4374
- return _regenerator.default.wrap(function (_context0) {
4375
- while (1) switch (_context0.prev = _context0.next) {
4436
+ var _ref38 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
4437
+ var _t9;
4438
+ return _regenerator.default.wrap(function (_context10) {
4439
+ while (1) switch (_context10.prev = _context10.next) {
4376
4440
  case 0:
4377
4441
  if (!_this20.wirelessShare) {
4378
- _context0.next = 2;
4442
+ _context10.next = 2;
4379
4443
  break;
4380
4444
  }
4381
4445
  if (!_this20.mediaProperties.shareVideoStream) {
4382
- _context0.next = 1;
4446
+ _context10.next = 1;
4383
4447
  break;
4384
4448
  }
4385
- _context0.next = 1;
4449
+ _context10.next = 1;
4386
4450
  return _this20.setLocalShareVideoStream(undefined);
4387
4451
  case 1:
4388
4452
  if (!_this20.mediaProperties.shareAudioStream) {
4389
- _context0.next = 2;
4453
+ _context10.next = 2;
4390
4454
  break;
4391
4455
  }
4392
- _context0.next = 2;
4456
+ _context10.next = 2;
4393
4457
  return _this20.setLocalShareAudioStream(undefined);
4394
4458
  case 2:
4395
4459
  if (!payload.shouldLeave) {
4396
- _context0.next = 7;
4460
+ _context10.next = 7;
4397
4461
  break;
4398
4462
  }
4399
- _context0.prev = 3;
4400
- _context0.next = 4;
4463
+ _context10.prev = 3;
4464
+ _context10.next = 4;
4401
4465
  return _this20.leave({
4402
4466
  reason: payload.reason
4403
4467
  });
4404
4468
  case 4:
4405
4469
  _loggerProxy.default.logger.warn('Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. The meeting has been left, but has not been destroyed, you should see a later event for leave.');
4406
- _context0.next = 6;
4470
+ _context10.next = 6;
4407
4471
  break;
4408
4472
  case 5:
4409
- _context0.prev = 5;
4410
- _t8 = _context0["catch"](3);
4473
+ _context10.prev = 5;
4474
+ _t9 = _context10["catch"](3);
4411
4475
  // @ts-ignore
4412
- _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(_t8));
4476
+ _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(_t9));
4413
4477
  case 6:
4414
- _context0.next = 8;
4478
+ _context10.next = 8;
4415
4479
  break;
4416
4480
  case 7:
4417
4481
  _loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
@@ -4425,12 +4489,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4425
4489
  });
4426
4490
  case 8:
4427
4491
  case "end":
4428
- return _context0.stop();
4492
+ return _context10.stop();
4429
4493
  }
4430
- }, _callee0, null, [[3, 5]]);
4494
+ }, _callee10, null, [[3, 5]]);
4431
4495
  }));
4432
4496
  return function (_x0) {
4433
- return _ref35.apply(this, arguments);
4497
+ return _ref38.apply(this, arguments);
4434
4498
  };
4435
4499
  }());
4436
4500
  }
@@ -4548,31 +4612,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4548
4612
  }, {
4549
4613
  key: "beRightBack",
4550
4614
  value: (function () {
4551
- var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(enabled) {
4615
+ var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(enabled) {
4552
4616
  var _this22 = this;
4553
4617
  var errorMessage, error, _errorMessage, _error;
4554
- return _regenerator.default.wrap(function (_context1) {
4555
- while (1) switch (_context1.prev = _context1.next) {
4618
+ return _regenerator.default.wrap(function (_context11) {
4619
+ while (1) switch (_context11.prev = _context11.next) {
4556
4620
  case 0:
4557
4621
  if (this.isMultistream) {
4558
- _context1.next = 1;
4622
+ _context11.next = 1;
4559
4623
  break;
4560
4624
  }
4561
4625
  errorMessage = 'Meeting:index#beRightBack --> Not a multistream meeting';
4562
4626
  error = new Error(errorMessage);
4563
4627
  _loggerProxy.default.logger.error(error);
4564
- return _context1.abrupt("return", _promise.default.reject(error));
4628
+ return _context11.abrupt("return", _promise.default.reject(error));
4565
4629
  case 1:
4566
4630
  if (this.mediaProperties.webrtcMediaConnection) {
4567
- _context1.next = 2;
4631
+ _context11.next = 2;
4568
4632
  break;
4569
4633
  }
4570
4634
  _errorMessage = 'Meeting:index#beRightBack --> WebRTC media connection is not defined';
4571
4635
  _error = new Error(_errorMessage);
4572
4636
  _loggerProxy.default.logger.error(_error);
4573
- return _context1.abrupt("return", _promise.default.reject(_error));
4637
+ return _context11.abrupt("return", _promise.default.reject(_error));
4574
4638
  case 2:
4575
- return _context1.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager).then(function () {
4639
+ return _context11.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager).then(function () {
4576
4640
  if (_this22.audio && enabled) {
4577
4641
  // locus mutes the participant with brb enabled request,
4578
4642
  // so we need to explicitly update remote mute for correct logic flow
@@ -4583,9 +4647,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4583
4647
  }));
4584
4648
  case 3:
4585
4649
  case "end":
4586
- return _context1.stop();
4650
+ return _context11.stop();
4587
4651
  }
4588
- }, _callee1, this);
4652
+ }, _callee11, this);
4589
4653
  }));
4590
4654
  function beRightBack(_x1) {
4591
4655
  return _beRightBack.apply(this, arguments);
@@ -5260,11 +5324,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5260
5324
  }, {
5261
5325
  key: "setLocalAudioStream",
5262
5326
  value: (function () {
5263
- var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(localStream) {
5327
+ var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
5264
5328
  var _this$audio2;
5265
5329
  var oldStream;
5266
- return _regenerator.default.wrap(function (_context10) {
5267
- while (1) switch (_context10.prev = _context10.next) {
5330
+ return _regenerator.default.wrap(function (_context12) {
5331
+ while (1) switch (_context12.prev = _context12.next) {
5268
5332
  case 0:
5269
5333
  oldStream = this.mediaProperties.audioStream;
5270
5334
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
@@ -5278,19 +5342,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5278
5342
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
5279
5343
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5280
5344
  if (!(!this.isMultistream || !localStream)) {
5281
- _context10.next = 1;
5345
+ _context12.next = 1;
5282
5346
  break;
5283
5347
  }
5284
- _context10.next = 1;
5348
+ _context12.next = 1;
5285
5349
  return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
5286
5350
  case 1:
5287
- _context10.next = 2;
5351
+ _context12.next = 2;
5288
5352
  return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
5289
5353
  case 2:
5290
5354
  case "end":
5291
- return _context10.stop();
5355
+ return _context12.stop();
5292
5356
  }
5293
- }, _callee10, this);
5357
+ }, _callee12, this);
5294
5358
  }));
5295
5359
  function setLocalAudioStream(_x10) {
5296
5360
  return _setLocalAudioStream.apply(this, arguments);
@@ -5308,11 +5372,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5308
5372
  }, {
5309
5373
  key: "setLocalVideoStream",
5310
5374
  value: (function () {
5311
- var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(localStream) {
5375
+ var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(localStream) {
5312
5376
  var _this$video2;
5313
5377
  var oldStream;
5314
- return _regenerator.default.wrap(function (_context11) {
5315
- while (1) switch (_context11.prev = _context11.next) {
5378
+ return _regenerator.default.wrap(function (_context13) {
5379
+ while (1) switch (_context13.prev = _context13.next) {
5316
5380
  case 0:
5317
5381
  oldStream = this.mediaProperties.videoStream;
5318
5382
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
@@ -5328,19 +5392,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5328
5392
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5329
5393
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
5330
5394
  if (!(!this.isMultistream || !localStream)) {
5331
- _context11.next = 1;
5395
+ _context13.next = 1;
5332
5396
  break;
5333
5397
  }
5334
- _context11.next = 1;
5398
+ _context13.next = 1;
5335
5399
  return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
5336
5400
  case 1:
5337
- _context11.next = 2;
5401
+ _context13.next = 2;
5338
5402
  return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
5339
5403
  case 2:
5340
5404
  case "end":
5341
- return _context11.stop();
5405
+ return _context13.stop();
5342
5406
  }
5343
- }, _callee11, this);
5407
+ }, _callee13, this);
5344
5408
  }));
5345
5409
  function setLocalVideoStream(_x11) {
5346
5410
  return _setLocalVideoStream.apply(this, arguments);
@@ -5359,10 +5423,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5359
5423
  }, {
5360
5424
  key: "setLocalShareVideoStream",
5361
5425
  value: (function () {
5362
- var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(localDisplayStream) {
5426
+ var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(localDisplayStream) {
5363
5427
  var oldStream;
5364
- return _regenerator.default.wrap(function (_context12) {
5365
- while (1) switch (_context12.prev = _context12.next) {
5428
+ return _regenerator.default.wrap(function (_context14) {
5429
+ while (1) switch (_context14.prev = _context14.next) {
5366
5430
  case 0:
5367
5431
  oldStream = this.mediaProperties.shareVideoStream;
5368
5432
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
@@ -5374,19 +5438,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5374
5438
  localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5375
5439
  this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
5376
5440
  if (!(!this.isMultistream || !localDisplayStream)) {
5377
- _context12.next = 1;
5441
+ _context14.next = 1;
5378
5442
  break;
5379
5443
  }
5380
- _context12.next = 1;
5444
+ _context14.next = 1;
5381
5445
  return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
5382
5446
  case 1:
5383
- _context12.next = 2;
5447
+ _context14.next = 2;
5384
5448
  return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
5385
5449
  case 2:
5386
5450
  case "end":
5387
- return _context12.stop();
5451
+ return _context14.stop();
5388
5452
  }
5389
- }, _callee12, this);
5453
+ }, _callee14, this);
5390
5454
  }));
5391
5455
  function setLocalShareVideoStream(_x12) {
5392
5456
  return _setLocalShareVideoStream.apply(this, arguments);
@@ -5404,10 +5468,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5404
5468
  }, {
5405
5469
  key: "setLocalShareAudioStream",
5406
5470
  value: (function () {
5407
- var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(localSystemAudioStream) {
5471
+ var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(localSystemAudioStream) {
5408
5472
  var oldStream;
5409
- return _regenerator.default.wrap(function (_context13) {
5410
- while (1) switch (_context13.prev = _context13.next) {
5473
+ return _regenerator.default.wrap(function (_context15) {
5474
+ while (1) switch (_context15.prev = _context15.next) {
5411
5475
  case 0:
5412
5476
  oldStream = this.mediaProperties.shareAudioStream;
5413
5477
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
@@ -5417,19 +5481,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5417
5481
  localSystemAudioStream === null || localSystemAudioStream === void 0 ? void 0 : localSystemAudioStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5418
5482
  this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
5419
5483
  if (!(!this.isMultistream || !localSystemAudioStream)) {
5420
- _context13.next = 1;
5484
+ _context15.next = 1;
5421
5485
  break;
5422
5486
  }
5423
- _context13.next = 1;
5487
+ _context15.next = 1;
5424
5488
  return this.unpublishStream(_internalMediaCore.MediaType.AudioSlides, oldStream);
5425
5489
  case 1:
5426
- _context13.next = 2;
5490
+ _context15.next = 2;
5427
5491
  return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
5428
5492
  case 2:
5429
5493
  case "end":
5430
- return _context13.stop();
5494
+ return _context15.stop();
5431
5495
  }
5432
- }, _callee13, this);
5496
+ }, _callee15, this);
5433
5497
  }));
5434
5498
  function setLocalShareAudioStream(_x13) {
5435
5499
  return _setLocalShareAudioStream.apply(this, arguments);
@@ -5870,7 +5934,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5870
5934
  }, {
5871
5935
  key: "joinWithMedia",
5872
5936
  value: (function () {
5873
- var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14() {
5937
+ var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
5874
5938
  var _this30 = this;
5875
5939
  var options,
5876
5940
  mediaOptions,
@@ -5893,20 +5957,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5893
5957
  shouldRetry,
5894
5958
  _error2,
5895
5959
  _error3,
5896
- _args14 = arguments,
5897
- _t9,
5898
- _t0;
5899
- return _regenerator.default.wrap(function (_context14) {
5900
- while (1) switch (_context14.prev = _context14.next) {
5960
+ _args16 = arguments,
5961
+ _t0,
5962
+ _t1;
5963
+ return _regenerator.default.wrap(function (_context16) {
5964
+ while (1) switch (_context16.prev = _context16.next) {
5901
5965
  case 0:
5902
- options = _args14.length > 0 && _args14[0] !== undefined ? _args14[0] : {};
5966
+ options = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : {};
5903
5967
  mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
5904
5968
  _this$joinWithMediaRe = this.joinWithMediaRetryInfo, isRetry = _this$joinWithMediaRe.isRetry, prevJoinResponse = _this$joinWithMediaRe.prevJoinResponse;
5905
5969
  if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
5906
- _context14.next = 1;
5970
+ _context16.next = 1;
5907
5971
  break;
5908
5972
  }
5909
- return _context14.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
5973
+ return _context16.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
5910
5974
  case 1:
5911
5975
  this.allowMediaInLobby = true;
5912
5976
  _loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
@@ -5918,39 +5982,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5918
5982
  in case WebRTC is not available at all.
5919
5983
  */
5920
5984
  if (!(_webCapabilities.WebCapabilities.supportsRTCPeerConnection() === _webCapabilities.CapabilityState.NOT_CAPABLE)) {
5921
- _context14.next = 2;
5985
+ _context16.next = 2;
5922
5986
  break;
5923
5987
  }
5924
5988
  throw new _internalMediaCore.Errors.WebrtcApiNotAvailableError('RTCPeerConnection API is not available in this environment');
5925
5989
  case 2:
5926
- _context14.prev = 2;
5990
+ _context16.prev = 2;
5927
5991
  forceTurnDiscovery = false;
5928
5992
  if (joinResponse) {
5929
- _context14.next = 7;
5993
+ _context16.next = 7;
5930
5994
  break;
5931
5995
  }
5932
- _context14.next = 3;
5996
+ _context16.next = 3;
5933
5997
  return this.roap.generateTurnDiscoveryRequestMessage(this, true);
5934
5998
  case 3:
5935
- turnDiscoveryRequest = _context14.sent;
5999
+ turnDiscoveryRequest = _context16.sent;
5936
6000
  turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
5937
6001
  joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
5938
6002
  _loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
5939
- _context14.next = 4;
6003
+ _context16.next = 4;
5940
6004
  return this.join(joinOptions);
5941
6005
  case 4:
5942
- joinResponse = _context14.sent;
6006
+ joinResponse = _context16.sent;
5943
6007
  joined = true;
5944
6008
 
5945
6009
  // if we sent out TURN discovery Roap message with join, process the TURN discovery response
5946
6010
  if (!joinOptions.roapMessage) {
5947
- _context14.next = 6;
6011
+ _context16.next = 6;
5948
6012
  break;
5949
6013
  }
5950
- _context14.next = 5;
6014
+ _context16.next = 5;
5951
6015
  return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
5952
6016
  case 5:
5953
- _yield$this$roap$hand = _context14.sent;
6017
+ _yield$this$roap$hand = _context16.sent;
5954
6018
  turnServerInfo = _yield$this$roap$hand.turnServerInfo;
5955
6019
  turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
5956
6020
  this.turnDiscoverySkippedReason = turnDiscoverySkippedReason;
@@ -5959,7 +6023,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5959
6023
  this.roap.abortTurnDiscovery();
5960
6024
  }
5961
6025
  case 6:
5962
- _context14.next = 8;
6026
+ _context16.next = 8;
5963
6027
  break;
5964
6028
  case 7:
5965
6029
  // This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
@@ -5967,43 +6031,43 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5967
6031
  forceTurnDiscovery = true;
5968
6032
  joined = true;
5969
6033
  case 8:
5970
- _context14.next = 9;
6034
+ _context16.next = 9;
5971
6035
  return this.addMediaInternal(function () {
5972
6036
  return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
5973
6037
  }, turnServerInfo, forceTurnDiscovery, mediaOptions);
5974
6038
  case 9:
5975
- mediaResponse = _context14.sent;
6039
+ mediaResponse = _context16.sent;
5976
6040
  this.joinWithMediaRetryInfo = {
5977
6041
  isRetry: false,
5978
6042
  prevJoinResponse: undefined
5979
6043
  };
5980
- return _context14.abrupt("return", {
6044
+ return _context16.abrupt("return", {
5981
6045
  join: joinResponse,
5982
6046
  media: mediaResponse,
5983
6047
  multistreamEnabled: this.isMultistream
5984
6048
  });
5985
6049
  case 10:
5986
- _context14.prev = 10;
5987
- _t9 = _context14["catch"](2);
5988
- _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _t9);
6050
+ _context16.prev = 10;
6051
+ _t0 = _context16["catch"](2);
6052
+ _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _t0);
5989
6053
  this.roap.abortTurnDiscovery();
5990
6054
 
5991
6055
  // if this was the first attempt, let's do a retry
5992
6056
  shouldRetry = !isRetry;
5993
- if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(_t9) || _internalPluginMetrics.CallDiagnosticUtils.isWebrtcApiNotAvailableError(_t9)) {
6057
+ if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(_t0) || _internalPluginMetrics.CallDiagnosticUtils.isWebrtcApiNotAvailableError(_t0)) {
5994
6058
  // errors related to offer creation (for example missing H264 codec) will happen again no matter how many times we try,
5995
6059
  // so there is no point doing a retry
5996
6060
  shouldRetry = false;
5997
6061
  }
5998
- if (_internalPluginMetrics.CallDiagnosticUtils.isBrowserMediaError(_t9)) {
6062
+ if (_internalPluginMetrics.CallDiagnosticUtils.isBrowserMediaError(_t0)) {
5999
6063
  shouldRetry = false;
6000
6064
  // eslint-disable-next-line no-ex-assign
6001
- _t9 = (0, _lodash.merge)({
6065
+ _t0 = (0, _lodash.merge)({
6002
6066
  error: {
6003
6067
  body: {
6004
- errorCode: _internalPluginMetrics.CallDiagnosticUtils.getBrowserMediaErrorCode(_t9),
6005
- message: (_error2 = _t9) === null || _error2 === void 0 ? void 0 : _error2.message,
6006
- name: (_error3 = _t9) === null || _error3 === void 0 ? void 0 : _error3.name
6068
+ errorCode: _internalPluginMetrics.CallDiagnosticUtils.getBrowserMediaErrorCode(_t0),
6069
+ message: (_error2 = _t0) === null || _error2 === void 0 ? void 0 : _error2.message,
6070
+ name: (_error3 = _t0) === null || _error3 === void 0 ? void 0 : _error3.name
6007
6071
  }
6008
6072
  }
6009
6073
  });
@@ -6011,54 +6075,54 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6011
6075
 
6012
6076
  // we only want to call leave if join was successful and this was a retry or we won't be doing any more retries
6013
6077
  if (!(joined && (isRetry || !shouldRetry))) {
6014
- _context14.next = 14;
6078
+ _context16.next = 14;
6015
6079
  break;
6016
6080
  }
6017
- _context14.prev = 11;
6018
- _context14.next = 12;
6081
+ _context16.prev = 11;
6082
+ _context16.next = 12;
6019
6083
  return this.leave({
6020
6084
  resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
6021
6085
  reason: 'joinWithMedia failure'
6022
6086
  });
6023
6087
  case 12:
6024
- _context14.next = 14;
6088
+ _context16.next = 14;
6025
6089
  break;
6026
6090
  case 13:
6027
- _context14.prev = 13;
6028
- _t0 = _context14["catch"](11);
6029
- _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _t0);
6030
- leaveError = _t0;
6091
+ _context16.prev = 13;
6092
+ _t1 = _context16["catch"](11);
6093
+ _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _t1);
6094
+ leaveError = _t1;
6031
6095
  case 14:
6032
6096
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
6033
6097
  correlation_id: this.correlationId,
6034
6098
  locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
6035
6099
  // if join fails, we may end up with no locusUrl
6036
- reason: _t9.message,
6037
- stack: _t9.stack,
6100
+ reason: _t0.message,
6101
+ stack: _t0.stack,
6038
6102
  leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message,
6039
6103
  isRetry: isRetry
6040
6104
  }, {
6041
- type: _t9.name
6105
+ type: _t0.name
6042
6106
  });
6043
6107
  if (!shouldRetry) {
6044
- _context14.next = 15;
6108
+ _context16.next = 15;
6045
6109
  break;
6046
6110
  }
6047
6111
  _loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
6048
6112
  this.joinWithMediaRetryInfo.isRetry = true;
6049
6113
  this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
6050
- return _context14.abrupt("return", this.joinWithMedia(options));
6114
+ return _context16.abrupt("return", this.joinWithMedia(options));
6051
6115
  case 15:
6052
6116
  this.joinWithMediaRetryInfo = {
6053
6117
  isRetry: false,
6054
6118
  prevJoinResponse: undefined
6055
6119
  };
6056
- throw _t9;
6120
+ throw _t0;
6057
6121
  case 16:
6058
6122
  case "end":
6059
- return _context14.stop();
6123
+ return _context16.stop();
6060
6124
  }
6061
- }, _callee14, this, [[2, 10], [11, 13]]);
6125
+ }, _callee16, this, [[2, 10], [11, 13]]);
6062
6126
  }));
6063
6127
  function joinWithMedia() {
6064
6128
  return _joinWithMedia.apply(this, arguments);
@@ -6088,20 +6152,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6088
6152
  return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
6089
6153
  }
6090
6154
  this.cleanUpBeforeReconnection();
6091
- return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
6092
- return _regenerator.default.wrap(function (_context15) {
6093
- while (1) switch (_context15.prev = _context15.next) {
6155
+ return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17() {
6156
+ return _regenerator.default.wrap(function (_context17) {
6157
+ while (1) switch (_context17.prev = _context17.next) {
6094
6158
  case 0:
6095
- _context15.next = 1;
6159
+ _context17.next = 1;
6096
6160
  return _this31.waitForRemoteSDPAnswer();
6097
6161
  case 1:
6098
- _context15.next = 2;
6162
+ _context17.next = 2;
6099
6163
  return _this31.waitForMediaConnectionConnected();
6100
6164
  case 2:
6101
6165
  case "end":
6102
- return _context15.stop();
6166
+ return _context17.stop();
6103
6167
  }
6104
- }, _callee15);
6168
+ }, _callee17);
6105
6169
  }))).then(function () {
6106
6170
  _loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
6107
6171
  }).catch(function (error) {
@@ -6242,47 +6306,47 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6242
6306
  }, {
6243
6307
  key: "startTranscription",
6244
6308
  value: (function () {
6245
- var _startTranscription = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16(options) {
6246
- var _t1;
6247
- return _regenerator.default.wrap(function (_context16) {
6248
- while (1) switch (_context16.prev = _context16.next) {
6309
+ var _startTranscription = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(options) {
6310
+ var _t10;
6311
+ return _regenerator.default.wrap(function (_context18) {
6312
+ while (1) switch (_context18.prev = _context18.next) {
6249
6313
  case 0:
6250
6314
  if (!this.isJoined()) {
6251
- _context16.next = 5;
6315
+ _context18.next = 5;
6252
6316
  break;
6253
6317
  }
6254
6318
  _loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
6255
- _context16.prev = 1;
6319
+ _context18.prev = 1;
6256
6320
  if (!this.areVoiceaEventsSetup) {
6257
6321
  this.setUpVoiceaListeners();
6258
6322
  }
6259
6323
 
6260
6324
  // @ts-ignore
6261
- _context16.next = 2;
6325
+ _context18.next = 2;
6262
6326
  return this.webex.internal.voicea.turnOnCaptions(options === null || options === void 0 ? void 0 : options.spokenLanguage);
6263
6327
  case 2:
6264
- _context16.next = 4;
6328
+ _context18.next = 4;
6265
6329
  break;
6266
6330
  case 3:
6267
- _context16.prev = 3;
6268
- _t1 = _context16["catch"](1);
6269
- _loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_t1));
6331
+ _context18.prev = 3;
6332
+ _t10 = _context18["catch"](1);
6333
+ _loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_t10));
6270
6334
  _metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
6271
6335
  correlation_id: this.correlationId,
6272
- reason: _t1.message,
6273
- stack: _t1.stack
6336
+ reason: _t10.message,
6337
+ stack: _t10.stack
6274
6338
  });
6275
6339
  case 4:
6276
- _context16.next = 6;
6340
+ _context18.next = 6;
6277
6341
  break;
6278
6342
  case 5:
6279
6343
  _loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
6280
6344
  throw new Error('Meeting is not joined');
6281
6345
  case 6:
6282
6346
  case "end":
6283
- return _context16.stop();
6347
+ return _context18.stop();
6284
6348
  }
6285
- }, _callee16, this, [[1, 3]]);
6349
+ }, _callee18, this, [[1, 3]]);
6286
6350
  }));
6287
6351
  function startTranscription(_x14) {
6288
6352
  return _startTranscription.apply(this, arguments);
@@ -6348,7 +6412,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6348
6412
  * Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
6349
6413
  */
6350
6414
  function () {
6351
- var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17() {
6415
+ var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
6352
6416
  var _this34 = this;
6353
6417
  var options,
6354
6418
  errorMessage,
@@ -6359,26 +6423,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6359
6423
  _error4,
6360
6424
  _errorMessage3,
6361
6425
  _error5,
6362
- _args17 = arguments,
6363
- _t10;
6364
- return _regenerator.default.wrap(function (_context17) {
6365
- while (1) switch (_context17.prev = _context17.next) {
6426
+ _args19 = arguments,
6427
+ _t11;
6428
+ return _regenerator.default.wrap(function (_context19) {
6429
+ while (1) switch (_context19.prev = _context19.next) {
6366
6430
  case 0:
6367
- options = _args17.length > 0 && _args17[0] !== undefined ? _args17[0] : {};
6431
+ options = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : {};
6368
6432
  if (this.webex.meetings.registered) {
6369
- _context17.next = 1;
6433
+ _context19.next = 1;
6370
6434
  break;
6371
6435
  }
6372
6436
  errorMessage = 'Meeting:index#join --> Device not registered';
6373
6437
  error = new Error(errorMessage);
6374
6438
  _loggerProxy.default.logger.error(errorMessage);
6375
- return _context17.abrupt("return", _promise.default.reject(error));
6439
+ return _context19.abrupt("return", _promise.default.reject(error));
6376
6440
  case 1:
6377
6441
  if (!this.deferJoin) {
6378
- _context17.next = 2;
6442
+ _context19.next = 2;
6379
6443
  break;
6380
6444
  }
6381
- return _context17.abrupt("return", this.deferJoin);
6445
+ return _context19.abrupt("return", this.deferJoin);
6382
6446
  case 2:
6383
6447
  // Create a deferred promise for a consistent resolve value from utils.
6384
6448
  // This also prevents redundant API calls.
@@ -6430,15 +6494,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6430
6494
  this.wirelessShare = true;
6431
6495
  }
6432
6496
  if (!options.meetingQuality) {
6433
- _context17.next = 6;
6497
+ _context19.next = 6;
6434
6498
  break;
6435
6499
  }
6436
6500
  if (!(typeof options.meetingQuality === 'string')) {
6437
- _context17.next = 4;
6501
+ _context19.next = 4;
6438
6502
  break;
6439
6503
  }
6440
6504
  if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
6441
- _context17.next = 3;
6505
+ _context19.next = 3;
6442
6506
  break;
6443
6507
  }
6444
6508
  _errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
@@ -6446,16 +6510,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6446
6510
  _loggerProxy.default.logger.error(_errorMessage2);
6447
6511
  joinFailed(_error4);
6448
6512
  this.deferJoin = undefined;
6449
- return _context17.abrupt("return", _promise.default.reject(_error4));
6513
+ return _context19.abrupt("return", _promise.default.reject(_error4));
6450
6514
  case 3:
6451
6515
  this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
6452
6516
  case 4:
6453
6517
  if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
6454
- _context17.next = 6;
6518
+ _context19.next = 6;
6455
6519
  break;
6456
6520
  }
6457
6521
  if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
6458
- _context17.next = 5;
6522
+ _context19.next = 5;
6459
6523
  break;
6460
6524
  }
6461
6525
  _errorMessage3 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
@@ -6463,42 +6527,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6463
6527
  _error5 = new Error(_errorMessage3);
6464
6528
  joinFailed(_error5);
6465
6529
  this.deferJoin = undefined;
6466
- return _context17.abrupt("return", _promise.default.reject(new Error(_errorMessage3)));
6530
+ return _context19.abrupt("return", _promise.default.reject(new Error(_errorMessage3)));
6467
6531
  case 5:
6468
6532
  if (options.meetingQuality.remote) {
6469
6533
  this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
6470
6534
  }
6471
6535
  case 6:
6472
6536
  this.isMultistream = !!options.enableMultistream;
6473
- _context17.prev = 7;
6474
- _context17.next = 8;
6537
+ _context19.prev = 7;
6538
+ _context19.next = 8;
6475
6539
  return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
6476
6540
  case 8:
6477
- _context17.next = 10;
6541
+ _context19.next = 10;
6478
6542
  break;
6479
6543
  case 9:
6480
- _context17.prev = 9;
6481
- _t10 = _context17["catch"](7);
6482
- _loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _t10);
6483
- if (!(_t10 instanceof _captchaError.default || _t10 instanceof _passwordError.default || _t10 instanceof _permission.default)) {
6484
- _context17.next = 10;
6544
+ _context19.prev = 9;
6545
+ _t11 = _context19["catch"](7);
6546
+ _loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _t11);
6547
+ if (!(_t11 instanceof _captchaError.default || _t11 instanceof _passwordError.default || _t11 instanceof _permission.default)) {
6548
+ _context19.next = 10;
6485
6549
  break;
6486
6550
  }
6487
- this.meetingFiniteStateMachine.fail(_t10);
6551
+ this.meetingFiniteStateMachine.fail(_t11);
6488
6552
 
6489
6553
  // Upload logs on refreshpermissionToken refresh Failure
6490
6554
  _triggerProxy.default.trigger(this, {
6491
6555
  file: 'meeting/index',
6492
6556
  function: 'join'
6493
6557
  }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
6494
- joinFailed(_t10);
6558
+ joinFailed(_t11);
6495
6559
  this.deferJoin = undefined;
6496
6560
 
6497
6561
  // if refresh permission token requires captcha, password or permission, we are throwing the errors
6498
6562
  // and bubble it up to client
6499
- return _context17.abrupt("return", _promise.default.reject(_t10));
6563
+ return _context19.abrupt("return", _promise.default.reject(_t11));
6500
6564
  case 10:
6501
- return _context17.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
6565
+ return _context19.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
6502
6566
  _this34.meetingFiniteStateMachine.join();
6503
6567
  _this34.setupLocusMediaRequest();
6504
6568
 
@@ -6551,9 +6615,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6551
6615
  }));
6552
6616
  case 11:
6553
6617
  case "end":
6554
- return _context17.stop();
6618
+ return _context19.stop();
6555
6619
  }
6556
- }, _callee17, this, [[7, 9]]);
6620
+ }, _callee19, this, [[7, 9]]);
6557
6621
  }));
6558
6622
  function join() {
6559
6623
  return _join.apply(this, arguments);
@@ -6602,39 +6666,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6602
6666
  this.llmHealthCheckTimer = undefined;
6603
6667
  }
6604
6668
  }
6605
-
6669
+ }, {
6670
+ key: "updateLLMConnection",
6671
+ value: (
6606
6672
  /**
6607
6673
  * Connects to low latency mercury and reconnects if the address has changed
6608
6674
  * It will also disconnect if called when the meeting has ended
6609
6675
  * @param {String} datachannelUrl
6610
6676
  * @returns {Promise}
6611
6677
  */
6612
- }, {
6613
- key: "updateLLMConnection",
6614
- value: (function () {
6615
- var _updateLLMConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
6678
+ function () {
6679
+ var _updateLLMConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20() {
6616
6680
  var _this36 = this;
6617
- var _ref37, _ref37$url, url, _ref37$info, _ref37$info2, _ref37$info2$datachan, datachannelUrl, _ref37$info2$practice, practiceSessionDatachannelUrl, _ref37$self, _ref37$self2, _ref37$self2$datachan, datachannelToken, _ref37$self2$practice, practiceSessionDatachannelToken, isJoined, dataChannelTokenType, isPracticeSession, currentToken, locusToken, finalToken, dataChannelUrl;
6618
- return _regenerator.default.wrap(function (_context18) {
6619
- while (1) switch (_context18.prev = _context18.next) {
6681
+ var _ref40, _ref40$url, url, _ref40$info, _ref40$info2, _ref40$info2$datachan, datachannelUrl, _ref40$self, _ref40$self2, _ref40$self2$datachan, datachannelToken, isJoined, currentToken, finalToken, dataChannelUrl;
6682
+ return _regenerator.default.wrap(function (_context20) {
6683
+ while (1) switch (_context20.prev = _context20.next) {
6620
6684
  case 0:
6621
6685
  // @ts-ignore - Fix type
6622
- _ref37 = this.locusInfo || {}, _ref37$url = _ref37.url, url = _ref37$url === void 0 ? undefined : _ref37$url, _ref37$info = _ref37.info, _ref37$info2 = _ref37$info === void 0 ? {} : _ref37$info, _ref37$info2$datachan = _ref37$info2.datachannelUrl, datachannelUrl = _ref37$info2$datachan === void 0 ? undefined : _ref37$info2$datachan, _ref37$info2$practice = _ref37$info2.practiceSessionDatachannelUrl, practiceSessionDatachannelUrl = _ref37$info2$practice === void 0 ? undefined : _ref37$info2$practice, _ref37$self = _ref37.self, _ref37$self2 = _ref37$self === void 0 ? {} : _ref37$self, _ref37$self2$datachan = _ref37$self2.datachannelToken, datachannelToken = _ref37$self2$datachan === void 0 ? undefined : _ref37$self2$datachan, _ref37$self2$practice = _ref37$self2.practiceSessionDatachannelToken, practiceSessionDatachannelToken = _ref37$self2$practice === void 0 ? undefined : _ref37$self2$practice;
6623
- isJoined = this.isJoined();
6624
- dataChannelTokenType = this.getDataChannelTokenType();
6625
- isPracticeSession = dataChannelTokenType === _internalPluginLlm.DataChannelTokenType.PracticeSession; // @ts-ignore
6626
- currentToken = this.webex.internal.llm.getDatachannelToken(dataChannelTokenType);
6627
- locusToken = isPracticeSession ? practiceSessionDatachannelToken : datachannelToken;
6628
- finalToken = currentToken !== null && currentToken !== void 0 ? currentToken : locusToken;
6629
- if (!currentToken && locusToken) {
6686
+ _ref40 = this.locusInfo || {}, _ref40$url = _ref40.url, url = _ref40$url === void 0 ? undefined : _ref40$url, _ref40$info = _ref40.info, _ref40$info2 = _ref40$info === void 0 ? {} : _ref40$info, _ref40$info2$datachan = _ref40$info2.datachannelUrl, datachannelUrl = _ref40$info2$datachan === void 0 ? undefined : _ref40$info2$datachan, _ref40$self = _ref40.self, _ref40$self2 = _ref40$self === void 0 ? {} : _ref40$self, _ref40$self2$datachan = _ref40$self2.datachannelToken, datachannelToken = _ref40$self2$datachan === void 0 ? undefined : _ref40$self2$datachan;
6687
+ isJoined = this.isJoined(); // @ts-ignore
6688
+ currentToken = this.webex.internal.llm.getDatachannelToken(_internalPluginLlm.DataChannelTokenType.Default);
6689
+ finalToken = currentToken !== null && currentToken !== void 0 ? currentToken : datachannelToken;
6690
+ if (!currentToken && datachannelToken) {
6630
6691
  // @ts-ignore
6631
- this.webex.internal.llm.setDatachannelToken(locusToken, dataChannelTokenType);
6692
+ this.webex.internal.llm.setDatachannelToken(datachannelToken, _internalPluginLlm.DataChannelTokenType.Default);
6632
6693
  }
6633
6694
 
6634
6695
  // webinar panelist should use new data channel in practice session
6635
- dataChannelUrl = isPracticeSession && practiceSessionDatachannelUrl ? practiceSessionDatachannelUrl : datachannelUrl; // @ts-ignore - Fix type
6696
+ dataChannelUrl = datachannelUrl; // @ts-ignore - Fix type
6636
6697
  if (!this.webex.internal.llm.isConnected()) {
6637
- _context18.next = 3;
6698
+ _context20.next = 2;
6638
6699
  break;
6639
6700
  }
6640
6701
  if (!(
@@ -6642,30 +6703,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6642
6703
  url === this.webex.internal.llm.getLocusUrl() &&
6643
6704
  // @ts-ignore - Fix type
6644
6705
  dataChannelUrl === this.webex.internal.llm.getDatachannelUrl() && isJoined)) {
6645
- _context18.next = 1;
6706
+ _context20.next = 1;
6646
6707
  break;
6647
6708
  }
6648
- return _context18.abrupt("return", undefined);
6709
+ return _context20.abrupt("return", undefined);
6649
6710
  case 1:
6650
- _context18.next = 2;
6651
- return this.webex.internal.llm.disconnectLLM({
6652
- code: 3050,
6653
- reason: 'done (permanent)'
6711
+ _context20.next = 2;
6712
+ return this.cleanupLLMConneciton({
6713
+ removeOnlineListener: false
6654
6714
  });
6655
6715
  case 2:
6656
- // @ts-ignore - Fix type
6657
- this.webex.internal.llm.off('event:relay.event', this.processRelayEvent);
6658
- // @ts-ignore - Fix type
6659
- this.webex.internal.llm.off(_constants.LOCUS_LLM_EVENT, this.processLocusLLMEvent);
6660
- this.clearLLMHealthCheckTimer();
6661
- case 3:
6662
6716
  if (isJoined) {
6663
- _context18.next = 4;
6717
+ _context20.next = 3;
6664
6718
  break;
6665
6719
  }
6666
- return _context18.abrupt("return", undefined);
6667
- case 4:
6668
- return _context18.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl, finalToken).then(function (registerAndConnectResult) {
6720
+ return _context20.abrupt("return", undefined);
6721
+ case 3:
6722
+ return _context20.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl, finalToken).then(function (registerAndConnectResult) {
6669
6723
  // @ts-ignore - Fix type
6670
6724
  _this36.webex.internal.llm.off('event:relay.event', _this36.processRelayEvent);
6671
6725
  // @ts-ignore - Fix type
@@ -6678,11 +6732,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6678
6732
  _this36.startLLMHealthCheckTimer();
6679
6733
  return _promise.default.resolve(registerAndConnectResult);
6680
6734
  }));
6681
- case 5:
6735
+ case 4:
6682
6736
  case "end":
6683
- return _context18.stop();
6737
+ return _context20.stop();
6684
6738
  }
6685
- }, _callee18, this);
6739
+ }, _callee20, this);
6686
6740
  }));
6687
6741
  function updateLLMConnection() {
6688
6742
  return _updateLLMConnection.apply(this, arguments);
@@ -6868,17 +6922,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6868
6922
  meetingId: this.id
6869
6923
  }
6870
6924
  });
6871
- this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
6872
- var mediaSettings, _t11;
6873
- return _regenerator.default.wrap(function (_context19) {
6874
- while (1) switch (_context19.prev = _context19.next) {
6925
+ this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
6926
+ var mediaSettings, _t12;
6927
+ return _regenerator.default.wrap(function (_context21) {
6928
+ while (1) switch (_context21.prev = _context21.next) {
6875
6929
  case 0:
6876
- _context19.prev = 0;
6930
+ _context21.prev = 0;
6877
6931
  if (!(_this40.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
6878
- _context19.next = 1;
6932
+ _context21.next = 1;
6879
6933
  break;
6880
6934
  }
6881
- _context19.next = 1;
6935
+ _context21.next = 1;
6882
6936
  return _this40.releaseScreenShareFloor();
6883
6937
  case 1:
6884
6938
  mediaSettings = {
@@ -6897,23 +6951,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6897
6951
  // when a move to is intiated by the client , Locus delets the existing media node from the server as soon the device answers the meeting
6898
6952
  // once the device answers we close the old connection and create new media server connection with only share enabled
6899
6953
  if (!_this40.statsAnalyzer) {
6900
- _context19.next = 2;
6954
+ _context21.next = 2;
6901
6955
  break;
6902
6956
  }
6903
- _context19.next = 2;
6957
+ _context21.next = 2;
6904
6958
  return _this40.statsAnalyzer.stopAnalyzer();
6905
6959
  case 2:
6906
- _context19.next = 3;
6960
+ _context21.next = 3;
6907
6961
  return _this40.closeRemoteStreams();
6908
6962
  case 3:
6909
- _context19.next = 4;
6963
+ _context21.next = 4;
6910
6964
  return _this40.closePeerConnections();
6911
6965
  case 4:
6912
6966
  _this40.cleanupLocalStreams();
6913
6967
  _this40.unsetRemoteStreams();
6914
6968
  _this40.unsetPeerConnections();
6915
6969
  _this40.reconnectionManager.cleanUp();
6916
- _context19.next = 5;
6970
+ _context21.next = 5;
6917
6971
  return _this40.addMedia({
6918
6972
  audioEnabled: false,
6919
6973
  videoEnabled: false,
@@ -6922,24 +6976,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6922
6976
  case 5:
6923
6977
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
6924
6978
  _this40.isMoveToInProgress = false;
6925
- _context19.next = 7;
6979
+ _context21.next = 7;
6926
6980
  break;
6927
6981
  case 6:
6928
- _context19.prev = 6;
6929
- _t11 = _context19["catch"](0);
6930
- _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _t11);
6982
+ _context21.prev = 6;
6983
+ _t12 = _context21["catch"](0);
6984
+ _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _t12);
6931
6985
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
6932
6986
  correlation_id: _this40.correlationId,
6933
6987
  locus_id: _this40.locusUrl.split('/').pop(),
6934
- reason: _t11.message,
6935
- stack: _t11.stack
6988
+ reason: _t12.message,
6989
+ stack: _t12.stack
6936
6990
  });
6937
6991
  _this40.isMoveToInProgress = false;
6938
6992
  case 7:
6939
6993
  case "end":
6940
- return _context19.stop();
6994
+ return _context21.stop();
6941
6995
  }
6942
- }, _callee19, null, [[0, 6]]);
6996
+ }, _callee21, null, [[0, 6]]);
6943
6997
  })));
6944
6998
  _loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
6945
6999
 
@@ -7027,10 +7081,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7027
7081
  }, {
7028
7082
  key: "createMediaConnection",
7029
7083
  value: (function () {
7030
- var _createMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(turnServerInfo, bundlePolicy) {
7084
+ var _createMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(turnServerInfo, bundlePolicy) {
7031
7085
  var mc, audioEnabled, videoEnabled, shareEnabled;
7032
- return _regenerator.default.wrap(function (_context20) {
7033
- while (1) switch (_context20.prev = _context20.next) {
7086
+ return _regenerator.default.wrap(function (_context22) {
7087
+ while (1) switch (_context22.prev = _context22.next) {
7034
7088
  case 0:
7035
7089
  this.rtcMetrics = this.isMultistream ?
7036
7090
  // @ts-ignore
@@ -7072,40 +7126,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7072
7126
 
7073
7127
  // publish the streams
7074
7128
  if (!this.mediaProperties.audioStream) {
7075
- _context20.next = 1;
7129
+ _context22.next = 1;
7076
7130
  break;
7077
7131
  }
7078
7132
  this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
7079
- _context20.next = 1;
7133
+ _context22.next = 1;
7080
7134
  return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
7081
7135
  case 1:
7082
7136
  if (!this.mediaProperties.videoStream) {
7083
- _context20.next = 2;
7137
+ _context22.next = 2;
7084
7138
  break;
7085
7139
  }
7086
- _context20.next = 2;
7140
+ _context22.next = 2;
7087
7141
  return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
7088
7142
  case 2:
7089
7143
  if (!this.mediaProperties.shareVideoStream) {
7090
- _context20.next = 3;
7144
+ _context22.next = 3;
7091
7145
  break;
7092
7146
  }
7093
- _context20.next = 3;
7147
+ _context22.next = 3;
7094
7148
  return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
7095
7149
  case 3:
7096
7150
  if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
7097
- _context20.next = 4;
7151
+ _context22.next = 4;
7098
7152
  break;
7099
7153
  }
7100
- _context20.next = 4;
7154
+ _context22.next = 4;
7101
7155
  return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
7102
7156
  case 4:
7103
- return _context20.abrupt("return", mc);
7157
+ return _context22.abrupt("return", mc);
7104
7158
  case 5:
7105
7159
  case "end":
7106
- return _context20.stop();
7160
+ return _context22.stop();
7107
7161
  }
7108
- }, _callee20, this);
7162
+ }, _callee22, this);
7109
7163
  }));
7110
7164
  function createMediaConnection(_x15, _x16) {
7111
7165
  return _createMediaConnection.apply(this, arguments);
@@ -7145,11 +7199,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7145
7199
  }, {
7146
7200
  key: "setUpLocalStreamReferences",
7147
7201
  value: (function () {
7148
- var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21(localStreams) {
7202
+ var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(localStreams) {
7149
7203
  var _localStreams$microph, _localStreams$camera, _localStreams$screenS, _localStreams$screenS2, _localStreams$screenS3, _localStreams$screenS4, _localStreams$screenS5, _localStreams$screenS6;
7150
- var setUpStreamPromises, _t12;
7151
- return _regenerator.default.wrap(function (_context21) {
7152
- while (1) switch (_context21.prev = _context21.next) {
7204
+ var setUpStreamPromises, _t13;
7205
+ return _regenerator.default.wrap(function (_context23) {
7206
+ while (1) switch (_context23.prev = _context23.next) {
7153
7207
  case 0:
7154
7208
  setUpStreamPromises = [];
7155
7209
  if (localStreams !== null && localStreams !== void 0 && localStreams.microphone && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$microph = localStreams.microphone) === null || _localStreams$microph === void 0 ? void 0 : _localStreams$microph.readyState) !== 'ended') {
@@ -7164,22 +7218,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7164
7218
  if (localStreams !== null && localStreams !== void 0 && (_localStreams$screenS4 = localStreams.screenShare) !== null && _localStreams$screenS4 !== void 0 && _localStreams$screenS4.audio && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$screenS5 = localStreams.screenShare) === null || _localStreams$screenS5 === void 0 ? void 0 : (_localStreams$screenS6 = _localStreams$screenS5.audio) === null || _localStreams$screenS6 === void 0 ? void 0 : _localStreams$screenS6.readyState) !== 'ended') {
7165
7219
  setUpStreamPromises.push(this.setLocalShareAudioStream(localStreams.screenShare.audio));
7166
7220
  }
7167
- _context21.prev = 1;
7168
- _context21.next = 2;
7221
+ _context23.prev = 1;
7222
+ _context23.next = 2;
7169
7223
  return _promise.default.all(setUpStreamPromises);
7170
7224
  case 2:
7171
- _context21.next = 4;
7225
+ _context23.next = 4;
7172
7226
  break;
7173
7227
  case 3:
7174
- _context21.prev = 3;
7175
- _t12 = _context21["catch"](1);
7176
- _loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _t12);
7177
- throw _t12;
7228
+ _context23.prev = 3;
7229
+ _t13 = _context23["catch"](1);
7230
+ _loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _t13);
7231
+ throw _t13;
7178
7232
  case 4:
7179
7233
  case "end":
7180
- return _context21.stop();
7234
+ return _context23.stop();
7181
7235
  }
7182
- }, _callee21, this, [[1, 3]]);
7236
+ }, _callee23, this, [[1, 3]]);
7183
7237
  }));
7184
7238
  function setUpLocalStreamReferences(_x17) {
7185
7239
  return _setUpLocalStreamReferences.apply(this, arguments);
@@ -7196,72 +7250,72 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7196
7250
  }, {
7197
7251
  key: "waitForMediaConnectionConnected",
7198
7252
  value: (function () {
7199
- var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22() {
7200
- var iceConnected, _this$mediaProperties9, _this$mediaProperties0, _this$mediaProperties1, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12, _this$mediaProperties13, timedOutError, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
7201
- return _regenerator.default.wrap(function (_context22) {
7202
- while (1) switch (_context22.prev = _context22.next) {
7253
+ var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
7254
+ var iceConnected, _this$mediaProperties9, _this$mediaProperties0, _this$mediaProperties1, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12, _this$mediaProperties13, timedOutError, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
7255
+ return _regenerator.default.wrap(function (_context24) {
7256
+ while (1) switch (_context24.prev = _context24.next) {
7203
7257
  case 0:
7204
- _context22.prev = 0;
7205
- _context22.next = 1;
7258
+ _context24.prev = 0;
7259
+ _context24.next = 1;
7206
7260
  return this.mediaProperties.waitForMediaConnectionConnected(this.correlationId);
7207
7261
  case 1:
7208
- _context22.next = 5;
7262
+ _context24.next = 5;
7209
7263
  break;
7210
7264
  case 2:
7211
- _context22.prev = 2;
7212
- _t13 = _context22["catch"](0);
7213
- iceConnected = _t13.iceConnected;
7265
+ _context24.prev = 2;
7266
+ _t14 = _context24["catch"](0);
7267
+ iceConnected = _t14.iceConnected;
7214
7268
  if (this.hasMediaConnectionConnectedAtLeastOnce) {
7215
- _context22.next = 4;
7269
+ _context24.next = 4;
7216
7270
  break;
7217
7271
  }
7218
- _t14 = this.webex.internal.newMetrics;
7219
- _t15 = !this.turnServerUsed;
7220
- _t16 = this.addMediaData.icePhaseCallback();
7221
- _t17 = this.webex.internal.newMetrics.callDiagnosticMetrics;
7222
- _t18 = _internalPluginMetrics.CallDiagnosticUtils;
7223
- _t19 = ((_this$mediaProperties9 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties9 === void 0 ? void 0 : (_this$mediaProperties0 = _this$mediaProperties9.multistreamConnection) === null || _this$mediaProperties0 === void 0 ? void 0 : (_this$mediaProperties1 = _this$mediaProperties0.pc) === null || _this$mediaProperties1 === void 0 ? void 0 : (_this$mediaProperties10 = _this$mediaProperties1.pc) === null || _this$mediaProperties10 === void 0 ? void 0 : _this$mediaProperties10.signalingState) || ((_this$mediaProperties11 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties11 === void 0 ? void 0 : (_this$mediaProperties12 = _this$mediaProperties11.mediaConnection) === null || _this$mediaProperties12 === void 0 ? void 0 : (_this$mediaProperties13 = _this$mediaProperties12.pc) === null || _this$mediaProperties13 === void 0 ? void 0 : _this$mediaProperties13.signalingState) || 'unknown';
7224
- _t20 = iceConnected;
7225
- _t21 = this.turnServerUsed;
7226
- _context22.next = 3;
7272
+ _t15 = this.webex.internal.newMetrics;
7273
+ _t16 = !this.turnServerUsed;
7274
+ _t17 = this.addMediaData.icePhaseCallback();
7275
+ _t18 = this.webex.internal.newMetrics.callDiagnosticMetrics;
7276
+ _t19 = _internalPluginMetrics.CallDiagnosticUtils;
7277
+ _t20 = ((_this$mediaProperties9 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties9 === void 0 ? void 0 : (_this$mediaProperties0 = _this$mediaProperties9.multistreamConnection) === null || _this$mediaProperties0 === void 0 ? void 0 : (_this$mediaProperties1 = _this$mediaProperties0.pc) === null || _this$mediaProperties1 === void 0 ? void 0 : (_this$mediaProperties10 = _this$mediaProperties1.pc) === null || _this$mediaProperties10 === void 0 ? void 0 : _this$mediaProperties10.signalingState) || ((_this$mediaProperties11 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties11 === void 0 ? void 0 : (_this$mediaProperties12 = _this$mediaProperties11.mediaConnection) === null || _this$mediaProperties12 === void 0 ? void 0 : (_this$mediaProperties13 = _this$mediaProperties12.pc) === null || _this$mediaProperties13 === void 0 ? void 0 : _this$mediaProperties13.signalingState) || 'unknown';
7278
+ _t21 = iceConnected;
7279
+ _t22 = this.turnServerUsed;
7280
+ _context24.next = 3;
7227
7281
  return this.webex.meetings.reachability.isWebexMediaBackendUnreachable().catch(function () {
7228
7282
  return false;
7229
7283
  });
7230
7284
  case 3:
7231
- _t22 = _context22.sent;
7232
- _t23 = _t18.generateClientErrorCodeForIceFailure.call(_t18, {
7233
- signalingState: _t19,
7234
- iceConnected: _t20,
7235
- turnServerUsed: _t21,
7236
- unreachable: _t22
7285
+ _t23 = _context24.sent;
7286
+ _t24 = _t19.generateClientErrorCodeForIceFailure.call(_t19, {
7287
+ signalingState: _t20,
7288
+ iceConnected: _t21,
7289
+ turnServerUsed: _t22,
7290
+ unreachable: _t23
7237
7291
  });
7238
- _t24 = _t17.getErrorPayloadForClientErrorCode.call(_t17, {
7239
- clientErrorCode: _t23
7292
+ _t25 = _t18.getErrorPayloadForClientErrorCode.call(_t18, {
7293
+ clientErrorCode: _t24
7240
7294
  });
7241
- _t25 = [_t24];
7242
- _t26 = {
7243
- canProceed: _t15,
7244
- icePhase: _t16,
7245
- errors: _t25
7246
- };
7295
+ _t26 = [_t25];
7247
7296
  _t27 = {
7297
+ canProceed: _t16,
7298
+ icePhase: _t17,
7299
+ errors: _t26
7300
+ };
7301
+ _t28 = {
7248
7302
  meetingId: this.id,
7249
- rawError: _t13
7303
+ rawError: _t14
7250
7304
  };
7251
- _t14.submitClientEvent.call(_t14, {
7305
+ _t15.submitClientEvent.call(_t15, {
7252
7306
  name: 'client.ice.end',
7253
- payload: _t26,
7254
- options: _t27
7307
+ payload: _t27,
7308
+ options: _t28
7255
7309
  });
7256
7310
  case 4:
7257
7311
  timedOutError = new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
7258
- timedOutError.cause = _t13;
7312
+ timedOutError.cause = _t14;
7259
7313
  throw timedOutError;
7260
7314
  case 5:
7261
7315
  case "end":
7262
- return _context22.stop();
7316
+ return _context24.stop();
7263
7317
  }
7264
- }, _callee22, this, [[0, 2]]);
7318
+ }, _callee24, this, [[0, 2]]);
7265
7319
  }));
7266
7320
  function waitForMediaConnectionConnected() {
7267
7321
  return _waitForMediaConnectionConnected.apply(this, arguments);
@@ -7328,19 +7382,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7328
7382
  }, {
7329
7383
  key: "waitForRemoteSDPAnswer",
7330
7384
  value: (function () {
7331
- var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23() {
7385
+ var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25() {
7332
7386
  var _this44 = this;
7333
7387
  var LOG_HEADER, deferSDPAnswer;
7334
- return _regenerator.default.wrap(function (_context23) {
7335
- while (1) switch (_context23.prev = _context23.next) {
7388
+ return _regenerator.default.wrap(function (_context25) {
7389
+ while (1) switch (_context25.prev = _context25.next) {
7336
7390
  case 0:
7337
7391
  LOG_HEADER = 'Meeting:index#addMedia():waitForRemoteSDPAnswer -->';
7338
7392
  if (this.deferSDPAnswer) {
7339
- _context23.next = 1;
7393
+ _context25.next = 1;
7340
7394
  break;
7341
7395
  }
7342
7396
  _loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
7343
- return _context23.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
7397
+ return _context25.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
7344
7398
  case 1:
7345
7399
  deferSDPAnswer = this.deferSDPAnswer;
7346
7400
  this.sdpResponseTimer = setTimeout(function () {
@@ -7366,12 +7420,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7366
7420
  deferSDPAnswer.reject(error);
7367
7421
  }, _constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT);
7368
7422
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " waiting for REMOTE SDP ANSWER..."));
7369
- return _context23.abrupt("return", deferSDPAnswer.promise);
7423
+ return _context25.abrupt("return", deferSDPAnswer.promise);
7370
7424
  case 2:
7371
7425
  case "end":
7372
- return _context23.stop();
7426
+ return _context25.stop();
7373
7427
  }
7374
- }, _callee23, this);
7428
+ }, _callee25, this);
7375
7429
  }));
7376
7430
  function waitForRemoteSDPAnswer() {
7377
7431
  return _waitForRemoteSDPAnswer.apply(this, arguments);
@@ -7390,28 +7444,28 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7390
7444
  }, {
7391
7445
  key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
7392
7446
  value: (function () {
7393
- var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24(remoteMediaManagerConfig, bundlePolicy) {
7394
- var LOG_HEADER, _t28;
7395
- return _regenerator.default.wrap(function (_context24) {
7396
- while (1) switch (_context24.prev = _context24.next) {
7447
+ var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(remoteMediaManagerConfig, bundlePolicy) {
7448
+ var LOG_HEADER, _t29;
7449
+ return _regenerator.default.wrap(function (_context26) {
7450
+ while (1) switch (_context26.prev = _context26.next) {
7397
7451
  case 0:
7398
7452
  LOG_HEADER = 'Meeting:index#addMedia():retryEstablishMediaConnectionWithForcedTurnDiscovery -->';
7399
- _context24.prev = 1;
7400
- _context24.next = 2;
7453
+ _context26.prev = 1;
7454
+ _context26.next = 2;
7401
7455
  return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
7402
7456
  case 2:
7403
- _context24.next = 4;
7457
+ _context26.next = 4;
7404
7458
  break;
7405
7459
  case 3:
7406
- _context24.prev = 3;
7407
- _t28 = _context24["catch"](1);
7408
- _loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _t28);
7409
- throw _t28;
7460
+ _context26.prev = 3;
7461
+ _t29 = _context26["catch"](1);
7462
+ _loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _t29);
7463
+ throw _t29;
7410
7464
  case 4:
7411
7465
  case "end":
7412
- return _context24.stop();
7466
+ return _context26.stop();
7413
7467
  }
7414
- }, _callee24, this, [[1, 3]]);
7468
+ }, _callee26, this, [[1, 3]]);
7415
7469
  }));
7416
7470
  function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x18, _x19) {
7417
7471
  return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
@@ -7431,14 +7485,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7431
7485
  }, {
7432
7486
  key: "retryWithForcedTurnDiscovery",
7433
7487
  value: (function () {
7434
- var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25(remoteMediaManagerConfig, bundlePolicy) {
7488
+ var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27(remoteMediaManagerConfig, bundlePolicy) {
7435
7489
  var LOG_HEADER;
7436
- return _regenerator.default.wrap(function (_context25) {
7437
- while (1) switch (_context25.prev = _context25.next) {
7490
+ return _regenerator.default.wrap(function (_context27) {
7491
+ while (1) switch (_context27.prev = _context27.next) {
7438
7492
  case 0:
7439
7493
  this.addMediaData.retriedWithTurnServer = true;
7440
7494
  LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
7441
- _context25.next = 1;
7495
+ _context27.next = 1;
7442
7496
  return this.cleanUpBeforeRetryWithTurnServer();
7443
7497
  case 1:
7444
7498
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
@@ -7448,22 +7502,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7448
7502
  reason: 'forcingTurnTls'
7449
7503
  });
7450
7504
  if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
7451
- _context25.next = 2;
7505
+ _context27.next = 2;
7452
7506
  break;
7453
7507
  }
7454
7508
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
7455
- _context25.next = 2;
7509
+ _context27.next = 2;
7456
7510
  return this.join({
7457
7511
  rejoin: true
7458
7512
  });
7459
7513
  case 2:
7460
- _context25.next = 3;
7514
+ _context27.next = 3;
7461
7515
  return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
7462
7516
  case 3:
7463
7517
  case "end":
7464
- return _context25.stop();
7518
+ return _context27.stop();
7465
7519
  }
7466
- }, _callee25, this);
7520
+ }, _callee27, this);
7467
7521
  }));
7468
7522
  function retryWithForcedTurnDiscovery(_x20, _x21) {
7469
7523
  return _retryWithForcedTurnDiscovery.apply(this, arguments);
@@ -7485,30 +7539,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7485
7539
  }, {
7486
7540
  key: "handleWaitForMediaConnectionConnectedError",
7487
7541
  value: (function () {
7488
- var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(error, remoteMediaManagerConfig, bundlePolicy) {
7542
+ var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee28(error, remoteMediaManagerConfig, bundlePolicy) {
7489
7543
  var LOG_HEADER;
7490
- return _regenerator.default.wrap(function (_context26) {
7491
- while (1) switch (_context26.prev = _context26.next) {
7544
+ return _regenerator.default.wrap(function (_context28) {
7545
+ while (1) switch (_context28.prev = _context28.next) {
7492
7546
  case 0:
7493
7547
  LOG_HEADER = 'Meeting:index#addMedia():handleWaitForMediaConnectionConnectedError -->'; // @ts-ignore - config coming from registerPlugin
7494
7548
  if (this.turnServerUsed) {
7495
- _context26.next = 2;
7549
+ _context28.next = 2;
7496
7550
  break;
7497
7551
  }
7498
7552
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " error waiting for media to connect on UDP, TCP, retrying using TURN-TLS, "), error);
7499
- _context26.next = 1;
7553
+ _context28.next = 1;
7500
7554
  return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
7501
7555
  case 1:
7502
- _context26.next = 3;
7556
+ _context28.next = 3;
7503
7557
  break;
7504
7558
  case 2:
7505
7559
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " error waiting for media to connect using UDP, TCP and TURN-TLS"), error);
7506
7560
  throw new _webexErrors.AddMediaFailed(error);
7507
7561
  case 3:
7508
7562
  case "end":
7509
- return _context26.stop();
7563
+ return _context28.stop();
7510
7564
  }
7511
- }, _callee26, this);
7565
+ }, _callee28, this);
7512
7566
  }));
7513
7567
  function handleWaitForMediaConnectionConnectedError(_x22, _x23, _x24) {
7514
7568
  return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
@@ -7526,20 +7580,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7526
7580
  }, {
7527
7581
  key: "doTurnDiscovery",
7528
7582
  value: (function () {
7529
- var _doTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27(isReconnecting, isForced) {
7583
+ var _doTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee29(isReconnecting, isForced) {
7530
7584
  var cdl, turnDiscoveryResult;
7531
- return _regenerator.default.wrap(function (_context27) {
7532
- while (1) switch (_context27.prev = _context27.next) {
7585
+ return _regenerator.default.wrap(function (_context29) {
7586
+ while (1) switch (_context29.prev = _context29.next) {
7533
7587
  case 0:
7534
7588
  // @ts-ignore
7535
7589
  cdl = this.webex.internal.newMetrics.callDiagnosticLatencies; // @ts-ignore
7536
7590
  this.webex.internal.newMetrics.submitInternalEvent({
7537
7591
  name: 'internal.client.add-media.turn-discovery.start'
7538
7592
  });
7539
- _context27.next = 1;
7593
+ _context29.next = 1;
7540
7594
  return this.roap.doTurnDiscovery(this, isReconnecting, isForced);
7541
7595
  case 1:
7542
- turnDiscoveryResult = _context27.sent;
7596
+ turnDiscoveryResult = _context29.sent;
7543
7597
  this.turnDiscoverySkippedReason = turnDiscoveryResult === null || turnDiscoveryResult === void 0 ? void 0 : turnDiscoveryResult.turnDiscoverySkippedReason;
7544
7598
  this.turnServerUsed = !this.turnDiscoverySkippedReason;
7545
7599
 
@@ -7555,12 +7609,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7555
7609
  retriedWithTurnServer: this.addMediaData.retriedWithTurnServer
7556
7610
  });
7557
7611
  }
7558
- return _context27.abrupt("return", turnDiscoveryResult);
7612
+ return _context29.abrupt("return", turnDiscoveryResult);
7559
7613
  case 2:
7560
7614
  case "end":
7561
- return _context27.stop();
7615
+ return _context29.stop();
7562
7616
  }
7563
- }, _callee27, this);
7617
+ }, _callee29, this);
7564
7618
  }));
7565
7619
  function doTurnDiscovery(_x25, _x26) {
7566
7620
  return _doTurnDiscovery.apply(this, arguments);
@@ -7581,35 +7635,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7581
7635
  }, {
7582
7636
  key: "establishMediaConnection",
7583
7637
  value: (function () {
7584
- var _establishMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee28(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
7638
+ var _establishMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee30(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
7585
7639
  var _this$locusMediaReque;
7586
- var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc, _t29, _t30;
7587
- return _regenerator.default.wrap(function (_context28) {
7588
- while (1) switch (_context28.prev = _context28.next) {
7640
+ var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc, _t30, _t31;
7641
+ return _regenerator.default.wrap(function (_context30) {
7642
+ while (1) switch (_context30.prev = _context30.next) {
7589
7643
  case 0:
7590
7644
  LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->';
7591
7645
  isReconnecting = this.isMoveToInProgress || !!((_this$locusMediaReque = this.locusMediaRequest) !== null && _this$locusMediaReque !== void 0 && _this$locusMediaReque.isConfluenceCreated()); // We are forcing turn discovery if the case is moveTo and a turn server was used already
7592
7646
  if (this.isMoveToInProgress && this.turnServerUsed) {
7593
7647
  isForced = true;
7594
7648
  }
7595
- _context28.prev = 1;
7649
+ _context30.prev = 1;
7596
7650
  if (turnServerInfo) {
7597
- _context28.next = 3;
7651
+ _context30.next = 3;
7598
7652
  break;
7599
7653
  }
7600
- _context28.next = 2;
7654
+ _context30.next = 2;
7601
7655
  return this.doTurnDiscovery(isReconnecting, isForced);
7602
7656
  case 2:
7603
- _yield$this$doTurnDis = _context28.sent;
7657
+ _yield$this$doTurnDis = _context30.sent;
7604
7658
  turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
7605
7659
  case 3:
7606
- _context28.next = 4;
7660
+ _context30.next = 4;
7607
7661
  return this.createMediaConnection(turnServerInfo, bundlePolicy);
7608
7662
  case 4:
7609
- mc = _context28.sent;
7663
+ mc = _context30.sent;
7610
7664
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created this.isMultistream=").concat(this.isMultistream));
7611
7665
  if (!this.isMultistream) {
7612
- _context28.next = 5;
7666
+ _context30.next = 5;
7613
7667
  break;
7614
7668
  }
7615
7669
  this.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(this.receiveSlotManager, this.mediaRequestManagers, remoteMediaManagerConfig);
@@ -7617,40 +7671,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7617
7671
  this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.InterpretationAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED);
7618
7672
  this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
7619
7673
  this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
7620
- _context28.next = 5;
7674
+ _context30.next = 5;
7621
7675
  return this.remoteMediaManager.start();
7622
7676
  case 5:
7623
- _context28.next = 6;
7677
+ _context30.next = 6;
7624
7678
  return mc.initiateOffer();
7625
7679
  case 6:
7626
- _context28.next = 7;
7680
+ _context30.next = 7;
7627
7681
  return this.waitForRemoteSDPAnswer();
7628
7682
  case 7:
7629
7683
  this.handleMediaLogging(this.mediaProperties);
7630
- _context28.next = 9;
7684
+ _context30.next = 9;
7631
7685
  break;
7632
7686
  case 8:
7633
- _context28.prev = 8;
7634
- _t29 = _context28["catch"](1);
7635
- _loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _t29);
7636
- throw _t29;
7687
+ _context30.prev = 8;
7688
+ _t30 = _context30["catch"](1);
7689
+ _loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _t30);
7690
+ throw _t30;
7637
7691
  case 9:
7638
- _context28.prev = 9;
7639
- _context28.next = 10;
7692
+ _context30.prev = 9;
7693
+ _context30.next = 10;
7640
7694
  return this.waitForMediaConnectionConnected();
7641
7695
  case 10:
7642
- _context28.next = 12;
7696
+ _context30.next = 12;
7643
7697
  break;
7644
7698
  case 11:
7645
- _context28.prev = 11;
7646
- _t30 = _context28["catch"](9);
7647
- _context28.next = 12;
7648
- return this.handleWaitForMediaConnectionConnectedError(_t30, remoteMediaManagerConfig, bundlePolicy);
7699
+ _context30.prev = 11;
7700
+ _t31 = _context30["catch"](9);
7701
+ _context30.next = 12;
7702
+ return this.handleWaitForMediaConnectionConnectedError(_t31, remoteMediaManagerConfig, bundlePolicy);
7649
7703
  case 12:
7650
7704
  case "end":
7651
- return _context28.stop();
7705
+ return _context30.stop();
7652
7706
  }
7653
- }, _callee28, this, [[1, 8], [9, 11]]);
7707
+ }, _callee30, this, [[1, 8], [9, 11]]);
7654
7708
  }));
7655
7709
  function establishMediaConnection(_x27, _x28, _x29, _x30) {
7656
7710
  return _establishMediaConnection.apply(this, arguments);
@@ -7667,16 +7721,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7667
7721
  }, {
7668
7722
  key: "cleanUpOnAddMediaFailure",
7669
7723
  value: (function () {
7670
- var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee29() {
7724
+ var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee31() {
7671
7725
  var _this$networkQualityM, _this$statsMonitor;
7672
- return _regenerator.default.wrap(function (_context29) {
7673
- while (1) switch (_context29.prev = _context29.next) {
7726
+ return _regenerator.default.wrap(function (_context31) {
7727
+ while (1) switch (_context31.prev = _context31.next) {
7674
7728
  case 0:
7675
7729
  if (!this.statsAnalyzer) {
7676
- _context29.next = 1;
7730
+ _context31.next = 1;
7677
7731
  break;
7678
7732
  }
7679
- _context29.next = 1;
7733
+ _context31.next = 1;
7680
7734
  return this.statsAnalyzer.stopAnalyzer();
7681
7735
  case 1:
7682
7736
  this.statsAnalyzer = null;
@@ -7687,7 +7741,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7687
7741
 
7688
7742
  // when media fails, we want to upload a webrtc dump to see whats going on
7689
7743
  // this function is async, but returns once the stats have been gathered
7690
- _context29.next = 2;
7744
+ _context31.next = 2;
7691
7745
  return this.forceSendStatsReport({
7692
7746
  callFrom: 'addMedia'
7693
7747
  });
@@ -7698,9 +7752,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7698
7752
  }
7699
7753
  case 3:
7700
7754
  case "end":
7701
- return _context29.stop();
7755
+ return _context31.stop();
7702
7756
  }
7703
- }, _callee29, this);
7757
+ }, _callee31, this);
7704
7758
  }));
7705
7759
  function cleanUpOnAddMediaFailure() {
7706
7760
  return _cleanUpOnAddMediaFailure.apply(this, arguments);
@@ -7718,16 +7772,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7718
7772
  }, {
7719
7773
  key: "downgradeFromMultistreamToTranscoded",
7720
7774
  value: (function () {
7721
- var _downgradeFromMultistreamToTranscoded = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee30() {
7775
+ var _downgradeFromMultistreamToTranscoded = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee32() {
7722
7776
  var _this$networkQualityM2, _this$statsMonitor2, _this$locusMediaReque2;
7723
- return _regenerator.default.wrap(function (_context30) {
7724
- while (1) switch (_context30.prev = _context30.next) {
7777
+ return _regenerator.default.wrap(function (_context32) {
7778
+ while (1) switch (_context32.prev = _context32.next) {
7725
7779
  case 0:
7726
7780
  if (!this.statsAnalyzer) {
7727
- _context30.next = 1;
7781
+ _context32.next = 1;
7728
7782
  break;
7729
7783
  }
7730
- _context30.next = 1;
7784
+ _context32.next = 1;
7731
7785
  return this.statsAnalyzer.stopAnalyzer();
7732
7786
  case 1:
7733
7787
  this.statsAnalyzer = null;
@@ -7745,9 +7799,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7745
7799
  this.createStatsAnalyzer();
7746
7800
  case 2:
7747
7801
  case "end":
7748
- return _context30.stop();
7802
+ return _context32.stop();
7749
7803
  }
7750
- }, _callee30, this);
7804
+ }, _callee32, this);
7751
7805
  }));
7752
7806
  function downgradeFromMultistreamToTranscoded() {
7753
7807
  return _downgradeFromMultistreamToTranscoded.apply(this, arguments);
@@ -7765,11 +7819,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7765
7819
  }, {
7766
7820
  key: "cleanUpBeforeRetryWithTurnServer",
7767
7821
  value: (function () {
7768
- var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee31() {
7769
- return _regenerator.default.wrap(function (_context31) {
7770
- while (1) switch (_context31.prev = _context31.next) {
7822
+ var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee33() {
7823
+ return _regenerator.default.wrap(function (_context33) {
7824
+ while (1) switch (_context33.prev = _context33.next) {
7771
7825
  case 0:
7772
- _context31.next = 1;
7826
+ _context33.next = 1;
7773
7827
  return this.forceSendStatsReport({
7774
7828
  callFrom: 'cleanUpBeforeRetryWithTurnServer'
7775
7829
  });
@@ -7789,9 +7843,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7789
7843
  }
7790
7844
  case 2:
7791
7845
  case "end":
7792
- return _context31.stop();
7846
+ return _context33.stop();
7793
7847
  }
7794
- }, _callee31, this);
7848
+ }, _callee33, this);
7795
7849
  }));
7796
7850
  function cleanUpBeforeRetryWithTurnServer() {
7797
7851
  return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
@@ -7801,35 +7855,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7801
7855
  }, {
7802
7856
  key: "cleanUpBeforeReconnection",
7803
7857
  value: function () {
7804
- var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee32() {
7805
- var _t31;
7806
- return _regenerator.default.wrap(function (_context32) {
7807
- while (1) switch (_context32.prev = _context32.next) {
7858
+ var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee34() {
7859
+ var _t32;
7860
+ return _regenerator.default.wrap(function (_context34) {
7861
+ while (1) switch (_context34.prev = _context34.next) {
7808
7862
  case 0:
7809
- _context32.prev = 0;
7810
- _context32.next = 1;
7863
+ _context34.prev = 0;
7864
+ _context34.next = 1;
7811
7865
  return this.forceSendStatsReport({
7812
7866
  callFrom: 'cleanUpBeforeReconnection'
7813
7867
  });
7814
7868
  case 1:
7815
7869
  if (!this.statsAnalyzer) {
7816
- _context32.next = 2;
7870
+ _context34.next = 2;
7817
7871
  break;
7818
7872
  }
7819
- _context32.next = 2;
7873
+ _context34.next = 2;
7820
7874
  return this.statsAnalyzer.stopAnalyzer();
7821
7875
  case 2:
7822
- _context32.next = 4;
7876
+ _context34.next = 4;
7823
7877
  break;
7824
7878
  case 3:
7825
- _context32.prev = 3;
7826
- _t31 = _context32["catch"](0);
7827
- _loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _t31);
7879
+ _context34.prev = 3;
7880
+ _t32 = _context34["catch"](0);
7881
+ _loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _t32);
7828
7882
  case 4:
7829
7883
  case "end":
7830
- return _context32.stop();
7884
+ return _context34.stop();
7831
7885
  }
7832
- }, _callee32, this, [[0, 3]]);
7886
+ }, _callee34, this, [[0, 3]]);
7833
7887
  }));
7834
7888
  function cleanUpBeforeReconnection() {
7835
7889
  return _cleanUpBeforeReconnection.apply(this, arguments);
@@ -7897,7 +7951,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7897
7951
  }, {
7898
7952
  key: "addMediaInternal",
7899
7953
  value: (function () {
7900
- var _addMediaInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee33(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
7954
+ var _addMediaInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee35(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
7901
7955
  var options,
7902
7956
  LOG_HEADER,
7903
7957
  localStreams,
@@ -7959,26 +8013,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7959
8013
  _selectedCandidatePairChanges,
7960
8014
  _numTransports,
7961
8015
  _iceCandidateErrors,
7962
- _args33 = arguments,
7963
- _t32,
7964
- _t33;
7965
- return _regenerator.default.wrap(function (_context33) {
7966
- while (1) switch (_context33.prev = _context33.next) {
8016
+ _args35 = arguments,
8017
+ _t33,
8018
+ _t34;
8019
+ return _regenerator.default.wrap(function (_context35) {
8020
+ while (1) switch (_context35.prev = _context35.next) {
7967
8021
  case 0:
7968
- options = _args33.length > 3 && _args33[3] !== undefined ? _args33[3] : {};
8022
+ options = _args35.length > 3 && _args35[3] !== undefined ? _args35[3] : {};
7969
8023
  this.addMediaData.retriedWithTurnServer = false;
7970
8024
  this.addMediaData.icePhaseCallback = icePhaseCallback;
7971
8025
  this.hasMediaConnectionConnectedAtLeastOnce = false;
7972
8026
  LOG_HEADER = 'Meeting:index#addMedia -->';
7973
8027
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: options=").concat((0, _stringify.default)(options), ", turnServerInfo=").concat((0, _stringify.default)(turnServerInfo), ", forceTurnDiscovery=").concat(forceTurnDiscovery));
7974
8028
  if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
7975
- _context33.next = 1;
8029
+ _context35.next = 1;
7976
8030
  break;
7977
8031
  }
7978
8032
  throw new _webexErrors.MeetingNotActiveError();
7979
8033
  case 1:
7980
8034
  if (!_util2.default.isUserInLeftState(this.locusInfo)) {
7981
- _context33.next = 2;
8035
+ _context35.next = 2;
7982
8036
  break;
7983
8037
  }
7984
8038
  throw new _webexErrors.UserNotJoinedError();
@@ -7995,7 +8049,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7995
8049
  ipver = _util2.default.getIpVersion(this.webex); // used just for metrics
7996
8050
  // If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
7997
8051
  if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
7998
- _context33.next = 3;
8052
+ _context35.next = 3;
7999
8053
  break;
8000
8054
  }
8001
8055
  throw new _webexErrors.UserInLobbyError();
@@ -8039,62 +8093,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8039
8093
  this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
8040
8094
  this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
8041
8095
  this.brbState = (0, _brbState.createBrbState)(this, false);
8042
- _context33.prev = 4;
8096
+ _context35.prev = 4;
8043
8097
  if (!(allowPublishMediaInLobby || !this.isUserUnadmitted)) {
8044
- _context33.next = 5;
8098
+ _context35.next = 5;
8045
8099
  break;
8046
8100
  }
8047
- _context33.next = 5;
8101
+ _context35.next = 5;
8048
8102
  return this.setUpLocalStreamReferences(localStreams);
8049
8103
  case 5:
8050
8104
  this.setMercuryListener();
8051
8105
  this.createStatsAnalyzer();
8052
- _context33.prev = 6;
8053
- _context33.next = 7;
8106
+ _context35.prev = 6;
8107
+ _context35.next = 7;
8054
8108
  return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
8055
8109
  case 7:
8056
- _context33.next = 12;
8110
+ _context35.next = 12;
8057
8111
  break;
8058
8112
  case 8:
8059
- _context33.prev = 8;
8060
- _t32 = _context33["catch"](6);
8061
- if (!(_t32 instanceof _multistreamNotSupportedError.default)) {
8062
- _context33.next = 11;
8113
+ _context35.prev = 8;
8114
+ _t33 = _context35["catch"](6);
8115
+ if (!(_t33 instanceof _multistreamNotSupportedError.default)) {
8116
+ _context35.next = 11;
8063
8117
  break;
8064
8118
  }
8065
8119
  _loggerProxy.default.logger.warn("".concat(LOG_HEADER, " we asked for multistream backend (Homer), but got transcoded backend, recreating media connection..."));
8066
- _context33.next = 9;
8120
+ _context35.next = 9;
8067
8121
  return this.downgradeFromMultistreamToTranscoded();
8068
8122
  case 9:
8069
- _context33.next = 10;
8123
+ _context35.next = 10;
8070
8124
  return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true, undefined);
8071
8125
  case 10:
8072
- _context33.next = 12;
8126
+ _context35.next = 12;
8073
8127
  break;
8074
8128
  case 11:
8075
- throw _t32;
8129
+ throw _t33;
8076
8130
  case 12:
8077
8131
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connected, finalizing..."));
8078
8132
  if (!this.mediaProperties.hasLocalShareStream()) {
8079
- _context33.next = 13;
8133
+ _context35.next = 13;
8080
8134
  break;
8081
8135
  }
8082
- _context33.next = 13;
8136
+ _context35.next = 13;
8083
8137
  return this.enqueueScreenShareFloorRequest();
8084
8138
  case 13:
8085
- _context33.next = 14;
8139
+ _context35.next = 14;
8086
8140
  return this.mediaProperties.getCurrentConnectionInfo();
8087
8141
  case 14:
8088
- _yield$this$mediaProp = _context33.sent;
8142
+ _yield$this$mediaProp = _context35.sent;
8089
8143
  connectionType = _yield$this$mediaProp.connectionType;
8090
8144
  ipVersion = _yield$this$mediaProp.ipVersion;
8091
8145
  selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
8092
8146
  numTransports = _yield$this$mediaProp.numTransports;
8093
8147
  iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
8094
- _context33.next = 15;
8148
+ _context35.next = 15;
8095
8149
  return this.getMediaReachabilityMetricFields();
8096
8150
  case 15:
8097
- reachabilityMetrics = _context33.sent;
8151
+ reachabilityMetrics = _context35.sent;
8098
8152
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
8099
8153
  correlation_id: this.correlationId,
8100
8154
  locus_id: this.locusUrl.split('/').pop(),
@@ -8124,31 +8178,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8124
8178
  // We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
8125
8179
  (_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
8126
8180
  this.startPeriodicLogUpload();
8127
- _context33.next = 20;
8181
+ _context35.next = 20;
8128
8182
  break;
8129
8183
  case 16:
8130
- _context33.prev = 16;
8131
- _t33 = _context33["catch"](4);
8132
- _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _t33);
8184
+ _context35.prev = 16;
8185
+ _t34 = _context35["catch"](4);
8186
+ _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _t34);
8133
8187
 
8134
8188
  // @ts-ignore
8135
- _context33.next = 17;
8189
+ _context35.next = 17;
8136
8190
  return this.getMediaReachabilityMetricFields();
8137
8191
  case 17:
8138
- _reachabilityMetrics = _context33.sent;
8139
- _context33.next = 18;
8192
+ _reachabilityMetrics = _context35.sent;
8193
+ _context35.next = 18;
8140
8194
  return this.mediaProperties.getCurrentConnectionInfo();
8141
8195
  case 18:
8142
- _yield$this$mediaProp2 = _context33.sent;
8196
+ _yield$this$mediaProp2 = _context35.sent;
8143
8197
  _selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
8144
8198
  _numTransports = _yield$this$mediaProp2.numTransports;
8145
8199
  _iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
8146
8200
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
8147
8201
  correlation_id: this.correlationId,
8148
8202
  locus_id: this.locusUrl.split('/').pop(),
8149
- reason: _t33.message,
8150
- stack: _t33.stack,
8151
- code: _t33.code,
8203
+ reason: _t34.message,
8204
+ stack: _t34.stack,
8205
+ code: _t34.code,
8152
8206
  selectedCandidatePairChanges: _selectedCandidatePairChanges,
8153
8207
  numTransports: _numTransports,
8154
8208
  turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
@@ -8163,7 +8217,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8163
8217
  iceCandidatesCount: this.iceCandidatesCount,
8164
8218
  ipver: ipver
8165
8219
  }));
8166
- _context33.next = 19;
8220
+ _context35.next = 19;
8167
8221
  return this.cleanUpOnAddMediaFailure();
8168
8222
  case 19:
8169
8223
  // Upload logs on error while adding media
@@ -8171,21 +8225,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8171
8225
  file: 'meeting/index',
8172
8226
  function: 'addMedia'
8173
8227
  }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
8174
- if (_t33 instanceof _internalMediaCore.Errors.SdpError) {
8228
+ if (_t34 instanceof _internalMediaCore.Errors.SdpError) {
8175
8229
  this.leave({
8176
8230
  reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
8177
8231
  });
8178
8232
  }
8179
- throw _t33;
8233
+ throw _t34;
8180
8234
  case 20:
8181
- _context33.prev = 20;
8235
+ _context35.prev = 20;
8182
8236
  this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
8183
- return _context33.finish(20);
8237
+ return _context35.finish(20);
8184
8238
  case 21:
8185
8239
  case "end":
8186
- return _context33.stop();
8240
+ return _context35.stop();
8187
8241
  }
8188
- }, _callee33, this, [[4, 16, 20, 21], [6, 8]]);
8242
+ }, _callee35, this, [[4, 16, 20, 21], [6, 8]]);
8189
8243
  }));
8190
8244
  function addMediaInternal(_x31, _x32, _x33) {
8191
8245
  return _addMediaInternal.apply(this, arguments);
@@ -8253,35 +8307,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8253
8307
  * @memberof Meeting
8254
8308
  */
8255
8309
  function () {
8256
- var _updateMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee34(options) {
8310
+ var _updateMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee36(options) {
8257
8311
  var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
8258
- return _regenerator.default.wrap(function (_context34) {
8259
- while (1) switch (_context34.prev = _context34.next) {
8312
+ return _regenerator.default.wrap(function (_context36) {
8313
+ while (1) switch (_context36.prev = _context36.next) {
8260
8314
  case 0:
8261
8315
  this.checkMediaConnection();
8262
8316
  audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
8263
8317
  _loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
8264
8318
  if (this.canUpdateMedia()) {
8265
- _context34.next = 1;
8319
+ _context36.next = 1;
8266
8320
  break;
8267
8321
  }
8268
- return _context34.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
8322
+ return _context36.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
8269
8323
  case 1:
8270
8324
  if (!this.isMultistream) {
8271
- _context34.next = 3;
8325
+ _context36.next = 3;
8272
8326
  break;
8273
8327
  }
8274
8328
  if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
8275
- _context34.next = 2;
8329
+ _context36.next = 2;
8276
8330
  break;
8277
8331
  }
8278
8332
  throw new Error('toggling shareAudioEnabled or shareVideoEnabled in a multistream meeting is not supported, to control receiving screen share call meeting.remoteMediaManager.setLayout() with appropriate layout');
8279
8333
  case 2:
8280
- _context34.next = 4;
8334
+ _context36.next = 4;
8281
8335
  break;
8282
8336
  case 3:
8283
8337
  if (!(shareAudioEnabled !== undefined)) {
8284
- _context34.next = 4;
8338
+ _context36.next = 4;
8285
8339
  break;
8286
8340
  }
8287
8341
  throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
@@ -8306,18 +8360,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8306
8360
  this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
8307
8361
  }
8308
8362
  if (this.isMultistream) {
8309
- _context34.next = 5;
8363
+ _context36.next = 5;
8310
8364
  break;
8311
8365
  }
8312
- _context34.next = 5;
8366
+ _context36.next = 5;
8313
8367
  return this.updateTranscodedMediaConnection();
8314
8368
  case 5:
8315
- return _context34.abrupt("return", undefined);
8369
+ return _context36.abrupt("return", undefined);
8316
8370
  case 6:
8317
8371
  case "end":
8318
- return _context34.stop();
8372
+ return _context36.stop();
8319
8373
  }
8320
- }, _callee34, this);
8374
+ }, _callee36, this);
8321
8375
  }));
8322
8376
  function updateMedia(_x34) {
8323
8377
  return _updateMedia.apply(this, arguments);
@@ -8459,32 +8513,46 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8459
8513
  );
8460
8514
  };
8461
8515
  _loggerProxy.default.logger.log('Meeting:index#leave --> Leaving a meeting');
8462
- return _util2.default.leaveMeeting(this, options).then(function (leave) {
8463
- // CA team recommends submitting this *after* locus /leave
8464
- submitLeaveMetric();
8465
- _this49.meetingFiniteStateMachine.leave();
8466
- _this49.clearMeetingData();
8467
-
8468
- // upload logs on leave irrespective of meeting delete
8469
- _triggerProxy.default.trigger(_this49, {
8470
- file: 'meeting/index',
8471
- function: 'leave'
8472
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
8516
+ return _util2.default.leaveMeeting(this, options).then(/*#__PURE__*/function () {
8517
+ var _ref42 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee37(leave) {
8518
+ return _regenerator.default.wrap(function (_context37) {
8519
+ while (1) switch (_context37.prev = _context37.next) {
8520
+ case 0:
8521
+ // CA team recommends submitting this *after* locus /leave
8522
+ submitLeaveMetric();
8523
+ _this49.meetingFiniteStateMachine.leave();
8524
+ _context37.next = 1;
8525
+ return _this49.clearMeetingData();
8526
+ case 1:
8527
+ // upload logs on leave irrespective of meeting delete
8528
+ _triggerProxy.default.trigger(_this49, {
8529
+ file: 'meeting/index',
8530
+ function: 'leave'
8531
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
8473
8532
 
8474
- // TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
8475
- if (_this49.wirelessShare || _this49.guest) {
8476
- // If screen sharing clean the meeting object
8477
- _triggerProxy.default.trigger(_this49, {
8478
- file: 'meeting/index',
8479
- function: 'leave'
8480
- }, _constants.EVENTS.DESTROY_MEETING, {
8481
- reason: options.reason,
8482
- meetingId: _this49.id
8483
- });
8484
- }
8485
- _loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
8486
- return leave;
8487
- }).catch(function (error) {
8533
+ // TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
8534
+ if (_this49.wirelessShare || _this49.guest) {
8535
+ // If screen sharing clean the meeting object
8536
+ _triggerProxy.default.trigger(_this49, {
8537
+ file: 'meeting/index',
8538
+ function: 'leave'
8539
+ }, _constants.EVENTS.DESTROY_MEETING, {
8540
+ reason: options.reason,
8541
+ meetingId: _this49.id
8542
+ });
8543
+ }
8544
+ _loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
8545
+ return _context37.abrupt("return", leave);
8546
+ case 2:
8547
+ case "end":
8548
+ return _context37.stop();
8549
+ }
8550
+ }, _callee37);
8551
+ }));
8552
+ return function (_x35) {
8553
+ return _ref42.apply(this, arguments);
8554
+ };
8555
+ }()).catch(function (error) {
8488
8556
  // CA team recommends submitting this *after* locus /leave
8489
8557
  submitLeaveMetric({
8490
8558
  errors: [{
@@ -9146,16 +9214,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9146
9214
  correlation_id: this.correlationId,
9147
9215
  locus_id: this.locusId
9148
9216
  });
9149
- return _util2.default.endMeetingForAll(this).then(function (end) {
9150
- _this56.meetingFiniteStateMachine.end();
9151
- _this56.clearMeetingData();
9152
- // upload logs on leave irrespective of meeting delete
9153
- _triggerProxy.default.trigger(_this56, {
9154
- file: 'meeting/index',
9155
- function: 'endMeetingForAll'
9156
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this56);
9157
- return end;
9158
- }).catch(function (error) {
9217
+ return _util2.default.endMeetingForAll(this).then(/*#__PURE__*/function () {
9218
+ var _ref43 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee38(end) {
9219
+ return _regenerator.default.wrap(function (_context38) {
9220
+ while (1) switch (_context38.prev = _context38.next) {
9221
+ case 0:
9222
+ _this56.meetingFiniteStateMachine.end();
9223
+ _context38.next = 1;
9224
+ return _this56.clearMeetingData();
9225
+ case 1:
9226
+ // upload logs on leave irrespective of meeting delete
9227
+ _triggerProxy.default.trigger(_this56, {
9228
+ file: 'meeting/index',
9229
+ function: 'endMeetingForAll'
9230
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this56);
9231
+ return _context38.abrupt("return", end);
9232
+ case 2:
9233
+ case "end":
9234
+ return _context38.stop();
9235
+ }
9236
+ }, _callee38);
9237
+ }));
9238
+ return function (_x36) {
9239
+ return _ref43.apply(this, arguments);
9240
+ };
9241
+ }()).catch(function (error) {
9159
9242
  _this56.meetingFiniteStateMachine.fail(error);
9160
9243
  _loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
9161
9244
  // upload logs on leave irrespective of meeting delete
@@ -9217,12 +9300,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9217
9300
  */
9218
9301
  }, {
9219
9302
  key: "extendMeeting",
9220
- value: function extendMeeting(_ref39) {
9221
- var meetingPolicyUrl = _ref39.meetingPolicyUrl,
9222
- meetingInstanceId = _ref39.meetingInstanceId,
9223
- participantId = _ref39.participantId,
9224
- _ref39$extensionMinut = _ref39.extensionMinutes,
9225
- extensionMinutes = _ref39$extensionMinut === void 0 ? 30 : _ref39$extensionMinut;
9303
+ value: function extendMeeting(_ref44) {
9304
+ var meetingPolicyUrl = _ref44.meetingPolicyUrl,
9305
+ meetingInstanceId = _ref44.meetingInstanceId,
9306
+ participantId = _ref44.participantId,
9307
+ _ref44$extensionMinut = _ref44.extensionMinutes,
9308
+ extensionMinutes = _ref44$extensionMinut === void 0 ? 30 : _ref44$extensionMinut;
9226
9309
  if (!meetingInstanceId || !participantId) {
9227
9310
  return _promise.default.reject(new Error('Missing meetingInstanceId or participantId'));
9228
9311
  }
@@ -9303,39 +9386,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9303
9386
  }, {
9304
9387
  key: "enableMusicMode",
9305
9388
  value: (function () {
9306
- var _enableMusicMode = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee35(shouldEnableMusicMode) {
9307
- return _regenerator.default.wrap(function (_context35) {
9308
- while (1) switch (_context35.prev = _context35.next) {
9389
+ var _enableMusicMode = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee39(shouldEnableMusicMode) {
9390
+ return _regenerator.default.wrap(function (_context39) {
9391
+ while (1) switch (_context39.prev = _context39.next) {
9309
9392
  case 0:
9310
9393
  this.checkMediaConnection();
9311
9394
  if (this.isMultistream) {
9312
- _context35.next = 1;
9395
+ _context39.next = 1;
9313
9396
  break;
9314
9397
  }
9315
9398
  throw new Error('enableMusicMode() only supported with multistream');
9316
9399
  case 1:
9317
9400
  if (!shouldEnableMusicMode) {
9318
- _context35.next = 3;
9401
+ _context39.next = 3;
9319
9402
  break;
9320
9403
  }
9321
- _context35.next = 2;
9404
+ _context39.next = 2;
9322
9405
  return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
9323
9406
  maxaveragebitrate: '64000',
9324
9407
  maxplaybackrate: '48000'
9325
9408
  });
9326
9409
  case 2:
9327
- _context35.next = 4;
9410
+ _context39.next = 4;
9328
9411
  break;
9329
9412
  case 3:
9330
- _context35.next = 4;
9413
+ _context39.next = 4;
9331
9414
  return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
9332
9415
  case 4:
9333
9416
  case "end":
9334
- return _context35.stop();
9417
+ return _context39.stop();
9335
9418
  }
9336
- }, _callee35, this);
9419
+ }, _callee39, this);
9337
9420
  }));
9338
- function enableMusicMode(_x35) {
9421
+ function enableMusicMode(_x37) {
9339
9422
  return _enableMusicMode.apply(this, arguments);
9340
9423
  }
9341
9424
  return enableMusicMode;
@@ -9426,25 +9509,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9426
9509
  }, {
9427
9510
  key: "publishStream",
9428
9511
  value: (function () {
9429
- var _publishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee36(mediaType, stream) {
9430
- return _regenerator.default.wrap(function (_context36) {
9431
- while (1) switch (_context36.prev = _context36.next) {
9512
+ var _publishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee40(mediaType, stream) {
9513
+ return _regenerator.default.wrap(function (_context40) {
9514
+ while (1) switch (_context40.prev = _context40.next) {
9432
9515
  case 0:
9433
9516
  if (stream) {
9434
- _context36.next = 1;
9517
+ _context40.next = 1;
9435
9518
  break;
9436
9519
  }
9437
- return _context36.abrupt("return");
9520
+ return _context40.abrupt("return");
9438
9521
  case 1:
9439
9522
  if (!this.mediaProperties.webrtcMediaConnection) {
9440
- _context36.next = 3;
9523
+ _context40.next = 3;
9441
9524
  break;
9442
9525
  }
9443
9526
  if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
9444
- _context36.next = 2;
9527
+ _context40.next = 2;
9445
9528
  break;
9446
9529
  }
9447
- _context36.next = 2;
9530
+ _context40.next = 2;
9448
9531
  return this.sendSlotManager.publishStream(mediaType, stream);
9449
9532
  case 2:
9450
9533
  this.emitPublishStateChangeEvent({
@@ -9455,11 +9538,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9455
9538
  });
9456
9539
  case 3:
9457
9540
  case "end":
9458
- return _context36.stop();
9541
+ return _context40.stop();
9459
9542
  }
9460
- }, _callee36, this);
9543
+ }, _callee40, this);
9461
9544
  }));
9462
- function publishStream(_x36, _x37) {
9545
+ function publishStream(_x38, _x39) {
9463
9546
  return _publishStream.apply(this, arguments);
9464
9547
  }
9465
9548
  return publishStream;
@@ -9475,21 +9558,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9475
9558
  }, {
9476
9559
  key: "unpublishStream",
9477
9560
  value: (function () {
9478
- var _unpublishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee37(mediaType, stream) {
9479
- return _regenerator.default.wrap(function (_context37) {
9480
- while (1) switch (_context37.prev = _context37.next) {
9561
+ var _unpublishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee41(mediaType, stream) {
9562
+ return _regenerator.default.wrap(function (_context41) {
9563
+ while (1) switch (_context41.prev = _context41.next) {
9481
9564
  case 0:
9482
9565
  if (stream) {
9483
- _context37.next = 1;
9566
+ _context41.next = 1;
9484
9567
  break;
9485
9568
  }
9486
- return _context37.abrupt("return");
9569
+ return _context41.abrupt("return");
9487
9570
  case 1:
9488
9571
  if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
9489
- _context37.next = 2;
9572
+ _context41.next = 2;
9490
9573
  break;
9491
9574
  }
9492
- _context37.next = 2;
9575
+ _context41.next = 2;
9493
9576
  return this.sendSlotManager.unpublishStream(mediaType);
9494
9577
  case 2:
9495
9578
  this.emitPublishStateChangeEvent({
@@ -9500,11 +9583,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9500
9583
  });
9501
9584
  case 3:
9502
9585
  case "end":
9503
- return _context37.stop();
9586
+ return _context41.stop();
9504
9587
  }
9505
- }, _callee37, this);
9588
+ }, _callee41, this);
9506
9589
  }));
9507
- function unpublishStream(_x38, _x39) {
9590
+ function unpublishStream(_x40, _x41) {
9508
9591
  return _unpublishStream.apply(this, arguments);
9509
9592
  }
9510
9593
  return unpublishStream;
@@ -9519,19 +9602,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9519
9602
  }, {
9520
9603
  key: "publishStreams",
9521
9604
  value: (function () {
9522
- var _publishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee38(streams) {
9605
+ var _publishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee42(streams) {
9523
9606
  var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
9524
9607
  var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
9525
- return _regenerator.default.wrap(function (_context38) {
9526
- while (1) switch (_context38.prev = _context38.next) {
9608
+ return _regenerator.default.wrap(function (_context42) {
9609
+ while (1) switch (_context42.prev = _context42.next) {
9527
9610
  case 0:
9528
9611
  _loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
9529
9612
  this.checkMediaConnection();
9530
9613
  if (!(!streams.microphone && !streams.camera && !((_streams$screenShare = streams.screenShare) !== null && _streams$screenShare !== void 0 && _streams$screenShare.audio) && !((_streams$screenShare2 = streams.screenShare) !== null && _streams$screenShare2 !== void 0 && _streams$screenShare2.video))) {
9531
- _context38.next = 1;
9614
+ _context42.next = 1;
9532
9615
  break;
9533
9616
  }
9534
- return _context38.abrupt("return");
9617
+ return _context42.abrupt("return");
9535
9618
  case 1:
9536
9619
  streamChecks = [{
9537
9620
  stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
@@ -9549,62 +9632,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9549
9632
  _i = 0, _streamChecks = streamChecks;
9550
9633
  case 2:
9551
9634
  if (!(_i < _streamChecks.length)) {
9552
- _context38.next = 4;
9635
+ _context42.next = 4;
9553
9636
  break;
9554
9637
  }
9555
9638
  _streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
9556
9639
  if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
9557
- _context38.next = 3;
9640
+ _context42.next = 3;
9558
9641
  break;
9559
9642
  }
9560
9643
  throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
9561
9644
  case 3:
9562
9645
  _i++;
9563
- _context38.next = 2;
9646
+ _context42.next = 2;
9564
9647
  break;
9565
9648
  case 4:
9566
9649
  floorRequestNeeded = false; // Screenshare Audio is supported only in multi stream. So we check for screenshare audio presence only if it's a multi stream meeting
9567
9650
  if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
9568
- _context38.next = 6;
9651
+ _context42.next = 6;
9569
9652
  break;
9570
9653
  }
9571
- _context38.next = 5;
9654
+ _context42.next = 5;
9572
9655
  return this.setLocalShareAudioStream(streams.screenShare.audio);
9573
9656
  case 5:
9574
9657
  floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
9575
9658
  case 6:
9576
9659
  if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
9577
- _context38.next = 8;
9660
+ _context42.next = 8;
9578
9661
  break;
9579
9662
  }
9580
- _context38.next = 7;
9663
+ _context42.next = 7;
9581
9664
  return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
9582
9665
  case 7:
9583
9666
  floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
9584
9667
  case 8:
9585
9668
  if (!streams.microphone) {
9586
- _context38.next = 9;
9669
+ _context42.next = 9;
9587
9670
  break;
9588
9671
  }
9589
- _context38.next = 9;
9672
+ _context42.next = 9;
9590
9673
  return this.setLocalAudioStream(streams.microphone);
9591
9674
  case 9:
9592
9675
  if (!streams.camera) {
9593
- _context38.next = 10;
9676
+ _context42.next = 10;
9594
9677
  break;
9595
9678
  }
9596
- _context38.next = 10;
9679
+ _context42.next = 10;
9597
9680
  return this.setLocalVideoStream(streams.camera);
9598
9681
  case 10:
9599
9682
  if (this.isMultistream) {
9600
- _context38.next = 11;
9683
+ _context42.next = 11;
9601
9684
  break;
9602
9685
  }
9603
- _context38.next = 11;
9686
+ _context42.next = 11;
9604
9687
  return this.updateTranscodedMediaConnection();
9605
9688
  case 11:
9606
9689
  if (!floorRequestNeeded) {
9607
- _context38.next = 12;
9690
+ _context42.next = 12;
9608
9691
  break;
9609
9692
  }
9610
9693
  this.localShareInstanceId = _uuid.default.v4();
@@ -9635,15 +9718,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9635
9718
  // we're sending the http request to Locus to request the screen share floor
9636
9719
  // only after the SDP update, because that's how it's always been done for transcoded meetings
9637
9720
  // and also if sharing from the start, we need confluence to have been created
9638
- _context38.next = 12;
9721
+ _context42.next = 12;
9639
9722
  return this.enqueueScreenShareFloorRequest();
9640
9723
  case 12:
9641
9724
  case "end":
9642
- return _context38.stop();
9725
+ return _context42.stop();
9643
9726
  }
9644
- }, _callee38, this);
9727
+ }, _callee42, this);
9645
9728
  }));
9646
- function publishStreams(_x40) {
9729
+ function publishStreams(_x42) {
9647
9730
  return _publishStreams.apply(this, arguments);
9648
9731
  }
9649
9732
  return publishStreams;
@@ -9658,10 +9741,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9658
9741
  }, {
9659
9742
  key: "unpublishStreams",
9660
9743
  value: (function () {
9661
- var _unpublishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee39(streams) {
9744
+ var _unpublishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee43(streams) {
9662
9745
  var promises, _iterator, _step, stream;
9663
- return _regenerator.default.wrap(function (_context39) {
9664
- while (1) switch (_context39.prev = _context39.next) {
9746
+ return _regenerator.default.wrap(function (_context43) {
9747
+ while (1) switch (_context43.prev = _context43.next) {
9665
9748
  case 0:
9666
9749
  _loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
9667
9750
  this.checkMediaConnection();
@@ -9693,7 +9776,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9693
9776
  if (!this.isMultistream) {
9694
9777
  promises.push(this.updateTranscodedMediaConnection());
9695
9778
  }
9696
- _context39.next = 1;
9779
+ _context43.next = 1;
9697
9780
  return _promise.default.all(promises);
9698
9781
  case 1:
9699
9782
  // we're allowing for the SDK to support just audio share as well
@@ -9714,11 +9797,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9714
9797
  }
9715
9798
  case 2:
9716
9799
  case "end":
9717
- return _context39.stop();
9800
+ return _context43.stop();
9718
9801
  }
9719
- }, _callee39, this);
9802
+ }, _callee43, this);
9720
9803
  }));
9721
- function unpublishStreams(_x41) {
9804
+ function unpublishStreams(_x43) {
9722
9805
  return _unpublishStreams.apply(this, arguments);
9723
9806
  }
9724
9807
  return unpublishStreams;
@@ -9784,16 +9867,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9784
9867
  }, {
9785
9868
  key: "getMediaReachabilityMetricFields",
9786
9869
  value: (function () {
9787
- var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee40() {
9870
+ var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee44() {
9788
9871
  var _this$mediaServerIp, _this$mediaConnection, _this$mediaConnection2, _this$mediaConnection3;
9789
9872
  var reachabilityMetrics, successKeys, totalSuccessCases, selectedSubnetFirstOctet, isSubnetReachable, selectedCluster;
9790
- return _regenerator.default.wrap(function (_context40) {
9791
- while (1) switch (_context40.prev = _context40.next) {
9873
+ return _regenerator.default.wrap(function (_context44) {
9874
+ while (1) switch (_context44.prev = _context44.next) {
9792
9875
  case 0:
9793
- _context40.next = 1;
9876
+ _context44.next = 1;
9794
9877
  return this.webex.meetings.reachability.getReachabilityMetrics();
9795
9878
  case 1:
9796
- reachabilityMetrics = _context40.sent;
9879
+ reachabilityMetrics = _context44.sent;
9797
9880
  successKeys = ['reachability_public_udp_success', 'reachability_public_tcp_success', 'reachability_public_xtls_success', 'reachability_vmn_udp_success', 'reachability_vmn_tcp_success', 'reachability_vmn_xtls_success'];
9798
9881
  totalSuccessCases = successKeys.reduce(function (total, key) {
9799
9882
  var value = reachabilityMetrics[key];
@@ -9810,16 +9893,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9810
9893
  this.webex.meetings.reachability.isSubnetReachable(selectedSubnetFirstOctet);
9811
9894
  }
9812
9895
  selectedCluster = (_this$mediaConnection = (_this$mediaConnection2 = this.mediaConnections) === null || _this$mediaConnection2 === void 0 ? void 0 : (_this$mediaConnection3 = _this$mediaConnection2[0]) === null || _this$mediaConnection3 === void 0 ? void 0 : _this$mediaConnection3.mediaAgentCluster) !== null && _this$mediaConnection !== void 0 ? _this$mediaConnection : null;
9813
- return _context40.abrupt("return", _objectSpread(_objectSpread({}, reachabilityMetrics), {}, {
9896
+ return _context44.abrupt("return", _objectSpread(_objectSpread({}, reachabilityMetrics), {}, {
9814
9897
  subnet_reachable: isSubnetReachable,
9815
9898
  selected_cluster: selectedCluster,
9816
9899
  selected_subnet: selectedSubnetFirstOctet ? "".concat(selectedSubnetFirstOctet, ".X.X.X") : null
9817
9900
  }));
9818
9901
  case 2:
9819
9902
  case "end":
9820
- return _context40.stop();
9903
+ return _context44.stop();
9821
9904
  }
9822
- }, _callee40, this);
9905
+ }, _callee44, this);
9823
9906
  }));
9824
9907
  function getMediaReachabilityMetricFields() {
9825
9908
  return _getMediaReachabilityMetricFields.apply(this, arguments);
@@ -9836,17 +9919,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9836
9919
  }, {
9837
9920
  key: "setStage",
9838
9921
  value: function setStage() {
9839
- var _ref40 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
9840
- _ref40$activeSpeakerP = _ref40.activeSpeakerProportion,
9841
- activeSpeakerProportion = _ref40$activeSpeakerP === void 0 ? 0.5 : _ref40$activeSpeakerP,
9842
- customBackground = _ref40.customBackground,
9843
- customLogo = _ref40.customLogo,
9844
- customNameLabel = _ref40.customNameLabel,
9845
- importantParticipants = _ref40.importantParticipants,
9846
- _ref40$lockAttendeeVi = _ref40.lockAttendeeViewOnStage,
9847
- lockAttendeeViewOnStage = _ref40$lockAttendeeVi === void 0 ? false : _ref40$lockAttendeeVi,
9848
- _ref40$showActiveSpea = _ref40.showActiveSpeaker,
9849
- showActiveSpeaker = _ref40$showActiveSpea === void 0 ? false : _ref40$showActiveSpea;
9922
+ var _ref45 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
9923
+ _ref45$activeSpeakerP = _ref45.activeSpeakerProportion,
9924
+ activeSpeakerProportion = _ref45$activeSpeakerP === void 0 ? 0.5 : _ref45$activeSpeakerP,
9925
+ customBackground = _ref45.customBackground,
9926
+ customLogo = _ref45.customLogo,
9927
+ customNameLabel = _ref45.customNameLabel,
9928
+ importantParticipants = _ref45.importantParticipants,
9929
+ _ref45$lockAttendeeVi = _ref45.lockAttendeeViewOnStage,
9930
+ lockAttendeeViewOnStage = _ref45$lockAttendeeVi === void 0 ? false : _ref45$lockAttendeeVi,
9931
+ _ref45$showActiveSpea = _ref45.showActiveSpeaker,
9932
+ showActiveSpeaker = _ref45$showActiveSpea === void 0 ? false : _ref45$showActiveSpea;
9850
9933
  var videoLayout = {
9851
9934
  overrideDefault: true,
9852
9935
  lockAttendeeViewOnStageOnly: lockAttendeeViewOnStage,
@@ -9950,42 +10033,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9950
10033
  }, {
9951
10034
  key: "refreshDataChannelToken",
9952
10035
  value: (function () {
9953
- var _refreshDataChannelToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee41() {
9954
- var isPracticeSession, dataChannelTokenType, res, msg, err, _t34;
9955
- return _regenerator.default.wrap(function (_context41) {
9956
- while (1) switch (_context41.prev = _context41.next) {
10036
+ var _refreshDataChannelToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee45() {
10037
+ var isPracticeSession, dataChannelTokenType, res, msg, err, _t35;
10038
+ return _regenerator.default.wrap(function (_context45) {
10039
+ while (1) switch (_context45.prev = _context45.next) {
9957
10040
  case 0:
9958
10041
  isPracticeSession = this.webinar.isJoinPracticeSessionDataChannel();
9959
10042
  dataChannelTokenType = this.getDataChannelTokenType();
9960
- _context41.prev = 1;
9961
- _context41.next = 2;
10043
+ _context45.prev = 1;
10044
+ _context45.next = 2;
9962
10045
  return this.meetingRequest.fetchDatachannelToken({
9963
10046
  locusUrl: this.locusUrl,
9964
10047
  requestingParticipantId: this.members.selfId,
9965
10048
  isPracticeSession: isPracticeSession
9966
10049
  });
9967
10050
  case 2:
9968
- res = _context41.sent;
9969
- return _context41.abrupt("return", {
10051
+ res = _context45.sent;
10052
+ return _context45.abrupt("return", {
9970
10053
  body: {
9971
10054
  datachannelToken: res.body.datachannelToken,
9972
10055
  dataChannelTokenType: dataChannelTokenType
9973
10056
  }
9974
10057
  });
9975
10058
  case 3:
9976
- _context41.prev = 3;
9977
- _t34 = _context41["catch"](1);
9978
- msg = (_t34 === null || _t34 === void 0 ? void 0 : _t34.message) || String(_t34);
10059
+ _context45.prev = 3;
10060
+ _t35 = _context45["catch"](1);
10061
+ msg = (_t35 === null || _t35 === void 0 ? void 0 : _t35.message) || String(_t35);
9979
10062
  err = (0, _assign.default)(new Error("Failed to refresh data channel token: ".concat(msg)), {
9980
- statusCode: _t34 === null || _t34 === void 0 ? void 0 : _t34.statusCode,
9981
- original: _t34
10063
+ statusCode: _t35 === null || _t35 === void 0 ? void 0 : _t35.statusCode,
10064
+ original: _t35
9982
10065
  });
9983
10066
  throw err;
9984
10067
  case 4:
9985
10068
  case "end":
9986
- return _context41.stop();
10069
+ return _context45.stop();
9987
10070
  }
9988
- }, _callee41, this, [[1, 3]]);
10071
+ }, _callee45, this, [[1, 3]]);
9989
10072
  }));
9990
10073
  function refreshDataChannelToken() {
9991
10074
  return _refreshDataChannelToken.apply(this, arguments);