@webex/plugin-meetings 3.7.0-wxcc.1 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/dist/annotation/annotation.types.d.ts +42 -0
  2. package/dist/annotation/constants.d.ts +31 -0
  3. package/dist/annotation/index.d.ts +117 -0
  4. package/dist/breakouts/breakout.d.ts +8 -0
  5. package/dist/breakouts/breakout.js +1 -1
  6. package/dist/breakouts/collection.d.ts +5 -0
  7. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  8. package/dist/breakouts/events.d.ts +8 -0
  9. package/dist/breakouts/index.d.ts +5 -0
  10. package/dist/breakouts/index.js +1 -1
  11. package/dist/breakouts/request.d.ts +22 -0
  12. package/dist/breakouts/utils.d.ts +15 -0
  13. package/dist/common/browser-detection.d.ts +9 -0
  14. package/dist/common/collection.d.ts +48 -0
  15. package/dist/common/config.d.ts +2 -0
  16. package/dist/common/errors/captcha-error.d.ts +15 -0
  17. package/dist/common/errors/intent-to-join.d.ts +16 -0
  18. package/dist/common/errors/join-meeting.d.ts +17 -0
  19. package/dist/common/errors/media.d.ts +15 -0
  20. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  21. package/dist/common/errors/parameter.d.ts +15 -0
  22. package/dist/common/errors/password-error.d.ts +15 -0
  23. package/dist/common/errors/permission.d.ts +14 -0
  24. package/dist/common/errors/reclaim-host-role-error.js +149 -0
  25. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  26. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  27. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  28. package/dist/common/errors/reconnection-in-progress.js +33 -0
  29. package/dist/common/errors/reconnection-in-progress.js.map +1 -0
  30. package/dist/common/errors/reconnection.d.ts +15 -0
  31. package/dist/common/errors/stats.d.ts +15 -0
  32. package/dist/common/errors/webex-errors.d.ts +93 -0
  33. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  34. package/dist/common/events/events-scope.d.ts +17 -0
  35. package/dist/common/events/events.d.ts +12 -0
  36. package/dist/common/events/trigger-proxy.d.ts +2 -0
  37. package/dist/common/events/util.d.ts +2 -0
  38. package/dist/common/logs/logger-config.d.ts +2 -0
  39. package/dist/common/logs/logger-proxy.d.ts +2 -0
  40. package/dist/common/logs/request.d.ts +36 -0
  41. package/dist/common/queue.d.ts +34 -0
  42. package/dist/config.d.ts +72 -0
  43. package/dist/constants.d.ts +1088 -0
  44. package/dist/constants.js +15 -3
  45. package/dist/constants.js.map +1 -1
  46. package/dist/controls-options-manager/constants.d.ts +4 -0
  47. package/dist/controls-options-manager/enums.d.ts +15 -0
  48. package/dist/controls-options-manager/index.d.ts +136 -0
  49. package/dist/controls-options-manager/types.d.ts +43 -0
  50. package/dist/controls-options-manager/util.d.ts +1 -0
  51. package/dist/index.d.ts +7 -0
  52. package/dist/interceptors/index.d.ts +2 -0
  53. package/dist/interceptors/locusRetry.d.ts +27 -0
  54. package/dist/interpretation/collection.d.ts +5 -0
  55. package/dist/interpretation/index.d.ts +5 -0
  56. package/dist/interpretation/index.js +1 -1
  57. package/dist/interpretation/siLanguage.d.ts +5 -0
  58. package/dist/interpretation/siLanguage.js +1 -1
  59. package/dist/locus-info/controlsUtils.d.ts +2 -0
  60. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  61. package/dist/locus-info/fullState.d.ts +2 -0
  62. package/dist/locus-info/hostUtils.d.ts +2 -0
  63. package/dist/locus-info/index.d.ts +322 -0
  64. package/dist/locus-info/infoUtils.d.ts +2 -0
  65. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  66. package/dist/locus-info/parser.d.ts +272 -0
  67. package/dist/locus-info/selfUtils.d.ts +2 -0
  68. package/dist/locus-info/selfUtils.js +5 -0
  69. package/dist/locus-info/selfUtils.js.map +1 -1
  70. package/dist/media/MediaConnectionAwaiter.js +1 -0
  71. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  72. package/dist/media/index.d.ts +34 -0
  73. package/dist/media/properties.d.ts +93 -0
  74. package/dist/media/properties.js +30 -16
  75. package/dist/media/properties.js.map +1 -1
  76. package/dist/media/util.d.ts +2 -0
  77. package/dist/mediaQualityMetrics/config.d.ts +241 -0
  78. package/dist/mediaQualityMetrics/config.js +502 -0
  79. package/dist/mediaQualityMetrics/config.js.map +1 -0
  80. package/dist/meeting/brbState.js +167 -0
  81. package/dist/meeting/brbState.js.map +1 -0
  82. package/dist/meeting/effectsState.js +260 -0
  83. package/dist/meeting/effectsState.js.map +1 -0
  84. package/dist/meeting/in-meeting-actions.d.ts +167 -0
  85. package/dist/meeting/index.d.ts +1825 -0
  86. package/dist/meeting/index.js +363 -295
  87. package/dist/meeting/index.js.map +1 -1
  88. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  89. package/dist/meeting/muteState.d.ts +178 -0
  90. package/dist/meeting/muteState.js +1 -6
  91. package/dist/meeting/muteState.js.map +1 -1
  92. package/dist/meeting/request.d.ts +295 -0
  93. package/dist/meeting/request.type.d.ts +11 -0
  94. package/dist/meeting/state.d.ts +9 -0
  95. package/dist/meeting/util.d.ts +119 -0
  96. package/dist/meeting/voicea-meeting.d.ts +16 -0
  97. package/dist/meeting-info/collection.d.ts +20 -0
  98. package/dist/meeting-info/index.d.ts +69 -0
  99. package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
  100. package/dist/meeting-info/meeting-info-v2.js +19 -12
  101. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  102. package/dist/meeting-info/request.d.ts +22 -0
  103. package/dist/meeting-info/util.d.ts +2 -0
  104. package/dist/meeting-info/utilv2.d.ts +2 -0
  105. package/dist/meeting-info/utilv2.js +5 -1
  106. package/dist/meeting-info/utilv2.js.map +1 -1
  107. package/dist/meetings/collection.d.ts +40 -0
  108. package/dist/meetings/index.d.ts +390 -0
  109. package/dist/meetings/meetings.types.d.ts +4 -0
  110. package/dist/meetings/request.d.ts +27 -0
  111. package/dist/meetings/util.d.ts +18 -0
  112. package/dist/member/index.d.ts +160 -0
  113. package/dist/member/member.types.js +17 -0
  114. package/dist/member/member.types.js.map +1 -0
  115. package/dist/member/types.d.ts +32 -0
  116. package/dist/member/util.d.ts +2 -0
  117. package/dist/members/collection.d.ts +29 -0
  118. package/dist/members/index.d.ts +353 -0
  119. package/dist/members/request.d.ts +114 -0
  120. package/dist/members/types.d.ts +25 -0
  121. package/dist/members/util.d.ts +215 -0
  122. package/dist/metrics/config.js +276 -0
  123. package/dist/metrics/config.js.map +1 -0
  124. package/dist/metrics/constants.d.ts +70 -0
  125. package/dist/metrics/constants.js +2 -0
  126. package/dist/metrics/constants.js.map +1 -1
  127. package/dist/metrics/index.d.ts +45 -0
  128. package/dist/multistream/mediaRequestManager.d.ts +119 -0
  129. package/dist/multistream/receiveSlot.d.ts +68 -0
  130. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  131. package/dist/multistream/remoteMedia.d.ts +72 -0
  132. package/dist/multistream/remoteMediaGroup.d.ts +49 -0
  133. package/dist/multistream/remoteMediaManager.d.ts +300 -0
  134. package/dist/multistream/sendSlotManager.d.ts +69 -0
  135. package/dist/networkQualityMonitor/index.d.ts +70 -0
  136. package/dist/networkQualityMonitor/index.js +221 -0
  137. package/dist/networkQualityMonitor/index.js.map +1 -0
  138. package/dist/peer-connection-manager/index.js +671 -0
  139. package/dist/peer-connection-manager/index.js.map +1 -0
  140. package/dist/peer-connection-manager/util.js +109 -0
  141. package/dist/peer-connection-manager/util.js.map +1 -0
  142. package/dist/personal-meeting-room/index.d.ts +47 -0
  143. package/dist/personal-meeting-room/request.d.ts +14 -0
  144. package/dist/personal-meeting-room/util.d.ts +2 -0
  145. package/dist/reachability/clusterReachability.d.ts +109 -0
  146. package/dist/reachability/index.d.ts +105 -0
  147. package/dist/reachability/index.js +31 -3
  148. package/dist/reachability/index.js.map +1 -1
  149. package/dist/reachability/request.d.ts +39 -0
  150. package/dist/reachability/util.d.ts +8 -0
  151. package/dist/reactions/constants.d.ts +3 -0
  152. package/dist/reactions/reactions.d.ts +4 -0
  153. package/dist/reactions/reactions.type.d.ts +52 -0
  154. package/dist/reconnection-manager/index.d.ts +136 -0
  155. package/dist/recording-controller/enums.d.ts +7 -0
  156. package/dist/recording-controller/index.d.ts +207 -0
  157. package/dist/recording-controller/util.d.ts +14 -0
  158. package/dist/roap/collection.js +62 -0
  159. package/dist/roap/collection.js.map +1 -0
  160. package/dist/roap/handler.js +275 -0
  161. package/dist/roap/handler.js.map +1 -0
  162. package/dist/roap/index.d.ts +86 -0
  163. package/dist/roap/request.d.ts +39 -0
  164. package/dist/roap/state.js +126 -0
  165. package/dist/roap/state.js.map +1 -0
  166. package/dist/roap/turnDiscovery.d.ts +155 -0
  167. package/dist/roap/util.js +75 -0
  168. package/dist/roap/util.js.map +1 -0
  169. package/dist/rtcMetrics/constants.d.ts +4 -0
  170. package/dist/rtcMetrics/constants.js +11 -0
  171. package/dist/rtcMetrics/constants.js.map +1 -0
  172. package/dist/rtcMetrics/index.d.ts +61 -0
  173. package/dist/rtcMetrics/index.js +197 -0
  174. package/dist/rtcMetrics/index.js.map +1 -0
  175. package/dist/statsAnalyzer/global.d.ts +36 -0
  176. package/dist/statsAnalyzer/global.js +126 -0
  177. package/dist/statsAnalyzer/global.js.map +1 -0
  178. package/dist/statsAnalyzer/index.d.ts +217 -0
  179. package/dist/statsAnalyzer/index.js +1013 -0
  180. package/dist/statsAnalyzer/index.js.map +1 -0
  181. package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
  182. package/dist/statsAnalyzer/mqaUtil.js +179 -0
  183. package/dist/statsAnalyzer/mqaUtil.js.map +1 -0
  184. package/dist/transcription/index.d.ts +64 -0
  185. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  186. package/dist/types/constants.d.ts +9 -2
  187. package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
  188. package/dist/types/meeting/brbState.d.ts +54 -0
  189. package/dist/types/meeting/index.d.ts +23 -0
  190. package/dist/types/meeting-info/meeting-info-v2.d.ts +3 -1
  191. package/dist/types/metrics/constants.d.ts +2 -0
  192. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  193. package/dist/types/reachability/index.d.ts +9 -1
  194. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  195. package/dist/types/rtcMetrics/index.d.ts +71 -0
  196. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  197. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  198. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  199. package/dist/webinar/collection.d.ts +16 -0
  200. package/dist/webinar/index.d.ts +5 -0
  201. package/dist/webinar/index.js +1 -1
  202. package/package.json +23 -23
  203. package/src/constants.ts +10 -2
  204. package/src/locus-info/selfUtils.ts +5 -0
  205. package/src/media/MediaConnectionAwaiter.ts +2 -0
  206. package/src/media/properties.ts +34 -13
  207. package/src/meeting/brbState.ts +169 -0
  208. package/src/meeting/index.ts +112 -26
  209. package/src/meeting/muteState.ts +1 -6
  210. package/src/meeting-info/meeting-info-v2.ts +9 -1
  211. package/src/meeting-info/utilv2.ts +14 -2
  212. package/src/metrics/constants.ts +2 -0
  213. package/src/reachability/index.ts +29 -1
  214. package/test/unit/spec/locus-info/selfUtils.js +10 -0
  215. package/test/unit/spec/media/properties.ts +15 -0
  216. package/test/unit/spec/meeting/brbState.ts +114 -0
  217. package/test/unit/spec/meeting/index.js +92 -30
  218. package/test/unit/spec/meeting/muteState.js +0 -24
  219. package/test/unit/spec/meeting-info/utilv2.js +9 -0
  220. package/test/unit/spec/reachability/index.ts +120 -10
