@webex/plugin-meetings 3.0.0-beta.160 → 3.0.0-beta.161

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 (54) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/constants.js +12 -2
  4. package/dist/constants.js.map +1 -1
  5. package/dist/interpretation/collection.js +23 -0
  6. package/dist/interpretation/collection.js.map +1 -0
  7. package/dist/interpretation/index.js +214 -0
  8. package/dist/interpretation/index.js.map +1 -0
  9. package/dist/interpretation/siLanguage.js +25 -0
  10. package/dist/interpretation/siLanguage.js.map +1 -0
  11. package/dist/locus-info/controlsUtils.js +1 -0
  12. package/dist/locus-info/controlsUtils.js.map +1 -1
  13. package/dist/locus-info/index.js +19 -0
  14. package/dist/locus-info/index.js.map +1 -1
  15. package/dist/locus-info/selfUtils.js +20 -11
  16. package/dist/locus-info/selfUtils.js.map +1 -1
  17. package/dist/meeting/index.js +402 -354
  18. package/dist/meeting/index.js.map +1 -1
  19. package/dist/meeting/util.js +1 -0
  20. package/dist/meeting/util.js.map +1 -1
  21. package/dist/member/index.js +2 -0
  22. package/dist/member/index.js.map +1 -1
  23. package/dist/member/util.js +11 -0
  24. package/dist/member/util.js.map +1 -1
  25. package/dist/types/constants.d.ts +9 -0
  26. package/dist/types/interpretation/collection.d.ts +5 -0
  27. package/dist/types/interpretation/index.d.ts +5 -0
  28. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  29. package/dist/types/meeting/index.d.ts +8 -0
  30. package/dist/types/member/index.d.ts +1 -0
  31. package/package.json +19 -19
  32. package/src/constants.ts +10 -0
  33. package/src/interpretation/README.md +51 -0
  34. package/src/interpretation/collection.ts +19 -0
  35. package/src/interpretation/index.ts +182 -0
  36. package/src/interpretation/siLanguage.ts +18 -0
  37. package/src/locus-info/controlsUtils.ts +2 -0
  38. package/src/locus-info/index.ts +29 -0
  39. package/src/locus-info/selfUtils.ts +6 -0
  40. package/src/meeting/index.ts +62 -1
  41. package/src/meeting/util.ts +1 -0
  42. package/src/member/index.ts +2 -0
  43. package/src/member/util.ts +14 -0
  44. package/test/unit/spec/interpretation/collection.ts +15 -0
  45. package/test/unit/spec/interpretation/index.ts +329 -0
  46. package/test/unit/spec/interpretation/siLanguage.ts +26 -0
  47. package/test/unit/spec/locus-info/controlsUtils.js +20 -0
  48. package/test/unit/spec/locus-info/index.js +64 -0
  49. package/test/unit/spec/locus-info/selfConstant.js +10 -0
  50. package/test/unit/spec/locus-info/selfUtils.js +26 -0
  51. package/test/unit/spec/meeting/index.js +62 -1
  52. package/test/unit/spec/meeting/utils.js +2 -0
  53. package/test/unit/spec/member/index.js +11 -4
  54. package/test/unit/spec/member/util.js +24 -0
@@ -74,6 +74,7 @@ var _receiveSlotManager = require("../multistream/receiveSlotManager");
74
74
  var _mediaRequestManager = require("../multistream/mediaRequestManager");
75
75
  var _remoteMediaManager = require("../multistream/remoteMediaManager");
76
76
  var _breakouts = _interopRequireDefault(require("../breakouts"));
77
+ var _interpretation = _interopRequireDefault(require("../interpretation"));
77
78
  var _annotation = _interopRequireDefault(require("../annotation"));
78
79
  var _inMeetingActions = _interopRequireDefault(require("./in-meeting-actions"));
79
80
  var _constants3 = require("../reactions/constants");
@@ -404,6 +405,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
404
405
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "attrs", void 0);
405
406
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "audio", void 0);
406
407
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "breakouts", void 0);
408
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "simultaneousInterpretation", void 0);
407
409
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "annotation", void 0);
408
410
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "conversationUrl", void 0);
409
411
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "correlationId", void 0);
@@ -1065,6 +1067,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1065
1067
  }, {
1066
1068
  parent: _this.webex
1067
1069
  });
