@webex/plugin-meetings 3.12.0-next.1 → 3.12.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/aiEnableRequest/index.js +1 -1
  2. package/dist/breakouts/breakout.js +1 -1
  3. package/dist/breakouts/index.js +1 -1
  4. package/dist/hashTree/constants.js +10 -1
  5. package/dist/hashTree/constants.js.map +1 -1
  6. package/dist/hashTree/hashTreeParser.js +20 -11
  7. package/dist/hashTree/hashTreeParser.js.map +1 -1
  8. package/dist/hashTree/utils.js +22 -0
  9. package/dist/hashTree/utils.js.map +1 -1
  10. package/dist/interpretation/index.js +1 -1
  11. package/dist/interpretation/siLanguage.js +1 -1
  12. package/dist/meeting/index.js +427 -323
  13. package/dist/meeting/index.js.map +1 -1
  14. package/dist/metrics/constants.js +5 -1
  15. package/dist/metrics/constants.js.map +1 -1
  16. package/dist/multistream/sendSlotManager.js +116 -2
  17. package/dist/multistream/sendSlotManager.js.map +1 -1
  18. package/dist/types/hashTree/constants.d.ts +1 -0
  19. package/dist/types/hashTree/utils.d.ts +11 -0
  20. package/dist/types/meeting/index.d.ts +24 -1
  21. package/dist/types/metrics/constants.d.ts +4 -0
  22. package/dist/types/multistream/sendSlotManager.d.ts +23 -1
  23. package/dist/webinar/index.js +325 -220
  24. package/dist/webinar/index.js.map +1 -1
  25. package/package.json +15 -15
  26. package/src/hashTree/constants.ts +9 -0
  27. package/src/hashTree/hashTreeParser.ts +21 -14
  28. package/src/hashTree/utils.ts +17 -0
  29. package/src/meeting/index.ts +165 -57
  30. package/src/metrics/constants.ts +5 -0
  31. package/src/multistream/sendSlotManager.ts +97 -3
  32. package/src/webinar/index.ts +120 -18
  33. package/test/unit/spec/hashTree/hashTreeParser.ts +238 -0
  34. package/test/unit/spec/hashTree/utils.ts +88 -1
  35. package/test/unit/spec/meeting/index.js +179 -48
  36. package/test/unit/spec/meetings/index.js +3 -3
  37. package/test/unit/spec/multistream/sendSlotManager.ts +135 -36
  38. package/test/unit/spec/webinar/index.ts +193 -8
@@ -679,8 +679,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
679
679
  * @returns {null}
680
680
  */
681
681
  (0, _defineProperty3.default)(_this, "handleLLMOnline", function () {
682
- // @ts-ignore
683
- _this.webex.internal.llm.off('online', _this.handleLLMOnline);
682
+ _this.restoreLLMSubscriptionsIfNeeded();
684
683
  _triggerProxy.default.trigger(_this, {
685
684
  file: 'meeting/index',
686
685
  function: 'handleLLMOnline'
@@ -1550,11 +1549,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
1550
1549
  _this.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
1551
1550
  }
1552
1551
  _this.queuedMediaUpdates = [];
1553
- if (_this.transcription) {
1554
- _this.stopTranscription();
1555
- _this.transcription = undefined;
1556
- }
1552
+ _this.stopTranscription();
1553
+ _this.transcription = undefined;
1557
1554
  _this.annotation.deregisterEvents();
1555
+ _this.clearDataChannelToken();
1558
1556
  _context5.next = 1;
1559
1557
  return _this.cleanupLLMConneciton({
1560
1558
  throwOnError: false
@@ -4326,44 +4324,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4326
4324
  });
4327
4325
  _this19.updateLLMConnection();
4328
4326
  });
4329
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
4330
- var _ref37 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(payload) {
4331
- var _this19$rtcMetrics;
4332
- return _regenerator.default.wrap(function (_context1) {
4333
- while (1) switch (_context1.prev = _context1.next) {
4334
- case 0:
4335
- _this19.stopKeepAlive();
4336
- if (payload) {
4337
- _triggerProxy.default.trigger(_this19, {
4338
- file: 'meeting/index',
4339
- function: 'setUpLocusInfoSelfListener'
4340
- }, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
4341
- payload: payload
4342
- });
4327
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, function (payload) {
4328
+ var _this19$rtcMetrics;
4329
+ _this19.stopKeepAlive();
4330
+ if (payload) {
4331
+ _triggerProxy.default.trigger(_this19, {
4332
+ file: 'meeting/index',
4333
+ function: 'setUpLocusInfoSelfListener'
4334
+ }, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
4335
+ payload: payload
4336
+ });
4343
4337
 
4344
- // @ts-ignore
4345
- _this19.webex.internal.newMetrics.submitClientEvent({
4346
- name: 'client.lobby.exited',
4347
- options: {
4348
- meetingId: _this19.id
4349
- }
4350
- });
4351
- _metrics.default.sendBehavioralMetric(_constants2.default.GUEST_EXITED_LOBBY, {
4352
- correlation_id: _this19.correlationId
4353
- });
4354
- }
4355
- (_this19$rtcMetrics = _this19.rtcMetrics) === null || _this19$rtcMetrics === void 0 ? void 0 : _this19$rtcMetrics.sendNextMetrics();
4356
- _this19.updateLLMConnection();
4357
- case 1:
4358
- case "end":
4359
- return _context1.stop();
4338
+ // @ts-ignore
4339
+ _this19.webex.internal.newMetrics.submitClientEvent({
4340
+ name: 'client.lobby.exited',
4341
+ options: {
4342
+ meetingId: _this19.id
4360
4343
  }
4361
- }, _callee1);
4362
- }));
4363
- return function (_x9) {
4364
- return _ref37.apply(this, arguments);
4365
- };
4366
- }());
4344
+ });
4345
+ _metrics.default.sendBehavioralMetric(_constants2.default.GUEST_EXITED_LOBBY, {
4346
+ correlation_id: _this19.correlationId
4347
+ });
4348
+ }
4349
+ (_this19$rtcMetrics = _this19.rtcMetrics) === null || _this19$rtcMetrics === void 0 ? void 0 : _this19$rtcMetrics.sendNextMetrics();
4350
+ _this19.ensureDefaultDatachannelTokenAfterAdmit().catch(function (error) {
4351
+ _loggerProxy.default.logger.warn("Meeting:index#setUpLocusInfoSelfListener --> failed post-admit token prefetch flow: ".concat((error === null || error === void 0 ? void 0 : error.message) || String(error)));
4352
+ });
4353
+ _this19.updateLLMConnection();
4354
+ });
4367
4355
 
4368
4356
  // @ts-ignore - check if MEDIA_INACTIVITY exists
4369
4357
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, function () {
@@ -4483,49 +4471,49 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4483
4471
  }
4484
4472
  });
4485
4473
  this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
4486
- var _ref38 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
4474
+ var _ref37 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(payload) {
4487
4475
  var _t9;
4488
- return _regenerator.default.wrap(function (_context10) {
4489
- while (1) switch (_context10.prev = _context10.next) {
4476
+ return _regenerator.default.wrap(function (_context1) {
4477
+ while (1) switch (_context1.prev = _context1.next) {
4490
4478
  case 0:
4491
4479
  if (!_this20.wirelessShare) {
4492
- _context10.next = 2;
4480
+ _context1.next = 2;
4493
4481
  break;
4494
4482
  }
4495
4483
  if (!_this20.mediaProperties.shareVideoStream) {
4496
- _context10.next = 1;
4484
+ _context1.next = 1;
4497
4485
  break;
4498
4486
  }
4499
- _context10.next = 1;
4487
+ _context1.next = 1;
4500
4488
  return _this20.setLocalShareVideoStream(undefined);
4501
4489
  case 1:
4502
4490
  if (!_this20.mediaProperties.shareAudioStream) {
4503
- _context10.next = 2;
4491
+ _context1.next = 2;
4504
4492
  break;
4505
4493
  }
4506
- _context10.next = 2;
4494
+ _context1.next = 2;
4507
4495
  return _this20.setLocalShareAudioStream(undefined);
4508
4496
  case 2:
4509
4497
  if (!payload.shouldLeave) {
4510
- _context10.next = 7;
4498
+ _context1.next = 7;
4511
4499
  break;
4512
4500
  }
4513
- _context10.prev = 3;
4514
- _context10.next = 4;
4501
+ _context1.prev = 3;
4502
+ _context1.next = 4;
4515
4503
  return _this20.leave({
4516
4504
  reason: payload.reason
4517
4505
  });
4518
4506
  case 4:
4519
4507
  _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.');
4520
- _context10.next = 6;
4508
+ _context1.next = 6;
4521
4509
  break;
4522
4510
  case 5:
4523
- _context10.prev = 5;
4524
- _t9 = _context10["catch"](3);
4511
+ _context1.prev = 5;
4512
+ _t9 = _context1["catch"](3);
4525
4513
  // @ts-ignore
4526
4514
  _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(_t9));
4527
4515
  case 6:
4528
- _context10.next = 8;
4516
+ _context1.next = 8;
4529
4517
  break;
4530
4518
  case 7:
4531
4519
  _loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
@@ -4539,12 +4527,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4539
4527
  });
4540
4528
  case 8:
4541
4529
  case "end":
4542
- return _context10.stop();
4530
+ return _context1.stop();
4543
4531
  }
4544
- }, _callee10, null, [[3, 5]]);
4532
+ }, _callee1, null, [[3, 5]]);
4545
4533
  }));
