@webex/plugin-meetings 3.7.0-next.57 → 3.7.0-next.59

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.
@@ -88,6 +88,7 @@ var _permission = _interopRequireDefault(require("../common/errors/permission"))
88
88
  var _locusMediaRequest = require("./locusMediaRequest");
89
89
  var _connectionStateHandler = require("./connectionStateHandler");
90
90
  var _joinWebinarError = _interopRequireDefault(require("../common/errors/join-webinar-error"));
91
+ var _brbState = require("./brbState");
91
92
  var _multistreamNotSupportedError = _interopRequireDefault(require("../common/errors/multistream-not-supported-error"));
92
93
  var _joinForbiddenError = _interopRequireDefault(require("../common/errors/join-forbidden-error"));
93
94
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
@@ -509,6 +510,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
509
510
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "turnServerUsed", void 0);
510
511
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "areVoiceaEventsSetup", false);
511
512
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "isMoveToInProgress", false);
513
+ (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "brbState", void 0);
512
514
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "voiceaListenerCallbacks", (0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)({}, _internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, function (payload) {
513
515
  _this.transcription.languageOptions = payload;
514
516
  _loggerProxy.default.logger.debug("".concat(_util.default.getScopeLog({
@@ -3907,6 +3909,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3907
3909
  }
3908
3910
  });
3909
3911
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BRB_CHANGED, function (payload) {
3912
+ var _this20$brbState, _payload$brb;
3913
+ (_this20$brbState = _this20.brbState) === null || _this20$brbState === void 0 ? void 0 : _this20$brbState.handleServerBrbUpdate(payload === null || payload === void 0 ? void 0 : (_payload$brb = payload.brb) === null || _payload$brb === void 0 ? void 0 : _payload$brb.enabled);
3910
3914
  _triggerProxy.default.trigger(_this20, {
3911
3915
  file: 'meeting/index',
3912
3916
  function: 'setUpLocusInfoSelfListener'
@@ -4123,7 +4127,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4123
4127
  key: "beRightBack",
4124
4128
  value: (function () {
4125
4129
  var _beRightBack = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(enabled) {
4126
- var _this23 = this;
4127
4130
  var errorMessage, error, _errorMessage, _error;
4128
4131
  return _regenerator.default.wrap(function _callee11$(_context11) {
4129
4132
  while (1) switch (_context11.prev = _context11.next) {
@@ -4146,17 +4149,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4146
4149
  _loggerProxy.default.logger.error(_error);
4147
4150
  return _context11.abrupt("return", _promise.default.reject(_error));
4148
4151
  case 10:
4149
- return _context11.abrupt("return", this.meetingRequest.setBrb({
4150
- enabled: enabled,
4151
- locusUrl: this.locusUrl,
4152
- deviceUrl: this.deviceUrl,
4153
- selfId: this.selfId
4154
- }).then(function () {
4155
- _this23.sendSlotManager.setSourceStateOverride(_internalMediaCore.MediaType.VideoMain, enabled ? 'away' : null);
4156
- }).catch(function (error) {
4157
- _loggerProxy.default.logger.error('Meeting:index#beRightBack --> Error ', error);
4158
- return _promise.default.reject(error);
4159
- }));
4152
+ return _context11.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager));
4160
4153
  case 11:
4161
4154
  case "end":
4162
4155
  return _context11.stop();
@@ -4651,7 +4644,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4651
4644
  }, {
4652
4645
  key: "setLogUploadTimer",
4653
4646
  value: function setLogUploadTimer() {
4654
- var _this24 = this;
4647
+ var _this23 = this;
4655
4648
  // start with short timeouts and increase them later on so in case users have very long multi-hour meetings we don't get too fragmented logs
4656
4649
  var LOG_UPLOAD_INTERVALS = [0.1, 15, 30, 60]; // in minutes
4657
4650
 
@@ -4662,15 +4655,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4662
4655
  this.logUploadIntervalIndex += 1;
4663
4656
  }
4664
4657
  this.uploadLogsTimer = (0, _commonTimers.safeSetTimeout)(function () {
4665
- _this24.uploadLogsTimer = undefined;
4666
- _this24.uploadLogs();
4658
+ _this23.uploadLogsTimer = undefined;
4659
+ _this23.uploadLogs();
4667
4660
 
4668
4661
  // just as an extra precaution, to avoid uploading logs forever in case something goes wrong
4669
4662
  // and the page remains opened, we stop it if there is no media connection
4670
- if (!_this24.mediaProperties.webrtcMediaConnection) {
4663
+ if (!_this23.mediaProperties.webrtcMediaConnection) {
4671
4664
  return;
4672
4665
  }
4673
- _this24.setLogUploadTimer();
4666
+ _this23.setLogUploadTimer();
4674
4667
  }, delay);
4675
4668
  }
4676
4669
 
@@ -4737,7 +4730,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4737
4730
  }, {
4738
4731
  key: "closeRemoteStreams",
4739
4732
  value: function closeRemoteStreams() {
4740
- var _this25 = this;
4733
+ var _this24 = this;
4741
4734
  var _this$mediaProperties6 = this.mediaProperties,
4742
4735
  remoteAudioStream = _this$mediaProperties6.remoteAudioStream,
4743
4736
  remoteVideoStream = _this$mediaProperties6.remoteVideoStream,
@@ -4751,7 +4744,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4751
4744
  */
4752
4745
  // eslint-disable-next-line @typescript-eslint/no-shadow
4753
4746
  var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
4754
- _triggerProxy.default.trigger(_this25, {
4747
+ _triggerProxy.default.trigger(_this24, {
4755
4748
  file: 'meeting/index',
4756
4749
  function: 'closeRemoteStreams'
4757
4750
  }, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
@@ -5059,7 +5052,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5059
5052
  }, {
5060
5053
  key: "setMercuryListener",
5061
5054
  value: function setMercuryListener() {
5062
- var _this26 = this;
5055
+ var _this25 = this;
5063
5056
  // Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
5064
5057
  // if the meeting has active peer connections, it should try to reconnect.
5065
5058
  // @ts-ignore
@@ -5067,33 +5060,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5067
5060
  _loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
5068
5061
 
5069
5062
  // Only send restore event when it was disconnected before and for connected later
5070
- if (!_this26.hasWebsocketConnected) {
5063
+ if (!_this25.hasWebsocketConnected) {
5071
5064
  // @ts-ignore
5072
- _this26.webex.internal.newMetrics.submitClientEvent({
5065
+ _this25.webex.internal.newMetrics.submitClientEvent({
5073
5066
  name: 'client.mercury.connection.restored',
5074
5067
  options: {
5075
- meetingId: _this26.id
5068
+ meetingId: _this25.id
5076
5069
  }
5077
5070
  });
5078
5071
  _metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
5079
- correlation_id: _this26.correlationId
5072
+ correlation_id: _this25.correlationId
5080
5073
  });
5081
5074
  }
5082
- _this26.hasWebsocketConnected = true;
5075
+ _this25.hasWebsocketConnected = true;
5083
5076
  });
5084
5077
 
5085
5078
  // @ts-ignore
5086
5079
  this.webex.internal.mercury.on(_constants.OFFLINE, function () {
5087
5080
  _loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
5088
5081
  // @ts-ignore
5089
- _this26.webex.internal.newMetrics.submitClientEvent({
5082
+ _this25.webex.internal.newMetrics.submitClientEvent({
5090
5083
  name: 'client.mercury.connection.lost',
5091
5084
  options: {
5092
- meetingId: _this26.id
5085
+ meetingId: _this25.id
5093
5086
  }
5094
5087
  });
5095
5088
  _metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
5096
- correlation_id: _this26.correlationId
5089
+ correlation_id: _this25.correlationId
5097
5090
  });
5098
5091
  });
5099
5092
  }
@@ -5200,7 +5193,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5200
5193
  }, {
5201
5194
  key: "muteAudio",
5202
5195
  value: function muteAudio() {
5203
- var _this27 = this;
5196
+ var _this26 = this;
5204
5197
  if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
5205
5198
  return _promise.default.reject(new _webexErrors.UserNotJoinedError());
5206
5199
  }
@@ -5216,22 +5209,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5216
5209
 
5217
5210
  // First, stop sending the local audio media
5218
5211
  return logRequest(this.audio.handleClientRequest(this, true).then(function () {
5219
- _util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
5212
+ _util2.default.handleAudioLogging(_this26.mediaProperties.audioStream);
5220
5213
  // @ts-ignore
5221
- _this27.webex.internal.newMetrics.submitClientEvent({
5214
+ _this26.webex.internal.newMetrics.submitClientEvent({
5222
5215
  name: 'client.muted',
5223
5216
  payload: {
5224
5217
  trigger: 'user-interaction',
5225
5218
  mediaType: 'audio'
5226
5219
  },
5227
5220
  options: {
5228
- meetingId: _this27.id
5221
+ meetingId: _this26.id
5229
5222
  }
5230
5223
  });
5231
5224
  }).catch(function (error) {
5232
5225
  _metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
5233
- correlation_id: _this27.correlationId,
5234
- locus_id: _this27.locusUrl.split('/').pop(),
5226
+ correlation_id: _this26.correlationId,
5227
+ locus_id: _this26.locusUrl.split('/').pop(),
5235
5228
  reason: error.message,
5236
5229
  stack: error.stack
5237
5230
  });
@@ -5250,7 +5243,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5250
5243
  }, {
5251
5244
  key: "unmuteAudio",
5252
5245
  value: function unmuteAudio() {
5253
- var _this28 = this;
5246
+ var _this27 = this;
5254
5247
  if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
5255
5248
  return _promise.default.reject(new _webexErrors.UserNotJoinedError());
5256
5249
  }
@@ -5266,22 +5259,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5266
5259
 
5267
5260
  // First, send the control to unmute the participant on the server
5268
5261
  return logRequest(this.audio.handleClientRequest(this, false).then(function () {
5269
- _util2.default.handleAudioLogging(_this28.mediaProperties.audioStream);
5262
+ _util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
5270
5263
  // @ts-ignore
5271
- _this28.webex.internal.newMetrics.submitClientEvent({
5264
+ _this27.webex.internal.newMetrics.submitClientEvent({
5272
5265
  name: 'client.unmuted',
5273
5266
  payload: {
5274
5267
  trigger: 'user-interaction',
5275
5268
  mediaType: 'audio'
5276
5269
  },
5277
5270
  options: {
5278
- meetingId: _this28.id
5271
+ meetingId: _this27.id
5279
5272
  }
5280
5273
  });
5281
5274
  }).catch(function (error) {
5282
5275
  _metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
5283
- correlation_id: _this28.correlationId,
5284
- locus_id: _this28.locusUrl.split('/').pop(),
5276
+ correlation_id: _this27.correlationId,
5277
+ locus_id: _this27.locusUrl.split('/').pop(),
5285
5278
  reason: error.message,
5286
5279
  stack: error.stack
5287
5280
  });
@@ -5300,7 +5293,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5300
5293
  }, {
5301
5294
  key: "muteVideo",
5302
5295
  value: function muteVideo() {
5303
- var _this29 = this;
5296
+ var _this28 = this;
5304
5297
  if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
5305
5298
  return _promise.default.reject(new _webexErrors.UserNotJoinedError());
5306
5299
  }
@@ -5314,22 +5307,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5314
5307
  return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
5315
5308
  }
5316
5309
  return logRequest(this.video.handleClientRequest(this, true).then(function () {
5317
- _util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
5310
+ _util2.default.handleVideoLogging(_this28.mediaProperties.videoStream);
5318
5311
  // @ts-ignore
5319
- _this29.webex.internal.newMetrics.submitClientEvent({
5312
+ _this28.webex.internal.newMetrics.submitClientEvent({
5320
5313
  name: 'client.muted',
5321
5314
  payload: {
5322
5315
  trigger: 'user-interaction',
5323
5316
  mediaType: 'video'
5324
5317
  },
5325
5318
  options: {
5326
- meetingId: _this29.id
5319
+ meetingId: _this28.id
5327
5320
  }
5328
5321
  });
5329
5322
  }).catch(function (error) {
5330
5323
  _metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
5331
- correlation_id: _this29.correlationId,
5332
- locus_id: _this29.locusUrl.split('/').pop(),
5324
+ correlation_id: _this28.correlationId,
5325
+ locus_id: _this28.locusUrl.split('/').pop(),
5333
5326
  reason: error.message,
5334
5327
  stack: error.stack
5335
5328
  });
@@ -5348,7 +5341,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5348
5341
  }, {
5349
5342
  key: "unmuteVideo",
5350
5343
  value: function unmuteVideo() {
5351
- var _this30 = this;
5344
+ var _this29 = this;
5352
5345
  if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
5353
5346
  return _promise.default.reject(new _webexErrors.UserNotJoinedError());
5354
5347
  }
@@ -5362,22 +5355,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5362
5355
  return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
5363
5356
  }
5364
5357
  return logRequest(this.video.handleClientRequest(this, false).then(function () {
5365
- _util2.default.handleVideoLogging(_this30.mediaProperties.videoStream);
5358
+ _util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
5366
5359
  // @ts-ignore
5367
- _this30.webex.internal.newMetrics.submitClientEvent({
5360
+ _this29.webex.internal.newMetrics.submitClientEvent({
5368
5361
  name: 'client.unmuted',
5369
5362
  payload: {
5370
5363
  trigger: 'user-interaction',
5371
5364
  mediaType: 'video'
5372
5365
  },
5373
5366
  options: {
5374
- meetingId: _this30.id
5367
+ meetingId: _this29.id
5375
5368
  }
5376
5369
  });
5377
5370
  }).catch(function (error) {
5378
5371
  _metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
5379
- correlation_id: _this30.correlationId,
5380
- locus_id: _this30.locusUrl.split('/').pop(),
5372
+ correlation_id: _this29.correlationId,
5373
+ locus_id: _this29.locusUrl.split('/').pop(),
5381
5374
  reason: error.message,
5382
5375
  stack: error.stack
5383
5376
  });
@@ -5407,7 +5400,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5407
5400
  key: "joinWithMedia",
5408
5401
  value: (function () {
5409
5402
  var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
5410
- var _this31 = this;
5403
+ var _this30 = this;
5411
5404
  var options,
5412
5405
  mediaOptions,
5413
5406
  _options$joinOptions,
@@ -5490,7 +5483,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5490
5483
  case 35:
5491
5484
  _context16.next = 37;
5492
5485
  return this.addMediaInternal(function () {
5493
- return _this31.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
5486
+ return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
5494
5487
  }, turnServerInfo, forceTurnDiscovery, mediaOptions);
5495
5488
  case 37:
5496
5489
  mediaResponse = _context16.sent;
@@ -5585,7 +5578,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5585
5578
  }, {
5586
5579
  key: "reconnect",
5587
5580
  value: function reconnect(options) {
5588
- var _this32 = this;
5581
+ var _this31 = this;
5589
5582
  _loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
5590
5583
  if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
5591
5584
  return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
@@ -5601,10 +5594,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5601
5594
  while (1) switch (_context17.prev = _context17.next) {
5602
5595
  case 0:
5603
5596
  _context17.next = 2;
5604
- return _this32.waitForRemoteSDPAnswer();
5597
+ return _this31.waitForRemoteSDPAnswer();
5605
5598
  case 2:
5606
5599
  _context17.next = 4;
5607
- return _this32.waitForMediaConnectionConnected();
5600
+ return _this31.waitForMediaConnectionConnected();
5608
5601
  case 4:
5609
5602
  case "end":
5610
5603
  return _context17.stop();
@@ -5618,7 +5611,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5618
5611
  return _promise.default.resolve();
5619
5612
  }
5620
5613
  _loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
5621
- _this32.uploadLogs({
5614
+ _this31.uploadLogs({
5622
5615
  file: 'meeting/index',
5623
5616
  function: 'reconnect'
5624
5617
  });
@@ -5665,19 +5658,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5665
5658
  }, {
5666
5659
  key: "setCaptionLanguage",
5667
5660
  value: function setCaptionLanguage(language) {
5668
- var _this33 = this;
5661
+ var _this32 = this;
5669
5662
  return new _promise.default(function (resolve, reject) {
5670
- if (!_this33.isTranscriptionSupported()) {
5663
+ if (!_this32.isTranscriptionSupported()) {
5671
5664
  _loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
5672
5665
  reject(new Error('Webex Assistant is not enabled/supported'));
5673
5666
  }
5674
5667
  try {
5675
5668
  var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
5676
5669
  // @ts-ignore
5677
- _this33.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5670
+ _this32.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5678
5671
  var statusCode = payload.statusCode;
5679
5672
  if (statusCode === 200) {
5680
- _this33.transcription.languageOptions = _objectSpread(_objectSpread({}, _this33.transcription.languageOptions), {}, {
5673
+ _this32.transcription.languageOptions = _objectSpread(_objectSpread({}, _this32.transcription.languageOptions), {}, {
5681
5674
  currentCaptionLanguage: language
5682
5675
  });
5683
5676
  resolve(language);
@@ -5686,9 +5679,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5686
5679
  }
5687
5680
  };
5688
5681
  // @ts-ignore
5689
- _this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5682
+ _this32.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5690
5683
  // @ts-ignore
5691
- _this33.webex.internal.voicea.requestLanguage(language);
5684
+ _this32.webex.internal.voicea.requestLanguage(language);
5692
5685
  } catch (error) {
5693
5686
  _loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
5694
5687
  reject(error);
@@ -5704,23 +5697,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5704
5697
  }, {
5705
5698
  key: "setSpokenLanguage",
5706
5699
  value: function setSpokenLanguage(language) {
5707
- var _this34 = this;
5700
+ var _this33 = this;
5708
5701
  return new _promise.default(function (resolve, reject) {
5709
- if (!_this34.isTranscriptionSupported()) {
5702
+ if (!_this33.isTranscriptionSupported()) {
5710
5703
  _loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
5711
5704
  reject(new Error('Webex Assistant is not enabled/supported'));
5712
5705
  }
5713
- if (_this34.getCurUserType() !== 'host') {
5706
+ if (_this33.getCurUserType() !== 'host') {
5714
5707
  _loggerProxy.default.logger.error('Meeting:index#setSpokenLanguage --> Only host can set spoken language');
5715
5708
  reject(new Error('Only host can set spoken language'));
5716
5709
  }
5717
5710
  try {
5718
5711
  var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
5719
5712
  // @ts-ignore
5720
- _this34.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5713
+ _this33.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5721
5714
  var languageCode = payload.languageCode;
5722
5715
  if (languageCode) {
5723
- _this34.transcription.languageOptions = _objectSpread(_objectSpread({}, _this34.transcription.languageOptions), {}, {
5716
+ _this33.transcription.languageOptions = _objectSpread(_objectSpread({}, _this33.transcription.languageOptions), {}, {
5724
5717
  currentSpokenLanguage: languageCode
5725
5718
  });
5726
5719
  resolve(languageCode);
@@ -5730,10 +5723,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5730
5723
  };
5731
5724
 
5732
5725
  // @ts-ignore
5733
- _this34.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5726
+ _this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5734
5727
 
5735
5728
  // @ts-ignore
5736
- _this34.webex.internal.voicea.setSpokenLanguage(language);
5729
+ _this33.webex.internal.voicea.setSpokenLanguage(language);
5737
5730
  } catch (error) {
5738
5731
  _loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
5739
5732
  reject(error);
@@ -5856,7 +5849,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5856
5849
  */
5857
5850
  function () {
5858
5851
  var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
5859
- var _this35 = this;
5852
+ var _this34 = this;
5860
5853
  var options,
5861
5854
  errorMessage,
5862
5855
  error,
@@ -6005,62 +5998,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6005
5998
  return _context19.abrupt("return", _promise.default.reject(_context19.t0));
6006
5999
  case 51:
6007
6000
  return _context19.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
6008
- _this35.meetingFiniteStateMachine.join();
6009
- _this35.setupLocusMediaRequest();
6001
+ _this34.meetingFiniteStateMachine.join();
6002
+ _this34.setupLocusMediaRequest();
6010
6003
 
6011
6004
  // @ts-ignore
6012
- _this35.webex.internal.device.meetingStarted();
6013
- (0, _classPrivateFieldSet2.default)(_this35, _isoLocalClientMeetingJoinTime, new Date().toISOString());
6005
+ _this34.webex.internal.device.meetingStarted();
6006
+ (0, _classPrivateFieldSet2.default)(_this34, _isoLocalClientMeetingJoinTime, new Date().toISOString());
6014
6007
  _loggerProxy.default.logger.log('Meeting:index#join --> Success');
6015
6008
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
6016
- correlation_id: _this35.correlationId
6009
+ correlation_id: _this34.correlationId
6017
6010
  });
6018
6011
  joinSuccess(join);
6019
- _this35.deferJoin = undefined;
6012
+ _this34.deferJoin = undefined;
6020
6013
  return join;
6021
6014
  }).catch(function (error) {
6022
- var _this35$meetingInfo, _error$error;
6023
- _this35.meetingFiniteStateMachine.fail(error);
6015
+ var _this34$meetingInfo, _error$error;
6016
+ _this34.meetingFiniteStateMachine.fail(error);
6024
6017
  _loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
6025
6018
 
6026
6019
  // @ts-ignore
6027
- _this35.webex.internal.newMetrics.submitClientEvent({
6020
+ _this34.webex.internal.newMetrics.submitClientEvent({
6028
6021
  name: 'client.locus.join.response',
6029
6022
  payload: {
6030
6023
  identifiers: {
6031
- meetingLookupUrl: (_this35$meetingInfo = _this35.meetingInfo) === null || _this35$meetingInfo === void 0 ? void 0 : _this35$meetingInfo.meetingLookupUrl
6024
+ meetingLookupUrl: (_this34$meetingInfo = _this34.meetingInfo) === null || _this34$meetingInfo === void 0 ? void 0 : _this34$meetingInfo.meetingLookupUrl
6032
6025
  }
6033
6026
  },
6034
6027
  options: {
6035
- meetingId: _this35.id,
6028
+ meetingId: _this34.id,
6036
6029
  rawError: error
6037
6030
  }
6038
6031
  });
6039
6032
 
6040
6033
  // TODO: change this to error codes and pre defined dictionary
6041
6034
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
6042
- correlation_id: _this35.correlationId,
6035
+ correlation_id: _this34.correlationId,
6043
6036
  reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
6044
6037
  stack: error.stack
6045
6038
  });
6046
6039
 
6047
6040
  // Upload logs on join Failure
6048
- _triggerProxy.default.trigger(_this35, {
6041
+ _triggerProxy.default.trigger(_this34, {
6049
6042
  file: 'meeting/index',
6050
6043
  function: 'join'
6051
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this35);
6044
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this34);
6052
6045
  joinFailed(error);
6053
- _this35.deferJoin = undefined;
6046
+ _this34.deferJoin = undefined;
6054
6047
  return _promise.default.reject(error);
6055
6048
  }).then(function (join) {
6056
6049
  // @ts-ignore - config coming from registerPlugin
6057
- if (_this35.config.enableAutomaticLLM) {
6050
+ if (_this34.config.enableAutomaticLLM) {
6058
6051
  // @ts-ignore
6059
- _this35.webex.internal.llm.on('online', _this35.handleLLMOnline);
6060
- _this35.updateLLMConnection().catch(function (error) {
6052
+ _this34.webex.internal.llm.on('online', _this34.handleLLMOnline);
6053
+ _this34.updateLLMConnection().catch(function (error) {
6061
6054
  _loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
6062
6055
  _metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
6063
- correlation_id: _this35.correlationId,
6056
+ correlation_id: _this34.correlationId,
6064
6057
  reason: error === null || error === void 0 ? void 0 : error.message,
6065
6058
  stack: error.stack
6066
6059
  });
@@ -6092,7 +6085,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6092
6085
  key: "updateLLMConnection",
6093
6086
  value: (function () {
6094
6087
  var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
6095
- var _this36 = this;
6088
+ var _this35 = this;
6096
6089
  var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, practiceSessionDatachannelUrl, isJoined, dataChannelUrl;
6097
6090
  return _regenerator.default.wrap(function _callee20$(_context20) {
6098
6091
  while (1) switch (_context20.prev = _context20.next) {
@@ -6129,9 +6122,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6129
6122
  case 11:
6130
6123
  return _context20.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl).then(function (registerAndConnectResult) {
6131
6124
  // @ts-ignore - Fix type
6132
- _this36.webex.internal.llm.off('event:relay.event', _this36.processRelayEvent);
6125
+ _this35.webex.internal.llm.off('event:relay.event', _this35.processRelayEvent);
6133
6126
  // @ts-ignore - Fix type
6134
- _this36.webex.internal.llm.on('event:relay.event', _this36.processRelayEvent);
6127
+ _this35.webex.internal.llm.on('event:relay.event', _this35.processRelayEvent);
6135
6128
  _loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
6136
6129
  return _promise.default.resolve(registerAndConnectResult);
6137
6130
  }));
@@ -6185,7 +6178,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6185
6178
  }, {
6186
6179
  key: "dialInPstn",
6187
6180
  value: function dialInPstn() {
6188
- var _this37 = this;
6181
+ var _this36 = this;
6189
6182
  if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
6190
6183
 
6191
6184
  var correlationId = this.correlationId,
@@ -6201,10 +6194,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6201
6194
  }).catch(function (error) {
6202
6195
  var _error$error2;
6203
6196
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
6204
- correlation_id: _this37.correlationId,
6205
- dial_in_url: _this37.dialInUrl,
6197
+ correlation_id: _this36.correlationId,
6198
+ dial_in_url: _this36.dialInUrl,
6206
6199
  locus_id: locusUrl.split('/').pop(),
6207
- client_url: _this37.deviceUrl,
6200
+ client_url: _this36.deviceUrl,
6208
6201
  reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
6209
6202
  stack: error.stack
6210
6203
  });
@@ -6222,7 +6215,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6222
6215
  }, {
6223
6216
  key: "dialOutPstn",
6224
6217
  value: function dialOutPstn(phoneNumber) {
6225
- var _this38 = this;
6218
+ var _this37 = this;
6226
6219
  if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
6227
6220
 
6228
6221
  var correlationId = this.correlationId,
@@ -6239,10 +6232,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6239
6232
  }).catch(function (error) {
6240
6233
  var _error$error3;
6241
6234
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
6242
- correlation_id: _this38.correlationId,
6243
- dial_out_url: _this38.dialOutUrl,
6235
+ correlation_id: _this37.correlationId,
6236
+ dial_out_url: _this37.dialOutUrl,
6244
6237
  locus_id: locusUrl.split('/').pop(),
6245
- client_url: _this38.deviceUrl,
6238
+ client_url: _this37.deviceUrl,
6246
6239
  reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
6247
6240
  stack: error.stack
6248
6241
  });
@@ -6273,7 +6266,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6273
6266
  }, {
6274
6267
  key: "moveTo",
6275
6268
  value: function moveTo(resourceId) {
6276
- var _this39 = this;
6269
+ var _this38 = this;
6277
6270
  if (!resourceId) {
6278
6271
  throw new _parameter.default('Cannot move call without a resourceId.');
6279
6272
  }
@@ -6317,12 +6310,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6317
6310
  while (1) switch (_context21.prev = _context21.next) {
6318
6311
  case 0:
6319
6312
  _context21.prev = 0;
6320
- if (!(_this39.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
6313
+ if (!(_this38.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
6321
6314
  _context21.next = 4;
6322
6315
  break;
6323
6316
  }
6324
6317
  _context21.next = 4;
6325
- return _this39.releaseScreenShareFloor();
6318
+ return _this38.releaseScreenShareFloor();
6326
6319
  case 4:
6327
6320
  mediaSettings = {
6328
6321
  mediaDirection: {
@@ -6334,37 +6327,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6334
6327
  receiveShare: true
6335
6328
  }
6336
6329
  };
6337
- _this39.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
6338
- _this39.mediaProperties.unsetRemoteMedia();
6330
+ _this38.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
6331
+ _this38.mediaProperties.unsetRemoteMedia();
6339
6332
 
6340
6333
  // 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
6341
6334
  // once the device answers we close the old connection and create new media server connection with only share enabled
6342
- if (!_this39.statsAnalyzer) {
6335
+ if (!_this38.statsAnalyzer) {
6343
6336
  _context21.next = 10;
6344
6337
  break;
6345
6338
  }
6346
6339
  _context21.next = 10;
6347
- return _this39.statsAnalyzer.stopAnalyzer();
6340
+ return _this38.statsAnalyzer.stopAnalyzer();
6348
6341
  case 10:
6349
6342
  _context21.next = 12;
6350
- return _this39.closeRemoteStreams();
6343
+ return _this38.closeRemoteStreams();
6351
6344
  case 12:
6352
6345
  _context21.next = 14;
6353
- return _this39.closePeerConnections();
6346
+ return _this38.closePeerConnections();
6354
6347
  case 14:
6355
- _this39.cleanupLocalStreams();
6356
- _this39.unsetRemoteStreams();
6357
- _this39.unsetPeerConnections();
6358
- _this39.reconnectionManager.cleanUp();
6348
+ _this38.cleanupLocalStreams();
6349
+ _this38.unsetRemoteStreams();
6350
+ _this38.unsetPeerConnections();
6351
+ _this38.reconnectionManager.cleanUp();
6359
6352
  _context21.next = 20;
6360
- return _this39.addMedia({
6353
+ return _this38.addMedia({
6361
6354
  audioEnabled: false,
6362
6355
  videoEnabled: false,
6363
6356
  shareVideoEnabled: true
6364
6357
  });
6365
6358
  case 20:
6366
6359
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
6367
- _this39.isMoveToInProgress = false;
6360
+ _this38.isMoveToInProgress = false;
6368
6361
  _context21.next = 29;
6369
6362
  break;
6370
6363
  case 24:
@@ -6372,12 +6365,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6372
6365
  _context21.t0 = _context21["catch"](0);
6373
6366
  _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context21.t0);
6374
6367
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
6375
- correlation_id: _this39.correlationId,
6376
- locus_id: _this39.locusUrl.split('/').pop(),
6368
+ correlation_id: _this38.correlationId,
6369
+ locus_id: _this38.locusUrl.split('/').pop(),
6377
6370
  reason: _context21.t0.message,
6378
6371
  stack: _context21.t0.stack
6379
6372
  });
6380
- _this39.isMoveToInProgress = false;
6373
+ _this38.isMoveToInProgress = false;
6381
6374
  case 29:
6382
6375
  case "end":
6383
6376
  return _context21.stop();
@@ -6393,17 +6386,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6393
6386
  resourceId: resourceId,
6394
6387
  moveToResource: true
6395
6388
  }).then(function () {
6396
- _this39.meetingFiniteStateMachine.join();
6389
+ _this38.meetingFiniteStateMachine.join();
6397
6390
  }).catch(function (error) {
6398
- _this39.meetingFiniteStateMachine.fail(error);
6391
+ _this38.meetingFiniteStateMachine.fail(error);
6399
6392
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
6400
- correlation_id: _this39.correlationId,
6401
- locus_id: _this39.locusUrl.split('/').pop(),
6393
+ correlation_id: _this38.correlationId,
6394
+ locus_id: _this38.locusUrl.split('/').pop(),
6402
6395
  reason: error.message,
6403
6396
  stack: error.stack
6404
6397
  });
6405
6398
  _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
6406
- _this39.isMoveToInProgress = false;
6399
+ _this38.isMoveToInProgress = false;
6407
6400
  return _promise.default.reject(error);
6408
6401
  });
6409
6402
  }
@@ -6418,7 +6411,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6418
6411
  }, {
6419
6412
  key: "moveFrom",
6420
6413
  value: function moveFrom(resourceId) {
6421
- var _this40 = this;
6414
+ var _this39 = this;
6422
6415
  // On moveFrom ask the developer to re capture it moveFrom then updateMedia
6423
6416
  if (!resourceId) {
6424
6417
  throw new _parameter.default('Cannot move call without a resourceId.');
@@ -6433,19 +6426,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6433
6426
  }
6434
6427
  });
6435
6428
  return _util2.default.joinMeetingOptions(this).then(function () {
6436
- return _util2.default.leaveMeeting(_this40, {
6429
+ return _util2.default.leaveMeeting(_this39, {
6437
6430
  resourceId: resourceId,
6438
6431
  correlationId: oldCorrelationId,
6439
6432
  moveMeeting: true
6440
6433
  }).then(function () {
6441
- _this40.resourceId = '';
6434
+ _this39.resourceId = '';
6442
6435
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
6443
6436
  });
6444
6437
  }).catch(function (error) {
6445
- _this40.meetingFiniteStateMachine.fail(error);
6438
+ _this39.meetingFiniteStateMachine.fail(error);
6446
6439
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
6447
- correlation_id: _this40.correlationId,
6448
- locus_id: _this40.locusUrl.split('/').pop(),
6440
+ correlation_id: _this39.correlationId,
6441
+ locus_id: _this39.locusUrl.split('/').pop(),
6449
6442
  reason: error.message,
6450
6443
  stack: error.stack
6451
6444
  });
@@ -6480,6 +6473,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6480
6473
  new _internalPluginMetrics.RtcMetrics(this.webex, {
6481
6474
  meetingId: this.id
6482
6475
  }, this.correlationId) : undefined;
6476
+
6477
+ // ongoing reachability checks slow down new media connections especially on Firefox, so we stop them
6478
+ this.getWebexObject().meetings.reachability.stopReachability();
6483
6479
  mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(), this.id, {
6484
6480
  rtcMetrics: this.rtcMetrics,
6485
6481
  mediaProperties: this.mediaProperties,
@@ -6505,36 +6501,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6505
6501
 
6506
6502
  // publish the streams
6507
6503
  if (!this.mediaProperties.audioStream) {
6508
- _context22.next = 9;
6504
+ _context22.next = 10;
6509
6505
  break;
6510
6506
  }
6511
6507
  this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
6512
- _context22.next = 9;
6508
+ _context22.next = 10;
6513
6509
  return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
6514
- case 9:
6510
+ case 10:
6515
6511
  if (!this.mediaProperties.videoStream) {
6516
- _context22.next = 12;
6512
+ _context22.next = 13;
6517
6513
  break;
6518
6514
  }
6519
- _context22.next = 12;
6515
+ _context22.next = 13;
6520
6516
  return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
6521
- case 12:
6517
+ case 13:
6522
6518
  if (!this.mediaProperties.shareVideoStream) {
6523
- _context22.next = 15;
6519
+ _context22.next = 16;
6524
6520
  break;
6525
6521
  }
6526
- _context22.next = 15;
6522
+ _context22.next = 16;
6527
6523
  return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
6528
- case 15:
6524
+ case 16:
6529
6525
  if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
6530
- _context22.next = 18;
6526
+ _context22.next = 19;
6531
6527
  break;
6532
6528
  }
6533
- _context22.next = 18;
6529
+ _context22.next = 19;
6534
6530
  return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
6535
- case 18:
6536
- return _context22.abrupt("return", mc);
6537
6531
  case 19:
6532
+ return _context22.abrupt("return", mc);
6533
+ case 20:
6538
6534
  case "end":
6539
6535
  return _context22.stop();
6540
6536
  }
@@ -6558,9 +6554,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6558
6554
  }, {
6559
6555
  key: "forwardEvent",
6560
6556
  value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
6561
- var _this41 = this;
6557
+ var _this40 = this;
6562
6558
  eventEmitter.on(eventTypeToForward, function (data) {
6563
- return _triggerProxy.default.trigger(_this41, {
6559
+ return _triggerProxy.default.trigger(_this40, {
6564
6560
  file: 'meetings',
6565
6561
  function: 'addMedia'
6566
6562
  }, meetingEventType, data);
@@ -6737,7 +6733,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6737
6733
  key: "waitForRemoteSDPAnswer",
6738
6734
  value: (function () {
6739
6735
  var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee25() {
6740
- var _this42 = this;
6736
+ var _this41 = this;
6741
6737
  var LOG_HEADER, deferSDPAnswer;
6742
6738
  return _regenerator.default.wrap(function _callee25$(_context25) {
6743
6739
  while (1) switch (_context25.prev = _context25.next) {
@@ -6754,18 +6750,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6754
6750
  this.sdpResponseTimer = setTimeout(function () {
6755
6751
  _loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
6756
6752
  // @ts-ignore
6757
- _this42.webex.internal.newMetrics.submitClientEvent({
6753
+ _this41.webex.internal.newMetrics.submitClientEvent({
6758
6754
  name: 'client.media-engine.remote-sdp-received',
6759
6755
  payload: {
6760
6756
  canProceed: false,
6761
6757
  errors: [
6762
6758
  // @ts-ignore
6763
- _this42.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
6759
+ _this41.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
6764
6760
  clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
6765
6761
  })]
6766
6762
  },
6767
6763
  options: {
6768
- meetingId: _this42.id,
6764
+ meetingId: _this41.id,
6769
6765
  rawError: new Error('Timeout waiting for SDP answer')
6770
6766
  }
6771
6767
  });
@@ -7272,10 +7268,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7272
7268
  }, {
7273
7269
  key: "addMedia",
7274
7270
  value: function addMedia() {
7275
- var _this43 = this;
7271
+ var _this42 = this;
7276
7272
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7277
7273
  return this.addMediaInternal(function () {
7278
- return _this43.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
7274
+ return _this42.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
7279
7275
  }, undefined, false, options);
7280
7276
  }
7281
7277
 
@@ -7412,54 +7408,55 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7412
7408
  });
7413
7409
  this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
7414
7410
  this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
7415
- _context35.prev = 18;
7416
- _context35.next = 21;
7411
+ this.brbState = (0, _brbState.createBrbState)(this, false);
7412
+ _context35.prev = 19;
7413
+ _context35.next = 22;
7417
7414
  return this.setUpLocalStreamReferences(localStreams);
7418
- case 21:
7415
+ case 22:
7419
7416
  this.setMercuryListener();
7420
7417
  this.createStatsAnalyzer();
7421
- _context35.prev = 23;
7422
- _context35.next = 26;
7418
+ _context35.prev = 24;
7419
+ _context35.next = 27;
7423
7420
  return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
7424
- case 26:
7425
- _context35.next = 39;
7421
+ case 27:
7422
+ _context35.next = 40;
7426
7423
  break;
7427
- case 28:
7428
- _context35.prev = 28;
7429
- _context35.t0 = _context35["catch"](23);
7424
+ case 29:
7425
+ _context35.prev = 29;
7426
+ _context35.t0 = _context35["catch"](24);
7430
7427
  if (!(_context35.t0 instanceof _multistreamNotSupportedError.default)) {
7431
- _context35.next = 38;
7428
+ _context35.next = 39;
7432
7429
  break;
7433
7430
  }
7434
7431
  _loggerProxy.default.logger.warn("".concat(LOG_HEADER, " we asked for multistream backend (Homer), but got transcoded backend, recreating media connection..."));
7435
- _context35.next = 34;
7432
+ _context35.next = 35;
7436
7433
  return this.downgradeFromMultistreamToTranscoded();
7437
- case 34:
7438
- _context35.next = 36;
7434
+ case 35:
7435
+ _context35.next = 37;
7439
7436
  return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true, undefined);
7440
- case 36:
7441
- _context35.next = 39;
7437
+ case 37:
7438
+ _context35.next = 40;
7442
7439
  break;
7443
- case 38:
7444
- throw _context35.t0;
7445
7440
  case 39:
7441
+ throw _context35.t0;
7442
+ case 40:
7446
7443
  if (!this.mediaProperties.hasLocalShareStream()) {
7447
- _context35.next = 42;
7444
+ _context35.next = 43;
7448
7445
  break;
7449
7446
  }
7450
- _context35.next = 42;
7447
+ _context35.next = 43;
7451
7448
  return this.enqueueScreenShareFloorRequest();
7452
- case 42:
7453
- _context35.next = 44;
7449
+ case 43:
7450
+ _context35.next = 45;
7454
7451
  return this.mediaProperties.getCurrentConnectionInfo();
7455
- case 44:
7452
+ case 45:
7456
7453
  _yield$this$mediaProp = _context35.sent;
7457
7454
  connectionType = _yield$this$mediaProp.connectionType;
7458
7455
  selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
7459
7456
  numTransports = _yield$this$mediaProp.numTransports;
7460
- _context35.next = 50;
7457
+ _context35.next = 51;
7461
7458
  return this.webex.meetings.reachability.getReachabilityMetrics();
7462
- case 50:
7459
+ case 51:
7463
7460
  reachabilityStats = _context35.sent;
7464
7461
  iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
7465
7462
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
@@ -7486,21 +7483,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7486
7483
  // We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
7487
7484
  (_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
7488
7485
  this.startPeriodicLogUpload();
7489
- _context35.next = 77;
7486
+ _context35.next = 78;
7490
7487
  break;
7491
- case 59:
7492
- _context35.prev = 59;
7493
- _context35.t1 = _context35["catch"](18);
7488
+ case 60:
7489
+ _context35.prev = 60;
7490
+ _context35.t1 = _context35["catch"](19);
7494
7491
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context35.t1);
7495
7492
 
7496
7493
  // @ts-ignore
7497
- _context35.next = 64;
7494
+ _context35.next = 65;
7498
7495
  return this.webex.meetings.reachability.getReachabilityMetrics();
7499
- case 64:
7496
+ case 65:
7500
7497
  reachabilityMetrics = _context35.sent;
7501
- _context35.next = 67;
7498
+ _context35.next = 68;
7502
7499
  return this.mediaProperties.getCurrentConnectionInfo();
7503
- case 67:
7500
+ case 68:
7504
7501
  _yield$this$mediaProp2 = _context35.sent;
7505
7502
  _selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
7506
7503
  _numTransports = _yield$this$mediaProp2.numTransports;
@@ -7524,9 +7521,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7524
7521
  }, reachabilityMetrics), _iceCandidateErrors), {}, {
7525
7522
  iceCandidatesCount: this.iceCandidatesCount
7526
7523
  }));
7527
- _context35.next = 74;
7524
+ _context35.next = 75;
7528
7525
  return this.cleanUpOnAddMediaFailure();
7529
- case 74:
7526
+ case 75:
7530
7527
  // Upload logs on error while adding media
7531
7528
  _triggerProxy.default.trigger(this, {
7532
7529
  file: 'meeting/index',
@@ -7538,15 +7535,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7538
7535
  });
7539
7536
  }
7540
7537
  throw _context35.t1;
7541
- case 77:
7542
- _context35.prev = 77;
7538
+ case 78:
7539
+ _context35.prev = 78;
7543
7540
  this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
7544
- return _context35.finish(77);
7545
- case 80:
7541
+ return _context35.finish(78);
7542
+ case 81:
7546
7543
  case "end":
7547
7544
  return _context35.stop();
7548
7545
  }
7549
- }, _callee35, this, [[18, 59, 77, 80], [23, 28]]);
7546
+ }, _callee35, this, [[19, 60, 78, 81], [24, 29]]);
7550
7547
  }));
7551
7548
  function addMediaInternal(_x33, _x34, _x35) {
7552
7549
  return _addMediaInternal.apply(this, arguments);
@@ -7578,7 +7575,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7578
7575
  * @memberof Meeting
7579
7576
  */
7580
7577
  function enqueueMediaUpdate(mediaUpdateType) {
7581
- var _this44 = this;
7578
+ var _this43 = this;
7582
7579
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
7583
7580
  var canUpdateMediaNow = this.canUpdateMedia();
7584
7581
  return new _promise.default(function (resolve, reject) {
@@ -7589,9 +7586,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7589
7586
  options: options
7590
7587
  };
7591
7588
  _loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
7592
- _this44.queuedMediaUpdates.push(queueItem);
7589
+ _this43.queuedMediaUpdates.push(queueItem);
7593
7590
  if (canUpdateMediaNow) {
7594
- _this44.processNextQueuedMediaUpdate();
7591
+ _this43.processNextQueuedMediaUpdate();
7595
7592
  }
7596
7593
  });
7597
7594
  }
@@ -7696,7 +7693,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7696
7693
  }, {
7697
7694
  key: "acknowledge",
7698
7695
  value: function acknowledge(type) {
7699
- var _this45 = this;
7696
+ var _this44 = this;
7700
7697
  if (!type) {
7701
7698
  return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
7702
7699
  }
@@ -7708,12 +7705,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7708
7705
  }).then(function (response) {
7709
7706
  return _promise.default.resolve(response);
7710
7707
  }).then(function (response) {
7711
- _this45.meetingFiniteStateMachine.ring(type);
7708
+ _this44.meetingFiniteStateMachine.ring(type);
7712
7709
  // @ts-ignore
7713
- _this45.webex.internal.newMetrics.submitClientEvent({
7710
+ _this44.webex.internal.newMetrics.submitClientEvent({
7714
7711
  name: 'client.alert.displayed',
7715
7712
  options: {
7716
- meetingId: _this45.id
7713
+ meetingId: _this44.id
7717
7714
  }
7718
7715
  });
7719
7716
  return _promise.default.resolve({
@@ -7738,12 +7735,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7738
7735
  }, {
7739
7736
  key: "decline",
7740
7737
  value: function decline(reason) {
7741
- var _this46 = this;
7738
+ var _this45 = this;
7742
7739
  return _util2.default.declineMeeting(this, reason).then(function (decline) {
7743
- _this46.meetingFiniteStateMachine.decline();
7740
+ _this45.meetingFiniteStateMachine.decline();
7744
7741
  return _promise.default.resolve(decline);
7745
7742
  }).catch(function (error) {
7746
- _this46.meetingFiniteStateMachine.fail(error);
7743
+ _this45.meetingFiniteStateMachine.fail(error);
7747
7744
  return _promise.default.reject(error);
7748
7745
  });
7749
7746
  }
@@ -7794,7 +7791,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7794
7791
  }, {
7795
7792
  key: "leave",
7796
7793
  value: function leave() {
7797
- var _this47 = this;
7794
+ var _this46 = this;
7798
7795
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7799
7796
  var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
7800
7797
 
@@ -7806,7 +7803,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7806
7803
  var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7807
7804
  return (
7808
7805
  // @ts-ignore
7809
- _this47.webex.internal.newMetrics.submitClientEvent({
7806
+ _this46.webex.internal.newMetrics.submitClientEvent({
7810
7807
  name: 'client.call.leave',
7811
7808
  payload: _objectSpread({
7812
7809
  trigger: 'user-interaction',
@@ -7814,7 +7811,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7814
7811
  leaveReason: options.clientEventLeaveReason
7815
7812
  }, payload),
7816
7813
  options: {
7817
- meetingId: _this47.id
7814
+ meetingId: _this46.id
7818
7815
  }
7819
7816
  })
7820
7817
  );
@@ -7823,24 +7820,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7823
7820
  return _util2.default.leaveMeeting(this, options).then(function (leave) {
7824
7821
  // CA team recommends submitting this *after* locus /leave
7825
7822
  submitLeaveMetric();
7826
- _this47.meetingFiniteStateMachine.leave();
7827
- _this47.clearMeetingData();
7823
+ _this46.meetingFiniteStateMachine.leave();
7824
+ _this46.clearMeetingData();
7828
7825
 
7829
7826
  // upload logs on leave irrespective of meeting delete
7830
- _triggerProxy.default.trigger(_this47, {
7827
+ _triggerProxy.default.trigger(_this46, {
7831
7828
  file: 'meeting/index',
7832
7829
  function: 'leave'
7833
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this47);
7830
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
7834
7831
 
7835
7832
  // TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
7836
- if (_this47.wirelessShare || _this47.guest) {
7833
+ if (_this46.wirelessShare || _this46.guest) {
7837
7834
  // If screen sharing clean the meeting object
7838
- _triggerProxy.default.trigger(_this47, {
7835
+ _triggerProxy.default.trigger(_this46, {
7839
7836
  file: 'meeting/index',
7840
7837
  function: 'leave'
7841
7838
  }, _constants.EVENTS.DESTROY_MEETING, {
7842
7839
  reason: options.reason,
7843
- meetingId: _this47.id
7840
+ meetingId: _this46.id
7844
7841
  });
7845
7842
  }
7846
7843
  _loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
@@ -7857,16 +7854,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7857
7854
  shownToUser: false
7858
7855
  }]
7859
7856
  });
7860
- _this47.meetingFiniteStateMachine.fail(error);
7857
+ _this46.meetingFiniteStateMachine.fail(error);
7861
7858
  _loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
7862
7859
  // upload logs on leave irrespective of meeting delete
7863
- _triggerProxy.default.trigger(_this47, {
7860
+ _triggerProxy.default.trigger(_this46, {
7864
7861
  file: 'meeting/index',
7865
7862
  function: 'leave'
7866
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this47);
7863
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
7867
7864
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
7868
- correlation_id: _this47.correlationId,
7869
- locus_id: _this47.locusUrl.split('/').pop(),
7865
+ correlation_id: _this46.correlationId,
7866
+ locus_id: _this46.locusUrl.split('/').pop(),
7870
7867
  reason: error.message,
7871
7868
  stack: error.stack,
7872
7869
  code: error.code
@@ -7886,7 +7883,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7886
7883
  }, {
7887
7884
  key: "startWhiteboardShare",
7888
7885
  value: function startWhiteboardShare(channelUrl, resourceToken) {
7889
- var _this48 = this;
7886
+ var _this47 = this;
7890
7887
  var whiteboard = this.locusInfo.mediaShares.find(function (element) {
7891
7888
  return element.name === 'whiteboard';
7892
7889
  });
@@ -7915,13 +7912,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7915
7912
  body.resourceToken = resourceToken;
7916
7913
  }
7917
7914
  return this.meetingRequest.changeMeetingFloor(body).then(function () {
7918
- _this48.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
7915
+ _this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
7919
7916
  return _promise.default.resolve();
7920
7917
  }).catch(function (error) {
7921
7918
  _loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
7922
7919
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
7923
- correlation_id: _this48.correlationId,
7924
- locus_id: _this48.locusUrl.split('/').pop(),
7920
+ correlation_id: _this47.correlationId,
7921
+ locus_id: _this47.locusUrl.split('/').pop(),
7925
7922
  reason: error.message,
7926
7923
  stack: error.stack,
7927
7924
  board: {
@@ -7944,7 +7941,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7944
7941
  }, {
7945
7942
  key: "stopWhiteboardShare",
7946
7943
  value: function stopWhiteboardShare(channelUrl) {
7947
- var _this49 = this;
7944
+ var _this48 = this;
7948
7945
  var whiteboard = this.locusInfo.mediaShares.find(function (element) {
7949
7946
  return element.name === 'whiteboard';
7950
7947
  });
@@ -7967,8 +7964,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7967
7964
  }).catch(function (error) {
7968
7965
  _loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
7969
7966
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
7970
- correlation_id: _this49.correlationId,
7971
- locus_id: _this49.locusUrl.split('/').pop(),
7967
+ correlation_id: _this48.correlationId,
7968
+ locus_id: _this48.locusUrl.split('/').pop(),
7972
7969
  reason: error.message,
7973
7970
  stack: error.stack,
7974
7971
  board: {
@@ -7990,7 +7987,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7990
7987
  }, {
7991
7988
  key: "requestScreenShareFloor",
7992
7989
  value: function requestScreenShareFloor() {
7993
- var _this50 = this;
7990
+ var _this49 = this;
7994
7991
  if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
7995
7992
  _loggerProxy.default.logger.log("Meeting:index#requestScreenShareFloor --> NOT requesting floor, because we don't have the share stream anymore (shareStream=".concat(this.mediaProperties.shareVideoStream ? 'yes' : 'no', ", sendShare=").concat(this.mediaProperties.mediaDirection.sendShare, ")"));
7996
7993
  this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
@@ -8021,34 +8018,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8021
8018
  resourceUrl: this.resourceUrl,
8022
8019
  shareInstanceId: this.localShareInstanceId
8023
8020
  }).then(function () {
8024
- _this50.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
8021
+ _this49.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
8025
8022
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
8026
- correlation_id: _this50.correlationId,
8027
- locus_id: _this50.locusUrl.split('/').pop()
8023
+ correlation_id: _this49.correlationId,
8024
+ locus_id: _this49.locusUrl.split('/').pop()
8028
8025
  });
8029
8026
  return _promise.default.resolve();
8030
8027
  }).catch(function (error) {
8031
8028
  _loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
8032
8029
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
8033
- correlation_id: _this50.correlationId,
8034
- locus_id: _this50.locusUrl.split('/').pop(),
8030
+ correlation_id: _this49.correlationId,
8031
+ locus_id: _this49.locusUrl.split('/').pop(),
8035
8032
  reason: error.message,
8036
8033
  stack: error.stack
8037
8034
  });
8038
8035
 
8039
8036
  // @ts-ignore
8040
- _this50.webex.internal.newMetrics.submitClientEvent({
8037
+ _this49.webex.internal.newMetrics.submitClientEvent({
8041
8038
  name: 'client.share.floor-granted.local',
8042
8039
  payload: {
8043
8040
  mediaType: 'share',
8044
8041
  errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
8045
- shareInstanceId: _this50.localShareInstanceId
8042
+ shareInstanceId: _this49.localShareInstanceId
8046
8043
  },
8047
8044
  options: {
8048
- meetingId: _this50.id
8045
+ meetingId: _this49.id
8049
8046
  }
8050
8047
  });
8051
- _this50.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
8048
+ _this49.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
8052
8049
  return _promise.default.reject(error);
8053
8050
  });
8054
8051
  }
@@ -8071,10 +8068,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8071
8068
  }, {
8072
8069
  key: "requestScreenShareFloorIfPending",
8073
8070
  value: function requestScreenShareFloorIfPending() {
8074
- var _this51 = this;
8071
+ var _this50 = this;
8075
8072
  if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
8076
8073
  this.requestScreenShareFloor().then(function () {
8077
- _this51.floorGrantPending = false;
8074
+ _this50.floorGrantPending = false;
8078
8075
  });
8079
8076
  }
8080
8077
  }
@@ -8088,7 +8085,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8088
8085
  }, {
8089
8086
  key: "releaseScreenShareFloor",
8090
8087
  value: function releaseScreenShareFloor() {
8091
- var _this52 = this;
8088
+ var _this51 = this;
8092
8089
  var content = this.locusInfo.mediaShares.find(function (element) {
8093
8090
  return element.name === _constants.CONTENT;
8094
8091
  });
@@ -8123,8 +8120,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8123
8120
  }).catch(function (error) {
8124
8121
  _loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
8125
8122
  _metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
8126
- correlation_id: _this52.correlationId,
8127
- locus_id: _this52.locusUrl.split('/').pop(),
8123
+ correlation_id: _this51.correlationId,
8124
+ locus_id: _this51.locusUrl.split('/').pop(),
8128
8125
  reason: error.message,
8129
8126
  stack: error.stack
8130
8127
  });
@@ -8304,7 +8301,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8304
8301
  }, {
8305
8302
  key: "changeVideoLayout",
8306
8303
  value: function changeVideoLayout(layoutType) {
8307
- var _this53 = this;
8304
+ var _this52 = this;
8308
8305
  var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
8309
8306
  var main = renderInfo.main,
8310
8307
  content = renderInfo.content;
@@ -8358,7 +8355,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8358
8355
  }
8359
8356
  this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
8360
8357
  this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
8361
- _triggerProxy.default.trigger(_this53, {
8358
+ _triggerProxy.default.trigger(_this52, {
8362
8359
  file: 'meeting/index',
8363
8360
  function: 'changeVideoLayout'
8364
8361
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
@@ -8474,7 +8471,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8474
8471
  }, {
8475
8472
  key: "endMeetingForAll",
8476
8473
  value: function endMeetingForAll() {
8477
- var _this54 = this;
8474
+ var _this53 = this;
8478
8475
  // @ts-ignore
8479
8476
  this.webex.internal.newMetrics.submitClientEvent({
8480
8477
  name: 'client.call.leave',
@@ -8492,25 +8489,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8492
8489
  locus_id: this.locusId
8493
8490
  });
8494
8491
  return _util2.default.endMeetingForAll(this).then(function (end) {
8495
- _this54.meetingFiniteStateMachine.end();
8496
- _this54.clearMeetingData();
8492
+ _this53.meetingFiniteStateMachine.end();
8493
+ _this53.clearMeetingData();
8497
8494
  // upload logs on leave irrespective of meeting delete
8498
- _triggerProxy.default.trigger(_this54, {
8495
+ _triggerProxy.default.trigger(_this53, {
8499
8496
  file: 'meeting/index',
8500
8497
  function: 'endMeetingForAll'
8501
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this54);
8498
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
8502
8499
  return end;
8503
8500
  }).catch(function (error) {
8504
- _this54.meetingFiniteStateMachine.fail(error);
8501
+ _this53.meetingFiniteStateMachine.fail(error);
8505
8502
  _loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
8506
8503
  // upload logs on leave irrespective of meeting delete
8507
- _triggerProxy.default.trigger(_this54, {
8504
+ _triggerProxy.default.trigger(_this53, {
8508
8505
  file: 'meeting/index',
8509
8506
  function: 'endMeetingForAll'
8510
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this54);
8507
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
8511
8508
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
8512
- correlation_id: _this54.correlationId,
8513
- locus_id: _this54.locusUrl.split('/').pop(),
8509
+ correlation_id: _this53.correlationId,
8510
+ locus_id: _this53.locusUrl.split('/').pop(),
8514
8511
  reason: error.message,
8515
8512
  stack: error.stack,
8516
8513
  code: error.code
@@ -8652,7 +8649,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8652
8649
  _this$mediaProperties43,
8653
8650
  _this$mediaProperties44,
8654
8651
  _this$mediaProperties45,
8655
- _this55 = this;
8652
+ _this54 = this;
8656
8653
  var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
8657
8654
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
8658
8655
  if (!this.canUpdateMedia()) {
@@ -8677,8 +8674,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8677
8674
  }).catch(function (error) {
8678
8675
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
8679
8676
  _metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
8680
- correlation_id: _this55.correlationId,
8681
- locus_id: _this55.locusUrl.split('/').pop(),
8677
+ correlation_id: _this54.correlationId,
8678
+ locus_id: _this54.locusUrl.split('/').pop(),
8682
8679
  reason: error.message,
8683
8680
  stack: error.stack
8684
8681
  });