@@ -88,6 +88,7 @@ var _permission = _interopRequireDefault(require("../common/errors/permission"))
88
88
  var _locusMediaRequest = require("./locusMediaRequest");
89
89
  var _connectionStateHandler = require("./connectionStateHandler");
90
90
  var _joinWebinarError = _interopRequireDefault(require("../common/errors/join-webinar-error"));
91
+ var _brbState = require("./brbState");
91
92
  var _multistreamNotSupportedError = _interopRequireDefault(require("../common/errors/multistream-not-supported-error"));
92
93
  var _joinForbiddenError = _interopRequireDefault(require("../common/errors/join-forbidden-error"));
93
94
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
@@ -509,6 +510,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
509
510
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "turnServerUsed", void 0);
510
511
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "areVoiceaEventsSetup", false);
511
512
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "isMoveToInProgress", false);
513
+ (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "registrationIdStatus", void 0);
514
+ (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "brbState", void 0);
512
515
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "voiceaListenerCallbacks", (0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)({}, _internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, function (payload) {
513
516
  _this.transcription.languageOptions = payload;
514
517
  _loggerProxy.default.logger.debug("".concat(_util.default.getScopeLog({
@@ -681,8 +684,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
681
684
  * @returns {undefined}
682
685
  */
683
686
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "roapMessageReceived", function (roapMessage) {
684
- var mediaServer = _util3.default.getMediaServer(roapMessage.sdp);
685
- if (_this.isMultistream && mediaServer !== 'homer') {
687
+ var mediaServer = roapMessage.messageType === 'ANSWER' ? _util3.default.getMediaServer(roapMessage.sdp) : undefined;
688
+ if (_this.isMultistream && mediaServer && mediaServer !== 'homer') {
686
689
  throw new _multistreamNotSupportedError.default("Client asked for multistream backend (Homer), but got ".concat(mediaServer, " instead"));
687
690
  }
688
691
  _this.mediaProperties.webrtcMediaConnection.roapMessageReceived(roapMessage);
@@ -2011,6 +2014,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2011
2014
  */
2012
2015
  _this.passwordStatus = _constants.PASSWORD_STATUS.UNKNOWN;
2013
2016
 
2017
+ /**
2018
+ * registrationId status. If it's REGISTRATIONID_STATUS.REQUIRED then verifyRegistrationId() needs to be called
2019
+ * with the correct registrationId before calling join()
2020
+ * @instance
2021
+ * @type {REGISTRATION_ID_STATUS}
2022
+ * @public
2023
+ * @memberof Meeting
2024
+ */
2025
+ _this.registrationIdStatus = _constants.REGISTRATION_ID_STATUS.UNKNOWN;
2026
+
2014
2027
  /**
2015
2028
  * Information about required captcha. If null, then no captcha is required. status. If it's PASSWORD_STATUS.REQUIRED then verifyPassword() needs to be called
2016
2029
  * with the correct password before calling join()
@@ -2338,6 +2351,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2338
2351
  } else {
2339
2352
  this.passwordStatus = _constants.PASSWORD_STATUS.NOT_REQUIRED;
2340
2353
  }
2354
+ if (this.registrationIdStatus === _constants.REGISTRATION_ID_STATUS.REQUIRED || this.registrationIdStatus === _constants.REGISTRATION_ID_STATUS.VERIFIED) {
2355
+ this.registrationIdStatus = _constants.REGISTRATION_ID_STATUS.VERIFIED;
2356
+ } else {
2357
+ this.registrationIdStatus = _constants.REGISTRATION_ID_STATUS.NOT_REQUIRED;
2358
+ }
2341
2359
  _triggerProxy.default.trigger(this, {
2342
2360
  file: 'meetings',
2343
2361
  function: 'fetchMeetingInfo'
@@ -2393,6 +2411,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2393
2411
  value: function prepForFetchMeetingInfo(_ref7, caller) {
2394
2412
  var _ref7$password = _ref7.password,
2395
2413
  password = _ref7$password === void 0 ? null : _ref7$password,
2414
+ _ref7$registrationId = _ref7.registrationId,
2415
+ registrationId = _ref7$registrationId === void 0 ? null : _ref7$registrationId,
2396
2416
  _ref7$captchaCode = _ref7.captchaCode,
2397
2417
  captchaCode = _ref7$captchaCode === void 0 ? null : _ref7$captchaCode,
2398
2418
  _ref7$extraParams = _ref7.extraParams,
@@ -2421,11 +2441,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2421
2441
  key: "fetchMeetingInfoInternal",
2422
2442
  value: (function () {
2423
2443
  var _fetchMeetingInfoInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(_ref8) {
2424
- var destination, destinationType, _ref8$password, password, _ref8$captchaCode, captchaCode, _ref8$extraParams, extraParams, _ref8$sendCAevents, sendCAevents, captchaInfo, info, _err$body, _err$body2;
2444
+ var destination, destinationType, _ref8$password, password, _ref8$captchaCode, captchaCode, _ref8$extraParams, extraParams, _ref8$sendCAevents, sendCAevents, _ref8$registrationId, registrationId, captchaInfo, info, _err$body, _err$body2;
2425
2445
  return _regenerator.default.wrap(function _callee5$(_context5) {
2426
2446
  while (1) switch (_context5.prev = _context5.next) {
2427
2447
  case 0:
2428
- destination = _ref8.destination, destinationType = _ref8.destinationType, _ref8$password = _ref8.password, password = _ref8$password === void 0 ? null : _ref8$password, _ref8$captchaCode = _ref8.captchaCode, captchaCode = _ref8$captchaCode === void 0 ? null : _ref8$captchaCode, _ref8$extraParams = _ref8.extraParams, extraParams = _ref8$extraParams === void 0 ? {} : _ref8$extraParams, _ref8$sendCAevents = _ref8.sendCAevents, sendCAevents = _ref8$sendCAevents === void 0 ? false : _ref8$sendCAevents;
2448
+ destination = _ref8.destination, destinationType = _ref8.destinationType, _ref8$password = _ref8.password, password = _ref8$password === void 0 ? null : _ref8$password, _ref8$captchaCode = _ref8.captchaCode, captchaCode = _ref8$captchaCode === void 0 ? null : _ref8$captchaCode, _ref8$extraParams = _ref8.extraParams, extraParams = _ref8$extraParams === void 0 ? {} : _ref8$extraParams, _ref8$sendCAevents = _ref8.sendCAevents, sendCAevents = _ref8$sendCAevents === void 0 ? false : _ref8$sendCAevents, _ref8$registrationId = _ref8.registrationId, registrationId = _ref8$registrationId === void 0 ? null : _ref8$registrationId;
2429
2449
  _context5.prev = 1;
2430
2450
  captchaInfo = captchaCode ? {
2431
2451
  code: captchaCode,
@@ -2437,7 +2457,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2437
2457
  this.config.installedOrgID, this.locusId, extraParams, {
2438
2458
  meetingId: this.id,
2439
2459
  sendCAevents: sendCAevents
2440
- });
2460
+ }, registrationId);
2441
2461
  case 5:
2442
2462
  info = _context5.sent;
2443
2463
  this.parseMeetingInfo(info === null || info === void 0 ? void 0 : info.body, this.destination, info === null || info === void 0 ? void 0 : info.errors);
@@ -2459,23 +2479,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2459
2479
  throw new _permission.default();
2460
2480
  case 21:
2461
2481
  if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2JoinWebinarError)) {
2462
- _context5.next = 29;
2482
+ _context5.next = 30;
2463
2483
  break;
2464
2484
  }
2465
2485
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_REGISTRATION;
2466
2486
  if (_constants.WEBINAR_ERROR_WEBCAST.includes(_context5.t0.wbxAppApiCode)) {
2467
2487
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NEED_JOIN_WITH_WEBCAST;
2468
- } else if (_constants.WEBINAR_ERROR_REGISTRATIONID.includes(_context5.t0.wbxAppApiCode)) {
2469
- this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_NEED_REGISTRATIONID;
2488
+ } else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(_context5.t0.wbxAppApiCode)) {
2489
+ this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_NEED_REGISTRATION_ID;
2470
2490
  }
2471
2491
  this.meetingInfoFailureCode = _context5.t0.wbxAppApiCode;
2472
2492
  if (_context5.t0.meetingInfo) {
2473
2493
  this.meetingInfo = _context5.t0.meetingInfo;
2474
2494
  }
2495
+ this.requiredCaptcha = null;
2475
2496
  throw new _joinWebinarError.default();
2476
- case 29:
2497
+ case 30:
2477
2498
  if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2JoinForbiddenError)) {
2478
- _context5.next = 37;
2499
+ _context5.next = 38;
2479
2500
  break;
2480
2501
  }
2481
2502
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.JOIN_FORBIDDEN;
@@ -2489,9 +2510,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2489
2510
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NOT_REACH_JBH;
2490
2511
  }
2491
2512
  throw new _joinForbiddenError.default(this.meetingInfoFailureReason, _context5.t0);
2492
- case 37:
2513
+ case 38:
2493
2514
  if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
2494
- _context5.next = 49;
2515
+ _context5.next = 50;
2495
2516
  break;
2496
2517
  }
2497
2518
  _loggerProxy.default.logger.info( // @ts-ignore
@@ -2506,31 +2527,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2506
2527
  this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
2507
2528
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
2508
2529
  if (!this.requiredCaptcha) {
2509
- _context5.next = 46;
2530
+ _context5.next = 47;
2510
2531
  break;
2511
2532
  }
2512
- _context5.next = 46;
2533
+ _context5.next = 47;
2513
2534
  return this.refreshCaptcha();
2514
- case 46:
2535
+ case 47:
2515
2536
  throw new _passwordError.default();
2516
- case 49:
2537
+ case 50:
2517
2538
  if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
2518
- _context5.next = 58;
2539
+ _context5.next = 60;
2519
2540
  break;
2520
2541
  }
2521
2542
  _loggerProxy.default.logger.info( // @ts-ignore
2522
2543
  "Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - captcha required (code=").concat(_context5.t0 === null || _context5.t0 === void 0 ? void 0 : (_err$body2 = _context5.t0.body) === null || _err$body2 === void 0 ? void 0 : _err$body2.code, ")."));
2523
- this.meetingInfoFailureReason = this.requiredCaptcha ? _constants.MEETING_INFO_FAILURE_REASON.WRONG_CAPTCHA : _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
2544
+ if (this.requiredCaptcha) {
2545
+ this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_CAPTCHA;
2546
+ } else if (_context5.t0.isRegistrationIdRequired) {
2547
+ this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_REGISTRATION_ID;
2548
+ } else {
2549
+ this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
2550
+ }
2524
2551
  this.meetingInfoFailureCode = _context5.t0.wbxAppApiCode;
2525
2552
  if (_context5.t0.isPasswordRequired) {
2526
2553
  this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
2527
2554
  }
2555
+ if (_context5.t0.isRegistrationIdRequired) {
2556
+ this.registrationIdStatus = _constants.REGISTRATION_ID_STATUS.REQUIRED;
2557
+ }
2528
2558
  this.requiredCaptcha = _context5.t0.captchaInfo;
2529
2559
  throw new _captchaError.default();
2530
- case 58:
2560
+ case 60:
2531
2561
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
2532
2562
  throw _context5.t0;
2533
- case 60:
2563
+ case 62:
2534
2564
  case "end":
2535
2565
  return _context5.stop();
2536
2566
  }
@@ -2693,6 +2723,45 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2693
2723
  });
2694
2724
  }
2695
2725
 
2726
+ /**
2727
+ * Checks if the supplied registrationId is correct. It returns a promise with information whether the
2728
+ * registrationId and captcha code were correct or not.
2729
+ * @param {String | undefined} registrationId - can be undefined if only captcha was required
2730
+ * @param {String | undefined} captchaCode - can be undefined if captcha was not required by the server
2731
+ * @param {Boolean} sendCAevents - whether Call Analyzer events should be sent when fetching meeting information
2732
+ * @public
2733
+ * @memberof Meeting
2734
+ * @returns {Promise<{isRegistrationIdValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
2735
+ */
2736
+ }, {
2737
+ key: "verifyRegistrationId",
2738
+ value: function verifyRegistrationId(registrationId, captchaCode) {
2739
+ var _this3 = this;
2740
+ var sendCAevents = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
2741
+ return this.fetchMeetingInfo({
2742
+ registrationId: registrationId,
2743
+ captchaCode: captchaCode,
2744
+ sendCAevents: sendCAevents
2745
+ }).then(function () {
2746
+ _metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_REGISTRATION_ID_SUCCESS);
2747
+ return {
2748
+ isRegistrationIdValid: true,
2749
+ requiredCaptcha: null,
2750
+ failureReason: _constants.MEETING_INFO_FAILURE_REASON.NONE
2751
+ };
2752
+ }).catch(function (error) {
2753
+ _metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_REGISTRATION_ID_ERROR);
2754
+ if (error instanceof _joinWebinarError.default || error instanceof _captchaError.default) {
2755
+ return {
2756
+ isRegistrationIdValid: _this3.registrationIdStatus === _constants.REGISTRATION_ID_STATUS.VERIFIED,
2757
+ requiredCaptcha: _this3.requiredCaptcha,
2758
+ failureReason: error instanceof _joinWebinarError.default ? _constants.MEETING_INFO_FAILURE_REASON.WRONG_REGISTRATION_ID : _this3.meetingInfoFailureReason
2759
+ };
2760
+ }
2761
+ throw error;
2762
+ });
2763
+ }
2764
+
2696
2765
  /**
2697
2766
  * Refreshes the captcha. As a result the meeting will have new captcha id, image and audio.
2698
2767
  * If the refresh operation fails, meeting remains with the old captcha properties.
@@ -2703,7 +2772,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2703
2772
  }, {
2704
2773
  key: "refreshCaptcha",
2705
2774
  value: function refreshCaptcha() {
2706
- var _this3 = this;
2775
+ var _this4 = this;
2707
2776
  if (!this.requiredCaptcha) {
2708
2777
  return _promise.default.reject(new Error('There is no captcha to refresh'));
2709
2778
  }
@@ -2718,11 +2787,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2718
2787
  captchaRefreshUrl: "".concat(this.requiredCaptcha.refreshURL, "&siteFullName=").concat(hostname),
2719
2788
  captchaId: this.requiredCaptcha.captchaId
2720
2789
  }).then(function (response) {
2721
- _this3.requiredCaptcha.captchaId = response.body.captchaID;
2722
- _this3.requiredCaptcha.verificationImageURL = response.body.verificationImageURL;
2723
- _this3.requiredCaptcha.verificationAudioURL = response.body.verificationAudioURL;
2790
+ _this4.requiredCaptcha.captchaId = response.body.captchaID;
2791
+ _this4.requiredCaptcha.verificationImageURL = response.body.verificationImageURL;
2792
+ _this4.requiredCaptcha.verificationAudioURL = response.body.verificationAudioURL;
2724
2793
  }).catch(function (error) {
2725
- _loggerProxy.default.logger.error("Meeting:index#refreshCaptcha --> Error Unable to refresh captcha for ".concat(_this3.destination, " - ").concat(error));
2794
+ _loggerProxy.default.logger.error("Meeting:index#refreshCaptcha --> Error Unable to refresh captcha for ".concat(_this4.destination, " - ").concat(error));
2726
2795
  throw error;
2727
2796
  });
2728
2797
  }
@@ -2785,47 +2854,47 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2785
2854
  }, {
2786
2855
  key: "setUpBreakoutsListener",
2787
2856
  value: function setUpBreakoutsListener() {
2788
- var _this4 = this;
2857
+ var _this5 = this;
2789
2858
  this.breakouts.on(_constants.BREAKOUTS.EVENTS.BREAKOUTS_CLOSING, function () {
2790
- _triggerProxy.default.trigger(_this4, {
2859
+ _triggerProxy.default.trigger(_this5, {
2791
2860
  file: 'meeting/index',
2792
2861
  function: 'setUpBreakoutsListener'
2793
2862
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_CLOSING);
2794
2863
  });
2795
2864
  this.breakouts.on(_constants.BREAKOUTS.EVENTS.MESSAGE, function (messageEvent) {
2796
- _triggerProxy.default.trigger(_this4, {
2865
+ _triggerProxy.default.trigger(_this5, {
2797
2866
  file: 'meeting/index',
2798
2867
  function: 'setUpBreakoutsListener'
2799
2868
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_MESSAGE, messageEvent);
2800
2869
  });
2801
2870
  this.breakouts.on(_constants.BREAKOUTS.EVENTS.MEMBERS_UPDATE, function () {
2802
- _triggerProxy.default.trigger(_this4, {
2871
+ _triggerProxy.default.trigger(_this5, {
2803
2872
  file: 'meeting/index',
2804
2873
  function: 'setUpBreakoutsListener'
2805
2874
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
2806
2875
  });
2807
2876
  this.breakouts.on(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN, function () {
2808
- if (_this4.isJoined()) {
2809
- _triggerProxy.default.trigger(_this4, {
2877
+ if (_this5.isJoined()) {
2878
+ _triggerProxy.default.trigger(_this5, {
2810
2879
  file: 'meeting/index',
2811
2880
  function: 'setUpBreakoutsListener'
2812
2881
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_ASK_RETURN_TO_MAIN);
2813
2882
  }
2814
2883
  });
2815
2884
  this.breakouts.on(_constants.BREAKOUTS.EVENTS.LEAVE_BREAKOUT, function () {
2816
- _triggerProxy.default.trigger(_this4, {
2885
+ _triggerProxy.default.trigger(_this5, {
2817
2886
  file: 'meeting/index',
2818
2887
  function: 'setUpBreakoutsListener'
2819
2888
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_LEAVE);
2820
2889
  });
2821
2890
  this.breakouts.on(_constants.BREAKOUTS.EVENTS.ASK_FOR_HELP, function (helpEvent) {
2822
- _triggerProxy.default.trigger(_this4, {
2891
+ _triggerProxy.default.trigger(_this5, {
2823
2892
  file: 'meeting/index',
2824
2893
  function: 'setUpBreakoutsListener'
2825
2894
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_ASK_FOR_HELP, helpEvent);
2826
2895
  });
2827
2896
  this.breakouts.on(_constants.BREAKOUTS.EVENTS.PRE_ASSIGNMENTS_UPDATE, function () {
2828
- _triggerProxy.default.trigger(_this4, {
2897
+ _triggerProxy.default.trigger(_this5, {
2829
2898
  file: 'meeting/index',
2830
2899
  function: 'setUpBreakoutsListener'
2831
2900
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_PRE_ASSIGNMENTS_UPDATE);
@@ -2841,17 +2910,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2841
2910
  }, {
2842
2911
  key: "setUpInterpretationListener",
2843
2912
  value: function setUpInterpretationListener() {
2844
- var _this5 = this;
2913
+ var _this6 = this;
2845
2914
  // TODO: check if its getting used or not
2846
2915
  this.simultaneousInterpretation.on(_constants.INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE, function () {
2847
- _triggerProxy.default.trigger(_this5, {
2916
+ _triggerProxy.default.trigger(_this6, {
2848
2917
  file: 'meeting/index',
2849
2918
  function: 'setUpInterpretationListener'
2850
2919
  }, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_SUPPORT_LANGUAGES_UPDATE);
2851
2920
  });
2852
2921
  // TODO: check if its getting used or not
2853
2922
  this.simultaneousInterpretation.on(_constants.INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, function (payload) {
2854
- _triggerProxy.default.trigger(_this5, {
2923
+ _triggerProxy.default.trigger(_this6, {
2855
2924
  file: 'meeting/index',
2856
2925
  function: 'setUpInterpretationListener'
2857
2926
  }, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_HANDOFF_REQUESTS_ARRIVED, payload);
@@ -2893,30 +2962,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2893
2962
  }, {
2894
2963
  key: "setUpLocusInfoMediaInactiveListener",
2895
2964
  value: function setUpLocusInfoMediaInactiveListener() {
2896
- var _this6 = this;
2965
+ var _this7 = this;
2897
2966
  // User gets kicked off the meeting due to inactivity or user did a refresh
2898
2967
  this.locusInfo.on(_constants.EVENTS.DISCONNECT_DUE_TO_INACTIVITY, function (res) {
2899
2968
  // https:// jira-eng-gpk2.cisco.com/jira/browse/SPARK-240520
2900
2969
  // TODO: send custom parameter explaining why the inactivity happened
2901
2970
  // refresh , no media or network got dsconnected or something else
2902
2971
  _metrics.default.sendBehavioralMetric(_constants2.default.DISCONNECT_DUE_TO_INACTIVITY, {
2903
- correlation_id: _this6.correlationId,
2904
- locus_id: _this6.locusId
2972
+ correlation_id: _this7.correlationId,
2973
+ locus_id: _this7.locusId
2905
2974
  });
2906
2975
 
2907
2976
  // Upload logs on media inactivity
2908
2977
  // Normally media should not be inactive
2909
- _triggerProxy.default.trigger(_this6, {
2978
+ _triggerProxy.default.trigger(_this7, {
2910
2979
  file: 'meeting/index',
2911
2980
  function: 'setUpLocusInfoMediaInactiveListener'
2912
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this6);
2981
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this7);
2913
2982
  _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMediaInactiveListener --> Meeting disconnected due to inactivity: ".concat(res.reason));
2914
2983
 
2915
2984
  // @ts-ignore - config coming from registerPlugin
2916
- if (_this6.config.reconnection.autoRejoin) {
2917
- _this6.reconnect();
2985
+ if (_this7.config.reconnection.autoRejoin) {
2986
+ _this7.reconnect();
2918
2987
  } else {
2919
- _triggerProxy.default.trigger(_this6, {
2988
+ _triggerProxy.default.trigger(_this7, {
2920
2989
  file: 'meeting/index',
2921
2990
  function: 'setUpLocusInfoMediaInactiveListener'
2922
2991
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_LEFT, res.reason);
@@ -2933,16 +3002,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2933
3002
  }, {
2934
3003
  key: "setUpLocusInfoAssignHostListener",
2935
3004
  value: function setUpLocusInfoAssignHostListener() {
2936
- var _this7 = this;
3005
+ var _this8 = this;
2937
3006
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_CAN_ASSIGN_HOST, function (payload) {
2938
- var changed = _this7.inMeetingActions.set({
3007
+ var changed = _this8.inMeetingActions.set({
2939
3008
  canAssignHost: payload.canAssignHost
2940
3009
  });
2941
3010
  if (changed) {
2942
- _triggerProxy.default.trigger(_this7, {
3011
+ _triggerProxy.default.trigger(_this8, {
2943
3012
  file: 'meeting/index',
2944
3013
  function: 'setUpLocusInfoAssignHostListener'
2945
- }, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE, _this7.inMeetingActions.get());
3014
+ }, _constants.EVENT_TRIGGERS.MEETING_ACTIONS_UPDATE, _this8.inMeetingActions.get());
2946
3015
  }
2947
3016
  });
2948
3017
  }
@@ -2956,9 +3025,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2956
3025
  }, {
2957
3026
  key: "setUpLocusFullStateListener",
2958
3027
  value: function setUpLocusFullStateListener() {
2959
- var _this8 = this;
3028
+ var _this9 = this;
2960
3029
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.FULL_STATE_MEETING_STATE_CHANGE, function (payload) {
2961
- _triggerProxy.default.trigger(_this8, {
3030
+ _triggerProxy.default.trigger(_this9, {
2962
3031
  file: 'meeting/index',
2963
3032
  function: 'setUpLocusFullStateListener'
2964
3033
  }, _constants.EVENT_TRIGGERS.MEETING_STATE_CHANGE, {
@@ -2966,7 +3035,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2966
3035
  });
2967
3036
  });
2968
3037
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.FULL_STATE_TYPE_UPDATE, function (payload) {
2969
- _this8.members.locusFullStateTypeUpdate(payload);
3038
+ _this9.members.locusFullStateTypeUpdate(payload);
2970
3039
  });
2971
3040
  }
2972
3041
 
@@ -3005,13 +3074,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3005
3074
  }, {
3006
3075
  key: "setUpLocusSelfListener",
3007
3076
  value: function setUpLocusSelfListener() {
3008
- var _this9 = this;
3077
+ var _this10 = this;
3009
3078
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_SELF, function (payload) {
3010
- _this9.members.locusSelfUpdate(payload);
3011
- _this9.pstnUpdate(payload);
3079
+ _this10.members.locusSelfUpdate(payload);
3080
+ _this10.pstnUpdate(payload);
3012
3081
 
3013
3082
  // If user moved to a JOINED state and there is a pending floor grant trigger it
3014
- _this9.requestScreenShareFloorIfPending();
3083
+ _this10.requestScreenShareFloorIfPending();
3015
3084
  });
3016
3085
  }
3017
3086
 
@@ -3025,14 +3094,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3025
3094
  }, {
3026
3095
  key: "pstnUpdate",
3027
3096
  value: function pstnUpdate(payload) {
3028
- var _this10 = this;
3097
+ var _this11 = this;
3029
3098
  if (this.locusInfo.self) {
3030
3099
  var _payload$newSelf, _payload$newSelf2;
3031
3100
  var dialInPstnDevice = (_payload$newSelf = payload.newSelf) === null || _payload$newSelf === void 0 ? void 0 : _payload$newSelf.pstnDevices.find(function (device) {
3032
- return device.url === _this10.dialInUrl;
3101
+ return device.url === _this11.dialInUrl;
3033
3102
  });
3034
3103
  var dialOutPstnDevice = (_payload$newSelf2 = payload.newSelf) === null || _payload$newSelf2 === void 0 ? void 0 : _payload$newSelf2.pstnDevices.find(function (device) {
3035
- return device.url === _this10.dialOutUrl;
3104
+ return device.url === _this11.dialOutUrl;
3036
3105
  });
3037
3106
  var changed = false;
3038
3107
  if (dialInPstnDevice) {
@@ -3081,9 +3150,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3081
3150
  }, {
3082
3151
  key: "setUpLocusHostListener",
3083
3152
  value: function setUpLocusHostListener() {
3084
- var _this11 = this;
3153
+ var _this12 = this;
3085
3154
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_HOST, function (payload) {
3086
- _this11.members.locusHostUpdate(payload);
3155
+ _this12.members.locusHostUpdate(payload);
3087
3156
  });
3088
3157
  }
3089
3158
 
@@ -3098,9 +3167,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3098
3167
  }, {
3099
3168
  key: "setUpLocusParticipantsListener",
3100
3169
  value: function setUpLocusParticipantsListener() {
3101
- var _this12 = this;
3170
+ var _this13 = this;
3102
3171
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_PARTICIPANTS, function (payload) {
3103
- _this12.members.locusParticipantsUpdate(payload);
3172
+ _this13.members.locusParticipantsUpdate(payload);
3104
3173
  });
3105
3174
  }
3106
3175
 
@@ -3125,7 +3194,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3125
3194
  }, {
3126
3195
  key: "setupLocusControlsListener",
3127
3196
  value: function setupLocusControlsListener() {
3128
- var _this13 = this;
3197
+ var _this14 = this;
3129
3198
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (_ref9) {
3130
3199
  var state = _ref9.state,
3131
3200
  modifiedBy = _ref9.modifiedBy,
@@ -3150,19 +3219,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3150
3219
  }
3151
3220
 
3152
3221
  // `RESUMED` state should be converted to `RECORDING` after triggering the event
3153
- _this13.recording = {
3222
+ _this14.recording = {
3154
3223
  state: state === _constants.RECORDING_STATE.RESUMED ? _constants.RECORDING_STATE.RECORDING : state,
3155
3224
  modifiedBy: modifiedBy,
3156
3225
  lastModified: lastModified
3157
3226
  };
3158
- _triggerProxy.default.trigger(_this13, {
3227
+ _triggerProxy.default.trigger(_this14, {
3159
3228
  file: 'meeting/index',
3160
3229
  function: 'setupLocusControlsListener'
3161
- }, event, _this13.recording);
3230
+ }, event, _this14.recording);
3162
3231
  });
3163
3232
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (_ref10) {
3164
3233
  var meetingContainerUrl = _ref10.meetingContainerUrl;
3165
- _triggerProxy.default.trigger(_this13, {
3234
+ _triggerProxy.default.trigger(_this14, {
3166
3235
  file: 'meeting/index',
3167
3236
  function: 'setupLocusControlsListener'
3168
3237
  }, _constants.EVENT_TRIGGERS.MEETING_MEETING_CONTAINER_UPDATE, {
@@ -3173,12 +3242,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3173
3242
  var caption = _ref11.caption,
3174
3243
  transcribing = _ref11.transcribing;
3175
3244
  // user need to be joined to start the llm and receive transcription
3176
- if (_this13.isJoined()) {
3245
+ if (_this14.isJoined()) {
3177
3246
  // @ts-ignore - config coming from registerPlugin
3178
- if (transcribing && !_this13.transcription) {
3179
- _this13.startTranscription();
3180
- } else if (!transcribing && _this13.transcription) {
3181
- _triggerProxy.default.trigger(_this13, {
3247
+ if (transcribing && !_this14.transcription) {
3248
+ _this14.startTranscription();
3249
+ } else if (!transcribing && _this14.transcription) {
3250
+ _triggerProxy.default.trigger(_this14, {
3182
3251
  file: 'meeting/index',
3183
3252
  function: 'setupLocusControlsListener'
3184
3253
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_RECEIVING_TRANSCRIPTION, {
@@ -3190,7 +3259,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3190
3259
  });
3191
3260
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (_ref12) {
3192
3261
  var enable = _ref12.enable;
3193
- _triggerProxy.default.trigger(_this13, {
3262
+ _triggerProxy.default.trigger(_this14, {
3194
3263
  file: 'meeting/index',
3195
3264
  function: 'setupLocusControlsListener'
3196
3265
  }, _constants.EVENT_TRIGGERS.MEETING_MANUAL_CAPTION_UPDATED, {
@@ -3199,23 +3268,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3199
3268
  });
3200
3269
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref13) {
3201
3270
  var breakout = _ref13.breakout;
3202
- _this13.breakouts.updateBreakout(breakout);
3203
- _triggerProxy.default.trigger(_this13, {
3271
+ _this14.breakouts.updateBreakout(breakout);
3272
+ _triggerProxy.default.trigger(_this14, {
3204
3273
  file: 'meeting/index',
3205
3274
  function: 'setupLocusControlsListener'
3206
3275
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
3207
3276
  });
3208
3277
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref14) {
3209
3278
  var interpretation = _ref14.interpretation;
3210
- _this13.simultaneousInterpretation.updateInterpretation(interpretation);
3211
- _triggerProxy.default.trigger(_this13, {
3279
+ _this14.simultaneousInterpretation.updateInterpretation(interpretation);
3280
+ _triggerProxy.default.trigger(_this14, {
3212
3281
  file: 'meeting/index',
3213
3282
  function: 'setupLocusControlsListener'
3214
3283
  }, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
3215
3284
  });
3216
3285
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref15) {
3217
3286
  var entryExitTone = _ref15.entryExitTone;
3218
- _triggerProxy.default.trigger(_this13, {
3287
+ _triggerProxy.default.trigger(_this14, {
3219
3288
  file: 'meeting/index',
3220
3289
  function: 'setupLocusControlsListener'
3221
3290
  }, _constants.EVENT_TRIGGERS.MEETING_ENTRY_EXIT_TONE_UPDATE, {
@@ -3224,7 +3293,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3224
3293
  });
3225
3294
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref16) {
3226
3295
  var state = _ref16.state;
3227
- _triggerProxy.default.trigger(_this13, {
3296
+ _triggerProxy.default.trigger(_this14, {
3228
3297
  file: 'meeting/index',
3229
3298
  function: 'setupLocusControlsListener'
3230
3299
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_MUTE_ON_ENTRY_UPDATED, {
@@ -3233,7 +3302,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3233
3302
  });
3234
3303
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref17) {
3235
3304
  var state = _ref17.state;
3236
- _triggerProxy.default.trigger(_this13, {
3305
+ _triggerProxy.default.trigger(_this14, {
3237
3306
  file: 'meeting/index',
3238
3307
  function: 'setupLocusControlsListener'
3239
3308
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_SHARE_CONTROL_UPDATED, {
@@ -3242,7 +3311,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3242
3311
  });
3243
3312
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref18) {
3244
3313
  var state = _ref18.state;
3245
- _triggerProxy.default.trigger(_this13, {
3314
+ _triggerProxy.default.trigger(_this14, {
3246
3315
  file: 'meeting/index',
3247
3316
  function: 'setupLocusControlsListener'
3248
3317
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_DISALLOW_UNMUTE_UPDATED, {
@@ -3251,7 +3320,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3251
3320
  });
3252
3321
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref19) {
3253
3322
  var state = _ref19.state;
3254
- _triggerProxy.default.trigger(_this13, {
3323
+ _triggerProxy.default.trigger(_this14, {
3255
3324
  file: 'meeting/index',
3256
3325
  function: 'setupLocusControlsListener'
3257
3326
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_REACTIONS_UPDATED, {
@@ -3260,7 +3329,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3260
3329
  });
3261
3330
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref20) {
3262
3331
  var state = _ref20.state;
3263
- _triggerProxy.default.trigger(_this13, {
3332
+ _triggerProxy.default.trigger(_this14, {
3264
3333
  file: 'meeting/index',
3265
3334
  function: 'setupLocusControlsListener'
3266
3335
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_VIEW_THE_PARTICIPANTS_LIST_UPDATED, {
@@ -3269,7 +3338,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3269
3338
  });
3270
3339
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref21) {
3271
3340
  var state = _ref21.state;
3272
- _triggerProxy.default.trigger(_this13, {
3341
+ _triggerProxy.default.trigger(_this14, {
3273
3342
  file: 'meeting/index',
3274
3343
  function: 'setupLocusControlsListener'
3275
3344
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_RAISE_HAND_UPDATED, {
@@ -3278,7 +3347,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3278
3347
  });
3279
3348
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref22) {
3280
3349
  var state = _ref22.state;
3281
- _triggerProxy.default.trigger(_this13, {
3350
+ _triggerProxy.default.trigger(_this14, {
3282
3351
  file: 'meeting/index',
3283
3352
  function: 'setupLocusControlsListener'
3284
3353
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_WEBCAST_UPDATED, {
@@ -3287,7 +3356,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3287
3356
  });
3288
3357
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref23) {
3289
3358
  var state = _ref23.state;
3290
- _triggerProxy.default.trigger(_this13, {
3359
+ _triggerProxy.default.trigger(_this14, {
3291
3360
  file: 'meeting/index',
3292
3361
  function: 'setupLocusControlsListener'
3293
3362
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_MEETING_FULL_UPDATED, {
@@ -3296,8 +3365,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3296
3365
  });
3297
3366
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref24) {
3298
3367
  var state = _ref24.state;
3299
- _this13.webinar.updatePracticeSessionStatus(state);
3300
- _triggerProxy.default.trigger(_this13, {
3368
+ _this14.webinar.updatePracticeSessionStatus(state);
3369
+ _triggerProxy.default.trigger(_this14, {
3301
3370
  file: 'meeting/index',
3302
3371
  function: 'setupLocusControlsListener'
3303
3372
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, {
@@ -3306,7 +3375,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3306
3375
  });
3307
3376
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref25) {
3308
3377
  var state = _ref25.state;
3309
- _triggerProxy.default.trigger(_this13, {
3378
+ _triggerProxy.default.trigger(_this14, {
3310
3379
  file: 'meeting/index',
3311
3380
  function: 'setupLocusControlsListener'
3312
3381
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_STAGE_VIEW_UPDATED, {
@@ -3315,7 +3384,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3315
3384
  });
3316
3385
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref26) {
3317
3386
  var state = _ref26.state;
3318
- _triggerProxy.default.trigger(_this13, {
3387
+ _triggerProxy.default.trigger(_this14, {
3319
3388
  file: 'meeting/index',
3320
3389
  function: 'setupLocusControlsListener'
3321
3390
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_VIDEO_UPDATED, {
@@ -3358,37 +3427,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3358
3427
  }, {
3359
3428
  key: "setUpLocusMediaSharesListener",
3360
3429
  value: function setUpLocusMediaSharesListener() {
3361
- var _this14 = this;
3430
+ var _this15 = this;
3362
3431
  // Will get triggered on local and remote share
3363
3432
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
3364
3433
  var _ref27 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
3365
3434
  var _payload$previous, _payload$previous2;
3366
- var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this14$locusInfo, _this14$locusInfo$inf, _this14$webinar, oldShareStatus, sendStartedSharingRemote, _this14$mediaProperti;
3435
+ var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this15$locusInfo, _this15$locusInfo$inf, _this15$webinar, oldShareStatus, sendStartedSharingRemote, _this15$mediaProperti;
3367
3436
  return _regenerator.default.wrap(function _callee8$(_context8) {
3368
3437
  while (1) switch (_context8.prev = _context8.next) {
3369
3438
  case 0:
3370
3439
  _payload$current = payload.current, contentShare = _payload$current.content, whiteboardShare = _payload$current.whiteboard;
3371
3440
  previousContentShare = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
3372
3441
  previousWhiteboardShare = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
3373
- _this14.triggerAnnotationInfoEvent(contentShare, previousContentShare);
3442
+ _this15.triggerAnnotationInfoEvent(contentShare, previousContentShare);
3374
3443
  if (!(!payload.forceUpdate && contentShare.beneficiaryId === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.beneficiaryId) && contentShare.disposition === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.disposition) && contentShare.deviceUrlSharing === previousContentShare.deviceUrlSharing && whiteboardShare.beneficiaryId === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.beneficiaryId) && whiteboardShare.disposition === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.disposition) && whiteboardShare.resourceUrl === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.resourceUrl) && contentShare.resourceType === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.resourceType))) {
3375
3444
  _context8.next = 6;
3376
3445
  break;
3377
3446
  }
3378
3447
  return _context8.abrupt("return");
3379
3448
  case 6:
3380
- newShareStatus = _this14.shareStatus; // REMOTE - check if remote started sharing
3381
- if (_this14.selfId !== contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
3449
+ newShareStatus = _this15.shareStatus; // REMOTE - check if remote started sharing
3450
+ if (_this15.selfId !== contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
3382
3451
  // CONTENT - sharing content remote
3383
3452
  newShareStatus = _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE;
3384
3453
  }
3385
3454
  // LOCAL - check if we started sharing content
3386
- else if (_this14.selfId === contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED && contentShare.deviceUrlSharing === _this14.deviceUrl) {
3455
+ else if (_this15.selfId === contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED && contentShare.deviceUrlSharing === _this15.deviceUrl) {
3387
3456
  // CONTENT - sharing content local
3388
3457
  newShareStatus = _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE;
3389
3458
  }
3390
3459
  // SAME USER REMOTE - check if same user started sharing content from another client
3391
- else if (_this14.selfId === contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED && contentShare.deviceUrlSharing !== _this14.deviceUrl) {
3460
+ else if (_this15.selfId === contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED && contentShare.deviceUrlSharing !== _this15.deviceUrl) {
3392
3461
  // CONTENT - same user sharing content remote
3393
3462
  newShareStatus = _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE;
3394
3463
  }
@@ -3398,32 +3467,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3398
3467
  else if (whiteboardShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
3399
3468
  // WHITEBOARD - sharing whiteboard
3400
3469
  // Webinar attendee should receive whiteboard as remote share
3401
- newShareStatus = (_this14$locusInfo = _this14.locusInfo) !== null && _this14$locusInfo !== void 0 && (_this14$locusInfo$inf = _this14$locusInfo.info) !== null && _this14$locusInfo$inf !== void 0 && _this14$locusInfo$inf.isWebinar && (_this14$webinar = _this14.webinar) !== null && _this14$webinar !== void 0 && _this14$webinar.selfIsAttendee ? _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE : _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE;
3470
+ newShareStatus = (_this15$locusInfo = _this15.locusInfo) !== null && _this15$locusInfo !== void 0 && (_this15$locusInfo$inf = _this15$locusInfo.info) !== null && _this15$locusInfo$inf !== void 0 && _this15$locusInfo$inf.isWebinar && (_this15$webinar = _this15.webinar) !== null && _this15$webinar !== void 0 && _this15$webinar.selfIsAttendee ? _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE : _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE;
3402
3471
  }
3403
3472
  // or if content share is either released or null and whiteboard share is either released or null, no one is sharing
3404
3473
  else if ((previousContentShare && contentShare.disposition === _constants.FLOOR_ACTION.RELEASED || contentShare.disposition === null) && (previousWhiteboardShare && whiteboardShare.disposition === _constants.FLOOR_ACTION.RELEASED || whiteboardShare.disposition === null)) {
3405
3474
  newShareStatus = _constants.SHARE_STATUS.NO_SHARE;
3406
3475
  }
3407
- _loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this14.shareStatus, " newShareStatus=").concat(newShareStatus));
3408
- if (!(newShareStatus !== _this14.shareStatus)) {
3476
+ _loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this15.shareStatus, " newShareStatus=").concat(newShareStatus));
3477
+ if (!(newShareStatus !== _this15.shareStatus)) {
3409
3478
  _context8.next = 46;
3410
3479
  break;
3411
3480
  }
3412
- oldShareStatus = _this14.shareStatus; // update our state before we send out any notifications
3413
- _this14.shareStatus = newShareStatus;
3481
+ oldShareStatus = _this15.shareStatus; // update our state before we send out any notifications
3482
+ _this15.shareStatus = newShareStatus;
3414
3483
 
3415
3484
  // send out "stop" notifications for the old state
3416
3485
  _context8.t0 = oldShareStatus;
3417
3486
  _context8.next = _context8.t0 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 15 : _context8.t0 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 17 : _context8.t0 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 19 : _context8.t0 === _constants.SHARE_STATUS.NO_SHARE ? 21 : 22;
3418
3487
  break;
3419
3488
  case 15:
3420
- _triggerProxy.default.trigger(_this14, {
3489
+ _triggerProxy.default.trigger(_this15, {
3421
3490
  file: 'meetings/index',
3422
3491
  function: 'remoteShare'
3423
3492
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
3424
3493
  return _context8.abrupt("break", 23);
3425
3494
  case 17:
3426
- _triggerProxy.default.trigger(_this14, {
3495
+ _triggerProxy.default.trigger(_this15, {
3427
3496
  file: 'meeting/index',
3428
3497
  function: 'localShare'
3429
3498
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
@@ -3431,7 +3500,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3431
3500
  });
3432
3501
  return _context8.abrupt("break", 23);
3433
3502
  case 19:
3434
- _triggerProxy.default.trigger(_this14, {
3503
+ _triggerProxy.default.trigger(_this15, {
3435
3504
  file: 'meeting/index',
3436
3505
  function: 'stopWhiteboardShare'
3437
3506
  }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_WHITEBOARD);
@@ -3446,25 +3515,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3446
3515
  break;
3447
3516
  case 26:
3448
3517
  sendStartedSharingRemote = function sendStartedSharingRemote() {
3449
- _this14.remoteShareInstanceId = contentShare.shareInstanceId;
3450
- _triggerProxy.default.trigger(_this14, {
3518
+ _this15.remoteShareInstanceId = contentShare.shareInstanceId;
3519
+ _triggerProxy.default.trigger(_this15, {
3451
3520
  file: 'meetings/index',
3452
3521
  function: 'remoteShare'
3453
3522
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_SHARING_REMOTE, {
3454
3523
  memberId: contentShare.beneficiaryId,
3455
3524
  url: contentShare.url,
3456
- shareInstanceId: _this14.remoteShareInstanceId,
3525
+ shareInstanceId: _this15.remoteShareInstanceId,
3457
3526
  annotationInfo: contentShare.annotation,
3458
3527
  resourceType: contentShare.resourceType
3459
3528
  });
3460
3529
  };
3461
3530
  _context8.prev = 27;
3462
- if (!((_this14$mediaProperti = _this14.mediaProperties.mediaDirection) !== null && _this14$mediaProperti !== void 0 && _this14$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
3531
+ if (!((_this15$mediaProperti = _this15.mediaProperties.mediaDirection) !== null && _this15$mediaProperti !== void 0 && _this15$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
3463
3532
  _context8.next = 31;
3464
3533
  break;
3465
3534
  }
3466
3535
  _context8.next = 31;
3467
- return _this14.unpublishStreams([_this14.mediaProperties.shareVideoStream, _this14.mediaProperties.shareAudioStream]);
3536
+ return _this15.unpublishStreams([_this15.mediaProperties.shareVideoStream, _this15.mediaProperties.shareAudioStream]);
3468
3537
  case 31:
3469
3538
  _context8.prev = 31;
3470
3539
  sendStartedSharingRemote();
@@ -3472,24 +3541,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3472
3541
  case 34:
3473
3542
  return _context8.abrupt("break", 43);
3474
3543
  case 35:
3475
- _triggerProxy.default.trigger(_this14, {
3544
+ _triggerProxy.default.trigger(_this15, {
3476
3545
  file: 'meeting/index',
3477
3546
  function: 'share'
3478
3547
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_SHARING_LOCAL);
3479
3548
  // @ts-ignore
3480
- _this14.webex.internal.newMetrics.submitClientEvent({
3549
+ _this15.webex.internal.newMetrics.submitClientEvent({
3481
3550
  name: 'client.share.floor-granted.local',
3482
3551
  payload: {
3483
3552
  mediaType: 'share',
3484
- shareInstanceId: _this14.localShareInstanceId
3553
+ shareInstanceId: _this15.localShareInstanceId
3485
3554
  },
3486
3555
  options: {
3487
- meetingId: _this14.id
3556
+ meetingId: _this15.id
3488
3557
  }
3489
3558
  });
3490
3559
  return _context8.abrupt("break", 43);
3491
3560
  case 38:
3492
- _triggerProxy.default.trigger(_this14, {
3561
+ _triggerProxy.default.trigger(_this15, {
3493
3562
  file: 'meeting/index',
3494
3563
  function: 'startWhiteboardShare'
3495
3564
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_SHARING_WHITEBOARD, {
@@ -3497,13 +3566,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3497
3566
  memberId: whiteboardShare.beneficiaryId
3498
3567
  });
3499
3568
  // @ts-ignore
3500
- _this14.webex.internal.newMetrics.submitClientEvent({
3569
+ _this15.webex.internal.newMetrics.submitClientEvent({
3501
3570
  name: 'client.share.floor-granted.local',
3502
3571
  payload: {
3503
3572
  mediaType: 'whiteboard'
3504
3573
  },
3505
3574
  options: {
3506
- meetingId: _this14.id
3575
+ meetingId: _this15.id
3507
3576
  }
3508
3577
  });
3509
3578
  return _context8.abrupt("break", 43);
@@ -3512,29 +3581,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3512
3581
  case 42:
3513
3582
  return _context8.abrupt("break", 43);
3514
3583
  case 43:
3515
- _this14.members.locusMediaSharesUpdate(payload);
3584
+ _this15.members.locusMediaSharesUpdate(payload);
3516
3585
  _context8.next = 47;
3517
3586
  break;
3518
3587
  case 46:
3519
3588
  if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
3520
3589
  // if we got here, then some remote participant has stolen
3521
3590
  // the presentation from another remote participant
3522
- _this14.remoteShareInstanceId = contentShare.shareInstanceId;
3523
- _triggerProxy.default.trigger(_this14, {
3591
+ _this15.remoteShareInstanceId = contentShare.shareInstanceId;
3592
+ _triggerProxy.default.trigger(_this15, {
3524
3593
  file: 'meetings/index',
3525
3594
  function: 'remoteShare'
3526
3595
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_SHARING_REMOTE, {
3527
3596
  memberId: contentShare.beneficiaryId,
3528
3597
  url: contentShare.url,
3529
- shareInstanceId: _this14.remoteShareInstanceId,
3598
+ shareInstanceId: _this15.remoteShareInstanceId,
3530
3599
  annotationInfo: contentShare.annotation,
3531
3600
  resourceType: contentShare.resourceType
3532
3601
  });
3533
- _this14.members.locusMediaSharesUpdate(payload);
3602
+ _this15.members.locusMediaSharesUpdate(payload);
3534
3603
  } else if (newShareStatus === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE) {
3535
3604
  // if we got here, then some remote participant has stolen
3536
3605
  // the presentation from another remote participant
3537
- _triggerProxy.default.trigger(_this14, {
3606
+ _triggerProxy.default.trigger(_this15, {
3538
3607
  file: 'meeting/index',
3539
3608
  function: 'startWhiteboardShare'
3540
3609
  }, _constants.EVENT_TRIGGERS.MEETING_STARTED_SHARING_WHITEBOARD, {
@@ -3542,16 +3611,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3542
3611
  memberId: whiteboardShare.beneficiaryId
3543
3612
  });
3544
3613
  // @ts-ignore
3545
- _this14.webex.internal.newMetrics.submitClientEvent({
3614
+ _this15.webex.internal.newMetrics.submitClientEvent({
3546
3615
  name: 'client.share.floor-granted.local',
3547
3616
  payload: {
3548
3617
  mediaType: 'whiteboard'
3549
3618
  },
3550
3619
  options: {
3551
- meetingId: _this14.id
3620
+ meetingId: _this15.id
3552
3621
  }
3553
3622
  });
3554
- _this14.members.locusMediaSharesUpdate(payload);
3623
+ _this15.members.locusMediaSharesUpdate(payload);
3555
3624
  }
3556
3625
  case 47:
3557
3626
  case "end":
@@ -3575,19 +3644,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3575
3644
  }, {
3576
3645
  key: "setUpLocusUrlListener",
3577
3646
  value: function setUpLocusUrlListener() {
3578
- var _this15 = this;
3647
+ var _this16 = this;
3579
3648
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_URL, function (payload) {
3580
- var _this15$locusUrl;
3581
- _this15.members.locusUrlUpdate(payload);
3582
- _this15.breakouts.locusUrlUpdate(payload);
3583
- _this15.simultaneousInterpretation.locusUrlUpdate(payload);
3584
- _this15.annotation.locusUrlUpdate(payload);
3585
- _this15.locusUrl = payload;
3586
- _this15.locusId = (_this15$locusUrl = _this15.locusUrl) === null || _this15$locusUrl === void 0 ? void 0 : _this15$locusUrl.split('/').pop();
3587
- _this15.recordingController.setLocusUrl(_this15.locusUrl);
3588
- _this15.controlsOptionsManager.setLocusUrl(_this15.locusUrl);
3589
- _this15.webinar.locusUrlUpdate(payload);
3590
- _triggerProxy.default.trigger(_this15, {
3649
+ var _this16$locusUrl;
3650
+ _this16.members.locusUrlUpdate(payload);
3651
+ _this16.breakouts.locusUrlUpdate(payload);
3652
+ _this16.simultaneousInterpretation.locusUrlUpdate(payload);
3653
+ _this16.annotation.locusUrlUpdate(payload);
3654
+ _this16.locusUrl = payload;
3655
+ _this16.locusId = (_this16$locusUrl = _this16.locusUrl) === null || _this16$locusUrl === void 0 ? void 0 : _this16$locusUrl.split('/').pop();
3656
+ _this16.recordingController.setLocusUrl(_this16.locusUrl);
3657
+ _this16.controlsOptionsManager.setLocusUrl(_this16.locusUrl);
3658
+ _this16.webinar.locusUrlUpdate(payload);
3659
+ _triggerProxy.default.trigger(_this16, {
3591
3660
  file: 'meeting/index',
3592
3661
  function: 'setUpLocusSelfListener'
3593
3662
  }, _constants.EVENT_TRIGGERS.MEETING_LOCUS_URL_UPDATE, {
@@ -3608,14 +3677,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3608
3677
  }, {
3609
3678
  key: "setUpLocusServicesListener",
3610
3679
  value: function setUpLocusServicesListener() {
3611
- var _this16 = this;
3680
+ var _this17 = this;
3612
3681
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_SERVICES, function (payload) {
3613
- var _payload$services, _payload$services$rec, _this16$locusInfo, _this16$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap, _payload$services4, _payload$services4$ap;
3614
- _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);
3615
- _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);
3616
- _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);
3617
- _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);
3618
- _this16.simultaneousInterpretation.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services4 = payload.services) === null || _payload$services4 === void 0 ? void 0 : (_payload$services4$ap = _payload$services4.approval) === null || _payload$services4$ap === void 0 ? void 0 : _payload$services4$ap.url);
3682
+ var _payload$services, _payload$services$rec, _this17$locusInfo, _this17$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap, _payload$services4, _payload$services4$ap;
3683
+ _this17.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);
3684
+ _this17.recordingController.setSessionId((_this17$locusInfo = _this17.locusInfo) === null || _this17$locusInfo === void 0 ? void 0 : (_this17$locusInfo$ful = _this17$locusInfo.fullState) === null || _this17$locusInfo$ful === void 0 ? void 0 : _this17$locusInfo$ful.sessionId);
3685
+ _this17.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);
3686
+ _this17.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);
3687
+ _this17.simultaneousInterpretation.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services4 = payload.services) === null || _payload$services4 === void 0 ? void 0 : (_payload$services4$ap = _payload$services4.approval) === null || _payload$services4$ap === void 0 ? void 0 : _payload$services4$ap.url);
3619
3688
  });
3620
3689
  }
3621
3690
 
@@ -3630,11 +3699,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3630
3699
  }, {
3631
3700
  key: "setUpLocusResourcesListener",
3632
3701
  value: function setUpLocusResourcesListener() {
3633
- var _this17 = this;
3702
+ var _this18 = this;
3634
3703
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_RESOURCES, function (payload) {
3635
3704
  if (payload) {
3636
- _this17.webinar.updateWebcastUrl(payload);
3637
- _triggerProxy.default.trigger(_this17, {
3705
+ _this18.webinar.updateWebcastUrl(payload);
3706
+ _triggerProxy.default.trigger(_this18, {
3638
3707
  file: 'meeting/index',
3639
3708
  function: 'setUpLocusInfoMeetingInfoListener'
3640
3709
  }, _constants.EVENT_TRIGGERS.MEETING_RESOURCE_LINKS_UPDATE, {
@@ -3653,10 +3722,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3653
3722
  }, {
3654
3723
  key: "setUpLocusInfoMeetingInfoListener",
3655
3724
  value: function setUpLocusInfoMeetingInfoListener() {
3656
- var _this18 = this;
3725
+ var _this19 = this;
3657
3726
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_LOCKED, function (payload) {
3658
3727
  if (payload) {
3659
- _triggerProxy.default.trigger(_this18, {
3728
+ _triggerProxy.default.trigger(_this19, {
3660
3729
  file: 'meeting/index',
3661
3730
  function: 'setUpLocusInfoMeetingInfoListener'
3662
3731
  }, _constants.EVENT_TRIGGERS.MEETING_LOCKED, {
@@ -3666,7 +3735,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3666
3735
  });
3667
3736
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_UNLOCKED, function (payload) {
3668
3737
  if (payload) {
3669
- _triggerProxy.default.trigger(_this18, {
3738
+ _triggerProxy.default.trigger(_this19, {
3670
3739
  file: 'meeting/index',
3671
3740
  function: 'setUpLocusInfoMeetingInfoListener'
3672
3741
  }, _constants.EVENT_TRIGGERS.MEETING_UNLOCKED, {
@@ -3676,14 +3745,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3676
3745
  });
3677
3746
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref28) {
3678
3747
  var isInitializing = _ref28.isInitializing;
3679
- _this18.updateMeetingActions();
3680
- _this18.recordingController.setDisplayHints(_this18.userDisplayHints);
3681
- _this18.recordingController.setUserPolicy(_this18.selfUserPolicies);
3682
- _this18.controlsOptionsManager.setDisplayHints(_this18.userDisplayHints);
3683
- _this18.handleDataChannelUrlChange(_this18.datachannelUrl);
3748
+ _this19.updateMeetingActions();
3749
+ _this19.recordingController.setDisplayHints(_this19.userDisplayHints);
3750
+ _this19.recordingController.setUserPolicy(_this19.selfUserPolicies);
3751
+ _this19.controlsOptionsManager.setDisplayHints(_this19.userDisplayHints);
3752
+ _this19.handleDataChannelUrlChange(_this19.datachannelUrl);
3684
3753
  if (!isInitializing) {
3685
3754
  // send updated trigger only if locus is not initializing the meeting
3686
- _triggerProxy.default.trigger(_this18, {
3755
+ _triggerProxy.default.trigger(_this19, {
3687
3756
  file: 'meetings',
3688
3757
  function: 'setUpLocusInfoMeetingInfoListener'
3689
3758
  }, _constants.EVENT_TRIGGERS.MEETING_INFO_UPDATED);
@@ -3714,10 +3783,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3714
3783
  }, {
3715
3784
  key: "setUpLocusEmbeddedAppsListener",
3716
3785
  value: function setUpLocusEmbeddedAppsListener() {
3717
- var _this19 = this;
3786
+ var _this20 = this;
3718
3787
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.EMBEDDED_APPS_UPDATED, function (embeddedApps) {
3719
3788
  if (embeddedApps) {
3720
- _triggerProxy.default.trigger(_this19, {
3789
+ _triggerProxy.default.trigger(_this20, {
3721
3790
  file: 'meeting/index',
3722
3791
  function: 'setUpLocusEmbeddedAppsListener'
3723
3792
  }, _constants.EVENT_TRIGGERS.MEETING_EMBEDDED_APPS_UPDATE, embeddedApps);
@@ -3734,11 +3803,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3734
3803
  }, {
3735
3804
  key: "setUpLocusInfoSelfListener",
3736
3805
  value: function setUpLocusInfoSelfListener() {
3737
- var _this20 = this;
3806
+ var _this21 = this;
3738
3807
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUIRED, function (payload) {
3739
- if (_this20.audio) {
3740
- _this20.audio.handleServerLocalUnmuteRequired(_this20, payload.unmuteAllowed);
3741
- _triggerProxy.default.trigger(_this20, {
3808
+ if (_this21.audio) {
3809
+ _this21.audio.handleServerLocalUnmuteRequired(_this21, payload.unmuteAllowed);
3810
+ _triggerProxy.default.trigger(_this21, {
3742
3811
  file: 'meeting/index',
3743
3812
  function: 'setUpLocusInfoSelfListener'
3744
3813
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
@@ -3748,13 +3817,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3748
3817
  });
3749
3818
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED, function (payload) {
3750
3819
  if (payload) {
3751
- if (_this20.video) {
3820
+ if (_this21.video) {
3752
3821
  var _payload$muted, _payload$unmuteAllowe;
3753
- payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted : _this20.video.isRemotelyMuted();
3754
- payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe : _this20.video.isUnmuteAllowed();
3755
- _this20.video.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
3822
+ payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted : _this21.video.isRemotelyMuted();
3823
+ payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe : _this21.video.isUnmuteAllowed();
3824
+ _this21.video.handleServerRemoteMuteUpdate(_this21, payload.muted, payload.unmuteAllowed);
3756
3825
  }
3757
- _triggerProxy.default.trigger(_this20, {
3826
+ _triggerProxy.default.trigger(_this21, {
3758
3827
  file: 'meeting/index',
3759
3828
  function: 'setUpLocusInfoSelfListener'
3760
3829
  }, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS, {
@@ -3764,15 +3833,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3764
3833
  });
3765
3834
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_MUTE_STATUS_UPDATED, function (payload) {
3766
3835
  if (payload) {
3767
- var _this20$audio;
3768
- if (_this20.audio) {
3769
- _this20.audio.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
3836
+ var _this21$audio;
3837
+ if (_this21.audio) {
3838
+ _this21.audio.handleServerRemoteMuteUpdate(_this21, payload.muted, payload.unmuteAllowed);
3770
3839
  }
3771
3840
  // with "mute on entry" server will send us remote mute even if we don't have media configured,
3772
3841
  // so if being muted by others, always send the notification,
3773
3842
  // but if being unmuted, only send it if we are also locally unmuted
3774
- if (payload.muted || !((_this20$audio = _this20.audio) !== null && _this20$audio !== void 0 && _this20$audio.isMuted())) {
3775
- _triggerProxy.default.trigger(_this20, {
3843
+ if (payload.muted || !((_this21$audio = _this21.audio) !== null && _this21$audio !== void 0 && _this21$audio.isMuted())) {
3844
+ _triggerProxy.default.trigger(_this21, {
3776
3845
  file: 'meeting/index',
3777
3846
  function: 'setUpLocusInfoSelfListener'
3778
3847
  }, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
@@ -3782,7 +3851,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3782
3851
  }
3783
3852
  });
3784
3853
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUESTED, function (payload) {
3785
- _triggerProxy.default.trigger(_this20, {
3854
+ _triggerProxy.default.trigger(_this21, {
3786
3855
  file: 'meeting/index',
3787
3856
  function: 'setUpLocusInfoSelfListener'
3788
3857
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_REQUESTED_TO_UNMUTE, {
@@ -3791,8 +3860,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3791
3860
  });
3792
3861
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_UNADMITTED_GUEST, function (payload) {
3793
3862
  if (payload) {
3794
- _this20.startKeepAlive();
3795
- _triggerProxy.default.trigger(_this20, {
3863
+ _this21.startKeepAlive();
3864
+ _triggerProxy.default.trigger(_this21, {
3796
3865
  file: 'meeting/index',
3797
3866
  function: 'setUpLocusInfoSelfListener'
3798
3867
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_LOBBY_WAITING, {
@@ -3800,27 +3869,27 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3800
3869
  });
3801
3870
 
3802
3871
  // @ts-ignore
3803
- _this20.webex.internal.newMetrics.submitClientEvent({
3872
+ _this21.webex.internal.newMetrics.submitClientEvent({
3804
3873
  name: 'client.lobby.entered',
3805
3874
  options: {
3806
- meetingId: _this20.id
3875
+ meetingId: _this21.id
3807
3876
  }
3808
3877
  });
3809
3878
  }
3810
3879
  _metrics.default.sendBehavioralMetric(_constants2.default.GUEST_ENTERED_LOBBY, {
3811
- correlation_id: _this20.correlationId
3880
+ correlation_id: _this21.correlationId
3812
3881
  });
3813
- _this20.updateLLMConnection();
3882
+ _this21.updateLLMConnection();
3814
3883
  });
3815
3884
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
3816
3885
  var _ref29 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
3817
- var _this20$rtcMetrics;
3886
+ var _this21$rtcMetrics;
3818
3887
  return _regenerator.default.wrap(function _callee9$(_context9) {
3819
3888
  while (1) switch (_context9.prev = _context9.next) {
3820
3889
  case 0:
3821
- _this20.stopKeepAlive();
3890
+ _this21.stopKeepAlive();
3822
3891
  if (payload) {
3823
- _triggerProxy.default.trigger(_this20, {
3892
+ _triggerProxy.default.trigger(_this21, {
3824
3893
  file: 'meeting/index',
3825
3894
  function: 'setUpLocusInfoSelfListener'
3826
3895
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
@@ -3828,18 +3897,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3828
3897
  });
3829
3898
 
3830
3899
  // @ts-ignore
3831
- _this20.webex.internal.newMetrics.submitClientEvent({
3900
+ _this21.webex.internal.newMetrics.submitClientEvent({
3832
3901
  name: 'client.lobby.exited',
3833
3902
  options: {
3834
- meetingId: _this20.id
3903
+ meetingId: _this21.id
3835
3904
  }
3836
3905
  });
3837
3906
  _metrics.default.sendBehavioralMetric(_constants2.default.GUEST_EXITED_LOBBY, {
3838
- correlation_id: _this20.correlationId
3907
+ correlation_id: _this21.correlationId
3839
3908
  });
3840
3909
  }
3841
- (_this20$rtcMetrics = _this20.rtcMetrics) === null || _this20$rtcMetrics === void 0 ? void 0 : _this20$rtcMetrics.sendNextMetrics();
3842
- _this20.updateLLMConnection();
3910
+ (_this21$rtcMetrics = _this21.rtcMetrics) === null || _this21$rtcMetrics === void 0 ? void 0 : _this21$rtcMetrics.sendNextMetrics();
3911
+ _this21.updateLLMConnection();
3843
3912
  case 4:
3844
3913
  case "end":
3845
3914
  return _context9.stop();
@@ -3854,35 +3923,38 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3854
3923
  // @ts-ignore - check if MEDIA_INACTIVITY exists
3855
3924
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, function () {
3856
3925
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_MEDIA_INACTIVE, {
3857
- correlation_id: _this20.correlationId,
3858
- locus_id: _this20.locusId
3926
+ correlation_id: _this21.correlationId,
3927
+ locus_id: _this21.locusId
3859
3928
  });
3860
3929
  _loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoSelfListener --> MEDIA_INACTIVITY received, reconnecting...');
3861
- _this20.reconnect();
3930
+ _this21.reconnect();
3862
3931
  });
3863
3932
 
3864
3933
  // There is two stats for mute one is the actual media being sent or received
3865
3934
  // The second on is if the audio is muted, we need to tell the statsAnalyzer when
3866
3935
  // the audio is muted or the user is not willing to send media
3867
3936
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_STATUS_CHANGE, function (status) {
3868
- if (_this20.statsAnalyzer) {
3869
- var _this20$mediaProperti, _this20$audio2, _this20$mediaProperti2, _this20$video, _this20$mediaProperti3, _this20$mediaProperti4, _this20$mediaProperti5, _this20$mediaProperti6;
3870
- _this20.statsAnalyzer.updateMediaStatus({
3937
+ _loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoSelfListener --> MEDIA_STATUS_CHANGE received, processing...');
3938
+ if (_this21.statsAnalyzer) {
3939
+ var _this21$mediaProperti, _this21$audio2, _this21$mediaProperti2, _this21$video, _this21$mediaProperti3, _this21$mediaProperti4, _this21$mediaProperti5, _this21$mediaProperti6;
3940
+ _this21.statsAnalyzer.updateMediaStatus({
3871
3941
  actual: status,
3872
3942
  expected: {
3873
3943
  // We need to check what should be the actual direction of media
3874
- 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()),
3875
- 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()),
3876
- sendShare: (_this20$mediaProperti3 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti3 === void 0 ? void 0 : _this20$mediaProperti3.sendShare,
3877
- receiveAudio: (_this20$mediaProperti4 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti4 === void 0 ? void 0 : _this20$mediaProperti4.receiveAudio,
3878
- receiveVideo: (_this20$mediaProperti5 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti5 === void 0 ? void 0 : _this20$mediaProperti5.receiveVideo,
3879
- receiveShare: (_this20$mediaProperti6 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti6 === void 0 ? void 0 : _this20$mediaProperti6.receiveShare
3944
+ sendAudio: ((_this21$mediaProperti = _this21.mediaProperties.mediaDirection) === null || _this21$mediaProperti === void 0 ? void 0 : _this21$mediaProperti.sendAudio) && !((_this21$audio2 = _this21.audio) !== null && _this21$audio2 !== void 0 && _this21$audio2.isMuted()),
3945
+ sendVideo: ((_this21$mediaProperti2 = _this21.mediaProperties.mediaDirection) === null || _this21$mediaProperti2 === void 0 ? void 0 : _this21$mediaProperti2.sendVideo) && !((_this21$video = _this21.video) !== null && _this21$video !== void 0 && _this21$video.isMuted()),
3946
+ sendShare: (_this21$mediaProperti3 = _this21.mediaProperties.mediaDirection) === null || _this21$mediaProperti3 === void 0 ? void 0 : _this21$mediaProperti3.sendShare,
3947
+ receiveAudio: (_this21$mediaProperti4 = _this21.mediaProperties.mediaDirection) === null || _this21$mediaProperti4 === void 0 ? void 0 : _this21$mediaProperti4.receiveAudio,
3948
+ receiveVideo: (_this21$mediaProperti5 = _this21.mediaProperties.mediaDirection) === null || _this21$mediaProperti5 === void 0 ? void 0 : _this21$mediaProperti5.receiveVideo,
3949
+ receiveShare: (_this21$mediaProperti6 = _this21.mediaProperties.mediaDirection) === null || _this21$mediaProperti6 === void 0 ? void 0 : _this21$mediaProperti6.receiveShare
3880
3950
  }
3881
3951
  });
3952
+ } else {
3953
+ _loggerProxy.default.logger.warn('Meeting:index#setUpLocusInfoSelfListener --> MEDIA_STATUS_CHANGE, statsAnalyzer is not available.');
3882
3954
  }
3883
3955
  });
3884
3956
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE, function (payload) {
3885
- _triggerProxy.default.trigger(_this20, {
3957
+ _triggerProxy.default.trigger(_this21, {
3886
3958
  file: 'meeting/index',
3887
3959
  function: 'setUpLocusInfoSelfListener'
3888
3960
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST, {
@@ -3890,24 +3962,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3890
3962
  });
3891
3963
  });
3892
3964
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BREAKOUTS_CHANGED, function (payload) {
3893
- _this20.breakouts.updateBreakoutSessions(payload);
3894
- _triggerProxy.default.trigger(_this20, {
3965
+ _this21.breakouts.updateBreakoutSessions(payload);
3966
+ _triggerProxy.default.trigger(_this21, {
3895
3967
  file: 'meeting/index',
3896
3968
  function: 'setUpLocusInfoSelfListener'
3897
3969
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
3898
3970
  });
3899
3971
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
3900
- var targetChanged = _this20.simultaneousInterpretation.updateSelfInterpretation(payload);
3901
- _triggerProxy.default.trigger(_this20, {
3972
+ var targetChanged = _this21.simultaneousInterpretation.updateSelfInterpretation(payload);
3973
+ _triggerProxy.default.trigger(_this21, {
3902
3974
  file: 'meeting/index',
3903
3975
  function: 'setUpLocusInfoSelfListener'
3904
3976
  }, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
3905
- if (targetChanged && _this20.mediaProperties.audioStream) {
3906
- _this20.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
3977
+ if (targetChanged && _this21.mediaProperties.audioStream) {
3978
+ _this21.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
3907
3979
  }
3908
3980
  });
3909
3981
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BRB_CHANGED, function (payload) {
3910
- _triggerProxy.default.trigger(_this20, {
3982
+ var _this21$brbState, _payload$brb;
3983
+ (_this21$brbState = _this21.brbState) === null || _this21$brbState === void 0 ? void 0 : _this21$brbState.handleServerBrbUpdate(payload === null || payload === void 0 ? void 0 : (_payload$brb = payload.brb) === null || _payload$brb === void 0 ? void 0 : _payload$brb.enabled);
3984
+ _triggerProxy.default.trigger(_this21, {
3911
3985
  file: 'meeting/index',
3912
3986
  function: 'setUpLocusInfoSelfListener'
3913
3987
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_BRB_UPDATE, {
@@ -3917,10 +3991,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3917
3991
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ROLES_CHANGED, function (payload) {
3918
3992
  var _payload$newRoles, _payload$newRoles2, _payload$newRoles3;
3919
3993
  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));
3920
- _this20.breakouts.updateCanManageBreakouts(isModeratorOrCohost);
3921
- _this20.simultaneousInterpretation.updateCanManageInterpreters((_payload$newRoles3 = payload.newRoles) === null || _payload$newRoles3 === void 0 ? void 0 : _payload$newRoles3.includes(_constants.SELF_ROLES.MODERATOR));
3922
- _this20.webinar.updateRoleChanged(payload);
3923
- _triggerProxy.default.trigger(_this20, {
3994
+ _this21.breakouts.updateCanManageBreakouts(isModeratorOrCohost);
3995
+ _this21.simultaneousInterpretation.updateCanManageInterpreters((_payload$newRoles3 = payload.newRoles) === null || _payload$newRoles3 === void 0 ? void 0 : _payload$newRoles3.includes(_constants.SELF_ROLES.MODERATOR));
3996
+ _this21.webinar.updateRoleChanged(payload);
3997
+ _triggerProxy.default.trigger(_this21, {
3924
3998
  file: 'meeting/index',
3925
3999
  function: 'setUpLocusInfoSelfListener'
3926
4000
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_ROLES_CHANGED, {
@@ -3928,7 +4002,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3928
4002
  });
3929
4003
  });
3930
4004
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_IS_SHARING_BLOCKED_CHANGE, function (payload) {
3931
- _triggerProxy.default.trigger(_this20, {
4005
+ _triggerProxy.default.trigger(_this21, {
3932
4006
  file: 'meeting/index',
3933
4007
  function: 'setUpLocusInfoSelfListener'
3934
4008
  }, _constants.EVENT_TRIGGERS.MEETING_SELF_IS_SHARING_BLOCKED, {
@@ -3946,17 +4020,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3946
4020
  }, {
3947
4021
  key: "setUpLocusInfoMeetingListener",
3948
4022
  value: function setUpLocusInfoMeetingListener() {
3949
- var _this21 = this;
4023
+ var _this22 = this;
3950
4024
  this.locusInfo.on(_constants.EVENTS.REMOTE_RESPONSE, function (payload) {
3951
- _this21.meetingFiniteStateMachine.remote(payload);
4025
+ _this22.meetingFiniteStateMachine.remote(payload);
3952
4026
  if (payload.remoteDeclined) {
3953
- _this21.leave({
4027
+ _this22.leave({
3954
4028
  reason: payload.reason
3955
4029
  }).then(function () {
3956
4030
  _loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Attempting to leave meeting.');
3957
4031
  }).catch(function (error) {
3958
4032
  // @ts-ignore
3959
- _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(_this21, ", error: ").concat(error));
4033
+ _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(_this22, ", error: ").concat(error));
3960
4034
  });
3961
4035
  }
3962
4036
  });
@@ -3965,23 +4039,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3965
4039
  return _regenerator.default.wrap(function _callee10$(_context10) {
3966
4040
  while (1) switch (_context10.prev = _context10.next) {
3967
4041
  case 0:
3968
- if (!_this21.wirelessShare) {
4042
+ if (!_this22.wirelessShare) {
3969
4043
  _context10.next = 7;
3970
4044
  break;
3971
4045
  }
3972
- if (!_this21.mediaProperties.shareVideoStream) {
4046
+ if (!_this22.mediaProperties.shareVideoStream) {
3973
4047
  _context10.next = 4;
3974
4048
  break;
3975
4049
  }
3976
4050
  _context10.next = 4;
3977
- return _this21.setLocalShareVideoStream(undefined);
4051
+ return _this22.setLocalShareVideoStream(undefined);
3978
4052
  case 4:
3979
- if (!_this21.mediaProperties.shareAudioStream) {
4053
+ if (!_this22.mediaProperties.shareAudioStream) {
3980
4054
  _context10.next = 7;
3981
4055
  break;
3982
4056
  }
3983
4057
  _context10.next = 7;
3984
- return _this21.setLocalShareAudioStream(undefined);
4058
+ return _this22.setLocalShareAudioStream(undefined);
3985
4059
  case 7:
3986
4060
  if (!payload.shouldLeave) {
3987
4061
  _context10.next = 19;
@@ -3989,7 +4063,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3989
4063
  }
3990
4064
  _context10.prev = 8;
3991
4065
  _context10.next = 11;
3992
- return _this21.leave({
4066
+ return _this22.leave({
3993
4067
  reason: payload.reason
3994
4068
  });
3995
4069
  case 11:
@@ -4000,19 +4074,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4000
4074
  _context10.prev = 14;
4001
4075
  _context10.t0 = _context10["catch"](8);
4002
4076
  // @ts-ignore
4003
- _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this21, ", error: ").concat(_context10.t0));
4077
+ _loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this22, ", error: ").concat(_context10.t0));
4004
4078
  case 17:
4005
4079
  _context10.next = 22;
4006
4080
  break;
4007
4081
  case 19:
4008
4082
  _loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
4009
- _util2.default.cleanUp(_this21);
4010
- _triggerProxy.default.trigger(_this21, {
4083
+ _util2.default.cleanUp(_this22);
4084
+ _triggerProxy.default.trigger(_this22, {
4011
4085
  file: 'meeting/index',
4012
4086
  function: 'setUpLocusInfoMeetingListener'
4013
4087
  }, _constants.EVENTS.DESTROY_MEETING, {
4014
4088
  reason: payload.reason,
4015
- meetingId: _this21.id
4089
+ meetingId: _this22.id
4016
4090
  });
4017
4091
  case 22:
4018
4092
  case "end":
@@ -4037,13 +4111,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4037
4111
  }, {
4038
4112
  key: "updateMeetingObject",
4039
4113
  value: function updateMeetingObject(object) {
4040
- var _this22 = this;
4114
+ var _this23 = this;
4041
4115
  // Validate if these are valid meeting object property
4042
4116
  // TODO: add a check to make sure the value passed in the constructor
4043
4117
  // is not changed by any delta event
4044
4118
  if (object && (0, _keys.default)(object).length) {
4045
4119
  (0, _keys.default)(object).forEach(function (key) {
4046
- _this22[key] = object[key];
4120
+ _this23[key] = object[key];
4047
4121
  });
4048
4122
  }
4049
4123
  }
@@ -4123,7 +4197,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4123
4197
  key: "beRightBack",
4124
4198
  value: (function () {
4125
4199
  var _beRightBack = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(enabled) {
4126
- var _this23 = this;
4127
4200
  var errorMessage, error, _errorMessage, _error;
4128
4201
  return _regenerator.default.wrap(function _callee11$(_context11) {
4129
4202
  while (1) switch (_context11.prev = _context11.next) {
@@ -4146,17 +4219,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4146
4219
  _loggerProxy.default.logger.error(_error);
4147
4220
  return _context11.abrupt("return", _promise.default.reject(_error));
4148
4221
  case 10:
4149
- return _context11.abrupt("return", this.meetingRequest.setBrb({
4150
- enabled: enabled,
4151
- locusUrl: this.locusUrl,
4152
- deviceUrl: this.deviceUrl,
4153
- selfId: this.selfId
4154
- }).then(function () {
4155
- _this23.sendSlotManager.setSourceStateOverride(_internalMediaCore.MediaType.VideoMain, enabled ? 'away' : null);
4156
- }).catch(function (error) {
4157
- _loggerProxy.default.logger.error('Meeting:index#beRightBack --> Error ', error);
4158
- return _promise.default.reject(error);
4159
- }));
4222
+ return _context11.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager));
4160
4223
  case 11:
4161
4224
  case "end":
4162
4225
  return _context11.stop();
@@ -6480,6 +6543,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6480
6543
  new _internalPluginMetrics.RtcMetrics(this.webex, {
6481
6544
  meetingId: this.id
6482
6545
  }, this.correlationId) : undefined;
6546
+
6547
+ // ongoing reachability checks slow down new media connections especially on Firefox, so we stop them
6548
+ this.getWebexObject().meetings.reachability.stopReachability();
6483
6549
  mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(), this.id, {
6484
6550
  rtcMetrics: this.rtcMetrics,
6485
6551
  mediaProperties: this.mediaProperties,
@@ -6505,36 +6571,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6505
6571
 
6506
6572
  // publish the streams
6507
6573
  if (!this.mediaProperties.audioStream) {
6508
- _context22.next = 9;
6574
+ _context22.next = 10;
6509
6575
  break;
6510
6576
  }
6511
6577
  this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
6512
- _context22.next = 9;
6578
+ _context22.next = 10;
6513
6579
  return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
6514
- case 9:
6580
+ case 10:
6515
6581
  if (!this.mediaProperties.videoStream) {
6516
- _context22.next = 12;
6582
+ _context22.next = 13;
6517
6583
  break;
6518
6584
  }
6519
- _context22.next = 12;
6585
+ _context22.next = 13;
6520
6586
  return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
6521
- case 12:
6587
+ case 13:
6522
6588
  if (!this.mediaProperties.shareVideoStream) {
6523
- _context22.next = 15;
6589
+ _context22.next = 16;
6524
6590
  break;
6525
6591
  }
6526
- _context22.next = 15;
6592
+ _context22.next = 16;
6527
6593
  return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
6528
- case 15:
6594
+ case 16:
6529
6595
  if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
6530
- _context22.next = 18;
6596
+ _context22.next = 19;
6531
6597
  break;
6532
6598
  }
6533
- _context22.next = 18;
6599
+ _context22.next = 19;
6534
6600
  return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
6535
- case 18:
6536
- return _context22.abrupt("return", mc);
6537
6601
  case 19:
6602
+ return _context22.abrupt("return", mc);
6603
+ case 20:
6538
6604
  case "end":
6539
6605
  return _context22.stop();
6540
6606
  }
@@ -7412,54 +7478,56 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7412
7478
  });
7413
7479
  this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
7414
7480
  this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
7415
- _context35.prev = 18;
7416
- _context35.next = 21;
7481
+ this.brbState = (0, _brbState.createBrbState)(this, false);
7482
+ _context35.prev = 19;
7483
+ _context35.next = 22;
7417
7484
  return this.setUpLocalStreamReferences(localStreams);
7418
- case 21:
7485
+ case 22:
7419
7486
  this.setMercuryListener();
7420
7487
  this.createStatsAnalyzer();
7421
- _context35.prev = 23;
7422
- _context35.next = 26;
7488
+ _context35.prev = 24;
7489
+ _context35.next = 27;
7423
7490
  return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
7424
- case 26:
7425
- _context35.next = 39;
7491
+ case 27:
7492
+ _context35.next = 40;
7426
7493
  break;
7427
- case 28:
7428
- _context35.prev = 28;
7429
- _context35.t0 = _context35["catch"](23);
7494
+ case 29:
7495
+ _context35.prev = 29;
7496
+ _context35.t0 = _context35["catch"](24);
7430
7497
  if (!(_context35.t0 instanceof _multistreamNotSupportedError.default)) {
7431
- _context35.next = 38;
7498
+ _context35.next = 39;
7432
7499
  break;
7433
7500
  }
7434
7501
  _loggerProxy.default.logger.warn("".concat(LOG_HEADER, " we asked for multistream backend (Homer), but got transcoded backend, recreating media connection..."));
7435
- _context35.next = 34;
7502
+ _context35.next = 35;
7436
7503
  return this.downgradeFromMultistreamToTranscoded();
7437
- case 34:
7438
- _context35.next = 36;
7504
+ case 35:
7505
+ _context35.next = 37;
7439
7506
  return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true, undefined);
7440
- case 36:
7441
- _context35.next = 39;
7507
+ case 37:
7508
+ _context35.next = 40;
7442
7509
  break;
7443
- case 38:
7444
- throw _context35.t0;
7445
7510
  case 39:
7511
+ throw _context35.t0;
7512
+ case 40:
7513
+ _loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connected, finalizing..."));
7446
7514
  if (!this.mediaProperties.hasLocalShareStream()) {
7447
- _context35.next = 42;
7515
+ _context35.next = 44;
7448
7516
  break;
7449
7517
  }
7450
- _context35.next = 42;
7451
- return this.enqueueScreenShareFloorRequest();
7452
- case 42:
7453
7518
  _context35.next = 44;
7454
- return this.mediaProperties.getCurrentConnectionInfo();
7519
+ return this.enqueueScreenShareFloorRequest();
7455
7520
  case 44:
7521
+ _context35.next = 46;
7522
+ return this.mediaProperties.getCurrentConnectionInfo();
7523
+ case 46:
7456
7524
  _yield$this$mediaProp = _context35.sent;
7457
7525
  connectionType = _yield$this$mediaProp.connectionType;
7458
7526
  selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
7459
7527
  numTransports = _yield$this$mediaProp.numTransports;
7460
- _context35.next = 50;
7528
+ _context35.next = 52;
7461
7529
  return this.webex.meetings.reachability.getReachabilityMetrics();
7462
- case 50:
7530
+ case 52:
7463
7531
  reachabilityStats = _context35.sent;
7464
7532
  iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
7465
7533
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
@@ -7486,21 +7554,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7486
7554
  // We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
7487
7555
  (_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
7488
7556
  this.startPeriodicLogUpload();
7489
- _context35.next = 77;
7557
+ _context35.next = 79;
7490
7558
  break;
7491
- case 59:
7492
- _context35.prev = 59;
7493
- _context35.t1 = _context35["catch"](18);
7559
+ case 61:
7560
+ _context35.prev = 61;
7561
+ _context35.t1 = _context35["catch"](19);
7494
7562
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context35.t1);
7495
7563
 
7496
7564
  // @ts-ignore
7497
- _context35.next = 64;
7565
+ _context35.next = 66;
7498
7566
  return this.webex.meetings.reachability.getReachabilityMetrics();
7499
- case 64:
7567
+ case 66:
7500
7568
  reachabilityMetrics = _context35.sent;
7501
- _context35.next = 67;
7569
+ _context35.next = 69;
7502
7570
  return this.mediaProperties.getCurrentConnectionInfo();
7503
- case 67:
7571
+ case 69:
7504
7572
  _yield$this$mediaProp2 = _context35.sent;
7505
7573
  _selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
7506
7574
  _numTransports = _yield$this$mediaProp2.numTransports;
@@ -7524,9 +7592,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7524
7592
  }, reachabilityMetrics), _iceCandidateErrors), {}, {
7525
7593
  iceCandidatesCount: this.iceCandidatesCount
7526
7594
  }));
7527
- _context35.next = 74;
7595
+ _context35.next = 76;
7528
7596
  return this.cleanUpOnAddMediaFailure();
7529
- case 74:
7597
+ case 76:
7530
7598
  // Upload logs on error while adding media
7531
7599
  _triggerProxy.default.trigger(this, {
7532
7600
  file: 'meeting/index',
@@ -7538,15 +7606,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7538
7606
  });
7539
7607
  }
7540
7608
  throw _context35.t1;
7541
- case 77:
7542
- _context35.prev = 77;
7609
+ case 79:
7610
+ _context35.prev = 79;
7543
7611
  this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
7544
- return _context35.finish(77);
7545
- case 80:
7612
+ return _context35.finish(79);
7613
+ case 82:
7546
7614
  case "end":
7547
7615
  return _context35.stop();
7548
7616
  }
7549
- }, _callee35, this, [[18, 59, 77, 80], [23, 28]]);
7617
+ }, _callee35, this, [[19, 61, 79, 82], [24, 29]]);
7550
7618
  }));
7551
7619
  function addMediaInternal(_x33, _x34, _x35) {
7552
7620
  return _addMediaInternal.apply(this, arguments);