4546
- return function (_x0) {
4547
- return _ref38.apply(this, arguments);
4534
+ return function (_x9) {
4535
+ return _ref37.apply(this, arguments);
4548
4536
  };
4549
4537
  }());
4550
4538
  }
@@ -4662,31 +4650,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4662
4650
  }, {
4663
4651
  key: "beRightBack",
4664
4652
  value: (function () {
4665
- var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(enabled) {
4653
+ var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(enabled) {
4666
4654
  var _this22 = this;
4667
4655
  var errorMessage, error, _errorMessage, _error;
4668
- return _regenerator.default.wrap(function (_context11) {
4669
- while (1) switch (_context11.prev = _context11.next) {
4656
+ return _regenerator.default.wrap(function (_context10) {
4657
+ while (1) switch (_context10.prev = _context10.next) {
4670
4658
  case 0:
4671
4659
  if (this.isMultistream) {
4672
- _context11.next = 1;
4660
+ _context10.next = 1;
4673
4661
  break;
4674
4662
  }
4675
4663
  errorMessage = 'Meeting:index#beRightBack --> Not a multistream meeting';
4676
4664
  error = new Error(errorMessage);
4677
4665
  _loggerProxy.default.logger.error(error);
4678
- return _context11.abrupt("return", _promise.default.reject(error));
4666
+ return _context10.abrupt("return", _promise.default.reject(error));
4679
4667
  case 1:
4680
4668
  if (this.mediaProperties.webrtcMediaConnection) {
4681
- _context11.next = 2;
4669
+ _context10.next = 2;
4682
4670
  break;
4683
4671
  }
4684
4672
  _errorMessage = 'Meeting:index#beRightBack --> WebRTC media connection is not defined';
4685
4673
  _error = new Error(_errorMessage);
4686
4674
  _loggerProxy.default.logger.error(_error);
4687
- return _context11.abrupt("return", _promise.default.reject(_error));
4675
+ return _context10.abrupt("return", _promise.default.reject(_error));
4688
4676
  case 2:
4689
- return _context11.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager).then(function () {
4677
+ return _context10.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager).then(function () {
4690
4678
  if (_this22.audio && enabled) {
4691
4679
  // locus mutes the participant with brb enabled request,
4692
4680
  // so we need to explicitly update remote mute for correct logic flow
@@ -4697,11 +4685,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4697
4685
  }));
4698
4686
  case 3:
4699
4687
  case "end":
4700
- return _context11.stop();
4688
+ return _context10.stop();
4701
4689
  }
4702
- }, _callee11, this);
4690
+ }, _callee10, this);
4703
4691
  }));
4704
- function beRightBack(_x1) {
4692
+ function beRightBack(_x0) {
4705
4693
  return _beRightBack.apply(this, arguments);
4706
4694
  }
4707
4695
  return beRightBack;
@@ -5374,11 +5362,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5374
5362
  }, {
5375
5363
  key: "setLocalAudioStream",
5376
5364
  value: (function () {
5377
- var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
5365
+ var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(localStream) {
5378
5366
  var _this$audio2;
5379
5367
  var oldStream;
5380
- return _regenerator.default.wrap(function (_context12) {
5381
- while (1) switch (_context12.prev = _context12.next) {
5368
+ return _regenerator.default.wrap(function (_context11) {
5369
+ while (1) switch (_context11.prev = _context11.next) {
5382
5370
  case 0:
5383
5371
  oldStream = this.mediaProperties.audioStream;
5384
5372
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
@@ -5392,21 +5380,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5392
5380
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
5393
5381
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5394
5382
  if (!(!this.isMultistream || !localStream)) {
5395
- _context12.next = 1;
5383
+ _context11.next = 1;
5396
5384
  break;
5397
5385
  }
5398
- _context12.next = 1;
5386
+ _context11.next = 1;
5399
5387
  return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
5400
5388
  case 1:
5401
- _context12.next = 2;
5389
+ _context11.next = 2;
5402
5390
  return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
5403
5391
  case 2:
5404
5392
  case "end":
5405
- return _context12.stop();
5393
+ return _context11.stop();
5406
5394
  }
5407
- }, _callee12, this);
5395
+ }, _callee11, this);
5408
5396
  }));
5409
- function setLocalAudioStream(_x10) {
5397
+ function setLocalAudioStream(_x1) {
5410
5398
  return _setLocalAudioStream.apply(this, arguments);
5411
5399
  }
5412
5400
  return setLocalAudioStream;
@@ -5422,11 +5410,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5422
5410
  }, {
5423
5411
  key: "setLocalVideoStream",
5424
5412
  value: (function () {
5425
- var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(localStream) {
5413
+ var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
5426
5414
  var _this$video2;
5427
5415
  var oldStream;
5428
- return _regenerator.default.wrap(function (_context13) {
5429
- while (1) switch (_context13.prev = _context13.next) {
5416
+ return _regenerator.default.wrap(function (_context12) {
5417
+ while (1) switch (_context12.prev = _context12.next) {
5430
5418
  case 0:
5431
5419
  oldStream = this.mediaProperties.videoStream;
5432
5420
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
@@ -5442,21 +5430,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5442
5430
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5443
5431
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
5444
5432
  if (!(!this.isMultistream || !localStream)) {
5445
- _context13.next = 1;
5433
+ _context12.next = 1;
5446
5434
  break;
5447
5435
  }
5448
- _context13.next = 1;
5436
+ _context12.next = 1;
5449
5437
  return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
5450
5438
  case 1:
5451
- _context13.next = 2;
5439
+ _context12.next = 2;
5452
5440
  return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
5453
5441
  case 2:
5454
5442
  case "end":
5455
- return _context13.stop();
5443
+ return _context12.stop();
5456
5444
  }
5457
- }, _callee13, this);
5445
+ }, _callee12, this);
5458
5446
  }));
5459
- function setLocalVideoStream(_x11) {
5447
+ function setLocalVideoStream(_x10) {
5460
5448
  return _setLocalVideoStream.apply(this, arguments);
5461
5449
  }
5462
5450
  return setLocalVideoStream;
@@ -5473,10 +5461,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5473
5461
  }, {
5474
5462
  key: "setLocalShareVideoStream",
5475
5463
  value: (function () {
5476
- var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(localDisplayStream) {
5464
+ var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(localDisplayStream) {
5477
5465
  var oldStream;
5478
- return _regenerator.default.wrap(function (_context14) {
5479
- while (1) switch (_context14.prev = _context14.next) {
5466
+ return _regenerator.default.wrap(function (_context13) {
5467
+ while (1) switch (_context13.prev = _context13.next) {
5480
5468
  case 0:
5481
5469
  oldStream = this.mediaProperties.shareVideoStream;
5482
5470
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
@@ -5488,21 +5476,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5488
5476
  localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5489
5477
  this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
5490
5478
  if (!(!this.isMultistream || !localDisplayStream)) {
5491
- _context14.next = 1;
5479
+ _context13.next = 1;
5492
5480
  break;
5493
5481
  }
5494
- _context14.next = 1;
5482
+ _context13.next = 1;
5495
5483
  return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
5496
5484
  case 1:
5497
- _context14.next = 2;
5485
+ _context13.next = 2;
5498
5486
  return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
5499
5487
  case 2:
5500
5488
  case "end":
5501
- return _context14.stop();
5489
+ return _context13.stop();
5502
5490
  }
5503
- }, _callee14, this);
5491
+ }, _callee13, this);
5504
5492
  }));
5505
- function setLocalShareVideoStream(_x12) {
5493
+ function setLocalShareVideoStream(_x11) {
5506
5494
  return _setLocalShareVideoStream.apply(this, arguments);
5507
5495
  }
5508
5496
  return setLocalShareVideoStream;
@@ -5518,10 +5506,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5518
5506
  }, {
5519
5507
  key: "setLocalShareAudioStream",
5520
5508
  value: (function () {
5521
- var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(localSystemAudioStream) {
5509
+ var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(localSystemAudioStream) {
5522
5510
  var oldStream;
5523
- return _regenerator.default.wrap(function (_context15) {
5524
- while (1) switch (_context15.prev = _context15.next) {
5511
+ return _regenerator.default.wrap(function (_context14) {
5512
+ while (1) switch (_context14.prev = _context14.next) {
5525
5513
  case 0:
5526
5514
  oldStream = this.mediaProperties.shareAudioStream;
5527
5515
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
@@ -5531,21 +5519,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5531
5519
  localSystemAudioStream === null || localSystemAudioStream === void 0 ? void 0 : localSystemAudioStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5532
5520
  this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
5533
5521
  if (!(!this.isMultistream || !localSystemAudioStream)) {
5534
- _context15.next = 1;
5522
+ _context14.next = 1;
5535
5523
  break;
5536
5524
  }
5537
- _context15.next = 1;
5525
+ _context14.next = 1;
5538
5526
  return this.unpublishStream(_internalMediaCore.MediaType.AudioSlides, oldStream);
5539
5527
  case 1:
5540
- _context15.next = 2;
5528
+ _context14.next = 2;
5541
5529
  return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
5542
5530
  case 2:
5543
5531
  case "end":
5544
- return _context15.stop();
5532
+ return _context14.stop();
5545
5533
  }
5546
- }, _callee15, this);
5534
+ }, _callee14, this);
5547
5535
  }));
5548
- function setLocalShareAudioStream(_x13) {
5536
+ function setLocalShareAudioStream(_x12) {
5549
5537
  return _setLocalShareAudioStream.apply(this, arguments);
5550
5538
  }
5551
5539
  return setLocalShareAudioStream;
@@ -5984,7 +5972,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5984
5972
  }, {
5985
5973
  key: "joinWithMedia",
5986
5974
  value: (function () {
5987
- var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
5975
+ var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
5988
5976
  var _this30 = this;
5989
5977
  var options,
5990
5978
  mediaOptions,
@@ -6007,20 +5995,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6007
5995
  shouldRetry,
6008
5996
  _error2,
6009
5997
  _error3,
6010
- _args16 = arguments,
5998
+ _args15 = arguments,
6011
5999
  _t0,
6012
6000
  _t1;
6013
- return _regenerator.default.wrap(function (_context16) {
6014
- while (1) switch (_context16.prev = _context16.next) {
6001
+ return _regenerator.default.wrap(function (_context15) {
6002
+ while (1) switch (_context15.prev = _context15.next) {
6015
6003
  case 0:
6016
- options = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : {};
6004
+ options = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : {};
6017
6005
  mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
6018
6006
  _this$joinWithMediaRe = this.joinWithMediaRetryInfo, isRetry = _this$joinWithMediaRe.isRetry, prevJoinResponse = _this$joinWithMediaRe.prevJoinResponse;
6019
6007
  if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
6020
- _context16.next = 1;
6008
+ _context15.next = 1;
6021
6009
  break;
6022
6010
  }
6023
- return _context16.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
6011
+ return _context15.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
6024
6012
  case 1:
6025
6013
  this.allowMediaInLobby = true;
6026
6014
  _loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
@@ -6032,39 +6020,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6032
6020
  in case WebRTC is not available at all.
6033
6021
  */
6034
6022
  if (!(_webCapabilities.WebCapabilities.supportsRTCPeerConnection() === _webCapabilities.CapabilityState.NOT_CAPABLE)) {
6035
- _context16.next = 2;
6023
+ _context15.next = 2;
6036
6024
  break;
6037
6025
  }
6038
6026
  throw new _internalMediaCore.Errors.WebrtcApiNotAvailableError('RTCPeerConnection API is not available in this environment');
6039
6027
  case 2:
6040
- _context16.prev = 2;
6028
+ _context15.prev = 2;
6041
6029
  forceTurnDiscovery = false;
6042
6030
  if (joinResponse) {
6043
- _context16.next = 7;
6031
+ _context15.next = 7;
6044
6032
  break;
6045
6033
  }
6046
- _context16.next = 3;
6034
+ _context15.next = 3;
6047
6035
  return this.roap.generateTurnDiscoveryRequestMessage(this, true);
6048
6036
  case 3:
6049
- turnDiscoveryRequest = _context16.sent;
6037
+ turnDiscoveryRequest = _context15.sent;
6050
6038
  turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
6051
6039
  joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
6052
6040
  _loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
6053
- _context16.next = 4;
6041
+ _context15.next = 4;
6054
6042
  return this.join(joinOptions);
6055
6043
  case 4:
6056
- joinResponse = _context16.sent;
6044
+ joinResponse = _context15.sent;
6057
6045
  joined = true;
6058
6046
 
6059
6047
  // if we sent out TURN discovery Roap message with join, process the TURN discovery response
6060
6048
  if (!joinOptions.roapMessage) {
6061
- _context16.next = 6;
6049
+ _context15.next = 6;
6062
6050
  break;
6063
6051
  }
6064
- _context16.next = 5;
6052
+ _context15.next = 5;
6065
6053
  return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
6066
6054
  case 5:
6067
- _yield$this$roap$hand = _context16.sent;
6055
+ _yield$this$roap$hand = _context15.sent;
6068
6056
  turnServerInfo = _yield$this$roap$hand.turnServerInfo;
6069
6057
  turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
6070
6058
  this.turnDiscoverySkippedReason = turnDiscoverySkippedReason;
@@ -6073,7 +6061,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6073
6061
  this.roap.abortTurnDiscovery();
6074
6062
  }
6075
6063
  case 6:
6076
- _context16.next = 8;
6064
+ _context15.next = 8;
6077
6065
  break;
6078
6066
  case 7:
6079
6067
  // This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
@@ -6081,24 +6069,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6081
6069
  forceTurnDiscovery = true;
6082
6070
  joined = true;
6083
6071
  case 8:
6084
- _context16.next = 9;
6072
+ _context15.next = 9;
6085
6073
  return this.addMediaInternal(function () {
6086
6074
  return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
6087
6075
  }, turnServerInfo, forceTurnDiscovery, mediaOptions);
6088
6076
  case 9:
6089
- mediaResponse = _context16.sent;
6077
+ mediaResponse = _context15.sent;
6090
6078
  this.joinWithMediaRetryInfo = {
6091
6079
  isRetry: false,
6092
6080
  prevJoinResponse: undefined
6093
6081
  };
6094
- return _context16.abrupt("return", {
6082
+ return _context15.abrupt("return", {
6095
6083
  join: joinResponse,
6096
6084
  media: mediaResponse,
6097
6085
  multistreamEnabled: this.isMultistream
6098
6086
  });
6099
6087
  case 10:
6100
- _context16.prev = 10;
6101
- _t0 = _context16["catch"](2);
6088
+ _context15.prev = 10;
6089
+ _t0 = _context15["catch"](2);
6102
6090
  _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _t0);
6103
6091
  this.roap.abortTurnDiscovery();
6104
6092
 
@@ -6125,21 +6113,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6125
6113
 
6126
6114
  // we only want to call leave if join was successful and this was a retry or we won't be doing any more retries
6127
6115
  if (!(joined && (isRetry || !shouldRetry))) {
6128
- _context16.next = 14;
6116
+ _context15.next = 14;
6129
6117
  break;
6130
6118
  }
6131
- _context16.prev = 11;
6132
- _context16.next = 12;
6119
+ _context15.prev = 11;
6120
+ _context15.next = 12;
6133
6121
  return this.leave({
6134
6122
  resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
6135
6123
  reason: 'joinWithMedia failure'
6136
6124
  });
6137
6125
  case 12:
6138
- _context16.next = 14;
6126
+ _context15.next = 14;
6139
6127
  break;
6140
6128
  case 13:
6141
- _context16.prev = 13;
6142
- _t1 = _context16["catch"](11);
6129
+ _context15.prev = 13;
6130
+ _t1 = _context15["catch"](11);
6143
6131
  _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _t1);
6144
6132
  leaveError = _t1;
6145
6133
  case 14:
@@ -6155,13 +6143,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6155
6143
  type: _t0.name
6156
6144
  });
6157
6145
  if (!shouldRetry) {
6158
- _context16.next = 15;
6146
+ _context15.next = 15;
6159
6147
  break;
6160
6148
  }
6161
6149
  _loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
6162
6150
  this.joinWithMediaRetryInfo.isRetry = true;
6163
6151
  this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
6164
- return _context16.abrupt("return", this.joinWithMedia(options));
6152
+ return _context15.abrupt("return", this.joinWithMedia(options));
6165
6153
  case 15:
6166
6154
  this.joinWithMediaRetryInfo = {
6167
6155
  isRetry: false,
@@ -6170,9 +6158,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6170
6158
  throw _t0;
6171
6159
  case 16:
6172
6160
  case "end":
6173
- return _context16.stop();
6161
+ return _context15.stop();
6174
6162
  }
6175
- }, _callee16, this, [[2, 10], [11, 13]]);
6163
+ }, _callee15, this, [[2, 10], [11, 13]]);
6176
6164
  }));
6177
6165
  function joinWithMedia() {
6178
6166
  return _joinWithMedia.apply(this, arguments);
@@ -6202,20 +6190,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6202
6190
  return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
6203
6191
  }
6204
6192
  this.cleanUpBeforeReconnection();
6205
- return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17() {
6206
- return _regenerator.default.wrap(function (_context17) {
6207
- while (1) switch (_context17.prev = _context17.next) {
6193
+ return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
6194
+ return _regenerator.default.wrap(function (_context16) {
6195
+ while (1) switch (_context16.prev = _context16.next) {
6208
6196
  case 0:
6209
- _context17.next = 1;
6197
+ _context16.next = 1;
6210
6198
  return _this31.waitForRemoteSDPAnswer();
6211
6199
  case 1:
6212
- _context17.next = 2;
6200
+ _context16.next = 2;
6213
6201
  return _this31.waitForMediaConnectionConnected();
6214
6202
  case 2:
6215
6203
  case "end":
6216
- return _context17.stop();
6204
+ return _context16.stop();
6217
6205
  }
6218
- }, _callee17);
6206
+ }, _callee16);
6219
6207
  }))).then(function () {
6220
6208
  _loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
6221
6209
  }).catch(function (error) {
@@ -6356,30 +6344,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6356
6344
  }, {
6357
6345
  key: "startTranscription",
6358
6346
  value: (function () {
6359
- var _startTranscription = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(options) {
6347
+ var _startTranscription = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(options) {
6360
6348
  var _t10;
6361
- return _regenerator.default.wrap(function (_context18) {
6362
- while (1) switch (_context18.prev = _context18.next) {
6349
+ return _regenerator.default.wrap(function (_context17) {
6350
+ while (1) switch (_context17.prev = _context17.next) {
6363
6351
  case 0:
6364
6352
  if (!this.isJoined()) {
6365
- _context18.next = 5;
6353
+ _context17.next = 5;
6366
6354
  break;
6367
6355
  }
6368
6356
  _loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
6369
- _context18.prev = 1;
6357
+ _context17.prev = 1;
6370
6358
  if (!this.areVoiceaEventsSetup) {
6371
6359
  this.setUpVoiceaListeners();
6372
6360
  }
6373
6361
 
6374
6362
  // @ts-ignore
6375
- _context18.next = 2;
6363
+ _context17.next = 2;
6376
6364
  return this.webex.internal.voicea.turnOnCaptions(options === null || options === void 0 ? void 0 : options.spokenLanguage);
6377
6365
  case 2:
6378
- _context18.next = 4;
6366
+ _context17.next = 4;
6379
6367
  break;
6380
6368
  case 3:
6381
- _context18.prev = 3;
6382
- _t10 = _context18["catch"](1);
6369
+ _context17.prev = 3;
6370
+ _t10 = _context17["catch"](1);
6383
6371
  _loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_t10));
6384
6372
  _metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
6385
6373
  correlation_id: this.correlationId,
@@ -6387,18 +6375,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6387
6375
  stack: _t10.stack
6388
6376
  });
6389
6377
  case 4:
6390
- _context18.next = 6;
6378
+ _context17.next = 6;
6391
6379
  break;
6392
6380
  case 5:
6393
6381
  _loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
6394
6382
  throw new Error('Meeting is not joined');
6395
6383
  case 6:
6396
6384
  case "end":
6397
- return _context18.stop();
6385
+ return _context17.stop();
6398
6386
  }
6399
- }, _callee18, this, [[1, 3]]);
6387
+ }, _callee17, this, [[1, 3]]);
6400
6388
  }));
6401
- function startTranscription(_x14) {
6389
+ function startTranscription(_x13) {
6402
6390
  return _startTranscription.apply(this, arguments);
6403
6391
  }
6404
6392
  return startTranscription;
@@ -6411,24 +6399,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6411
6399
  * @returns {void}
6412
6400
  */
6413
6401
  function stopTranscription() {
6414
- if (this.transcription) {
6415
- // @ts-ignore
6416
- this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT]);
6402
+ // @ts-ignore
6403
+ this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT]);
6417
6404
 
6418
- // @ts-ignore
6419
- this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON]);
6405
+ // @ts-ignore
6406
+ this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON]);
6420
6407
 
6421
- // @ts-ignore
6422
- this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND]);
6408
+ // @ts-ignore
6409
+ this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND]);
6423
6410
 