1070
+ /**
1071
+ * @instance
1072
+ * @type {SimultaneousInterpretation}
1073
+ * @public
1074
+ * @memberof Meeting
1075
+ */
1076
+ // @ts-ignore
1077
+ _this.simultaneousInterpretation = new _interpretation.default({}, {
1078
+ parent: _this.webex
1079
+ });
1068
1080
  /**
1069
1081
  * @instance
1070
1082
  * @type {Annotation}
@@ -1872,6 +1884,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1872
1884
  this.setUpLocusInfoAssignHostListener();
1873
1885
  this.setUpLocusInfoMediaInactiveListener();
1874
1886
  this.setUpBreakoutsListener();
1887
+ this.setUpInterpretationListener();
1875
1888
  }
1876
1889
 
1877
1890
  /**
@@ -1930,6 +1943,24 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1930
1943
  });
1931
1944
  }
1932
1945
 
1946
+ /**
1947
+ * Set up the listeners for interpretation
1948
+ * @returns {undefined}
1949
+ * @private
1950
+ * @memberof Meeting
1951
+ */
1952
+ }, {
1953
+ key: "setUpInterpretationListener",
1954
+ value: function setUpInterpretationListener() {
1955
+ var _this5 = this;
1956
+ this.simultaneousInterpretation.on(_constants.INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE, function () {
1957
+ _triggerProxy.default.trigger(_this5, {
1958
+ file: 'meeting/index',
1959
+ function: 'setUpInterpretationListener'
1960
+ }, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_SUPPORT_LANGUAGES_UPDATE);
1961
+ });
1962
+ }
1963
+
1933
1964
  /**
1934
1965
  * Set up the locus info listener for meetings disconnected due to inactivity
1935
1966
  * @returns {undefined}
@@ -1939,30 +1970,30 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1939
1970
  }, {
1940
1971
  key: "setUpLocusInfoMediaInactiveListener",
1941
1972
  value: function setUpLocusInfoMediaInactiveListener() {
1942
- var _this5 = this;
1973
+ var _this6 = this;
1943
1974
  // User gets kicked off the meeting due to inactivity or user did a refresh
1944
1975
  this.locusInfo.on(_constants.EVENTS.DISCONNECT_DUE_TO_INACTIVITY, function (res) {
1945
1976
  // https:// jira-eng-gpk2.cisco.com/jira/browse/SPARK-240520
1946
1977
  // TODO: send custom parameter explaining why the inactivity happened
1947
1978
  // refresh , no media or network got dsconnected or something else
1948
1979
  _metrics.default.sendBehavioralMetric(_constants2.default.DISCONNECT_DUE_TO_INACTIVITY, {
1949
- correlation_id: _this5.correlationId,
1950
- locus_id: _this5.locusId
1980
+ correlation_id: _this6.correlationId,
1981
+ locus_id: _this6.locusId
1951
1982
  });
1952
1983
 
1953
1984
  // Upload logs on media inactivity
1954
1985
  // Normally media should not be inactive
1955
- _triggerProxy.default.trigger(_this5, {
1986
+ _triggerProxy.default.trigger(_this6, {
1956
1987
  file: 'meeting/index',
1957
1988
  function: 'setUpLocusInfoMediaInactiveListener'
1958
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this5);
1989
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this6);
1959
1990
  _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMediaInactiveListener --> Meeting disconnected due to inactivity: ".concat(res.reason));
1960
1991
 
1961
1992
  // @ts-ignore - config coming from registerPlugin
1962
- if (_this5.config.reconnection.autoRejoin) {
1963
- _this5.reconnect();
1993
+ if (_this6.config.reconnection.autoRejoin) {
1994
+ _this6.reconnect();
1964
1995
  } else {
1965
- _triggerProxy.default.trigger(_this5, {
1996
+ _triggerProxy.default.trigger(_this6, {
1966
1997
  file: 'meeting/index',
1967
1998
  function: 'setUpLocusInfoMediaInactiveListener'
1968
1999
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_LEFT, res.reason);
@@ -1979,16 +2010,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
1979
2010
  }, {
1980
2011
  key: "setUpLocusInfoAssignHostListener",
1981
2012
  value: function setUpLocusInfoAssignHostListener() {
1982
- var _this6 = this;
2013
+ var _this7 = this;
1983
2014
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_CAN_ASSIGN_HOST, function (payload) {
1984
- var changed = _this6.inMeetingActions.set({
2015
+ var changed = _this7.inMeetingActions.set({
1985
2016
  canAssignHost: payload.canAssignHost
1986
2017
  });
1987
2018
  if (changed) {
1988
- _triggerProxy.default.trigger(_this6, {
2019
+ _triggerProxy.default.trigger(_this7, {
1989
2020
  file: 'meeting/index',
1990
2021
  function: 'setUpLocusInfoAssignHostListener'
1991
- }, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE, _this6.inMeetingActions.get());
2022
+ }, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE, _this7.inMeetingActions.get());
1992
2023
  }
1993
2024
  });
1994
2025
  }
@@ -2002,9 +2033,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2002
2033
  }, {
2003
2034
  key: "setUpLocusFullStateListener",
2004
2035
  value: function setUpLocusFullStateListener() {
2005
- var _this7 = this;
2036
+ var _this8 = this;
2006
2037
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.FULL_STATE_MEETING_STATE_CHANGE, function (payload) {
2007
- _triggerProxy.default.trigger(_this7, {
2038
+ _triggerProxy.default.trigger(_this8, {
2008
2039
  file: 'meeting/index',
2009
2040
  function: 'setUpLocusFullStateListener'
2010
2041
  }, _constants.EVENT_TRIGGERS.MEETING_STATE_CHANGE, {
@@ -2012,7 +2043,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2012
2043
  });
2013
2044
  });
2014
2045
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.FULL_STATE_TYPE_UPDATE, function (payload) {
2015
- _this7.members.locusFullStateTypeUpdate(payload);
2046
+ _this8.members.locusFullStateTypeUpdate(payload);
2016
2047
  });
2017
2048
  }
2018
2049
 
@@ -2216,13 +2247,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2216
2247
  }, {
2217
2248
  key: "setUpLocusSelfListener",
2218
2249
  value: function setUpLocusSelfListener() {
2219
- var _this8 = this;
2250
+ var _this9 = this;
2220
2251
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_SELF, function (payload) {
2221
- _this8.members.locusSelfUpdate(payload);
2222
- _this8.pstnUpdate(payload);
2252
+ _this9.members.locusSelfUpdate(payload);
2253
+ _this9.pstnUpdate(payload);
2223
2254
 
2224
2255
  // If user moved to a JOINED state and there is a pending floor grant trigger it
2225
- _this8.requestScreenShareFloorIfPending();
2256
+ _this9.requestScreenShareFloorIfPending();
2226
2257
  });
2227
2258
  }
2228
2259
 
@@ -2236,14 +2267,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2236
2267
  }, {
2237
2268
  key: "pstnUpdate",
2238
2269
  value: function pstnUpdate(payload) {
2239
- var _this9 = this;
2270
+ var _this10 = this;
2240
2271
  if (this.locusInfo.self) {
2241
2272
  var _payload$newSelf, _payload$newSelf2;
2242
2273
  var dialInPstnDevice = (_payload$newSelf = payload.newSelf) === null || _payload$newSelf === void 0 ? void 0 : _payload$newSelf.pstnDevices.find(function (device) {
2243
- return device.url === _this9.dialInUrl;
2274
+ return device.url === _this10.dialInUrl;
2244
2275
  });
2245
2276
  var dialOutPstnDevice = (_payload$newSelf2 = payload.newSelf) === null || _payload$newSelf2 === void 0 ? void 0 : _payload$newSelf2.pstnDevices.find(function (device) {
2246
- return device.url === _this9.dialOutUrl;
2277
+ return device.url === _this10.dialOutUrl;
2247
2278
  });
2248
2279
  var changed = false;
2249
2280
  if (dialInPstnDevice) {
@@ -2291,9 +2322,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2291
2322
  }, {
2292
2323
  key: "setUpLocusHostListener",
2293
2324
  value: function setUpLocusHostListener() {
2294
- var _this10 = this;
2325
+ var _this11 = this;
2295
2326
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_HOST, function (payload) {
2296
- _this10.members.locusHostUpdate(payload);
2327
+ _this11.members.locusHostUpdate(payload);
2297
2328
  });
2298
2329
  }
2299
2330
 
@@ -2308,9 +2339,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2308
2339
  }, {
2309
2340
  key: "setUpLocusParticipantsListener",
2310
2341
  value: function setUpLocusParticipantsListener() {
2311
- var _this11 = this;
2342
+ var _this12 = this;
2312
2343
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_PARTICIPANTS, function (payload) {
2313
- _this11.members.locusParticipantsUpdate(payload);
2344
+ _this12.members.locusParticipantsUpdate(payload);
2314
2345
  });
2315
2346
  }
2316
2347
 
@@ -2335,7 +2366,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2335
2366
  }, {
2336
2367
  key: "setupLocusControlsListener",
2337
2368
  value: function setupLocusControlsListener() {
2338
- var _this12 = this;
2369
+ var _this13 = this;
2339
2370
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (_ref4) {
2340
2371
  var state = _ref4.state,
2341
2372
  modifiedBy = _ref4.modifiedBy,
@@ -2360,19 +2391,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2360
2391
  }
2361
2392
 
2362
2393
  // `RESUMED` state should be converted to `RECORDING` after triggering the event
2363
- _this12.recording = {
2394
+ _this13.recording = {
2364
2395
  state: state === _constants.RECORDING_STATE.RESUMED ? _constants.RECORDING_STATE.RECORDING : state,
2365
2396
  modifiedBy: modifiedBy,
2366
2397
  lastModified: lastModified
2367
2398
  };
2368
- _triggerProxy.default.trigger(_this12, {
2399
+ _triggerProxy.default.trigger(_this13, {
2369
2400
  file: 'meeting/index',
2370
2401
  function: 'setupLocusControlsListener'
2371
- }, event, _this12.recording);
2402
+ }, event, _this13.recording);
2372
2403
  });
2373
2404
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (_ref5) {
2374
2405
  var meetingContainerUrl = _ref5.meetingContainerUrl;
2375
- _triggerProxy.default.trigger(_this12, {
2406
+ _triggerProxy.default.trigger(_this13, {
2376
2407
  file: 'meeting/index',
2377
2408
  function: 'setupLocusControlsListener'
2378
2409
  }, _constants.EVENT_TRIGGERS.MEETING_MEETING_CONTAINER_UPDATE, {
@@ -2383,10 +2414,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2383
2414
  var caption = _ref6.caption,
2384
2415
  transcribing = _ref6.transcribing;
2385
2416
  // @ts-ignore - config coming from registerPlugin
2386
- if (transcribing && _this12.transcription && _this12.config.receiveTranscription) {
2387
- _this12.receiveTranscription();
2388
- } else if (!transcribing && _this12.transcription) {
2389
- _triggerProxy.default.trigger(_this12, {
2417
+ if (transcribing && _this13.transcription && _this13.config.receiveTranscription) {
2418
+ _this13.receiveTranscription();
2419
+ } else if (!transcribing && _this13.transcription) {
2420
+ _triggerProxy.default.trigger(_this13, {
2390
2421
  file: 'meeting/index',
2391
2422
  function: 'setupLocusControlsListener'
2392
2423
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_RECEIVING_TRANSCRIPTION, {
@@ -2397,88 +2428,96 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2397
2428
  });
2398
2429
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref7) {
2399
2430
  var breakout = _ref7.breakout;
2400
- _this12.breakouts.updateBreakout(breakout);
2401
- _triggerProxy.default.trigger(_this12, {
2431
+ _this13.breakouts.updateBreakout(breakout);
2432
+ _triggerProxy.default.trigger(_this13, {
2402
2433
  file: 'meeting/index',
2403
2434
  function: 'setupLocusControlsListener'
2404
2435
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
2405
2436
  });
2406
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_JOIN_BREAKOUT_FROM_MAIN, function (_ref8) {
2407
- var mainLocusUrl = _ref8.mainLocusUrl;
2408
- _this12.meetingRequest.getLocusStatusByUrl(mainLocusUrl).catch(function (error) {
2437
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref8) {
2438
+ var interpretation = _ref8.interpretation;
2439
+ _this13.simultaneousInterpretation.updateInterpretation(interpretation);
2440
+ _triggerProxy.default.trigger(_this13, {
2441
+ file: 'meeting/index',
2442
+ function: 'setupLocusControlsListener'
2443
+ }, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
2444
+ });
2445
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_JOIN_BREAKOUT_FROM_MAIN, function (_ref9) {
2446
+ var mainLocusUrl = _ref9.mainLocusUrl;
2447
+ _this13.meetingRequest.getLocusStatusByUrl(mainLocusUrl).catch(function (error) {
2409
2448
  // clear main session cache when attendee join into breakout and forbidden to get locus from main locus url,
2410
2449
  // which means main session is not active for the attendee
2411
2450
  if ((error === null || error === void 0 ? void 0 : error.statusCode) === 403) {
2412
- _this12.locusInfo.clearMainSessionLocusCache();
2451
+ _this13.locusInfo.clearMainSessionLocusCache();
2413
2452
  }
2414
2453
  });
2415
2454
  });
2416
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref9) {
2417
- var entryExitTone = _ref9.entryExitTone;
2418
- _triggerProxy.default.trigger(_this12, {
2455
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref10) {
2456
+ var entryExitTone = _ref10.entryExitTone;
2457
+ _triggerProxy.default.trigger(_this13, {
2419
2458
  file: 'meeting/index',
2420
2459
  function: 'setupLocusControlsListener'
2421
2460
  }, _constants.EVENT_TRIGGERS.MEETING_ENTRY_EXIT_TONE_UPDATE, {
2422
2461
  entryExitTone: entryExitTone
2423
2462
  });
2424
2463
  });
2425
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref10) {
2426
- var state = _ref10.state;
2427
- _triggerProxy.default.trigger(_this12, {
2464
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref11) {
2465
+ var state = _ref11.state;
2466
+ _triggerProxy.default.trigger(_this13, {
2428
2467
  file: 'meeting/index',
2429
2468
  function: 'setupLocusControlsListener'
2430
2469
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_MUTE_ON_ENTRY_UPDATED, {
2431
2470
  state: state
2432
2471
  });
2433
2472
  });
2434
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref11) {
2435
- var state = _ref11.state;
2436
- _triggerProxy.default.trigger(_this12, {
2473
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref12) {
2474
+ var state = _ref12.state;
2475
+ _triggerProxy.default.trigger(_this13, {
2437
2476
  file: 'meeting/index',
2438
2477
  function: 'setupLocusControlsListener'
2439
2478
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_SHARE_CONTROL_UPDATED, {
2440
2479
  state: state
2441
2480
  });
2442
2481
  });
2443
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref12) {
2444
- var state = _ref12.state;
2445
- _triggerProxy.default.trigger(_this12, {
2482
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref13) {
2483
+ var state = _ref13.state;
2484
+ _triggerProxy.default.trigger(_this13, {
2446
2485
  file: 'meeting/index',
2447
2486
  function: 'setupLocusControlsListener'
2448
2487
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_DISALLOW_UNMUTE_UPDATED, {
2449
2488
  state: state
2450
2489
  });
2451
2490
  });
2452
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref13) {
2453
- var state = _ref13.state;
2454
- _triggerProxy.default.trigger(_this12, {
2491
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref14) {
2492
+ var state = _ref14.state;
2493
+ _triggerProxy.default.trigger(_this13, {
2455
2494
  file: 'meeting/index',
2456
2495
  function: 'setupLocusControlsListener'
2457
2496
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_REACTIONS_UPDATED, {
2458
2497
  state: state
2459
2498
  });
2460
2499
  });
2461
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref14) {
2462
- var state = _ref14.state;
2463
- _triggerProxy.default.trigger(_this12, {
2500
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref15) {
2501
+ var state = _ref15.state;
2502
+ _triggerProxy.default.trigger(_this13, {
2464
2503
  file: 'meeting/index',
2465
2504
  function: 'setupLocusControlsListener'
2466
2505
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_VIEW_THE_PARTICIPANTS_LIST_UPDATED, {
2467
2506
  state: state
2468
2507
  });
2469
2508
  });
2470
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref15) {
2471
- var state = _ref15.state;
2472
- _triggerProxy.default.trigger(_this12, {
2509
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref16) {
2510
+ var state = _ref16.state;
2511
+ _triggerProxy.default.trigger(_this13, {
2473
2512
  file: 'meeting/index',
2474
2513
  function: 'setupLocusControlsListener'
2475
2514
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_RAISE_HAND_UPDATED, {
2476
2515
  state: state
2477
2516
  });
2478
2517
  });
2479
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref16) {
2480
- var state = _ref16.state;
2481
- _triggerProxy.default.trigger(_this12, {
2518
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref17) {
2519
+ var state = _ref17.state;
2520
+ _triggerProxy.default.trigger(_this13, {
2482
2521
  file: 'meeting/index',
2483
2522
  function: 'setupLocusControlsListener'
2484
2523
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_VIDEO_UPDATED, {
@@ -2520,32 +2559,32 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2520
2559
  }, {
2521
2560
  key: "setUpLocusMediaSharesListener",
2522
2561
  value: function setUpLocusMediaSharesListener() {
2523
- var _this13 = this;
2562
+ var _this14 = this;
2524
2563
  // Will get triggered on local and remote share
2525
2564
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
2526
- var _ref17 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(payload) {
2565
+ var _ref18 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(payload) {
2527
2566
  var _payload$previous, _payload$previous2;
2528
- var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, oldShareStatus, sendStartedSharingRemote, _this13$mediaProperti;
2567
+ var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, oldShareStatus, sendStartedSharingRemote, _this14$mediaProperti;
2529
2568
  return _regenerator.default.wrap(function _callee3$(_context3) {
2530
2569
  while (1) switch (_context3.prev = _context3.next) {
2531
2570
  case 0:
2532
2571
  _payload$current = payload.current, contentShare = _payload$current.content, whiteboardShare = _payload$current.whiteboard;
2533
2572
  previousContentShare = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
2534
2573
  previousWhiteboardShare = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
2535
- _this13.triggerAnnotationInfoEvent(contentShare, previousContentShare);
2574
+ _this14.triggerAnnotationInfoEvent(contentShare, previousContentShare);
2536
2575
  if (!(contentShare.beneficiaryId === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.beneficiaryId) && contentShare.disposition === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.disposition) && whiteboardShare.beneficiaryId === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.beneficiaryId) && whiteboardShare.disposition === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.disposition) && whiteboardShare.resourceUrl === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.resourceUrl))) {
2537
2576
  _context3.next = 6;
2538
2577
  break;
2539
2578
  }
2540
2579
  return _context3.abrupt("return");
2541
2580
  case 6:
2542
- newShareStatus = _this13.shareStatus; // REMOTE - check if remote started sharing
2543
- if (_this13.selfId !== contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
2581
+ newShareStatus = _this14.shareStatus; // REMOTE - check if remote started sharing
2582
+ if (_this14.selfId !== contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
2544
2583
  // CONTENT - sharing content remote
2545
2584
  newShareStatus = _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE;
2546
2585
  }
2547
2586
  // LOCAL - check if we started sharing content
2548
- else if (_this13.selfId === contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
2587
+ else if (_this14.selfId === contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
2549
2588
  // CONTENT - sharing content local
2550
2589
  newShareStatus = _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE;
2551
2590
  }
@@ -2560,25 +2599,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2560
2599
  else if ((previousContentShare && contentShare.disposition === _constants.FLOOR_ACTION.RELEASED || contentShare.disposition === null) && (previousWhiteboardShare && whiteboardShare.disposition === _constants.FLOOR_ACTION.RELEASED || whiteboardShare.disposition === null)) {
2561
2600
  newShareStatus = _constants.SHARE_STATUS.NO_SHARE;
2562
2601
  }
2563
- if (!(newShareStatus !== _this13.shareStatus)) {
2602
+ if (!(newShareStatus !== _this14.shareStatus)) {
2564
2603
  _context3.next = 45;
2565
2604
  break;
2566
2605
  }
2567
- oldShareStatus = _this13.shareStatus; // update our state before we send out any notifications
2568
- _this13.shareStatus = newShareStatus;
2606
+ oldShareStatus = _this14.shareStatus; // update our state before we send out any notifications
2607
+ _this14.shareStatus = newShareStatus;
2569
2608
 
2570
2609
  // send out "stop" notifications for the old state
2571
2610
  _context3.t0 = oldShareStatus;
2572
2611
  _context3.next = _context3.t0 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 14 : _context3.t0 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 16 : _context3.t0 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 18 : _context3.t0 === _constants.SHARE_STATUS.NO_SHARE ? 20 : 21;
2573
2612
  break;
2574
2613
  case 14:
2575
- _triggerProxy.default.trigger(_this13, {
2614
+ _triggerProxy.default.trigger(_this14, {
2576
2615
  file: 'meetings/index',
2577
2616
  function: 'remoteShare'
2578
2617
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
2579
2618
  return _context3.abrupt("break", 22);
2580
2619
  case 16:
2581
- _triggerProxy.default.trigger(_this13, {
2620
+ _triggerProxy.default.trigger(_this14, {
2582
2621
  file: 'meeting/index',
2583
2622
  function: 'localShare'
2584
2623
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
@@ -2586,7 +2625,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2586
2625
  });
2587
2626
  return _context3.abrupt("break", 22);
2588
2627
  case 18:
2589
- _triggerProxy.default.trigger(_this13, {
2628
+ _triggerProxy.default.trigger(_this14, {
2590
2629
  file: 'meeting/index',
2591
2630
  function: 'stopWhiteboardShare'
2592
2631
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_WHITEBOARD);
@@ -2601,7 +2640,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2601
2640
  break;
2602
2641
  case 25:
2603
2642
  sendStartedSharingRemote = function sendStartedSharingRemote() {
2604
- _triggerProxy.default.trigger(_this13, {
2643
+ _triggerProxy.default.trigger(_this14, {
2605
2644
  file: 'meetings/index',
2606
2645
  function: 'remoteShare'
2607
2646
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_SHARING_REMOTE, {
@@ -2611,12 +2650,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2611
2650
  });
2612
2651
  };
2613
2652
  _context3.prev = 26;
2614
- if (!((_this13$mediaProperti = _this13.mediaProperties.mediaDirection) !== null && _this13$mediaProperti !== void 0 && _this13$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
2653
+ if (!((_this14$mediaProperti = _this14.mediaProperties.mediaDirection) !== null && _this14$mediaProperti !== void 0 && _this14$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
2615
2654
  _context3.next = 30;
2616
2655
  break;
2617
2656
  }
2618
2657
  _context3.next = 30;
2619
- return _this13.unpublishTracks([_this13.mediaProperties.shareTrack]);
2658
+ return _this14.unpublishTracks([_this14.mediaProperties.shareTrack]);
2620
2659
  case 30:
2621
2660
  _context3.prev = 30;
2622
2661
  sendStartedSharingRemote();
@@ -2624,17 +2663,17 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2624
2663
  case 33:
2625
2664
  return _context3.abrupt("break", 42);
2626
2665
  case 34:
2627
- _triggerProxy.default.trigger(_this13, {
2666
+ _triggerProxy.default.trigger(_this14, {
2628
2667
  file: 'meeting/index',
2629
2668
  function: 'share'
2630
2669
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_SHARING_LOCAL);
2631
2670
  _metrics.default.postEvent({
2632
2671
  event: _config.eventType.LOCAL_SHARE_FLOOR_GRANTED,
2633
- meeting: _this13
2672
+ meeting: _this14
2634
2673
  });
2635
2674
  return _context3.abrupt("break", 42);
2636
2675
  case 37:
2637
- _triggerProxy.default.trigger(_this13, {
2676
+ _triggerProxy.default.trigger(_this14, {
2638
2677
  file: 'meeting/index',
2639
2678
  function: 'startWhiteboardShare'
2640
2679
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_SHARING_WHITEBOARD, {
@@ -2643,7 +2682,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2643
2682
  });
2644
2683
  _metrics.default.postEvent({
2645
2684
  event: _config.eventType.WHITEBOARD_SHARE_FLOOR_GRANTED,
2646
- meeting: _this13
2685
+ meeting: _this14
2647
2686
  });
2648
2687
  return _context3.abrupt("break", 42);
2649
2688
  case 40:
@@ -2651,14 +2690,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2651
2690
  case 41:
2652
2691
  return _context3.abrupt("break", 42);
2653
2692
  case 42:
2654
- _this13.members.locusMediaSharesUpdate(payload);
2693
+ _this14.members.locusMediaSharesUpdate(payload);
2655
2694
  _context3.next = 46;
2656
2695
  break;
2657
2696
  case 45:
2658
2697
  if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
2659
2698
  // if we got here, then some remote participant has stolen
2660
2699
  // the presentation from another remote participant
2661
- _triggerProxy.default.trigger(_this13, {
2700
+ _triggerProxy.default.trigger(_this14, {
2662
2701
  file: 'meetings/index',
2663
2702
  function: 'remoteShare'
2664
2703
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_SHARING_REMOTE, {
@@ -2666,11 +2705,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2666
2705
  url: contentShare.url,
2667
2706
  shareInstanceId: contentShare.shareInstanceId
2668
2707
  });
2669
- _this13.members.locusMediaSharesUpdate(payload);
2708
+ _this14.members.locusMediaSharesUpdate(payload);
2670
2709
  } else if (newShareStatus === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE) {
2671
2710
  // if we got here, then some remote participant has stolen
2672
2711
  // the presentation from another remote participant
2673
- _triggerProxy.default.trigger(_this13, {
2712
+ _triggerProxy.default.trigger(_this14, {
2674
2713
  file: 'meeting/index',
2675
2714
  function: 'startWhiteboardShare'
2676
2715
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_SHARING_WHITEBOARD, {
@@ -2679,9 +2718,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2679
2718
  });
2680
2719
  _metrics.default.postEvent({
2681
2720
  event: _config.eventType.WHITEBOARD_SHARE_FLOOR_GRANTED,
2682
- meeting: _this13
2721
+ meeting: _this14
2683
2722
  });
2684
- _this13.members.locusMediaSharesUpdate(payload);
2723
+ _this14.members.locusMediaSharesUpdate(payload);
2685
2724
  }
2686
2725
  case 46:
2687
2726
  case "end":
@@ -2690,7 +2729,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2690
2729
  }, _callee3, null, [[26,, 30, 33]]);
2691
2730
  }));
2692
2731
  return function (_x2) {
2693
- return _ref17.apply(this, arguments);
2732
+ return _ref18.apply(this, arguments);
2694
2733
  };
2695
2734
  }());
2696
2735
  }
@@ -2705,16 +2744,17 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2705
2744
  }, {
2706
2745
  key: "setUpLocusUrlListener",
2707
2746
  value: function setUpLocusUrlListener() {
2708
- var _this14 = this;
2747
+ var _this15 = this;
2709
2748
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_URL, function (payload) {
2710
- var _this14$locusUrl;
2711
- _this14.members.locusUrlUpdate(payload);
2712
- _this14.breakouts.locusUrlUpdate(payload);
2713
- _this14.annotation.locusUrlUpdate(payload);
2714
- _this14.locusUrl = payload;
2715
- _this14.locusId = (_this14$locusUrl = _this14.locusUrl) === null || _this14$locusUrl === void 0 ? void 0 : _this14$locusUrl.split('/').pop();
2716
- _this14.recordingController.setLocusUrl(_this14.locusUrl);
2717
- _this14.controlsOptionsManager.setLocusUrl(_this14.locusUrl);
2749
+ var _this15$locusUrl;
2750
+ _this15.members.locusUrlUpdate(payload);
2751
+ _this15.breakouts.locusUrlUpdate(payload);
2752
+ _this15.simultaneousInterpretation.locusUrlUpdate(payload);
2753
+ _this15.annotation.locusUrlUpdate(payload);
2754
+ _this15.locusUrl = payload;
2755
+ _this15.locusId = (_this15$locusUrl = _this15.locusUrl) === null || _this15$locusUrl === void 0 ? void 0 : _this15$locusUrl.split('/').pop();
2756
+ _this15.recordingController.setLocusUrl(_this15.locusUrl);
2757
+ _this15.controlsOptionsManager.setLocusUrl(_this15.locusUrl);
2718
2758
  });
2719
2759
  }
2720
2760
 
@@ -2730,13 +2770,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2730
2770
  }, {
2731
2771
  key: "setUpLocusServicesListener",
2732
2772
  value: function setUpLocusServicesListener() {
2733
- var _this15 = this;
2773
+ var _this16 = this;
2734
2774
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_SERVICES, function (payload) {
2735
- var _payload$services, _payload$services$rec, _this15$locusInfo, _this15$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap;
2736
- _this15.recordingController.setServiceUrl(payload === null || payload === void 0 ? void 0 : (_payload$services = payload.services) === null || _payload$services === void 0 ? void 0 : (_payload$services$rec = _payload$services.record) === null || _payload$services$rec === void 0 ? void 0 : _payload$services$rec.url);
2737
- _this15.recordingController.setSessionId((_this15$locusInfo = _this15.locusInfo) === null || _this15$locusInfo === void 0 ? void 0 : (_this15$locusInfo$ful = _this15$locusInfo.fullState) === null || _this15$locusInfo$ful === void 0 ? void 0 : _this15$locusInfo$ful.sessionId);
2738
- _this15.breakouts.breakoutServiceUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services2 = payload.services) === null || _payload$services2 === void 0 ? void 0 : (_payload$services2$br = _payload$services2.breakout) === null || _payload$services2$br === void 0 ? void 0 : _payload$services2$br.url);
2739
- _this15.annotation.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services3 = payload.services) === null || _payload$services3 === void 0 ? void 0 : (_payload$services3$ap = _payload$services3.approval) === null || _payload$services3$ap === void 0 ? void 0 : _payload$services3$ap.url);
2775
+ var _payload$services, _payload$services$rec, _this16$locusInfo, _this16$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap;
2776
+ _this16.recordingController.setServiceUrl(payload === null || payload === void 0 ? void 0 : (_payload$services = payload.services) === null || _payload$services === void 0 ? void 0 : (_payload$services$rec = _payload$services.record) === null || _payload$services$rec === void 0 ? void 0 : _payload$services$rec.url);
2777
+ _this16.recordingController.setSessionId((_this16$locusInfo = _this16.locusInfo) === null || _this16$locusInfo === void 0 ? void 0 : (_this16$locusInfo$ful = _this16$locusInfo.fullState) === null || _this16$locusInfo$ful === void 0 ? void 0 : _this16$locusInfo$ful.sessionId);
2778
+ _this16.breakouts.breakoutServiceUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services2 = payload.services) === null || _payload$services2 === void 0 ? void 0 : (_payload$services2$br = _payload$services2.breakout) === null || _payload$services2$br === void 0 ? void 0 : _payload$services2$br.url);
2779
+ _this16.annotation.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services3 = payload.services) === null || _payload$services3 === void 0 ? void 0 : (_payload$services3$ap = _payload$services3.approval) === null || _payload$services3$ap === void 0 ? void 0 : _payload$services3$ap.url);
2740
2780
  });
2741
2781
  }
2742
2782
 
@@ -2749,10 +2789,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2749
2789
  }, {
2750
2790
  key: "setUpLocusInfoMeetingInfoListener",
2751
2791
  value: function setUpLocusInfoMeetingInfoListener() {
2752
- var _this16 = this;
2792
+ var _this17 = this;
2753
2793
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_LOCKED, function (payload) {
2754
2794
  if (payload) {
2755
- _triggerProxy.default.trigger(_this16, {
2795
+ _triggerProxy.default.trigger(_this17, {
2756
2796
  file: 'meeting/index',
2757
2797
  function: 'setUpLocusInfoMeetingInfoListener'
2758
2798
  }, _constants.EVENT_TRIGGERS.MEETING_LOCKED, {
@@ -2762,7 +2802,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2762
2802
  });
2763
2803
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_UNLOCKED, function (payload) {
2764
2804
  if (payload) {
2765
- _triggerProxy.default.trigger(_this16, {
2805
+ _triggerProxy.default.trigger(_this17, {
2766
2806
  file: 'meeting/index',
2767
2807
  function: 'setUpLocusInfoMeetingInfoListener'
2768
2808
  }, _constants.EVENT_TRIGGERS.MEETING_UNLOCKED, {
@@ -2772,7 +2812,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2772
2812
  });
2773
2813
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (payload) {
2774
2814
  if (payload && payload.info) {
2775
- var changed = _this16.inMeetingActions.set({
2815
+ var changed = _this17.inMeetingActions.set({
2776
2816
  canInviteNewParticipants: _util.default.canInviteNewParticipants(payload.info.userDisplayHints),
2777
2817
  canAdmitParticipant: _util.default.canAdmitParticipant(payload.info.userDisplayHints),
2778
2818
  canLock: _util.default.canUserLock(payload.info.userDisplayHints),
@@ -2801,7 +2841,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2801
2841
  isRealTimeTranslationEnabled: _util.default.isRealTimeTranslationEnabled(payload.info.userDisplayHints),
2802
2842
  canSelectSpokenLanguages: _util.default.canSelectSpokenLanguages(payload.info.userDisplayHints),
2803
2843
  waitingForOthersToJoin: _util.default.waitingForOthersToJoin(payload.info.userDisplayHints),
2804
- canSendReactions: _util.default.canSendReactions(_this16.inMeetingActions.canSendReactions, payload.info.userDisplayHints),
2844
+ canSendReactions: _util.default.canSendReactions(_this17.inMeetingActions.canSendReactions, payload.info.userDisplayHints),
2805
2845
  canManageBreakout: _util.default.canManageBreakout(payload.info.userDisplayHints),
2806
2846
  canBroadcastMessageToBreakout: _util.default.canBroadcastMessageToBreakout(payload.info.userDisplayHints),
2807
2847
  canAdmitLobbyToBreakout: _util.default.canAdmitLobbyToBreakout(payload.info.userDisplayHints),
@@ -2898,15 +2938,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2898
2938
  displayHints: payload.info.userDisplayHints
2899
2939
  })
2900
2940
  });
2901
- _this16.recordingController.setDisplayHints(payload.info.userDisplayHints);
2902
- _this16.controlsOptionsManager.setDisplayHints(payload.info.userDisplayHints);
2941
+ _this17.recordingController.setDisplayHints(payload.info.userDisplayHints);
2942
+ _this17.controlsOptionsManager.setDisplayHints(payload.info.userDisplayHints);
2903
2943
  if (changed) {
2904
- _triggerProxy.default.trigger(_this16, {
2944
+ _triggerProxy.default.trigger(_this17, {
2905
2945
  file: 'meeting/index',
2906
2946
  function: 'setUpLocusInfoMeetingInfoListener'
2907
- }, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE, _this16.inMeetingActions.get());
2947
+ }, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE, _this17.inMeetingActions.get());
2908
2948
  }
2909
- _this16.handleDataChannelUrlChange(payload.info.datachannelUrl);
2949
+ _this17.handleDataChannelUrlChange(payload.info.datachannelUrl);
2910
2950
  }
2911
2951
  });
2912
2952
  }
@@ -2919,13 +2959,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2919
2959
  }, {
2920
2960
  key: "handleDataChannelUrlChange",
2921
2961
  value: function handleDataChannelUrlChange(datachannelUrl) {
2922
- var _this17 = this;
2962
+ var _this18 = this;
2923
2963
  // @ts-ignore - config coming from registerPlugin
2924
2964
  if (datachannelUrl && this.config.enableAutomaticLLM) {
2925
2965
  // Defer this as updateLLMConnection relies upon this.locusInfo.url which is only set
2926
2966
  // after the MEETING_INFO_UPDATED callback finishes
2927
2967
  (0, _defer2.default)(function () {
2928
- _this17.updateLLMConnection();
2968
+ _this18.updateLLMConnection();
2929
2969
  });
2930
2970
  }
2931
2971
  }
@@ -2939,10 +2979,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2939
2979
  }, {
2940
2980
  key: "setUpLocusEmbeddedAppsListener",
2941
2981
  value: function setUpLocusEmbeddedAppsListener() {
2942
- var _this18 = this;
2982
+ var _this19 = this;
2943
2983
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.EMBEDDED_APPS_UPDATED, function (embeddedApps) {
2944
2984
  if (embeddedApps) {
2945
- _triggerProxy.default.trigger(_this18, {
2985
+ _triggerProxy.default.trigger(_this19, {
2946
2986
  file: 'meeting/index',
2947
2987
  function: 'setUpLocusEmbeddedAppsListener'
2948
2988
  }, _constants.EVENT_TRIGGERS.MEETING_EMBEDDED_APPS_UPDATE, embeddedApps);
@@ -2959,11 +2999,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2959
2999
  }, {
2960
3000
  key: "setUpLocusInfoSelfListener",
2961
3001
  value: function setUpLocusInfoSelfListener() {
2962
- var _this19 = this;
3002
+ var _this20 = this;
2963
3003
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUIRED, function (payload) {
2964
- if (_this19.audio) {
2965
- _this19.audio.handleServerLocalUnmuteRequired(_this19);
2966
- _triggerProxy.default.trigger(_this19, {
3004
+ if (_this20.audio) {
3005
+ _this20.audio.handleServerLocalUnmuteRequired(_this20);
3006
+ _triggerProxy.default.trigger(_this20, {
2967
3007
  file: 'meeting/index',
2968
3008
  function: 'setUpLocusInfoSelfListener'
2969
3009
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
@@ -2973,13 +3013,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2973
3013
  });
2974
3014
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED, function (payload) {
2975
3015
  if (payload) {
2976
- if (_this19.video) {
3016
+ if (_this20.video) {
2977
3017
  var _payload$muted, _payload$unmuteAllowe;
2978
- payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted : _this19.video.isRemotelyMuted();
2979
- payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe : _this19.video.isUnmuteAllowed();
2980
- _this19.video.handleServerRemoteMuteUpdate(_this19, payload.muted, payload.unmuteAllowed);
3018
+ payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted : _this20.video.isRemotelyMuted();
3019
+ payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe : _this20.video.isUnmuteAllowed();
3020
+ _this20.video.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
2981
3021
  }
2982
- _triggerProxy.default.trigger(_this19, {
3022
+ _triggerProxy.default.trigger(_this20, {
2983
3023
  file: 'meeting/index',
2984
3024
  function: 'setUpLocusInfoSelfListener'
2985
3025
  }, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS, {
@@ -2989,15 +3029,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2989
3029
  });
2990
3030
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_MUTE_STATUS_UPDATED, function (payload) {
2991
3031
  if (payload) {
2992
- var _this19$audio;
2993
- if (_this19.audio) {
2994
- _this19.audio.handleServerRemoteMuteUpdate(_this19, payload.muted, payload.unmuteAllowed);
3032
+ var _this20$audio;
3033
+ if (_this20.audio) {
3034
+ _this20.audio.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
2995
3035
  }
2996
3036
  // with "mute on entry" server will send us remote mute even if we don't have media configured,
2997
3037
  // so if being muted by others, always send the notification,
2998
3038
  // but if being unmuted, only send it if we are also locally unmuted
2999
- if (payload.muted || !((_this19$audio = _this19.audio) !== null && _this19$audio !== void 0 && _this19$audio.isMuted())) {
3000
- _triggerProxy.default.trigger(_this19, {
3039
+ if (payload.muted || !((_this20$audio = _this20.audio) !== null && _this20$audio !== void 0 && _this20$audio.isMuted())) {
3040
+ _triggerProxy.default.trigger(_this20, {
3001
3041
  file: 'meeting/index',
3002
3042
  function: 'setUpLocusInfoSelfListener'
3003
3043
  }, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
@@ -3007,7 +3047,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3007
3047
  }
3008
3048
  });
3009
3049
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUESTED, function (payload) {
3010
- _triggerProxy.default.trigger(_this19, {
3050
+ _triggerProxy.default.trigger(_this20, {
3011
3051
  file: 'meeting/index',
3012
3052
  function: 'setUpLocusInfoSelfListener'
3013
3053
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_REQUESTED_TO_UNMUTE, {
@@ -3016,8 +3056,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3016
3056
  });
3017
3057
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_UNADMITTED_GUEST, function (payload) {
3018
3058
  if (payload) {
3019
- _this19.startKeepAlive();
3020
- _triggerProxy.default.trigger(_this19, {
3059
+ _this20.startKeepAlive();
3060
+ _triggerProxy.default.trigger(_this20, {
3021
3061
  file: 'meeting/index',
3022
3062
  function: 'setUpLocusInfoSelfListener'
3023
3063
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_LOBBY_WAITING, {
@@ -3025,14 +3065,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3025
3065
  });
3026
3066
  _metrics.default.postEvent({
3027
3067
  event: _config.eventType.LOBBY_ENTERED,
3028
- meeting: _this19
3068
+ meeting: _this20
3029
3069
  });
3030
3070
  }
3031
3071
  });
3032
3072
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, function (payload) {
3033
- _this19.stopKeepAlive();
3073
+ _this20.stopKeepAlive();
3034
3074
  if (payload) {
3035
- _triggerProxy.default.trigger(_this19, {
3075
+ _triggerProxy.default.trigger(_this20, {
3036
3076
  file: 'meeting/index',
3037
3077
  function: 'setUpLocusInfoSelfListener'
3038
3078
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
@@ -3040,7 +3080,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3040
3080
  });
3041
3081
  _metrics.default.postEvent({
3042
3082
  event: _config.eventType.LOBBY_EXITED,
3043
- meeting: _this19
3083
+ meeting: _this20
3044
3084
  });
3045
3085
  }
3046
3086
  });
@@ -3048,34 +3088,34 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3048
3088
  // @ts-ignore - check if MEDIA_INACTIVITY exists
3049
3089
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, function () {
3050
3090
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_MEDIA_INACTIVE, {
3051
- correlation_id: _this19.correlationId,
3052
- locus_id: _this19.locusId
3091
+ correlation_id: _this20.correlationId,
3092
+ locus_id: _this20.locusId
3053
3093
  });
3054
- _this19.reconnect();
3094
+ _this20.reconnect();
3055
3095
  });
3056
3096
 
3057
3097
  // There is two stats for mute one is the actual media being sent or received
3058
3098
  // The second on is if the audio is muted, we need to tell the statsAnalyzer when
3059
3099
  // the audio is muted or the user is not willing to send media
3060
3100
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_STATUS_CHANGE, function (status) {
3061
- if (_this19.statsAnalyzer) {
3062
- var _this19$mediaProperti, _this19$audio2, _this19$mediaProperti2, _this19$video, _this19$mediaProperti3, _this19$mediaProperti4, _this19$mediaProperti5, _this19$mediaProperti6;
3063
- _this19.statsAnalyzer.updateMediaStatus({
3101
+ if (_this20.statsAnalyzer) {
3102
+ var _this20$mediaProperti, _this20$audio2, _this20$mediaProperti2, _this20$video, _this20$mediaProperti3, _this20$mediaProperti4, _this20$mediaProperti5, _this20$mediaProperti6;
3103
+ _this20.statsAnalyzer.updateMediaStatus({
3064
3104
  actual: status,
3065
3105
  expected: {
3066
3106
  // We need to check what should be the actual direction of media
3067
- sendAudio: ((_this19$mediaProperti = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti === void 0 ? void 0 : _this19$mediaProperti.sendAudio) && !((_this19$audio2 = _this19.audio) !== null && _this19$audio2 !== void 0 && _this19$audio2.isMuted()),
3068
- sendVideo: ((_this19$mediaProperti2 = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti2 === void 0 ? void 0 : _this19$mediaProperti2.sendVideo) && !((_this19$video = _this19.video) !== null && _this19$video !== void 0 && _this19$video.isMuted()),
3069
- sendShare: (_this19$mediaProperti3 = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti3 === void 0 ? void 0 : _this19$mediaProperti3.sendShare,
3070
- receiveAudio: (_this19$mediaProperti4 = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti4 === void 0 ? void 0 : _this19$mediaProperti4.receiveAudio,
3071
- receiveVideo: (_this19$mediaProperti5 = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti5 === void 0 ? void 0 : _this19$mediaProperti5.receiveVideo,
3072
- receiveShare: (_this19$mediaProperti6 = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti6 === void 0 ? void 0 : _this19$mediaProperti6.receiveShare
3107
+ sendAudio: ((_this20$mediaProperti = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti === void 0 ? void 0 : _this20$mediaProperti.sendAudio) && !((_this20$audio2 = _this20.audio) !== null && _this20$audio2 !== void 0 && _this20$audio2.isMuted()),
3108
+ sendVideo: ((_this20$mediaProperti2 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti2 === void 0 ? void 0 : _this20$mediaProperti2.sendVideo) && !((_this20$video = _this20.video) !== null && _this20$video !== void 0 && _this20$video.isMuted()),
3109
+ sendShare: (_this20$mediaProperti3 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti3 === void 0 ? void 0 : _this20$mediaProperti3.sendShare,
3110
+ receiveAudio: (_this20$mediaProperti4 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti4 === void 0 ? void 0 : _this20$mediaProperti4.receiveAudio,
3111
+ receiveVideo: (_this20$mediaProperti5 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti5 === void 0 ? void 0 : _this20$mediaProperti5.receiveVideo,
3112
+ receiveShare: (_this20$mediaProperti6 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti6 === void 0 ? void 0 : _this20$mediaProperti6.receiveShare
3073
3113
  }
3074
3114
  });
3075
3115
  }
3076
3116
  });
3077
3117
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE, function (payload) {
3078
- _triggerProxy.default.trigger(_this19, {
3118
+ _triggerProxy.default.trigger(_this20, {
3079
3119
  file: 'meeting/index',
3080
3120
  function: 'setUpLocusInfoSelfListener'
3081
3121
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST, {
@@ -3083,17 +3123,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3083
3123
  });
3084
3124
  });
3085
3125
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BREAKOUTS_CHANGED, function (payload) {
3086
- _this19.breakouts.updateBreakoutSessions(payload);
3087
- _triggerProxy.default.trigger(_this19, {
3126
+ _this20.breakouts.updateBreakoutSessions(payload);
3127
+ _triggerProxy.default.trigger(_this20, {
3088
3128
  file: 'meeting/index',
3089
3129
  function: 'setUpLocusInfoSelfListener'
3090
3130
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
3091
3131
  });
3132
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
3133
+ _this20.simultaneousInterpretation.updateSelfInterpretation(payload);
3134
+ _triggerProxy.default.trigger(_this20, {
3135
+ file: 'meeting/index',
3136
+ function: 'setUpLocusInfoSelfListener'
3137
+ }, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
3138
+ });
3092
3139
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ROLES_CHANGED, function (payload) {
3093
- var _payload$newRoles, _payload$newRoles2;
3140
+ var _payload$newRoles, _payload$newRoles2, _payload$newRoles3;
3094
3141
  var isModeratorOrCohost = ((_payload$newRoles = payload.newRoles) === null || _payload$newRoles === void 0 ? void 0 : _payload$newRoles.includes(_constants.SELF_ROLES.MODERATOR)) || ((_payload$newRoles2 = payload.newRoles) === null || _payload$newRoles2 === void 0 ? void 0 : _payload$newRoles2.includes(_constants.SELF_ROLES.COHOST));
3095
- _this19.breakouts.updateCanManageBreakouts(isModeratorOrCohost);
3096
- _triggerProxy.default.trigger(_this19, {
3142
+ _this20.breakouts.updateCanManageBreakouts(isModeratorOrCohost);
3143
+ _this20.simultaneousInterpretation.updateCanManageInterpreters((_payload$newRoles3 = payload.newRoles) === null || _payload$newRoles3 === void 0 ? void 0 : _payload$newRoles3.includes(_constants.SELF_ROLES.MODERATOR));
3144
+ _triggerProxy.default.trigger(_this20, {
3097
3145
  file: 'meeting/index',
3098
3146
  function: 'setUpLocusInfoSelfListener'
3099
3147
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_ROLES_CHANGED, {
@@ -3101,7 +3149,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3101
3149
  });
3102
3150
  });
3103
3151
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_IS_SHARING_BLOCKED_CHANGE, function (payload) {
3104
- _triggerProxy.default.trigger(_this19, {
3152
+ _triggerProxy.default.trigger(_this20, {
3105
3153
  file: 'meeting/index',
3106
3154
  function: 'setUpLocusInfoSelfListener'
3107
3155
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_IS_SHARING_BLOCKED, {
@@ -3119,35 +3167,35 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3119
3167
  }, {
3120
3168
  key: "setUpLocusInfoMeetingListener",
3121
3169
  value: function setUpLocusInfoMeetingListener() {
3122
- var _this20 = this;
3170
+ var _this21 = this;
3123
3171
  this.locusInfo.on(_constants.EVENTS.REMOTE_RESPONSE, function (payload) {
3124
- _this20.meetingFiniteStateMachine.remote(payload);
3172
+ _this21.meetingFiniteStateMachine.remote(payload);
3125
3173
  if (payload.remoteDeclined) {
3126
- _this20.leave({
3174
+ _this21.leave({
3127
3175
  reason: payload.reason
3128
3176
  }).then(function () {
3129
3177
  _loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Attempting to leave meeting.');
3130
3178
  }).catch(function (error) {
3131
3179
  // @ts-ignore
3132
- _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(error));
3180
+ _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(_this21, ", error: ").concat(error));
3133
3181
  });
3134
3182
  }
3135
3183
  });
3136
3184
  this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
3137
- var _ref18 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(payload) {
3185
+ var _ref19 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(payload) {
3138
3186
  return _regenerator.default.wrap(function _callee4$(_context4) {
3139
3187
  while (1) switch (_context4.prev = _context4.next) {
3140
3188
  case 0:
3141
- if (!_this20.wirelessShare) {
3189
+ if (!_this21.wirelessShare) {
3142
3190
  _context4.next = 4;
3143
3191
  break;
3144
3192
  }
3145
- if (!_this20.mediaProperties.shareTrack) {
3193
+ if (!_this21.mediaProperties.shareTrack) {
3146
3194
  _context4.next = 4;
3147
3195
  break;
3148
3196
  }
3149
3197
  _context4.next = 4;
3150
- return _this20.setLocalShareTrack(undefined);
3198
+ return _this21.setLocalShareTrack(undefined);
3151
3199
  case 4:
3152
3200
  if (!payload.shouldLeave) {
3153
3201
  _context4.next = 16;
@@ -3155,7 +3203,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3155
3203
  }
3156
3204
  _context4.prev = 5;
3157
3205
  _context4.next = 8;
3158
- return _this20.leave({
3206
+ return _this21.leave({
3159
3207
  reason: payload.reason
3160
3208
  });
3161
3209
  case 8:
@@ -3166,19 +3214,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3166
3214
  _context4.prev = 11;
3167
3215
  _context4.t0 = _context4["catch"](5);
3168
3216
  // @ts-ignore
3169
- _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(_context4.t0));
3217
+ _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this21, ", error: ").concat(_context4.t0));
3170
3218
  case 14:
3171
3219
  _context4.next = 19;
3172
3220
  break;
3173
3221
  case 16:
3174
3222
  _loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
3175
- _util.default.cleanUp(_this20);
3176
- _triggerProxy.default.trigger(_this20, {
3223
+ _util.default.cleanUp(_this21);
3224
+ _triggerProxy.default.trigger(_this21, {
3177
3225
  file: 'meeting/index',
3178
3226
  function: 'setUpLocusInfoMeetingListener'
3179
3227
  }, _constants.EVENTS.DESTROY_MEETING, {
3180
3228
  reason: payload.reason,
3181
- meetingId: _this20.id
3229
+ meetingId: _this21.id
3182
3230
  });
3183
3231
  case 19:
3184
3232
  case "end":
@@ -3187,7 +3235,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3187
3235
  }, _callee4, null, [[5, 11]]);
3188
3236
  }));
3189
3237
  return function (_x3) {
3190
- return _ref18.apply(this, arguments);
3238
+ return _ref19.apply(this, arguments);
3191
3239
  };
3192
3240
  }());
3193
3241
  }
@@ -3203,13 +3251,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3203
3251
  }, {
3204
3252
  key: "updateMeetingObject",
3205
3253
  value: function updateMeetingObject(object) {
3206
- var _this21 = this;
3254
+ var _this22 = this;
3207
3255
  // Validate if these are valid meeting object property
3208
3256
  // TODO: add a check to make sure the value passed in the constructor
3209
3257
  // is not changed by any delta event
3210
3258
  if (object && (0, _keys.default)(object).length) {
3211
3259
  (0, _keys.default)(object).forEach(function (key) {
3212
- _this21[key] = object[key];
3260
+ _this22[key] = object[key];
3213
3261
  });
3214
3262
  }
3215
3263
  }
@@ -3475,7 +3523,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3475
3523
  }, {
3476
3524
  key: "closeRemoteTracks",
3477
3525
  value: function closeRemoteTracks() {
3478
- var _this22 = this;
3526
+ var _this23 = this;
3479
3527
  var _this$mediaProperties2 = this.mediaProperties,
3480
3528
  remoteAudioTrack = _this$mediaProperties2.remoteAudioTrack,
3481
3529
  remoteVideoTrack = _this$mediaProperties2.remoteVideoTrack,
@@ -3489,7 +3537,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3489
3537
  */
3490
3538
  // eslint-disable-next-line @typescript-eslint/no-shadow
3491
3539
  var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
3492
- _triggerProxy.default.trigger(_this22, {
3540
+ _triggerProxy.default.trigger(_this23, {
3493
3541
  file: 'meeting/index',
3494
3542
  function: 'closeRemoteTracks'
3495
3543
  }, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
@@ -3693,7 +3741,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3693
3741
  }, {
3694
3742
  key: "setMercuryListener",
3695
3743
  value: function setMercuryListener() {
3696
- var _this23 = this;
3744
+ var _this24 = this;
3697
3745
  // Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
3698
3746
  // if the meeting has active peer connections, it should try to reconnect.
3699
3747
  // @ts-ignore
@@ -3701,16 +3749,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3701
3749
  _loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
3702
3750
 
3703
3751
  // Only send restore event when it was disconnected before and for connected later
3704
- if (!_this23.hasWebsocketConnected) {
3752
+ if (!_this24.hasWebsocketConnected) {
3705
3753
  _metrics.default.postEvent({
3706
3754
  event: _config.eventType.MERCURY_CONNECTION_RESTORED,
3707
- meeting: _this23
3755
+ meeting: _this24
3708
3756
  });
3709
3757
  _metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
3710
- correlation_id: _this23.correlationId
3758
+ correlation_id: _this24.correlationId
3711
3759
  });
3712
3760
  }
3713
- _this23.hasWebsocketConnected = true;
3761
+ _this24.hasWebsocketConnected = true;
3714
3762
  });
3715
3763
 
3716
3764
  // @ts-ignore
@@ -3718,10 +3766,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3718
3766
  _loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
3719
3767
  _metrics.default.postEvent({
3720
3768
  event: _config.eventType.MERCURY_CONNECTION_LOST,
3721
- meeting: _this23
3769
+ meeting: _this24
3722
3770
  });
3723
3771
  _metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
3724
- correlation_id: _this23.correlationId
3772
+ correlation_id: _this24.correlationId
3725
3773
  });