6424
- // @ts-ignore
6425
- this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION]);
6411
+ // @ts-ignore
6412
+ this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION]);
6426
6413
 
6427
- // @ts-ignore
6428
- this.webex.internal.voicea.deregisterEvents();
6429
- this.areVoiceaEventsSetup = false;
6430
- this.triggerStopReceivingTranscriptionEvent();
6431
- }
6414
+ // @ts-ignore
6415
+ this.webex.internal.voicea.deregisterEvents();
6416
+ this.areVoiceaEventsSetup = false;
6417
+ this.triggerStopReceivingTranscriptionEvent();
6432
6418
  }
6433
6419
 
6434
6420
  /**
@@ -6446,6 +6432,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6446
6432
  function: 'triggerStopReceivingTranscriptionEvent'
6447
6433
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_RECEIVING_TRANSCRIPTION);
6448
6434
  }
6435
+
6436
+ /**
6437
+ * Restores LLM subchannel subscriptions after reconnect when captions are active.
6438
+ * @returns {void}
6439
+ */
6440
+ }, {
6441
+ key: "restoreLLMSubscriptionsIfNeeded",
6442
+ value: function restoreLLMSubscriptionsIfNeeded() {
6443
+ try {
6444
+ var _this$webex$internal$, _this$webex$internal$2;
6445
+ // @ts-ignore
6446
+ var isCaptionBoxOn = (_this$webex$internal$ = this.webex.internal.voicea) === null || _this$webex$internal$ === void 0 ? void 0 : (_this$webex$internal$2 = _this$webex$internal$.getIsCaptionBoxOn) === null || _this$webex$internal$2 === void 0 ? void 0 : _this$webex$internal$2.call(_this$webex$internal$);
6447
+ if (!isCaptionBoxOn) {
6448
+ return;
6449
+ }
6450
+
6451
+ // @ts-ignore
6452
+ this.webex.internal.voicea.updateSubchannelSubscriptions({
6453
+ subscribe: ['transcription']
6454
+ });
6455
+ } catch (error) {
6456
+ var msg = (error === null || error === void 0 ? void 0 : error.message) || String(error);
6457
+ _loggerProxy.default.logger.warn("Meeting:index#restoreLLMSubscriptionsIfNeeded --> failed to restore subscriptions after LLM online: ".concat(msg));
6458
+ }
6459
+ }
6449
6460
  }, {
6450
6461
  key: "join",
6451
6462
  value: (
@@ -6462,7 +6473,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6462
6473
  * Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
6463
6474
  */
6464
6475
  function () {
6465
- var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
6476
+ var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
6466
6477
  var _this34 = this;
6467
6478
  var options,
6468
6479
  errorMessage,
@@ -6473,26 +6484,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6473
6484
  _error4,
6474
6485
  _errorMessage3,
6475
6486
  _error5,
6476
- _args19 = arguments,
6487
+ _args18 = arguments,
6477
6488
  _t11;
6478
- return _regenerator.default.wrap(function (_context19) {
6479
- while (1) switch (_context19.prev = _context19.next) {
6489
+ return _regenerator.default.wrap(function (_context18) {
6490
+ while (1) switch (_context18.prev = _context18.next) {
6480
6491
  case 0:
6481
- options = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : {};
6492
+ options = _args18.length > 0 && _args18[0] !== undefined ? _args18[0] : {};
6482
6493
  if (this.webex.meetings.registered) {
6483
- _context19.next = 1;
6494
+ _context18.next = 1;
6484
6495
  break;
6485
6496
  }
6486
6497
  errorMessage = 'Meeting:index#join --> Device not registered';
6487
6498
  error = new Error(errorMessage);
6488
6499
  _loggerProxy.default.logger.error(errorMessage);
6489
- return _context19.abrupt("return", _promise.default.reject(error));
6500
+ return _context18.abrupt("return", _promise.default.reject(error));
6490
6501
  case 1:
6491
6502
  if (!this.deferJoin) {
6492
- _context19.next = 2;
6503
+ _context18.next = 2;
6493
6504
  break;
6494
6505
  }
6495
- return _context19.abrupt("return", this.deferJoin);
6506
+ return _context18.abrupt("return", this.deferJoin);
6496
6507
  case 2:
6497
6508
  // Create a deferred promise for a consistent resolve value from utils.
6498
6509
  // This also prevents redundant API calls.
@@ -6544,15 +6555,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6544
6555
  this.wirelessShare = true;
6545
6556
  }
6546
6557
  if (!options.meetingQuality) {
6547
- _context19.next = 6;
6558
+ _context18.next = 6;
6548
6559
  break;
6549
6560
  }
6550
6561
  if (!(typeof options.meetingQuality === 'string')) {
6551
- _context19.next = 4;
6562
+ _context18.next = 4;
6552
6563
  break;
6553
6564
  }
6554
6565
  if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
6555
- _context19.next = 3;
6566
+ _context18.next = 3;
6556
6567
  break;
6557
6568
  }
6558
6569
  _errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
@@ -6560,16 +6571,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6560
6571
  _loggerProxy.default.logger.error(_errorMessage2);
6561
6572
  joinFailed(_error4);
6562
6573
  this.deferJoin = undefined;
6563
- return _context19.abrupt("return", _promise.default.reject(_error4));
6574
+ return _context18.abrupt("return", _promise.default.reject(_error4));
6564
6575
  case 3:
6565
6576
  this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
6566
6577
  case 4:
6567
6578
  if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
6568
- _context19.next = 6;
6579
+ _context18.next = 6;
6569
6580
  break;
6570
6581
  }
6571
6582
  if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
6572
- _context19.next = 5;
6583
+ _context18.next = 5;
6573
6584
  break;
6574
6585
  }
6575
6586
  _errorMessage3 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
@@ -6577,25 +6588,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6577
6588
  _error5 = new Error(_errorMessage3);
6578
6589
  joinFailed(_error5);
6579
6590
  this.deferJoin = undefined;
6580
- return _context19.abrupt("return", _promise.default.reject(new Error(_errorMessage3)));
6591
+ return _context18.abrupt("return", _promise.default.reject(new Error(_errorMessage3)));
6581
6592
  case 5:
6582
6593
  if (options.meetingQuality.remote) {
6583
6594
  this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
6584
6595
  }
6585
6596
  case 6:
6586
6597
  this.isMultistream = !!options.enableMultistream;
6587
- _context19.prev = 7;
6588
- _context19.next = 8;
6598
+ _context18.prev = 7;
6599
+ _context18.next = 8;
6589
6600
  return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
6590
6601
  case 8:
6591
- _context19.next = 10;
6602
+ _context18.next = 10;
6592
6603
  break;
6593
6604
  case 9:
6594
- _context19.prev = 9;
6595
- _t11 = _context19["catch"](7);
6605
+ _context18.prev = 9;
6606
+ _t11 = _context18["catch"](7);
6596
6607
  _loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _t11);
6597
6608
  if (!(_t11 instanceof _captchaError.default || _t11 instanceof _passwordError.default || _t11 instanceof _permission.default)) {
6598
- _context19.next = 10;
6609
+ _context18.next = 10;
6599
6610
  break;
6600
6611
  }
6601
6612
  this.meetingFiniteStateMachine.fail(_t11);
@@ -6610,9 +6621,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6610
6621
 
6611
6622
  // if refresh permission token requires captcha, password or permission, we are throwing the errors
6612
6623
  // and bubble it up to client
6613
- return _context19.abrupt("return", _promise.default.reject(_t11));
6624
+ return _context18.abrupt("return", _promise.default.reject(_t11));
6614
6625
  case 10:
6615
- return _context19.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
6626
+ return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
6616
6627
  _this34.meetingFiniteStateMachine.join();
6617
6628
  _this34.setupLocusMediaRequest();
6618
6629
 
@@ -6646,8 +6657,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6646
6657
  _this34.deferJoin = undefined;
6647
6658
  return _promise.default.reject(error);
6648
6659
  }).then(function (join) {
6660
+ _this34.saveDataChannelToken(join);
6649
6661
  // @ts-ignore - config coming from registerPlugin
6650
6662
  if (_this34.config.enableAutomaticLLM) {
6663
+ // @ts-ignore
6664
+ _this34.webex.internal.llm.off('online', _this34.handleLLMOnline);
6651
6665
  // @ts-ignore
6652
6666
  _this34.webex.internal.llm.on('online', _this34.handleLLMOnline);
6653
6667
  _this34.updateLLMConnection().catch(function (error) {
@@ -6665,9 +6679,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6665
6679
  }));
6666
6680
  case 11:
6667
6681
  case "end":
6668
- return _context19.stop();
6682
+ return _context18.stop();
6669
6683
  }
6670
- }, _callee19, this, [[7, 9]]);
6684
+ }, _callee18, this, [[7, 9]]);
6671
6685
  }));
6672
6686
  function join() {
6673
6687
  return _join.apply(this, arguments);
@@ -6717,32 +6731,122 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6717
6731
  }
6718
6732
  }
6719
6733
  }, {
6720
- key: "updateLLMConnection",
6721
- value: (
6734
+ key: "clearDataChannelToken",
6735
+ value:
6736
+ /**
6737
+ * Clears all data channel tokens stored in LLM.
6738
+ * Called during meeting cleanup to ensure stale tokens are not reused.
6739
+ * @returns {void}
6740
+ */
6741
+ function clearDataChannelToken() {
6742
+ // @ts-ignore
6743
+ this.webex.internal.llm.resetDatachannelTokens();
6744
+ }
6745
+
6746
+ /**
6747
+ * Saves the data channel tokens from the join response into LLM so that
6748
+ * updateLLMConnection / updatePSDataChannel don't need to fetch them from locusInfo.
6749
+ * @param {Object} join - The parsed join response (from MeetingUtil.parseLocusJoin)
6750
+ * @returns {void}
6751
+ */
6752
+ }, {
6753
+ key: "saveDataChannelToken",
6754
+ value: function saveDataChannelToken(join) {
6755
+ var _join$locus, _join$locus$self, _join$locus2, _join$locus2$self;
6756
+ var datachannelToken = join === null || join === void 0 ? void 0 : (_join$locus = join.locus) === null || _join$locus === void 0 ? void 0 : (_join$locus$self = _join$locus.self) === null || _join$locus$self === void 0 ? void 0 : _join$locus$self.datachannelToken;
6757
+ var practiceSessionDatachannelToken = join === null || join === void 0 ? void 0 : (_join$locus2 = join.locus) === null || _join$locus2 === void 0 ? void 0 : (_join$locus2$self = _join$locus2.self) === null || _join$locus2$self === void 0 ? void 0 : _join$locus2$self.practiceSessionDatachannelToken;
6758
+ if (datachannelToken) {
6759
+ // @ts-ignore
6760
+ this.webex.internal.llm.setDatachannelToken(datachannelToken, _internalPluginLlm.DataChannelTokenType.Default);
6761
+ }
6762
+ if (practiceSessionDatachannelToken) {
6763
+ // @ts-ignore
6764
+ this.webex.internal.llm.setDatachannelToken(practiceSessionDatachannelToken, _internalPluginLlm.DataChannelTokenType.PracticeSession);
6765
+ }
6766
+ }
6767
+
6768
+ /**
6769
+ * Ensures default-session data channel token exists after lobby admission.
6770
+ * Some lobby users do not receive a token until they are admitted.
6771
+ * @returns {Promise<boolean>} true when a new token is fetched and cached
6772
+ */
6773
+ }, {
6774
+ key: "ensureDefaultDatachannelTokenAfterAdmit",
6775
+ value: (function () {
6776
+ var _ensureDefaultDatachannelTokenAfterAdmit = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
6777
+ var _response$body, datachannelToken, isDataChannelTokenEnabled, response, fetchedDatachannelToken, msg, _t12;
6778
+ return _regenerator.default.wrap(function (_context19) {
6779
+ while (1) switch (_context19.prev = _context19.next) {
6780
+ case 0:
6781
+ _context19.prev = 0;
6782
+ // @ts-ignore
6783
+ datachannelToken = this.webex.internal.llm.getDatachannelToken(); // @ts-ignore
6784
+ _context19.next = 1;
6785
+ return this.webex.internal.llm.isDataChannelTokenEnabled();
6786
+ case 1:
6787
+ isDataChannelTokenEnabled = _context19.sent;
6788
+ if (!(!isDataChannelTokenEnabled || datachannelToken)) {
6789
+ _context19.next = 2;
6790
+ break;
6791
+ }
6792
+ return _context19.abrupt("return", false);
6793
+ case 2:
6794
+ _context19.next = 3;
6795
+ return this.meetingRequest.fetchDatachannelToken({
6796
+ locusUrl: this.locusUrl,
6797
+ requestingParticipantId: this.members.selfId,
6798
+ isPracticeSession: false
6799
+ });
6800
+ case 3:
6801
+ response = _context19.sent;
6802
+ fetchedDatachannelToken = response === null || response === void 0 ? void 0 : (_response$body = response.body) === null || _response$body === void 0 ? void 0 : _response$body.datachannelToken;
6803
+ if (fetchedDatachannelToken) {
6804
+ _context19.next = 4;
6805
+ break;
6806
+ }
6807
+ return _context19.abrupt("return", false);
6808
+ case 4:
6809
+ // @ts-ignore
6810
+ this.webex.internal.llm.setDatachannelToken(fetchedDatachannelToken, _internalPluginLlm.DataChannelTokenType.Default);
6811
+ return _context19.abrupt("return", true);
6812
+ case 5:
6813
+ _context19.prev = 5;
6814
+ _t12 = _context19["catch"](0);
6815
+ msg = (_t12 === null || _t12 === void 0 ? void 0 : _t12.message) || String(_t12);
6816
+ _loggerProxy.default.logger.warn("Meeting:index#ensureDefaultDatachannelTokenAfterAdmit --> failed to proactively fetch default data channel token after admit: ".concat(msg), {
6817
+ statusCode: _t12 === null || _t12 === void 0 ? void 0 : _t12.statusCode
6818
+ });
6819
+ return _context19.abrupt("return", false);
6820
+ case 6:
6821
+ case "end":
6822
+ return _context19.stop();
6823
+ }
6824
+ }, _callee19, this, [[0, 5]]);
6825
+ }));
6826
+ function ensureDefaultDatachannelTokenAfterAdmit() {
6827
+ return _ensureDefaultDatachannelTokenAfterAdmit.apply(this, arguments);
6828
+ }
6829
+ return ensureDefaultDatachannelTokenAfterAdmit;
6830
+ }()
6722
6831
  /**
6723
6832
  * Connects to low latency mercury and reconnects if the address has changed
6724
6833
  * It will also disconnect if called when the meeting has ended
6725
- * @param {String} datachannelUrl
6726
6834
  * @returns {Promise}
6727
6835
  */