3726
3774
  });
3727
3775
  }
@@ -3804,12 +3852,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3804
3852
  }, {
3805
3853
  key: "joinWithMedia",
3806
3854
  value: function joinWithMedia() {
3807
- var _this24 = this;
3855
+ var _this25 = this;
3808
3856
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3809
3857
  var mediaOptions = options.mediaOptions,
3810
3858
  joinOptions = options.joinOptions;
3811
3859
  return this.join(joinOptions).then(function (joinResponse) {
3812
- return _this24.addMedia(mediaOptions).then(function (mediaResponse) {
3860
+ return _this25.addMedia(mediaOptions).then(function (mediaResponse) {
3813
3861
  return {
3814
3862
  join: joinResponse,
3815
3863
  media: mediaResponse
@@ -3818,8 +3866,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3818
3866
  }).catch(function (error) {
3819
3867
  _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', error);
3820
3868
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
3821
- correlation_id: _this24.correlationId,
3822
- locus_id: _this24.locusUrl.split('/').pop(),
3869
+ correlation_id: _this25.correlationId,
3870
+ locus_id: _this25.locusUrl.split('/').pop(),
3823
3871
  reason: error.message,
3824
3872
  stack: error.stack
3825
3873
  }, {
@@ -3840,7 +3888,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3840
3888
  }, {
3841
3889
  key: "reconnect",
3842
3890
  value: function reconnect(options) {
3843
- var _this25 = this;
3891
+ var _this26 = this;
3844
3892
  _loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
3845
3893
  if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
3846
3894
  return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
@@ -3868,13 +3916,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3868
3916
  function: 'reconnect'
3869
3917
  }, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_STARTING);
3870
3918
  return this.reconnectionManager.reconnect(options).then(function () {
3871
- _triggerProxy.default.trigger(_this25, {
3919
+ _triggerProxy.default.trigger(_this26, {
3872
3920
  file: 'meeting/index',
3873
3921
  function: 'reconnect'
3874
3922
  }, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_SUCCESS);
3875
3923
  _loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
3876
3924
  }).catch(function (error) {
3877
- _triggerProxy.default.trigger(_this25, {
3925
+ _triggerProxy.default.trigger(_this26, {
3878
3926
  file: 'meeting/index',
3879
3927
  function: 'reconnect'
3880
3928
  }, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_FAILURE, {
@@ -3882,18 +3930,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3882
3930
  });
3883
3931
  _loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
3884
3932
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_RECONNECT_FAILURE, {
3885
- correlation_id: _this25.correlationId,
3886
- locus_id: _this25.locusUrl.split('/').pop(),
3933
+ correlation_id: _this26.correlationId,
3934
+ locus_id: _this26.locusUrl.split('/').pop(),
3887
3935
  reason: error.message,
3888
3936
  stack: error.stack
3889
3937
  });
3890
- _this25.uploadLogs({
3938
+ _this26.uploadLogs({
3891
3939
  file: 'meeting/index',
3892
3940
  function: 'reconnect'
3893
3941
  });
3894
3942
  return _promise.default.reject(new _reconnection.default('Reconnection failure event', error));
3895
3943
  }).finally(function () {
3896
- _this25.reconnectionManager.reset();
3944
+ _this26.reconnectionManager.reset();
3897
3945
  });
3898
3946
  }
3899
3947
 
@@ -3936,16 +3984,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3936
3984
  }, {
3937
3985
  key: "monitorTranscriptionSocketConnection",
3938
3986
  value: function monitorTranscriptionSocketConnection() {
3939
- var _this26 = this;
3987
+ var _this27 = this;
3940
3988
  this.transcription.onCloseSocket(function (event) {
3941
3989
  _loggerProxy.default.logger.info("Meeting:index#onCloseSocket -->\n unable to continue receiving transcription;\n low-latency mercury web socket connection is closed now.\n ".concat(event));
3942
- _this26.triggerStopReceivingTranscriptionEvent();
3990
+ _this27.triggerStopReceivingTranscriptionEvent();
3943
3991
  });
3944
3992
  this.transcription.onErrorSocket(function (event) {
3945
3993
  _loggerProxy.default.logger.error("Meeting:index#onErrorSocket -->\n unable to continue receiving transcription;\n low-latency mercury web socket connection error had occured.\n ".concat(event));
3946
- _this26.triggerStopReceivingTranscriptionEvent();
3994
+ _this27.triggerStopReceivingTranscriptionEvent();
3947
3995
  _metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
3948
- correlation_id: _this26.correlationId,
3996
+ correlation_id: _this27.correlationId,
3949
3997
  reason: 'unexpected error: transcription LLM web socket connection error had occured.',
3950
3998
  event: event
3951
3999
  });
@@ -3961,7 +4009,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3961
4009
  key: "receiveTranscription",
3962
4010
  value: function () {
3963
4011
  var _receiveTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
3964
- var _this27 = this;
4012
+ var _this28 = this;
3965
4013
  var datachannelUrl, _yield$this$request, webSocketUrl;
3966
4014
  return _regenerator.default.wrap(function _callee8$(_context8) {
3967
4015
  while (1) switch (_context8.prev = _context8.next) {
@@ -3988,7 +4036,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3988
4036
 
3989
4037
  // retrieve and pass the payload
3990
4038
  this.transcription.subscribe(function (payload) {
3991
- _triggerProxy.default.trigger(_this27, {
4039
+ _triggerProxy.default.trigger(_this28, {
3992
4040
  file: 'meeting/index',
3993
4041
  function: 'join'
3994
4042
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_RECEIVING_TRANSCRIPTION, payload);
@@ -4069,7 +4117,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4069
4117
  }, {
4070
4118
  key: "join",
4071
4119
  value: function join() {
4072
- var _this28 = this;
4120
+ var _this29 = this;
4073
4121
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4074
4122
  // @ts-ignore - fix type
4075
4123
  if (!this.webex.meetings.registered) {
@@ -4171,27 +4219,27 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4171
4219
  }
4172
4220
  this.isMultistream = !!options.enableMultistream;
4173
4221
  return _util.default.joinMeetingOptions(this, options).then(function (join) {
4174
- _this28.meetingFiniteStateMachine.join();
4222
+ _this29.meetingFiniteStateMachine.join();
4175
4223
  _loggerProxy.default.logger.log('Meeting:index#join --> Success');
4176
4224
  return join;
4177
4225
  }).then(function (join) {
4178
4226
  joinSuccess(join);
4179
- _this28.deferJoin = undefined;
4227
+ _this29.deferJoin = undefined;
4180
4228
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
4181
- correlation_id: _this28.correlationId
4229
+ correlation_id: _this29.correlationId
4182
4230
  });
4183
4231
  return join;
4184
4232
  }).then( /*#__PURE__*/function () {
4185
- var _ref19 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(join) {
4233
+ var _ref20 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(join) {
4186
4234
  return _regenerator.default.wrap(function _callee9$(_context9) {
4187
4235
  while (1) switch (_context9.prev = _context9.next) {
4188
4236
  case 0:
4189
- if (!_this28.config.enableAutomaticLLM) {
4237
+ if (!_this29.config.enableAutomaticLLM) {
4190
4238
  _context9.next = 3;
4191
4239
  break;
4192
4240
  }
4193
4241
  _context9.next = 3;
4194
- return _this28.updateLLMConnection();
4242
+ return _this29.updateLLMConnection();
4195
4243
  case 3:
4196
4244
  return _context9.abrupt("return", join);
4197
4245
  case 4:
@@ -4201,10 +4249,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4201
4249
  }, _callee9);
4202
4250
  }));
4203
4251
  return function (_x7) {
4204
- return _ref19.apply(this, arguments);
4252
+ return _ref20.apply(this, arguments);
4205
4253
  };
4206
4254
  }()).then( /*#__PURE__*/function () {
4207
- var _ref20 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(join) {
4255
+ var _ref21 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(join) {
4208
4256
  return _regenerator.default.wrap(function _callee10$(_context10) {
4209
4257
  while (1) switch (_context10.prev = _context10.next) {
4210
4258
  case 0:
@@ -4212,16 +4260,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4212
4260
  _context10.next = 8;
4213
4261
  break;
4214
4262
  }
4215
- if (!(_this28.config.receiveTranscription || options.receiveTranscription)) {
4263
+ if (!(_this29.config.receiveTranscription || options.receiveTranscription)) {
4216
4264
  _context10.next = 6;
4217
4265
  break;
4218
4266
  }
4219
- if (!_this28.isTranscriptionSupported()) {
4267
+ if (!_this29.isTranscriptionSupported()) {
4220
4268
  _context10.next = 6;
4221
4269
  break;
4222
4270
  }
4223
4271
  _context10.next = 5;
4224
- return _this28.receiveTranscription();
4272
+ return _this29.receiveTranscription();
4225
4273
  case 5:
4226
4274
  _loggerProxy.default.logger.info('Meeting:index#join --> enabled to recieve transcription!');
4227
4275
  case 6:
@@ -4238,16 +4286,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4238
4286
  }, _callee10);
4239
4287
  }));
4240
4288
  return function (_x8) {
4241
- return _ref20.apply(this, arguments);
4289
+ return _ref21.apply(this, arguments);
4242
4290
  };
4243
4291
  }()).catch(function (error) {
4244
4292
  var _error$error;
4245
- _this28.meetingFiniteStateMachine.fail(error);
4293
+ _this29.meetingFiniteStateMachine.fail(error);
4246
4294
  _loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
4247
4295
  _metrics.default.postEvent({
4248
4296
  event: _config.eventType.LOCUS_JOIN_RESPONSE,
4249
- meeting: _this28,
4250
- meetingId: _this28.id,
4297
+ meeting: _this29,
4298
+ meetingId: _this29.id,
4251
4299
  data: {
4252
4300
  errors: [_metrics.default.parseLocusError(error.error, true)]
4253
4301
  }
@@ -4255,18 +4303,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4255
4303
 
4256
4304
  // TODO: change this to error codes and pre defined dictionary
4257
4305
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
4258
- correlation_id: _this28.correlationId,
4306
+ correlation_id: _this29.correlationId,
4259
4307
  reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
4260
4308
  stack: error.stack
4261
4309
  });
4262
4310
 
4263
4311
  // Upload logs on join Failure
4264
- _triggerProxy.default.trigger(_this28, {
4312
+ _triggerProxy.default.trigger(_this29, {
4265
4313
  file: 'meeting/index',
4266
4314
  function: 'join'
4267
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this28);
4315
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this29);
4268
4316
  joinFailed(error);
4269
- _this28.deferJoin = undefined;
4317
+ _this29.deferJoin = undefined;
4270
4318
  return _promise.default.reject(error);
4271
4319
  });
4272
4320
  }
@@ -4281,7 +4329,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4281
4329
  key: "updateLLMConnection",
4282
4330
  value: function () {
4283
4331
  var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {
4284
- var _this29 = this;
4332
+ var _this30 = this;
4285
4333
  var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
4286
4334
  return _regenerator.default.wrap(function _callee11$(_context11) {
4287
4335
  while (1) switch (_context11.prev = _context11.next) {
@@ -4313,9 +4361,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4313
4361
  case 10:
4314
4362
  return _context11.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
4315
4363
  // @ts-ignore - Fix type
4316
- _this29.webex.internal.llm.off('event:relay.event', _this29.processRelayEvent);
4364
+ _this30.webex.internal.llm.off('event:relay.event', _this30.processRelayEvent);
4317
4365
  // @ts-ignore - Fix type
4318
- _this29.webex.internal.llm.on('event:relay.event', _this29.processRelayEvent);
4366
+ _this30.webex.internal.llm.on('event:relay.event', _this30.processRelayEvent);
4319
4367
  _loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
4320
4368
  return _promise.default.resolve(registerAndConnectResult);
4321
4369
  }));
@@ -4368,7 +4416,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4368
4416
  }, {
4369
4417
  key: "dialInPstn",
4370
4418
  value: function dialInPstn() {
4371
- var _this30 = this;
4419
+ var _this31 = this;
4372
4420
  if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
4373
4421
 
4374
4422
  var correlationId = this.correlationId,
@@ -4384,10 +4432,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4384
4432
  }).catch(function (error) {
4385
4433
  var _error$error2;
4386
4434
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
4387
- correlation_id: _this30.correlationId,
4388
- dial_in_url: _this30.dialInUrl,
4435
+ correlation_id: _this31.correlationId,
4436
+ dial_in_url: _this31.dialInUrl,
4389
4437
  locus_id: locusUrl.split('/').pop(),
4390
- client_url: _this30.deviceUrl,
4438
+ client_url: _this31.deviceUrl,
4391
4439
  reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
4392
4440
  stack: error.stack
4393
4441
  });
@@ -4405,7 +4453,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4405
4453
  }, {
4406
4454
  key: "dialOutPstn",
4407
4455
  value: function dialOutPstn(phoneNumber) {
4408
- var _this31 = this;
4456
+ var _this32 = this;
4409
4457
  if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
4410
4458
 
4411
4459
  var correlationId = this.correlationId,
@@ -4422,10 +4470,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4422
4470
  }).catch(function (error) {
4423
4471
  var _error$error3;
4424
4472
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
4425
- correlation_id: _this31.correlationId,
4426
- dial_out_url: _this31.dialOutUrl,
4473
+ correlation_id: _this32.correlationId,
4474
+ dial_out_url: _this32.dialOutUrl,
4427
4475
  locus_id: locusUrl.split('/').pop(),
4428
- client_url: _this31.deviceUrl,
4476
+ client_url: _this32.deviceUrl,
4429
4477
  reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
4430
4478
  stack: error.stack
4431
4479
  });
@@ -4456,7 +4504,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4456
4504
  }, {
4457
4505
  key: "moveTo",
4458
4506
  value: function moveTo(resourceId) {
4459
- var _this32 = this;
4507
+ var _this33 = this;
4460
4508
  if (!resourceId) {
4461
4509
  throw new _parameter.default('Cannot move call without a resourceId.');
4462
4510
  }
@@ -4492,12 +4540,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4492
4540
  while (1) switch (_context12.prev = _context12.next) {
4493
4541
  case 0:
4494
4542
  _context12.prev = 0;
4495
- if (!_this32.isSharing) {
4543
+ if (!_this33.isSharing) {
4496
4544
  _context12.next = 4;
4497
4545
  break;
4498
4546
  }
4499
4547
  _context12.next = 4;
4500
- return _this32.releaseScreenShareFloor();
4548
+ return _this33.releaseScreenShareFloor();
4501
4549
  case 4:
4502
4550
  mediaSettings = {
4503
4551
  mediaDirection: {
@@ -4509,15 +4557,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4509
4557
  receiveShare: true
4510
4558
  }
4511
4559
  };
4512
- _this32.cleanupLocalTracks();
4513
- _this32.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
4514
- _this32.mediaProperties.unsetRemoteMedia();
4560
+ _this33.cleanupLocalTracks();
4561
+ _this33.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
4562
+ _this33.mediaProperties.unsetRemoteMedia();
4515
4563
 
4516
4564
  // when a move to is intiated by the client , Locus delets the existing media node from the server as soon the DX answers the meeting
4517
4565
  // once the DX answers we establish connection back the media server with only receiveShare enabled
4518
4566
  // @ts-ignore - reconnectMedia does not accept any argument
4519
4567
  _context12.next = 10;
4520
- return _this32.reconnectionManager.reconnectMedia(mediaSettings).then(function () {
4568
+ return _this33.reconnectionManager.reconnectMedia(mediaSettings).then(function () {
4521
4569
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
4522
4570
  });
4523
4571
  case 10:
@@ -4528,8 +4576,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4528
4576
  _context12.t0 = _context12["catch"](0);
4529
4577
  _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context12.t0);
4530
4578
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
4531
- correlation_id: _this32.correlationId,
4532
- locus_id: _this32.locusUrl.split('/').pop(),
4579
+ correlation_id: _this33.correlationId,
4580
+ locus_id: _this33.locusUrl.split('/').pop(),
4533
4581
  reason: _context12.t0.message,
4534
4582
  stack: _context12.t0.stack
4535
4583
  });
@@ -4544,12 +4592,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4544
4592
  resourceId: resourceId,
4545
4593
  moveToResource: true
4546
4594
  }).then(function () {
4547
- _this32.meetingFiniteStateMachine.join();
4595
+ _this33.meetingFiniteStateMachine.join();
4548
4596
  }).catch(function (error) {
4549
- _this32.meetingFiniteStateMachine.fail(error);
4597
+ _this33.meetingFiniteStateMachine.fail(error);
4550
4598
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
4551
- correlation_id: _this32.correlationId,
4552
- locus_id: _this32.locusUrl.split('/').pop(),
4599
+ correlation_id: _this33.correlationId,
4600
+ locus_id: _this33.locusUrl.split('/').pop(),
4553
4601
  reason: error.message,
4554
4602
  stack: error.stack
4555
4603
  });
@@ -4568,7 +4616,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4568
4616
  }, {
4569
4617
  key: "moveFrom",
4570
4618
  value: function moveFrom(resourceId) {
4571
- var _this33 = this;
4619
+ var _this34 = this;
4572
4620
  // On moveFrom ask the developer to re capture it moveFrom then updateMedia
4573
4621
  if (!resourceId) {
4574
4622
  throw new _parameter.default('Cannot move call without a resourceId.');
@@ -4579,19 +4627,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4579
4627
  meeting: this
4580
4628
  });
4581
4629
  return _util.default.joinMeetingOptions(this).then(function () {
4582
- return _util.default.leaveMeeting(_this33, {
4630
+ return _util.default.leaveMeeting(_this34, {
4583
4631
  resourceId: resourceId,
4584
4632
  correlationId: oldCorrelationId,
4585
4633
  moveMeeting: true
4586
4634
  }).then(function () {
4587
- _this33.resourceId = '';
4635
+ _this34.resourceId = '';
4588
4636
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
4589
4637
  });
4590
4638
  }).catch(function (error) {
4591
- _this33.meetingFiniteStateMachine.fail(error);
4639
+ _this34.meetingFiniteStateMachine.fail(error);
4592
4640
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
4593
- correlation_id: _this33.correlationId,
4594
- locus_id: _this33.locusUrl.split('/').pop(),
4641
+ correlation_id: _this34.correlationId,
4642
+ locus_id: _this34.locusUrl.split('/').pop(),
4595
4643
  reason: error.message,
4596
4644
  stack: error.stack
4597
4645
  });
@@ -4687,9 +4735,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4687
4735
  }, {
4688
4736
  key: "forwardEvent",
4689
4737
  value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
4690
- var _this34 = this;
4738
+ var _this35 = this;
4691
4739
  eventEmitter.on(eventTypeToForward, function (data) {
4692
- return _triggerProxy.default.trigger(_this34, {
4740
+ return _triggerProxy.default.trigger(_this35, {
4693
4741
  file: 'meetings',
4694
4742
  function: 'addMedia'
4695
4743
  }, meetingEventType, data);
@@ -4708,7 +4756,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4708
4756
  key: "addMedia",
4709
4757
  value: function addMedia() {
4710
4758
  var _localTracks$screenSh,
4711
- _this35 = this;
4759
+ _this36 = this;
4712
4760
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4713
4761
  var LOG_HEADER = 'Meeting:index#addMedia -->';
4714
4762
  var turnDiscoverySkippedReason;
@@ -4796,9 +4844,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4796
4844
  promises.push(this.setLocalShareTrack(localTracks.screenShare.video));
4797
4845
  }
4798
4846
  return _promise.default.all(promises).then(function () {
4799
- return _this35.roap.doTurnDiscovery(_this35, false);
4847
+ return _this36.roap.doTurnDiscovery(_this36, false);
4800
4848
  }).then( /*#__PURE__*/function () {
4801
- var _ref22 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(turnDiscoveryObject) {
4849
+ var _ref23 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(turnDiscoveryObject) {
4802
4850
  var turnServerInfo, mc;
4803
4851
  return _regenerator.default.wrap(function _callee14$(_context14) {
4804
4852
  while (1) switch (_context14.prev = _context14.next) {
@@ -4807,19 +4855,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4807
4855
  turnServerUsed = !turnDiscoverySkippedReason;
4808
4856
  turnServerInfo = turnDiscoveryObject.turnServerInfo;
4809
4857
  _context14.next = 5;
4810
- return _this35.createMediaConnection(turnServerInfo, bundlePolicy);
4858
+ return _this36.createMediaConnection(turnServerInfo, bundlePolicy);
4811
4859
  case 5:
4812
4860
  mc = _context14.sent;
4813
- if (!_this35.isMultistream) {
4861
+ if (!_this36.isMultistream) {
4814
4862
  _context14.next = 13;
4815
4863
  break;
4816
4864
  }
4817
- _this35.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(_this35.receiveSlotManager, _this35.mediaRequestManagers, remoteMediaManagerConfig);
4818
- _this35.forwardEvent(_this35.remoteMediaManager, _remoteMediaManager.Event.AudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_AUDIO_CREATED);
4819
- _this35.forwardEvent(_this35.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
4820
- _this35.forwardEvent(_this35.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
4865
+ _this36.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(_this36.receiveSlotManager, _this36.mediaRequestManagers, remoteMediaManagerConfig);
4866
+ _this36.forwardEvent(_this36.remoteMediaManager, _remoteMediaManager.Event.AudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_AUDIO_CREATED);
4867
+ _this36.forwardEvent(_this36.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
4868
+ _this36.forwardEvent(_this36.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
4821
4869
  _context14.next = 13;
4822
- return _this35.remoteMediaManager.start();
4870
+ return _this36.remoteMediaManager.start();
4823
4871
  case 13:
4824
4872
  _context14.next = 15;
4825
4873
  return mc.initiateOffer();
@@ -4830,30 +4878,30 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4830
4878
  }, _callee14);
4831
4879
  }));
4832
4880
  return function (_x11) {
4833
- return _ref22.apply(this, arguments);
4881
+ return _ref23.apply(this, arguments);
4834
4882
  };
4835
4883
  }()).then(function () {
4836
- _this35.setMercuryListener();
4884
+ _this36.setMercuryListener();
4837
4885
  }).then(function () {
4838
4886
  return (0, _mediaHelpers.getDevices)().then(function (devices) {
4839
4887
  _util.default.handleDeviceLogging(devices);
4840
4888
  }).catch(function () {});
4841
4889
  } // getDevices may fail if we don't have browser permissions, that's ok, we still can have a media connection
4842
4890
  ).then(function () {
4843
- _this35.handleMediaLogging(_this35.mediaProperties);
4891
+ _this36.handleMediaLogging(_this36.mediaProperties);
4844
4892
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created"));
4845
4893
 
4846
4894
  // @ts-ignore - config coming from registerPlugin
4847
- if (_this35.config.stats.enableStatsAnalyzer) {
4895
+ if (_this36.config.stats.enableStatsAnalyzer) {
4848
4896
  // @ts-ignore - config coming from registerPlugin
4849
- _this35.networkQualityMonitor = new _networkQualityMonitor.default(_this35.config.stats);
4850
- _this35.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
4897
+ _this36.networkQualityMonitor = new _networkQualityMonitor.default(_this36.config.stats);
4898
+ _this36.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
4851
4899
  // @ts-ignore - config coming from registerPlugin
4852
- _this35.config.stats, function (ssrc) {
4853
- return _this35.receiveSlotManager.findReceiveSlotBySsrc(ssrc);
4854
- }, _this35.networkQualityMonitor);
4855
- _this35.setupStatsAnalyzerEventHandlers();
4856
- _this35.networkQualityMonitor.on(_constants.EVENT_TRIGGERS.NETWORK_QUALITY, _this35.sendNetworkQualityEvent.bind(_this35));
4900
+ _this36.config.stats, function (ssrc) {
4901
+ return _this36.receiveSlotManager.findReceiveSlotBySsrc(ssrc);
4902
+ }, _this36.networkQualityMonitor);
4903
+ _this36.setupStatsAnalyzerEventHandlers();
4904
+ _this36.networkQualityMonitor.on(_constants.EVENT_TRIGGERS.NETWORK_QUALITY, _this36.sendNetworkQualityEvent.bind(_this36));
4857
4905
  }
4858
4906
  }).catch(function (error) {
4859
4907
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error adding media , setting up peerconnection, "), error);
@@ -4864,12 +4912,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4864
4912
 
4865
4913
  // eslint-disable-next-line func-names
4866
4914
  // eslint-disable-next-line prefer-arrow-callback
4867
- if (_this35.type === _constants._CALL_ || _this35.meetingState === _constants.FULL_STATE.ACTIVE) {
4915
+ if (_this36.type === _constants._CALL_ || _this36.meetingState === _constants.FULL_STATE.ACTIVE) {
4868
4916
  resolve();
4869
4917
  }
4870
4918
  var joiningTimer = setInterval(function () {
4871
4919
  timerCount += 1;
4872
- if (_this35.meetingState === _constants.FULL_STATE.ACTIVE) {
4920
+ if (_this36.meetingState === _constants.FULL_STATE.ACTIVE) {
4873
4921
  clearInterval(joiningTimer);
4874
4922
  resolve();
4875
4923
  }
@@ -4880,56 +4928,56 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4880
4928
  }, 1000);
4881
4929
  });
4882
4930
  }).then(function () {
4883
- return _this35.mediaProperties.waitForMediaConnectionConnected().catch(function () {
4884
- throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(_this35.correlationId));
4931
+ return _this36.mediaProperties.waitForMediaConnectionConnected().catch(function () {
4932
+ throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(_this36.correlationId));
4885
4933
  });
4886
4934
  }).then(function () {
4887
4935
  var _localTracks$screenSh2;
4888
4936
  if (localTracks !== null && localTracks !== void 0 && (_localTracks$screenSh2 = localTracks.screenShare) !== null && _localTracks$screenSh2 !== void 0 && _localTracks$screenSh2.video) {
4889
- _this35.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.SHARE_FLOOR_REQUEST);
4937
+ _this36.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.SHARE_FLOOR_REQUEST);
4890
4938
  }
4891
4939
  }).then(function () {
4892
- return _this35.mediaProperties.getCurrentConnectionType();
4940
+ return _this36.mediaProperties.getCurrentConnectionType();
4893
4941
  }).then(function (connectionType) {
4894
4942
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, {
4895
- correlation_id: _this35.correlationId,
4896
- locus_id: _this35.locusUrl.split('/').pop(),
4943
+ correlation_id: _this36.correlationId,
4944
+ locus_id: _this36.locusUrl.split('/').pop(),
4897
4945
  connectionType: connectionType,
4898
- isMultistream: _this35.isMultistream
4946
+ isMultistream: _this36.isMultistream
4899
4947
  });
4900
4948
  }).catch(function (error) {
4901
- var _this35$mediaProperti, _this35$mediaProperti2, _this35$mediaProperti3, _this35$mediaProperti4, _this35$mediaProperti5, _this35$mediaProperti6, _this35$mediaProperti7, _this35$mediaProperti8, _this35$mediaProperti9, _this35$mediaProperti10, _this35$mediaProperti11, _this35$mediaProperti12, _this35$mediaProperti13, _this35$mediaProperti14, _this35$mediaProperti15, _this35$mediaProperti16, _this35$mediaProperti17, _this35$mediaProperti18, _this35$mediaProperti19, _this35$mediaProperti20, _this35$mediaProperti21;
4949
+ var _this36$mediaProperti, _this36$mediaProperti2, _this36$mediaProperti3, _this36$mediaProperti4, _this36$mediaProperti5, _this36$mediaProperti6, _this36$mediaProperti7, _this36$mediaProperti8, _this36$mediaProperti9, _this36$mediaProperti10, _this36$mediaProperti11, _this36$mediaProperti12, _this36$mediaProperti13, _this36$mediaProperti14, _this36$mediaProperti15, _this36$mediaProperti16, _this36$mediaProperti17, _this36$mediaProperti18, _this36$mediaProperti19, _this36$mediaProperti20, _this36$mediaProperti21;
4902
4950
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, {
4903
- correlation_id: _this35.correlationId,
4904
- locus_id: _this35.locusUrl.split('/').pop(),
4951
+ correlation_id: _this36.correlationId,
4952
+ locus_id: _this36.locusUrl.split('/').pop(),
4905
4953
  reason: error.message,
4906
4954
  stack: error.stack,
4907
4955
  code: error.code,
4908
4956
  turnDiscoverySkippedReason: turnDiscoverySkippedReason,
4909
4957
  turnServerUsed: turnServerUsed,
4910
- isMultistream: _this35.isMultistream,
4911
- signalingState: ((_this35$mediaProperti = _this35.mediaProperties.webrtcMediaConnection) === null || _this35$mediaProperti === void 0 ? void 0 : (_this35$mediaProperti2 = _this35$mediaProperti.multistreamConnection) === null || _this35$mediaProperti2 === void 0 ? void 0 : (_this35$mediaProperti3 = _this35$mediaProperti2.pc) === null || _this35$mediaProperti3 === void 0 ? void 0 : (_this35$mediaProperti4 = _this35$mediaProperti3.pc) === null || _this35$mediaProperti4 === void 0 ? void 0 : _this35$mediaProperti4.signalingState) || ((_this35$mediaProperti5 = _this35.mediaProperties.webrtcMediaConnection) === null || _this35$mediaProperti5 === void 0 ? void 0 : (_this35$mediaProperti6 = _this35$mediaProperti5.mediaConnection) === null || _this35$mediaProperti6 === void 0 ? void 0 : (_this35$mediaProperti7 = _this35$mediaProperti6.pc) === null || _this35$mediaProperti7 === void 0 ? void 0 : _this35$mediaProperti7.signalingState) || 'unknown',
4912
- connectionState: ((_this35$mediaProperti8 = _this35.mediaProperties.webrtcMediaConnection) === null || _this35$mediaProperti8 === void 0 ? void 0 : (_this35$mediaProperti9 = _this35$mediaProperti8.multistreamConnection) === null || _this35$mediaProperti9 === void 0 ? void 0 : (_this35$mediaProperti10 = _this35$mediaProperti9.pc) === null || _this35$mediaProperti10 === void 0 ? void 0 : (_this35$mediaProperti11 = _this35$mediaProperti10.pc) === null || _this35$mediaProperti11 === void 0 ? void 0 : _this35$mediaProperti11.connectionState) || ((_this35$mediaProperti12 = _this35.mediaProperties.webrtcMediaConnection) === null || _this35$mediaProperti12 === void 0 ? void 0 : (_this35$mediaProperti13 = _this35$mediaProperti12.mediaConnection) === null || _this35$mediaProperti13 === void 0 ? void 0 : (_this35$mediaProperti14 = _this35$mediaProperti13.pc) === null || _this35$mediaProperti14 === void 0 ? void 0 : _this35$mediaProperti14.connectionState) || 'unknown',
4913
- iceConnectionState: ((_this35$mediaProperti15 = _this35.mediaProperties.webrtcMediaConnection) === null || _this35$mediaProperti15 === void 0 ? void 0 : (_this35$mediaProperti16 = _this35$mediaProperti15.multistreamConnection) === null || _this35$mediaProperti16 === void 0 ? void 0 : (_this35$mediaProperti17 = _this35$mediaProperti16.pc) === null || _this35$mediaProperti17 === void 0 ? void 0 : (_this35$mediaProperti18 = _this35$mediaProperti17.pc) === null || _this35$mediaProperti18 === void 0 ? void 0 : _this35$mediaProperti18.iceConnectionState) || ((_this35$mediaProperti19 = _this35.mediaProperties.webrtcMediaConnection) === null || _this35$mediaProperti19 === void 0 ? void 0 : (_this35$mediaProperti20 = _this35$mediaProperti19.mediaConnection) === null || _this35$mediaProperti20 === void 0 ? void 0 : (_this35$mediaProperti21 = _this35$mediaProperti20.pc) === null || _this35$mediaProperti21 === void 0 ? void 0 : _this35$mediaProperti21.iceConnectionState) || 'unknown'
4958
+ isMultistream: _this36.isMultistream,
4959
+ signalingState: ((_this36$mediaProperti = _this36.mediaProperties.webrtcMediaConnection) === null || _this36$mediaProperti === void 0 ? void 0 : (_this36$mediaProperti2 = _this36$mediaProperti.multistreamConnection) === null || _this36$mediaProperti2 === void 0 ? void 0 : (_this36$mediaProperti3 = _this36$mediaProperti2.pc) === null || _this36$mediaProperti3 === void 0 ? void 0 : (_this36$mediaProperti4 = _this36$mediaProperti3.pc) === null || _this36$mediaProperti4 === void 0 ? void 0 : _this36$mediaProperti4.signalingState) || ((_this36$mediaProperti5 = _this36.mediaProperties.webrtcMediaConnection) === null || _this36$mediaProperti5 === void 0 ? void 0 : (_this36$mediaProperti6 = _this36$mediaProperti5.mediaConnection) === null || _this36$mediaProperti6 === void 0 ? void 0 : (_this36$mediaProperti7 = _this36$mediaProperti6.pc) === null || _this36$mediaProperti7 === void 0 ? void 0 : _this36$mediaProperti7.signalingState) || 'unknown',
4960
+ connectionState: ((_this36$mediaProperti8 = _this36.mediaProperties.webrtcMediaConnection) === null || _this36$mediaProperti8 === void 0 ? void 0 : (_this36$mediaProperti9 = _this36$mediaProperti8.multistreamConnection) === null || _this36$mediaProperti9 === void 0 ? void 0 : (_this36$mediaProperti10 = _this36$mediaProperti9.pc) === null || _this36$mediaProperti10 === void 0 ? void 0 : (_this36$mediaProperti11 = _this36$mediaProperti10.pc) === null || _this36$mediaProperti11 === void 0 ? void 0 : _this36$mediaProperti11.connectionState) || ((_this36$mediaProperti12 = _this36.mediaProperties.webrtcMediaConnection) === null || _this36$mediaProperti12 === void 0 ? void 0 : (_this36$mediaProperti13 = _this36$mediaProperti12.mediaConnection) === null || _this36$mediaProperti13 === void 0 ? void 0 : (_this36$mediaProperti14 = _this36$mediaProperti13.pc) === null || _this36$mediaProperti14 === void 0 ? void 0 : _this36$mediaProperti14.connectionState) || 'unknown',
4961
+ iceConnectionState: ((_this36$mediaProperti15 = _this36.mediaProperties.webrtcMediaConnection) === null || _this36$mediaProperti15 === void 0 ? void 0 : (_this36$mediaProperti16 = _this36$mediaProperti15.multistreamConnection) === null || _this36$mediaProperti16 === void 0 ? void 0 : (_this36$mediaProperti17 = _this36$mediaProperti16.pc) === null || _this36$mediaProperti17 === void 0 ? void 0 : (_this36$mediaProperti18 = _this36$mediaProperti17.pc) === null || _this36$mediaProperti18 === void 0 ? void 0 : _this36$mediaProperti18.iceConnectionState) || ((_this36$mediaProperti19 = _this36.mediaProperties.webrtcMediaConnection) === null || _this36$mediaProperti19 === void 0 ? void 0 : (_this36$mediaProperti20 = _this36$mediaProperti19.mediaConnection) === null || _this36$mediaProperti20 === void 0 ? void 0 : (_this36$mediaProperti21 = _this36$mediaProperti20.pc) === null || _this36$mediaProperti21 === void 0 ? void 0 : _this36$mediaProperti21.iceConnectionState) || 'unknown'
4914
4962
  });
4915
4963
 
4916
4964
  // Clean up stats analyzer, peer connection, and turn off listeners
4917
- var stopStatsAnalyzer = _this35.statsAnalyzer ? _this35.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
4965
+ var stopStatsAnalyzer = _this36.statsAnalyzer ? _this36.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
4918
4966
  return stopStatsAnalyzer.then(function () {
4919
- _this35.statsAnalyzer = null;
4920
- if (_this35.mediaProperties.webrtcMediaConnection) {
4921
- _this35.closePeerConnections();
4922
- _this35.unsetPeerConnections();
4967
+ _this36.statsAnalyzer = null;
4968
+ if (_this36.mediaProperties.webrtcMediaConnection) {
4969
+ _this36.closePeerConnections();
4970
+ _this36.unsetPeerConnections();
4923
4971
  }
4924
4972
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error adding media failed to initiate PC and send request, "), error);
4925
4973
 
4926
4974
  // Upload logs on error while adding media
4927
- _triggerProxy.default.trigger(_this35, {
4975
+ _triggerProxy.default.trigger(_this36, {
4928
4976
  file: 'meeting/index',
4929
4977
  function: 'addMedia'
4930
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this35);
4978
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this36);
4931
4979
  if (error instanceof _internalMediaCore.Errors.SdpError) {
4932
- _this35.leave({
4980
+ _this36.leave({
4933
4981
  reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
4934
4982
  });
4935
4983
  }
@@ -4962,7 +5010,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4962
5010
  }, {
4963
5011
  key: "enqueueMediaUpdate",
4964
5012
  value: function enqueueMediaUpdate(mediaUpdateType) {
4965
- var _this36 = this;
5013
+ var _this37 = this;
4966
5014
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
4967
5015
  var canUpdateMediaNow = this.canUpdateMedia();
4968
5016
  return new _promise.default(function (resolve, reject) {
@@ -4973,9 +5021,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4973
5021
  options: options
4974
5022
  };
4975
5023
  _loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
4976
- _this36.queuedMediaUpdates.push(queueItem);
5024
+ _this37.queuedMediaUpdates.push(queueItem);
4977
5025
  if (canUpdateMediaNow) {
4978
- _this36.processNextQueuedMediaUpdate();
5026
+ _this37.processNextQueuedMediaUpdate();
4979
5027
  }
4980
5028
  });
4981
5029
  }
@@ -5087,7 +5135,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5087
5135
  }, {
5088
5136
  key: "acknowledge",
5089
5137
  value: function acknowledge(type) {
5090
- var _this37 = this;
5138
+ var _this38 = this;
5091
5139
  if (!type) {
5092
5140
  return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
5093
5141
  }
@@ -5099,10 +5147,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5099
5147
  }).then(function (response) {
5100
5148
  return _promise.default.resolve(response);
5101
5149
  }).then(function (response) {
5102
- _this37.meetingFiniteStateMachine.ring(type);
5150
+ _this38.meetingFiniteStateMachine.ring(type);
5103
5151
  _metrics.default.postEvent({
5104
5152
  event: _config.eventType.ALERT_DISPLAYED,
5105
- meeting: _this37
5153
+ meeting: _this38
5106
5154
  });
5107
5155
  return _promise.default.resolve({
5108
5156
  response: response
@@ -5126,12 +5174,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5126
5174
  }, {
5127
5175
  key: "decline",
5128
5176
  value: function decline(reason) {
5129
- var _this38 = this;
5177
+ var _this39 = this;
5130
5178
  return _util.default.declineMeeting(this, reason).then(function (decline) {
5131
- _this38.meetingFiniteStateMachine.decline();
5179
+ _this39.meetingFiniteStateMachine.decline();
5132
5180
  return _promise.default.resolve(decline);
5133
5181
  }).catch(function (error) {
5134
- _this38.meetingFiniteStateMachine.fail(error);
5182
+ _this39.meetingFiniteStateMachine.fail(error);
5135
5183
  return _promise.default.reject(error);
5136
5184
  });
5137
5185
  }
@@ -5147,7 +5195,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5147
5195
  }, {
5148
5196
  key: "leave",
5149
5197
  value: function leave() {
5150
- var _this39 = this;
5198
+ var _this40 = this;
5151
5199
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5152
5200
  var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
5153
5201
  _metrics.default.postEvent({
@@ -5161,39 +5209,39 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5161
5209
  });
5162
5210
  _loggerProxy.default.logger.log('Meeting:index#leave --> Leaving a meeting');
5163
5211
  return _util.default.leaveMeeting(this, options).then(function (leave) {
5164
- _this39.meetingFiniteStateMachine.leave();
5165
- _this39.clearMeetingData();
5212
+ _this40.meetingFiniteStateMachine.leave();
5213
+ _this40.clearMeetingData();
5166
5214
 
5167
5215
  // upload logs on leave irrespective of meeting delete
5168
- _triggerProxy.default.trigger(_this39, {
5216
+ _triggerProxy.default.trigger(_this40, {
5169
5217
  file: 'meeting/index',
5170
5218
  function: 'leave'
5171
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this39);
5219
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this40);
5172
5220
 
5173
5221
  // TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
5174
- if (_this39.wirelessShare || _this39.guest) {
5222
+ if (_this40.wirelessShare || _this40.guest) {
5175
5223
  // If screen sharing clean the meeting object
5176
- _triggerProxy.default.trigger(_this39, {
5224
+ _triggerProxy.default.trigger(_this40, {
5177
5225
  file: 'meeting/index',
5178
5226
  function: 'leave'
5179
5227
  }, _constants.EVENTS.DESTROY_MEETING, {
5180
5228
  reason: options.reason,
5181
- meetingId: _this39.id
5229
+ meetingId: _this40.id
5182
5230
  });
5183
5231
  }
5184
5232
  _loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
5185
5233
  return leave;
5186
5234
  }).catch(function (error) {
5187
- _this39.meetingFiniteStateMachine.fail(error);
5235
+ _this40.meetingFiniteStateMachine.fail(error);
5188
5236
  _loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
5189
5237
  // upload logs on leave irrespective of meeting delete
5190
- _triggerProxy.default.trigger(_this39, {
5238
+ _triggerProxy.default.trigger(_this40, {
5191
5239
  file: 'meeting/index',
5192
5240
  function: 'leave'
5193
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this39);
5241
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this40);
5194
5242
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
5195
- correlation_id: _this39.correlationId,
5196
- locus_id: _this39.locusUrl.split('/').pop(),
5243
+ correlation_id: _this40.correlationId,
5244
+ locus_id: _this40.locusUrl.split('/').pop(),
5197
5245
  reason: error.message,
5198
5246
  stack: error.stack,
5199
5247
  code: error.code
@@ -5213,7 +5261,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5213
5261
  }, {
5214
5262
  key: "startWhiteboardShare",
5215
5263
  value: function startWhiteboardShare(channelUrl, resourceToken) {
5216
- var _this40 = this;
5264
+ var _this41 = this;
5217
5265
  var whiteboard = this.locusInfo.mediaShares.find(function (element) {
5218
5266
  return element.name === 'whiteboard';
5219
5267
  });
@@ -5236,13 +5284,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5236
5284
  body.resourceToken = resourceToken;
5237
5285
  }
5238
5286
  return this.meetingRequest.changeMeetingFloor(body).then(function () {
5239
- _this40.isSharing = false;
5287
+ _this41.isSharing = false;
5240
5288
  return _promise.default.resolve();
5241
5289
  }).catch(function (error) {
5242
5290
  _loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
5243
5291
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
5244
- correlation_id: _this40.correlationId,
5245
- locus_id: _this40.locusUrl.split('/').pop(),
5292
+ correlation_id: _this41.correlationId,
5293
+ locus_id: _this41.locusUrl.split('/').pop(),
5246
5294
  reason: error.message,
5247
5295
  stack: error.stack,
5248
5296
  board: {
@@ -5265,7 +5313,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5265
5313
  }, {
5266
5314
  key: "stopWhiteboardShare",
5267
5315
  value: function stopWhiteboardShare(channelUrl) {
5268
- var _this41 = this;
5316
+ var _this42 = this;
5269
5317
  var whiteboard = this.locusInfo.mediaShares.find(function (element) {
5270
5318
  return element.name === 'whiteboard';
5271
5319
  });
@@ -5284,8 +5332,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5284
5332
  _metrics.default.sendBehavioralMetric(
5285
5333
  // @ts-ignore - check if STOP_WHITEBOARD_SHARE_FAILURE exists
5286
5334
  _constants2.default.STOP_WHITEBOARD_SHARE_FAILURE, {
5287
- correlation_id: _this41.correlationId,
5288
- locus_id: _this41.locusUrl.split('/').pop(),
5335
+ correlation_id: _this42.correlationId,
5336
+ locus_id: _this42.locusUrl.split('/').pop(),
5289
5337
  reason: error.message,
5290
5338
  stack: error.stack,
5291
5339
  board: {
@@ -5307,7 +5355,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5307
5355
  }, {
5308
5356
  key: "requestScreenShareFloor",
5309
5357
  value: function requestScreenShareFloor() {
5310
- var _this42 = this;
5358
+ var _this43 = this;
5311
5359
  if (!this.mediaProperties.shareTrack || !this.mediaProperties.mediaDirection.sendShare) {
5312
5360
  _loggerProxy.default.logger.log("Meeting:index#requestScreenShareFloor --> NOT requesting floor, because we don't have the share track anymore (shareTrack=".concat(this.mediaProperties.shareTrack ? 'yes' : 'no', ", sendShare=").concat(this.mediaProperties.mediaDirection.sendShare, ")"));
5313
5361
  return _promise.default.resolve({});
@@ -5329,13 +5377,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5329
5377
  resourceUrl: this.resourceUrl,
5330
5378
  annotationInfo: this.annotationInfo
5331
5379
  }).then(function () {
5332
- _this42.isSharing = true;
5380
+ _this43.isSharing = true;
5333
5381
  return _promise.default.resolve();
5334
5382
  }).catch(function (error) {
5335
5383
  _loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
5336
5384
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
5337
- correlation_id: _this42.correlationId,
5338
- locus_id: _this42.locusUrl.split('/').pop(),
5385
+ correlation_id: _this43.correlationId,
5386
+ locus_id: _this43.locusUrl.split('/').pop(),
5339
5387
  reason: error.message,
5340
5388
  stack: error.stack
5341
5389
  });
@@ -5357,10 +5405,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5357
5405
  }, {
5358
5406
  key: "requestScreenShareFloorIfPending",
5359
5407
  value: function requestScreenShareFloorIfPending() {
5360
- var _this43 = this;
5408
+ var _this44 = this;
5361
5409
  if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
5362
5410
  this.requestScreenShareFloor().then(function () {
5363
- _this43.floorGrantPending = false;
5411
+ _this44.floorGrantPending = false;
5364
5412
  });
5365
5413
  }
5366
5414
  }
@@ -5374,7 +5422,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5374
5422
  }, {
5375
5423
  key: "releaseScreenShareFloor",
5376
5424
  value: function releaseScreenShareFloor() {
5377
- var _this44 = this;
5425
+ var _this45 = this;
5378
5426
  var content = this.locusInfo.mediaShares.find(function (element) {
5379
5427
  return element.name === _constants.CONTENT;
5380
5428
  });
@@ -5398,14 +5446,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5398
5446
  }).catch(function (error) {
5399
5447
  _loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
5400
5448
  _metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
5401
- correlation_id: _this44.correlationId,
5402
- locus_id: _this44.locusUrl.split('/').pop(),
5449
+ correlation_id: _this45.correlationId,
5450
+ locus_id: _this45.locusUrl.split('/').pop(),
5403
5451
  reason: error.message,
5404
5452
  stack: error.stack
5405
5453
  });
5406
5454
  return _promise.default.reject(error);
5407
5455
  }).finally(function () {
5408
- _this44.isSharing = false;
5456
+ _this45.isSharing = false;
5409
5457
  });
5410
5458
  }
5411
5459
 
@@ -5581,7 +5629,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5581
5629
  }, {
5582
5630
  key: "changeVideoLayout",
5583
5631
  value: function changeVideoLayout(layoutType) {
5584
- var _this45 = this;
5632
+ var _this46 = this;
5585
5633
  var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5586
5634
  var main = renderInfo.main,
5587
5635
  content = renderInfo.content;
@@ -5635,7 +5683,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5635
5683
  }
5636
5684
  this.lastVideoLayoutInfo = (0, _cloneDeep2.default)(layoutInfo);
5637
5685
  this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
5638
- _triggerProxy.default.trigger(_this45, {
5686
+ _triggerProxy.default.trigger(_this46, {
5639
5687
  file: 'meeting/index',
5640
5688
  function: 'changeVideoLayout'
5641
5689
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
@@ -5964,7 +6012,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5964
6012
  }, {
5965
6013
  key: "endMeetingForAll",
5966
6014
  value: function endMeetingForAll() {
5967
- var _this46 = this;
6015
+ var _this47 = this;
5968
6016
  _metrics.default.postEvent({
5969
6017
  event: _config.eventType.LEAVE,
5970
6018
  meeting: this,
@@ -5979,25 +6027,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5979
6027
  locus_id: this.locusId
5980
6028
  });
5981
6029
  return _util.default.endMeetingForAll(this).then(function (end) {
5982
- _this46.meetingFiniteStateMachine.end();
5983
- _this46.clearMeetingData();
6030
+ _this47.meetingFiniteStateMachine.end();
6031
+ _this47.clearMeetingData();
5984
6032
  // upload logs on leave irrespective of meeting delete
5985
- _triggerProxy.default.trigger(_this46, {
6033
+ _triggerProxy.default.trigger(_this47, {
5986
6034
  file: 'meeting/index',
5987
6035
  function: 'endMeetingForAll'
5988
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
6036
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this47);
5989
6037
  return end;
5990
6038
  }).catch(function (error) {
5991
- _this46.meetingFiniteStateMachine.fail(error);
6039
+ _this47.meetingFiniteStateMachine.fail(error);
5992
6040
  _loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
5993
6041
  // upload logs on leave irrespective of meeting delete
5994
- _triggerProxy.default.trigger(_this46, {
6042
+ _triggerProxy.default.trigger(_this47, {
5995
6043
  file: 'meeting/index',
5996
6044
  function: 'endMeetingForAll'
5997
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
6045
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this47);
5998
6046
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
5999
- correlation_id: _this46.correlationId,
6000
- locus_id: _this46.locusUrl.split('/').pop(),
6047
+ correlation_id: _this47.correlationId,
6048
+ locus_id: _this47.locusUrl.split('/').pop(),
6001
6049
  reason: error.message,
6002
6050
  stack: error.stack,
6003
6051
  code: error.code
@@ -6140,7 +6188,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
6140
6188
  var _this$mediaProperties6,
6141
6189
  _this$mediaProperties7,
6142
6190
  _this$mediaProperties8,
6143
- _this47 = this;
6191
+ _this48 = this;
6144
6192
  var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
6145
6193
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
6146
6194
  if (!this.canUpdateMedia()) {
@@ -6163,8 +6211,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
6163
6211
  }).catch(function (error) {
6164
6212
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
6165
6213
  _metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
6166
- correlation_id: _this47.correlationId,
6167
- locus_id: _this47.locusUrl.split('/').pop(),
6214
+ correlation_id: _this48.correlationId,
6215
+ locus_id: _this48.locusUrl.split('/').pop(),
6168
6216
  reason: error.message,
6169
6217
  stack: error.stack
6170
6218
  });