6728
- function () {
6836
+ )
6837
+ }, {
6838
+ key: "updateLLMConnection",
6839
+ value: (function () {
6729
6840
  var _updateLLMConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20() {
6730
6841
  var _this36 = this;
6731
- 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;
6842
+ var _ref39, _ref39$url, url, _ref39$info, _ref39$info2, _ref39$info2$datachan, datachannelUrl, isJoined, datachannelToken, dataChannelUrl;
6732
6843
  return _regenerator.default.wrap(function (_context20) {
6733
6844
  while (1) switch (_context20.prev = _context20.next) {
6734
6845
  case 0:
6735
6846
  // @ts-ignore - Fix type
6736
- _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;
6847
+ _ref39 = this.locusInfo || {}, _ref39$url = _ref39.url, url = _ref39$url === void 0 ? undefined : _ref39$url, _ref39$info = _ref39.info, _ref39$info2 = _ref39$info === void 0 ? {} : _ref39$info, _ref39$info2$datachan = _ref39$info2.datachannelUrl, datachannelUrl = _ref39$info2$datachan === void 0 ? undefined : _ref39$info2$datachan;
6737
6848
  isJoined = this.isJoined(); // @ts-ignore
6738
- currentToken = this.webex.internal.llm.getDatachannelToken(_internalPluginLlm.DataChannelTokenType.Default);
6739
- finalToken = currentToken !== null && currentToken !== void 0 ? currentToken : datachannelToken;
6740
- if (!currentToken && datachannelToken) {
6741
- // @ts-ignore
6742
- this.webex.internal.llm.setDatachannelToken(datachannelToken, _internalPluginLlm.DataChannelTokenType.Default);
6743
- }
6744
-
6745
- // webinar panelist should use new data channel in practice session
6849
+ datachannelToken = this.webex.internal.llm.getDatachannelToken(_internalPluginLlm.DataChannelTokenType.Default);
6746
6850
  dataChannelUrl = datachannelUrl; // @ts-ignore - Fix type
6747
6851
  if (!this.webex.internal.llm.isConnected()) {
6748
6852
  _context20.next = 2;
@@ -6769,7 +6873,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6769
6873
  }
6770
6874
  return _context20.abrupt("return", undefined);
6771
6875
  case 3:
6772
- return _context20.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl, finalToken).then(function (registerAndConnectResult) {
6876
+ return _context20.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl, datachannelToken).then(function (registerAndConnectResult) {
6773
6877
  // @ts-ignore - Fix type
6774
6878
  _this36.webex.internal.llm.off('event:relay.event', _this36.processRelayEvent);
6775
6879
  // @ts-ignore - Fix type
@@ -6973,7 +7077,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6973
7077
  }
6974
7078
  });
6975
7079
  this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
6976
- var mediaSettings, _t12;
7080
+ var mediaSettings, _t13;
6977
7081
  return _regenerator.default.wrap(function (_context21) {
6978
7082
  while (1) switch (_context21.prev = _context21.next) {
6979
7083
  case 0:
@@ -7030,13 +7134,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7030
7134
  break;
7031
7135
  case 6:
7032
7136
  _context21.prev = 6;
7033
- _t12 = _context21["catch"](0);
7034
- _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _t12);
7137
+ _t13 = _context21["catch"](0);
7138
+ _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _t13);
7035
7139
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
7036
7140
  correlation_id: _this40.correlationId,
7037
7141
  locus_id: _this40.locusUrl.split('/').pop(),
7038
- reason: _t12.message,
7039
- stack: _t12.stack
7142
+ reason: _t13.message,
7143
+ stack: _t13.stack
7040
7144
  });
7041
7145
  _this40.isMoveToInProgress = false;
7042
7146
  case 7:
@@ -7211,7 +7315,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7211
7315
  }
7212
7316
  }, _callee22, this);
7213
7317
  }));
7214
- function createMediaConnection(_x15, _x16) {
7318
+ function createMediaConnection(_x14, _x15) {
7215
7319
  return _createMediaConnection.apply(this, arguments);
7216
7320
  }
7217
7321
  return createMediaConnection;
@@ -7251,7 +7355,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7251
7355
  value: (function () {
7252
7356
  var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(localStreams) {
7253
7357
  var _localStreams$microph, _localStreams$camera, _localStreams$screenS, _localStreams$screenS2, _localStreams$screenS3, _localStreams$screenS4, _localStreams$screenS5, _localStreams$screenS6;
7254
- var setUpStreamPromises, _t13;
7358
+ var setUpStreamPromises, _t14;
7255
7359
  return _regenerator.default.wrap(function (_context23) {
7256
7360
  while (1) switch (_context23.prev = _context23.next) {
7257
7361
  case 0:
@@ -7276,16 +7380,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7276
7380
  break;
7277
7381
  case 3:
7278
7382
  _context23.prev = 3;
7279
- _t13 = _context23["catch"](1);
7280
- _loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _t13);
7281
- throw _t13;
7383
+ _t14 = _context23["catch"](1);
7384
+ _loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _t14);
7385
+ throw _t14;
7282
7386
  case 4:
7283
7387
  case "end":
7284
7388
  return _context23.stop();
7285
7389
  }
7286
7390
  }, _callee23, this, [[1, 3]]);
7287
7391
  }));
7288
- function setUpLocalStreamReferences(_x17) {
7392
+ function setUpLocalStreamReferences(_x16) {
7289
7393
  return _setUpLocalStreamReferences.apply(this, arguments);
7290
7394
  }
7291
7395
  return setUpLocalStreamReferences;
@@ -7301,7 +7405,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7301
7405
  key: "waitForMediaConnectionConnected",
7302
7406
  value: (function () {
7303
7407
  var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
7304
- 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;
7408
+ var iceConnected, _this$mediaProperties9, _this$mediaProperties0, _this$mediaProperties1, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12, _this$mediaProperties13, timedOutError, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
7305
7409
  return _regenerator.default.wrap(function (_context24) {
7306
7410
  while (1) switch (_context24.prev = _context24.next) {
7307
7411
  case 0:
@@ -7313,53 +7417,53 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7313
7417
  break;
7314
7418
  case 2:
7315
7419
  _context24.prev = 2;
7316
- _t14 = _context24["catch"](0);
7317
- iceConnected = _t14.iceConnected;
7420
+ _t15 = _context24["catch"](0);
7421
+ iceConnected = _t15.iceConnected;
7318
7422
  if (this.hasMediaConnectionConnectedAtLeastOnce) {
7319
7423
  _context24.next = 4;
7320
7424
  break;
7321
7425
  }
7322
- _t15 = this.webex.internal.newMetrics;
7323
- _t16 = !this.turnServerUsed;
7324
- _t17 = this.addMediaData.icePhaseCallback();
7325
- _t18 = this.webex.internal.newMetrics.callDiagnosticMetrics;
7326
- _t19 = _internalPluginMetrics.CallDiagnosticUtils;
7327
- _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';
7328
- _t21 = iceConnected;
7329
- _t22 = this.turnServerUsed;
7426
+ _t16 = this.webex.internal.newMetrics;
7427
+ _t17 = !this.turnServerUsed;
7428
+ _t18 = this.addMediaData.icePhaseCallback();
7429
+ _t19 = this.webex.internal.newMetrics.callDiagnosticMetrics;
7430
+ _t20 = _internalPluginMetrics.CallDiagnosticUtils;
7431
+ _t21 = ((_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';
7432
+ _t22 = iceConnected;
7433
+ _t23 = this.turnServerUsed;
7330
7434
  _context24.next = 3;
7331
7435
  return this.webex.meetings.reachability.isWebexMediaBackendUnreachable().catch(function () {
7332
7436
  return false;
7333
7437
  });
7334
7438
  case 3:
7335
- _t23 = _context24.sent;
7336
- _t24 = _t19.generateClientErrorCodeForIceFailure.call(_t19, {
7337
- signalingState: _t20,
7338
- iceConnected: _t21,
7339
- turnServerUsed: _t22,
7340
- unreachable: _t23
7439
+ _t24 = _context24.sent;
7440
+ _t25 = _t20.generateClientErrorCodeForIceFailure.call(_t20, {
7441
+ signalingState: _t21,
7442
+ iceConnected: _t22,
7443
+ turnServerUsed: _t23,
7444
+ unreachable: _t24
7341
7445
  });
7342
- _t25 = _t18.getErrorPayloadForClientErrorCode.call(_t18, {
7343
- clientErrorCode: _t24
7446
+ _t26 = _t19.getErrorPayloadForClientErrorCode.call(_t19, {
7447
+ clientErrorCode: _t25
7344
7448
  });
7345
- _t26 = [_t25];
7346
- _t27 = {
7347
- canProceed: _t16,
7348
- icePhase: _t17,
7349
- errors: _t26
7350
- };
7449
+ _t27 = [_t26];
7351
7450
  _t28 = {
7451
+ canProceed: _t17,
7452
+ icePhase: _t18,
7453
+ errors: _t27
7454
+ };
7455
+ _t29 = {
7352
7456
  meetingId: this.id,
7353
- rawError: _t14
7457
+ rawError: _t15
7354
7458
  };
7355
- _t15.submitClientEvent.call(_t15, {
7459
+ _t16.submitClientEvent.call(_t16, {
7356
7460
  name: 'client.ice.end',
7357
- payload: _t27,
7358
- options: _t28
7461
+ payload: _t28,
7462
+ options: _t29
7359
7463
  });
7360
7464
  case 4:
7361
7465
  timedOutError = new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
7362
- timedOutError.cause = _t14;
7466
+ timedOutError.cause = _t15;
7363
7467
  throw timedOutError;
7364
7468
  case 5:
7365
7469
  case "end":
@@ -7495,7 +7599,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7495
7599
  key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
7496
7600
  value: (function () {
7497
7601
  var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(remoteMediaManagerConfig, bundlePolicy) {
7498
- var LOG_HEADER, _t29;
7602
+ var LOG_HEADER, _t30;
7499
7603
  return _regenerator.default.wrap(function (_context26) {
7500
7604
  while (1) switch (_context26.prev = _context26.next) {
7501
7605
  case 0:
@@ -7508,16 +7612,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7508
7612
  break;
7509
7613
  case 3:
7510
7614
  _context26.prev = 3;
7511
- _t29 = _context26["catch"](1);
7512
- _loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _t29);
7513
- throw _t29;
7615
+ _t30 = _context26["catch"](1);
7616
+ _loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _t30);
7617
+ throw _t30;
7514
7618
  case 4:
7515
7619
  case "end":
7516
7620
  return _context26.stop();
7517
7621
  }
7518
7622
  }, _callee26, this, [[1, 3]]);
7519
7623
  }));
7520
- function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x18, _x19) {
7624
+ function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x17, _x18) {
7521
7625
  return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
7522
7626
  }
7523
7627
  return retryEstablishMediaConnectionWithForcedTurnDiscovery;
@@ -7569,7 +7673,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7569
7673
  }
7570
7674
  }, _callee27, this);
7571
7675
  }));
7572
- function retryWithForcedTurnDiscovery(_x20, _x21) {
7676
+ function retryWithForcedTurnDiscovery(_x19, _x20) {
7573
7677
  return _retryWithForcedTurnDiscovery.apply(this, arguments);
7574
7678
  }
7575
7679
  return retryWithForcedTurnDiscovery;
@@ -7614,7 +7718,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7614
7718
  }
7615
7719
  }, _callee28, this);
7616
7720
  }));
7617
- function handleWaitForMediaConnectionConnectedError(_x22, _x23, _x24) {
7721
+ function handleWaitForMediaConnectionConnectedError(_x21, _x22, _x23) {
7618
7722
  return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
7619
7723
  }
7620
7724
  return handleWaitForMediaConnectionConnectedError;
@@ -7666,7 +7770,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7666
7770
  }
7667
7771
  }, _callee29, this);
7668
7772
  }));
7669
- function doTurnDiscovery(_x25, _x26) {
7773
+ function doTurnDiscovery(_x24, _x25) {
7670
7774
  return _doTurnDiscovery.apply(this, arguments);
7671
7775
  }
7672
7776
  return doTurnDiscovery;
@@ -7687,7 +7791,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7687
7791
  value: (function () {
7688
7792
  var _establishMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee30(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
7689
7793
  var _this$locusMediaReque;
7690
- var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc, _t30, _t31;
7794
+ var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc, _t31, _t32;
7691
7795
  return _regenerator.default.wrap(function (_context30) {
7692
7796
  while (1) switch (_context30.prev = _context30.next) {
7693
7797
  case 0:
@@ -7735,9 +7839,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7735
7839
  break;
7736
7840
  case 8:
7737
7841
  _context30.prev = 8;
7738
- _t30 = _context30["catch"](1);
7739
- _loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _t30);
7740
- throw _t30;
7842
+ _t31 = _context30["catch"](1);
7843
+ _loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _t31);
7844
+ throw _t31;
7741
7845
  case 9:
7742
7846
  _context30.prev = 9;
7743
7847
  _context30.next = 10;
@@ -7747,16 +7851,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7747
7851
  break;
7748
7852
  case 11:
7749
7853
  _context30.prev = 11;
7750
- _t31 = _context30["catch"](9);
7854
+ _t32 = _context30["catch"](9);
7751
7855
  _context30.next = 12;
7752
- return this.handleWaitForMediaConnectionConnectedError(_t31, remoteMediaManagerConfig, bundlePolicy);
7856
+ return this.handleWaitForMediaConnectionConnectedError(_t32, remoteMediaManagerConfig, bundlePolicy);
7753
7857
  case 12:
7754
7858
  case "end":
7755
7859
  return _context30.stop();
7756
7860
  }
7757
7861
  }, _callee30, this, [[1, 8], [9, 11]]);
7758
7862
  }));
7759
- function establishMediaConnection(_x27, _x28, _x29, _x30) {
7863
+ function establishMediaConnection(_x26, _x27, _x28, _x29) {
7760
7864
  return _establishMediaConnection.apply(this, arguments);
7761
7865
  }
7762
7866
  return establishMediaConnection;
@@ -7906,7 +8010,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7906
8010
  key: "cleanUpBeforeReconnection",
7907
8011
  value: function () {
7908
8012
  var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee34() {
7909
- var _t32;
8013
+ var _t33;
7910
8014
  return _regenerator.default.wrap(function (_context34) {
7911
8015
  while (1) switch (_context34.prev = _context34.next) {
7912
8016
  case 0:
@@ -7927,8 +8031,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7927
8031
  break;
7928
8032
  case 3:
7929
8033
  _context34.prev = 3;
7930
- _t32 = _context34["catch"](0);
7931
- _loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _t32);
8034
+ _t33 = _context34["catch"](0);
8035
+ _loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _t33);
7932
8036
  case 4:
7933
8037
  case "end":
7934
8038
  return _context34.stop();
@@ -8064,8 +8168,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8064
8168
  _numTransports,
8065
8169
  _iceCandidateErrors,
8066
8170
  _args35 = arguments,
8067
- _t33,
8068
- _t34;
8171
+ _t34,
8172
+ _t35;
8069
8173
  return _regenerator.default.wrap(function (_context35) {
8070
8174
  while (1) switch (_context35.prev = _context35.next) {
8071
8175
  case 0:
@@ -8161,8 +8265,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8161
8265
  break;
8162
8266
  case 8:
8163
8267
  _context35.prev = 8;
8164
- _t33 = _context35["catch"](6);
8165
- if (!(_t33 instanceof _multistreamNotSupportedError.default)) {
8268
+ _t34 = _context35["catch"](6);
8269
+ if (!(_t34 instanceof _multistreamNotSupportedError.default)) {
8166
8270
  _context35.next = 11;
8167
8271
  break;
8168
8272
  }
@@ -8176,7 +8280,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8176
8280
  _context35.next = 12;
8177
8281
  break;
8178
8282
  case 11:
8179
- throw _t33;
8283
+ throw _t34;
8180
8284
  case 12:
8181
8285
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connected, finalizing..."));
8182
8286
  if (!this.mediaProperties.hasLocalShareStream()) {
@@ -8232,8 +8336,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8232
8336
  break;
8233
8337
  case 16:
8234
8338
  _context35.prev = 16;
8235
- _t34 = _context35["catch"](4);
8236
- _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _t34);
8339
+ _t35 = _context35["catch"](4);
8340
+ _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _t35);
8237
8341
 
8238
8342
  // @ts-ignore
8239
8343
  _context35.next = 17;
@@ -8250,9 +8354,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8250
8354
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
8251
8355
  correlation_id: this.correlationId,
8252
8356
  locus_id: this.locusUrl.split('/').pop(),
8253
- reason: _t34.message,
8254
- stack: _t34.stack,
8255
- code: _t34.code,
8357
+ reason: _t35.message,
8358
+ stack: _t35.stack,
8359
+ code: _t35.code,
8256
8360
  selectedCandidatePairChanges: _selectedCandidatePairChanges,
8257
8361
  numTransports: _numTransports,
8258
8362
  turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
@@ -8275,12 +8379,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8275
8379
  file: 'meeting/index',
8276
8380
  function: 'addMedia'
8277
8381
  }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
8278
- if (_t34 instanceof _internalMediaCore.Errors.SdpError) {
8382
+ if (_t35 instanceof _internalMediaCore.Errors.SdpError) {
8279
8383
  this.leave({
8280
8384
  reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
8281
8385
  });
8282
8386
  }
8283
- throw _t34;
8387
+ throw _t35;
8284
8388
  case 20:
8285
8389
  _context35.prev = 20;
8286
8390
  this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
@@ -8291,7 +8395,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8291
8395
  }
8292
8396
  }, _callee35, this, [[4, 16, 20, 21], [6, 8]]);
8293
8397
  }));
8294
- function addMediaInternal(_x31, _x32, _x33) {
8398
+ function addMediaInternal(_x30, _x31, _x32) {
8295
8399
  return _addMediaInternal.apply(this, arguments);
8296
8400
  }
8297
8401
  return addMediaInternal;
@@ -8423,7 +8527,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8423
8527
  }
8424
8528
  }, _callee36, this);
8425
8529
  }));
8426
- function updateMedia(_x34) {
8530
+ function updateMedia(_x33) {
8427
8531
  return _updateMedia.apply(this, arguments);
8428
8532
  }
8429
8533
  return updateMedia;
@@ -8564,7 +8668,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8564
8668
  };
8565
8669
  _loggerProxy.default.logger.log('Meeting:index#leave --> Leaving a meeting');
8566
8670
  return _util2.default.leaveMeeting(this, options).then(/*#__PURE__*/function () {
8567
- var _ref42 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee37(leave) {
8671
+ var _ref41 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee37(leave) {
8568
8672
  return _regenerator.default.wrap(function (_context37) {
8569
8673
  while (1) switch (_context37.prev = _context37.next) {
8570
8674
  case 0:
@@ -8599,8 +8703,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8599
8703
  }
8600
8704
  }, _callee37);
8601
8705
  }));
8602
- return function (_x35) {
8603
- return _ref42.apply(this, arguments);
8706
+ return function (_x34) {
8707
+ return _ref41.apply(this, arguments);
8604
8708
  };
8605
8709
  }()).catch(function (error) {
8606
8710
  // CA team recommends submitting this *after* locus /leave
@@ -9265,7 +9369,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9265
9369
  locus_id: this.locusId
9266
9370
  });
9267
9371
  return _util2.default.endMeetingForAll(this).then(/*#__PURE__*/function () {
9268
- var _ref43 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee38(end) {
9372
+ var _ref42 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee38(end) {
9269
9373
  return _regenerator.default.wrap(function (_context38) {
9270
9374
  while (1) switch (_context38.prev = _context38.next) {
9271
9375
  case 0:
@@ -9285,8 +9389,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9285
9389
  }
9286
9390
  }, _callee38);
9287
9391
  }));
9288
- return function (_x36) {
9289
- return _ref43.apply(this, arguments);
9392
+ return function (_x35) {
9393
+ return _ref42.apply(this, arguments);
9290
9394
  };
9291
9395
  }()).catch(function (error) {
9292
9396
  _this56.meetingFiniteStateMachine.fail(error);
@@ -9350,12 +9454,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9350
9454
  */
9351
9455
  }, {
9352
9456
  key: "extendMeeting",
9353
- value: function extendMeeting(_ref44) {
9354
- var meetingPolicyUrl = _ref44.meetingPolicyUrl,
9355
- meetingInstanceId = _ref44.meetingInstanceId,
9356
- participantId = _ref44.participantId,
9357
- _ref44$extensionMinut = _ref44.extensionMinutes,
9358
- extensionMinutes = _ref44$extensionMinut === void 0 ? 30 : _ref44$extensionMinut;
9457
+ value: function extendMeeting(_ref43) {
9458
+ var meetingPolicyUrl = _ref43.meetingPolicyUrl,
9459
+ meetingInstanceId = _ref43.meetingInstanceId,
9460
+ participantId = _ref43.participantId,
9461
+ _ref43$extensionMinut = _ref43.extensionMinutes,
9462
+ extensionMinutes = _ref43$extensionMinut === void 0 ? 30 : _ref43$extensionMinut;
9359
9463
  if (!meetingInstanceId || !participantId) {
9360
9464
  return _promise.default.reject(new Error('Missing meetingInstanceId or participantId'));
9361
9465
  }
@@ -9452,7 +9556,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9452
9556
  break;
9453
9557
  }
9454
9558
  _context39.next = 2;
9455
- return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
9559
+ return this.sendSlotManager.setCustomCodecParameters(_internalMediaCore.MediaType.AudioMain, _internalMediaCore.MediaCodecMimeType.OPUS, {
9456
9560
  maxaveragebitrate: '64000',
9457
9561
  maxplaybackrate: '48000'
9458
9562
  });
@@ -9461,14 +9565,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9461
9565
  break;
9462
9566
  case 3:
9463
9567
  _context39.next = 4;
9464
- return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
9568
+ return this.sendSlotManager.markCustomCodecParametersForDeletion(_internalMediaCore.MediaType.AudioMain, _internalMediaCore.MediaCodecMimeType.OPUS, ['maxaveragebitrate', 'maxplaybackrate']);
9465
9569
  case 4:
9466
9570
  case "end":
9467
9571
  return _context39.stop();
9468
9572
  }
9469
9573
  }, _callee39, this);
9470
9574
  }));
9471
- function enableMusicMode(_x37) {
9575
+ function enableMusicMode(_x36) {
9472
9576
  return _enableMusicMode.apply(this, arguments);
9473
9577
  }
9474
9578
  return enableMusicMode;
@@ -9592,7 +9696,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9592
9696
  }
9593
9697
  }, _callee40, this);
9594
9698
  }));
9595
- function publishStream(_x38, _x39) {
9699
+ function publishStream(_x37, _x38) {
9596
9700
  return _publishStream.apply(this, arguments);
9597
9701
  }
9598
9702
  return publishStream;
@@ -9637,7 +9741,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9637
9741
  }
9638
9742
  }, _callee41, this);
9639
9743
  }));
9640
- function unpublishStream(_x40, _x41) {
9744
+ function unpublishStream(_x39, _x40) {
9641
9745
  return _unpublishStream.apply(this, arguments);
9642
9746
  }
9643
9747
  return unpublishStream;
@@ -9776,7 +9880,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9776
9880
  }
9777
9881
  }, _callee42, this);
9778
9882
  }));
9779
- function publishStreams(_x42) {
9883
+ function publishStreams(_x41) {
9780
9884
  return _publishStreams.apply(this, arguments);
9781
9885
  }
9782
9886
  return publishStreams;
@@ -9851,7 +9955,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9851
9955
  }
9852
9956
  }, _callee43, this);
9853
9957
  }));
9854
- function unpublishStreams(_x43) {
9958
+ function unpublishStreams(_x42) {
9855
9959
  return _unpublishStreams.apply(this, arguments);
9856
9960
  }
9857
9961
  return unpublishStreams;
@@ -9969,17 +10073,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9969
10073
  }, {
9970
10074
  key: "setStage",
9971
10075
  value: function setStage() {
9972
- var _ref45 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
9973
- _ref45$activeSpeakerP = _ref45.activeSpeakerProportion,
9974
- activeSpeakerProportion = _ref45$activeSpeakerP === void 0 ? 0.5 : _ref45$activeSpeakerP,
9975
- customBackground = _ref45.customBackground,
9976
- customLogo = _ref45.customLogo,
9977
- customNameLabel = _ref45.customNameLabel,
9978
- importantParticipants = _ref45.importantParticipants,
9979
- _ref45$lockAttendeeVi = _ref45.lockAttendeeViewOnStage,
9980
- lockAttendeeViewOnStage = _ref45$lockAttendeeVi === void 0 ? false : _ref45$lockAttendeeVi,
9981
- _ref45$showActiveSpea = _ref45.showActiveSpeaker,
9982
- showActiveSpeaker = _ref45$showActiveSpea === void 0 ? false : _ref45$showActiveSpea;
10076
+ var _ref44 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
10077
+ _ref44$activeSpeakerP = _ref44.activeSpeakerProportion,
10078
+ activeSpeakerProportion = _ref44$activeSpeakerP === void 0 ? 0.5 : _ref44$activeSpeakerP,
10079
+ customBackground = _ref44.customBackground,
10080
+ customLogo = _ref44.customLogo,
10081
+ customNameLabel = _ref44.customNameLabel,
10082
+ importantParticipants = _ref44.importantParticipants,
10083
+ _ref44$lockAttendeeVi = _ref44.lockAttendeeViewOnStage,
10084
+ lockAttendeeViewOnStage = _ref44$lockAttendeeVi === void 0 ? false : _ref44$lockAttendeeVi,
10085
+ _ref44$showActiveSpea = _ref44.showActiveSpeaker,
10086
+ showActiveSpeaker = _ref44$showActiveSpea === void 0 ? false : _ref44$showActiveSpea;
9983
10087
  var videoLayout = {
9984
10088
  overrideDefault: true,
9985
10089
  lockAttendeeViewOnStageOnly: lockAttendeeViewOnStage,
@@ -10084,7 +10188,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
10084
10188
  key: "refreshDataChannelToken",
10085
10189
  value: (function () {
10086
10190
  var _refreshDataChannelToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee45() {
10087
- var isPracticeSession, dataChannelTokenType, res, msg, _t35;
10191
+ var isPracticeSession, dataChannelTokenType, res, msg, _t36;
10088
10192
  return _regenerator.default.wrap(function (_context45) {
10089
10193
  while (1) switch (_context45.prev = _context45.next) {
10090
10194
  case 0:
@@ -10107,10 +10211,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
10107
10211
  });
10108
10212
  case 3:
10109
10213
  _context45.prev = 3;
10110
- _t35 = _context45["catch"](1);
10111
- msg = (_t35 === null || _t35 === void 0 ? void 0 : _t35.message) || String(_t35);
10214
+ _t36 = _context45["catch"](1);
10215
+ msg = (_t36 === null || _t36 === void 0 ? void 0 : _t36.message) || String(_t36);
10112
10216
  _loggerProxy.default.logger.warn("Meeting:index#refreshDataChannelToken --> DataChannel token refresh failed (likely locus changed or participant left): ".concat(msg), {
10113
- statusCode: _t35 === null || _t35 === void 0 ? void 0 : _t35.statusCode
10217
+ statusCode: _t36 === null || _t36 === void 0 ? void 0 : _t36.statusCode
10114
10218
  });
10115
10219
  return _context45.abrupt("return", null);
10116
10220
  case 4: