@webex/plugin-meetings 3.10.0-next.3 → 3.10.0-next.30

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 (274) hide show
  1. package/dist/annotation/annotation.types.js.map +1 -1
  2. package/dist/annotation/constants.js.map +1 -1
  3. package/dist/annotation/index.js +19 -22
  4. package/dist/annotation/index.js.map +1 -1
  5. package/dist/breakouts/breakout.js +6 -6
  6. package/dist/breakouts/breakout.js.map +1 -1
  7. package/dist/breakouts/collection.js.map +1 -1
  8. package/dist/breakouts/edit-lock-error.js +9 -11
  9. package/dist/breakouts/edit-lock-error.js.map +1 -1
  10. package/dist/breakouts/events.js.map +1 -1
  11. package/dist/breakouts/index.js +126 -127
  12. package/dist/breakouts/index.js.map +1 -1
  13. package/dist/breakouts/request.js +6 -8
  14. package/dist/breakouts/request.js.map +1 -1
  15. package/dist/breakouts/utils.js.map +1 -1
  16. package/dist/common/browser-detection.js.map +1 -1
  17. package/dist/common/collection.js +1 -2
  18. package/dist/common/collection.js.map +1 -1
  19. package/dist/common/config.js.map +1 -1
  20. package/dist/common/errors/captcha-error.js +9 -11
  21. package/dist/common/errors/captcha-error.js.map +1 -1
  22. package/dist/common/errors/intent-to-join.js +10 -12
  23. package/dist/common/errors/intent-to-join.js.map +1 -1
  24. package/dist/common/errors/join-forbidden-error.js +10 -12
  25. package/dist/common/errors/join-forbidden-error.js.map +1 -1
  26. package/dist/common/errors/join-meeting.js +10 -12
  27. package/dist/common/errors/join-meeting.js.map +1 -1
  28. package/dist/common/errors/join-webinar-error.js +9 -11
  29. package/dist/common/errors/join-webinar-error.js.map +1 -1
  30. package/dist/common/errors/media.js +9 -11
  31. package/dist/common/errors/media.js.map +1 -1
  32. package/dist/common/errors/multistream-not-supported-error.js +9 -11
  33. package/dist/common/errors/multistream-not-supported-error.js.map +1 -1
  34. package/dist/common/errors/no-meeting-info.js +9 -11
  35. package/dist/common/errors/no-meeting-info.js.map +1 -1
  36. package/dist/common/errors/parameter.js +11 -14
  37. package/dist/common/errors/parameter.js.map +1 -1
  38. package/dist/common/errors/password-error.js +9 -11
  39. package/dist/common/errors/password-error.js.map +1 -1
  40. package/dist/common/errors/permission.js +9 -11
  41. package/dist/common/errors/permission.js.map +1 -1
  42. package/dist/common/errors/reclaim-host-role-errors.js +32 -38
  43. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -1
  44. package/dist/common/errors/reconnection-not-started.js +5 -6
  45. package/dist/common/errors/reconnection-not-started.js.map +1 -1
  46. package/dist/common/errors/reconnection.js +9 -11
  47. package/dist/common/errors/reconnection.js.map +1 -1
  48. package/dist/common/errors/stats.js +9 -11
  49. package/dist/common/errors/stats.js.map +1 -1
  50. package/dist/common/errors/webex-errors.js +20 -29
  51. package/dist/common/errors/webex-errors.js.map +1 -1
  52. package/dist/common/errors/webex-meetings-error.js +9 -12
  53. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  54. package/dist/common/events/events-scope.js +9 -10
  55. package/dist/common/events/events-scope.js.map +1 -1
  56. package/dist/common/events/events.js +9 -10
  57. package/dist/common/events/events.js.map +1 -1
  58. package/dist/common/events/trigger-proxy.js.map +1 -1
  59. package/dist/common/events/util.js.map +1 -1
  60. package/dist/common/logs/logger-config.js.map +1 -1
  61. package/dist/common/logs/logger-proxy.js.map +1 -1
  62. package/dist/common/logs/request.js +17 -17
  63. package/dist/common/logs/request.js.map +1 -1
  64. package/dist/common/queue.js +1 -2
  65. package/dist/common/queue.js.map +1 -1
  66. package/dist/config.js +2 -2
  67. package/dist/config.js.map +1 -1
  68. package/dist/constants.js +11 -8
  69. package/dist/constants.js.map +1 -1
  70. package/dist/controls-options-manager/constants.js.map +1 -1
  71. package/dist/controls-options-manager/enums.js.map +1 -1
  72. package/dist/controls-options-manager/index.js +1 -2
  73. package/dist/controls-options-manager/index.js.map +1 -1
  74. package/dist/controls-options-manager/types.js.map +1 -1
  75. package/dist/controls-options-manager/util.js +1 -2
  76. package/dist/controls-options-manager/util.js.map +1 -1
  77. package/dist/hashTree/constants.js +20 -0
  78. package/dist/hashTree/constants.js.map +1 -0
  79. package/dist/hashTree/hashTree.js +515 -0
  80. package/dist/hashTree/hashTree.js.map +1 -0
  81. package/dist/hashTree/hashTreeParser.js +1250 -0
  82. package/dist/hashTree/hashTreeParser.js.map +1 -0
  83. package/dist/hashTree/types.js +23 -0
  84. package/dist/hashTree/types.js.map +1 -0
  85. package/dist/hashTree/utils.js +59 -0
  86. package/dist/hashTree/utils.js.map +1 -0
  87. package/dist/index.js +1 -2
  88. package/dist/index.js.map +1 -1
  89. package/dist/interceptors/index.js.map +1 -1
  90. package/dist/interceptors/locusRetry.js +6 -8
  91. package/dist/interceptors/locusRetry.js.map +1 -1
  92. package/dist/interceptors/locusRouteToken.js +26 -12
  93. package/dist/interceptors/locusRouteToken.js.map +1 -1
  94. package/dist/interpretation/collection.js.map +1 -1
  95. package/dist/interpretation/index.js +1 -2
  96. package/dist/interpretation/index.js.map +1 -1
  97. package/dist/interpretation/siLanguage.js +1 -1
  98. package/dist/interpretation/siLanguage.js.map +1 -1
  99. package/dist/locus-info/controlsUtils.js.map +1 -1
  100. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  101. package/dist/locus-info/fullState.js.map +1 -1
  102. package/dist/locus-info/hostUtils.js.map +1 -1
  103. package/dist/locus-info/index.js +609 -177
  104. package/dist/locus-info/index.js.map +1 -1
  105. package/dist/locus-info/infoUtils.js.map +1 -1
  106. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  107. package/dist/locus-info/parser.js +3 -4
  108. package/dist/locus-info/parser.js.map +1 -1
  109. package/dist/locus-info/selfUtils.js.map +1 -1
  110. package/dist/locus-info/types.js +7 -0
  111. package/dist/locus-info/types.js.map +1 -0
  112. package/dist/media/MediaConnectionAwaiter.js +1 -2
  113. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  114. package/dist/media/index.js +0 -2
  115. package/dist/media/index.js.map +1 -1
  116. package/dist/media/properties.js +15 -17
  117. package/dist/media/properties.js.map +1 -1
  118. package/dist/media/util.js.map +1 -1
  119. package/dist/meeting/brbState.js +8 -9
  120. package/dist/meeting/brbState.js.map +1 -1
  121. package/dist/meeting/connectionStateHandler.js +10 -13
  122. package/dist/meeting/connectionStateHandler.js.map +1 -1
  123. package/dist/meeting/in-meeting-actions.js.map +1 -1
  124. package/dist/meeting/index.js +1576 -1533
  125. package/dist/meeting/index.js.map +1 -1
  126. package/dist/meeting/locusMediaRequest.js +13 -17
  127. package/dist/meeting/locusMediaRequest.js.map +1 -1
  128. package/dist/meeting/muteState.js +11 -12
  129. package/dist/meeting/muteState.js.map +1 -1
  130. package/dist/meeting/request.js +101 -104
  131. package/dist/meeting/request.js.map +1 -1
  132. package/dist/meeting/request.type.js.map +1 -1
  133. package/dist/meeting/state.js.map +1 -1
  134. package/dist/meeting/type.js.map +1 -1
  135. package/dist/meeting/util.js +24 -23
  136. package/dist/meeting/util.js.map +1 -1
  137. package/dist/meeting/voicea-meeting.js +3 -3
  138. package/dist/meeting/voicea-meeting.js.map +1 -1
  139. package/dist/meeting-info/collection.js +7 -10
  140. package/dist/meeting-info/collection.js.map +1 -1
  141. package/dist/meeting-info/index.js +1 -2
  142. package/dist/meeting-info/index.js.map +1 -1
  143. package/dist/meeting-info/meeting-info-v2.js +135 -146
  144. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  145. package/dist/meeting-info/request.js +1 -2
  146. package/dist/meeting-info/request.js.map +1 -1
  147. package/dist/meeting-info/util.js +36 -37
  148. package/dist/meeting-info/util.js.map +1 -1
  149. package/dist/meeting-info/utilv2.js +30 -31
  150. package/dist/meeting-info/utilv2.js.map +1 -1
  151. package/dist/meetings/collection.js +6 -8
  152. package/dist/meetings/collection.js.map +1 -1
  153. package/dist/meetings/index.js +200 -148
  154. package/dist/meetings/index.js.map +1 -1
  155. package/dist/meetings/meetings.types.js.map +1 -1
  156. package/dist/meetings/request.js +6 -8
  157. package/dist/meetings/request.js.map +1 -1
  158. package/dist/meetings/util.js +36 -30
  159. package/dist/meetings/util.js.map +1 -1
  160. package/dist/member/index.js +1 -2
  161. package/dist/member/index.js.map +1 -1
  162. package/dist/member/types.js +6 -3
  163. package/dist/member/types.js.map +1 -1
  164. package/dist/member/util.js.map +1 -1
  165. package/dist/members/collection.js +1 -2
  166. package/dist/members/collection.js.map +1 -1
  167. package/dist/members/index.js +18 -21
  168. package/dist/members/index.js.map +1 -1
  169. package/dist/members/request.js +8 -11
  170. package/dist/members/request.js.map +1 -1
  171. package/dist/members/types.js.map +1 -1
  172. package/dist/members/util.js.map +1 -1
  173. package/dist/metrics/constants.js +3 -1
  174. package/dist/metrics/constants.js.map +1 -1
  175. package/dist/metrics/index.js +3 -4
  176. package/dist/metrics/index.js.map +1 -1
  177. package/dist/multistream/mediaRequestManager.js +1 -2
  178. package/dist/multistream/mediaRequestManager.js.map +1 -1
  179. package/dist/multistream/receiveSlot.js +34 -45
  180. package/dist/multistream/receiveSlot.js.map +1 -1
  181. package/dist/multistream/receiveSlotManager.js +8 -9
  182. package/dist/multistream/receiveSlotManager.js.map +1 -1
  183. package/dist/multistream/remoteMedia.js +12 -15
  184. package/dist/multistream/remoteMedia.js.map +1 -1
  185. package/dist/multistream/remoteMediaGroup.js +1 -2
  186. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  187. package/dist/multistream/remoteMediaManager.js +122 -123
  188. package/dist/multistream/remoteMediaManager.js.map +1 -1
  189. package/dist/multistream/sendSlotManager.js +29 -30
  190. package/dist/multistream/sendSlotManager.js.map +1 -1
  191. package/dist/personal-meeting-room/index.js +16 -19
  192. package/dist/personal-meeting-room/index.js.map +1 -1
  193. package/dist/personal-meeting-room/request.js +7 -10
  194. package/dist/personal-meeting-room/request.js.map +1 -1
  195. package/dist/personal-meeting-room/util.js.map +1 -1
  196. package/dist/reachability/clusterReachability.js +188 -352
  197. package/dist/reachability/clusterReachability.js.map +1 -1
  198. package/dist/reachability/index.js +206 -206
  199. package/dist/reachability/index.js.map +1 -1
  200. package/dist/reachability/reachability.types.js +14 -1
  201. package/dist/reachability/reachability.types.js.map +1 -1
  202. package/dist/reachability/reachabilityPeerConnection.js +445 -0
  203. package/dist/reachability/reachabilityPeerConnection.js.map +1 -0
  204. package/dist/reachability/request.js.map +1 -1
  205. package/dist/reachability/util.js.map +1 -1
  206. package/dist/reactions/constants.js.map +1 -1
  207. package/dist/reactions/reactions.js.map +1 -1
  208. package/dist/reactions/reactions.type.js.map +1 -1
  209. package/dist/reconnection-manager/index.js +178 -176
  210. package/dist/reconnection-manager/index.js.map +1 -1
  211. package/dist/recording-controller/enums.js.map +1 -1
  212. package/dist/recording-controller/index.js +1 -2
  213. package/dist/recording-controller/index.js.map +1 -1
  214. package/dist/recording-controller/util.js.map +1 -1
  215. package/dist/roap/index.js +12 -15
  216. package/dist/roap/index.js.map +1 -1
  217. package/dist/roap/request.js +24 -26
  218. package/dist/roap/request.js.map +1 -1
  219. package/dist/roap/turnDiscovery.js +75 -76
  220. package/dist/roap/turnDiscovery.js.map +1 -1
  221. package/dist/roap/types.js.map +1 -1
  222. package/dist/transcription/index.js +4 -5
  223. package/dist/transcription/index.js.map +1 -1
  224. package/dist/types/config.d.ts +1 -0
  225. package/dist/types/constants.d.ts +26 -21
  226. package/dist/types/hashTree/constants.d.ts +8 -0
  227. package/dist/types/hashTree/hashTree.d.ts +129 -0
  228. package/dist/types/hashTree/hashTreeParser.d.ts +250 -0
  229. package/dist/types/hashTree/types.d.ts +33 -0
  230. package/dist/types/hashTree/utils.d.ts +16 -0
  231. package/dist/types/interceptors/locusRouteToken.d.ts +1 -0
  232. package/dist/types/locus-info/index.d.ts +98 -80
  233. package/dist/types/locus-info/types.d.ts +54 -0
  234. package/dist/types/meeting/index.d.ts +22 -9
  235. package/dist/types/meetings/index.d.ts +9 -2
  236. package/dist/types/metrics/constants.d.ts +2 -0
  237. package/dist/types/reachability/clusterReachability.d.ts +33 -84
  238. package/dist/types/reachability/reachability.types.d.ts +12 -1
  239. package/dist/types/reachability/reachabilityPeerConnection.d.ts +111 -0
  240. package/dist/webinar/collection.js +1 -2
  241. package/dist/webinar/collection.js.map +1 -1
  242. package/dist/webinar/index.js +148 -158
  243. package/dist/webinar/index.js.map +1 -1
  244. package/package.json +23 -22
  245. package/src/config.ts +1 -0
  246. package/src/constants.ts +13 -1
  247. package/src/hashTree/constants.ts +9 -0
  248. package/src/hashTree/hashTree.ts +463 -0
  249. package/src/hashTree/hashTreeParser.ts +1143 -0
  250. package/src/hashTree/types.ts +39 -0
  251. package/src/hashTree/utils.ts +53 -0
  252. package/src/interceptors/locusRouteToken.ts +16 -4
  253. package/src/locus-info/index.ts +625 -164
  254. package/src/locus-info/types.ts +53 -0
  255. package/src/meeting/index.ts +78 -27
  256. package/src/meeting/util.ts +1 -0
  257. package/src/meetings/index.ts +119 -59
  258. package/src/meetings/util.ts +10 -9
  259. package/src/metrics/constants.ts +2 -0
  260. package/src/reachability/clusterReachability.ts +159 -330
  261. package/src/reachability/index.ts +6 -1
  262. package/src/reachability/reachability.types.ts +15 -1
  263. package/src/reachability/reachabilityPeerConnection.ts +418 -0
  264. package/test/unit/spec/hashTree/hashTree.ts +655 -0
  265. package/test/unit/spec/hashTree/hashTreeParser.ts +1524 -0
  266. package/test/unit/spec/hashTree/utils.ts +140 -0
  267. package/test/unit/spec/interceptors/locusRouteToken.ts +27 -0
  268. package/test/unit/spec/locus-info/index.js +851 -16
  269. package/test/unit/spec/meeting/index.js +120 -20
  270. package/test/unit/spec/meeting/utils.js +77 -0
  271. package/test/unit/spec/meetings/index.js +263 -27
  272. package/test/unit/spec/meetings/utils.js +51 -1
  273. package/test/unit/spec/reachability/clusterReachability.ts +404 -137
  274. package/test/unit/spec/reachability/index.ts +3 -3
@@ -22,10 +22,9 @@ var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/obj
22
22
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
23
23
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
24
24
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
25
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
26
- var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
27
25
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
28
26
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
27
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
29
28
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
30
29
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
31
30
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
@@ -63,18 +62,18 @@ var _joinWebinarError = _interopRequireDefault(require("../common/errors/join-we
63
62
  var _webexErrors = require("../common/errors/webex-errors");
64
63
  var _noMeetingInfo = _interopRequireDefault(require("../common/errors/no-meeting-info"));
65
64
  var _joinForbiddenError = _interopRequireDefault(require("../common/errors/join-forbidden-error"));
66
- function _getRequireWildcardCache(e) { if ("function" != typeof _WeakMap) return null; var r = new _WeakMap(), t = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
67
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
65
+ var _utils = require("../hashTree/utils");
66
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t3 in e) "default" !== _t3 && {}.hasOwnProperty.call(e, _t3) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t3)) && (i.get || i.set) ? o(f, _t3, i) : f[_t3] = e[_t3]); return f; })(e, t); }
68
67
  function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
69
68
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
70
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
71
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* eslint no-shadow: ["error", { "allow": ["eventType"] }] */ // @ts-ignore
69
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
70
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint no-shadow: ["error", { "allow": ["eventType"] }] */ // @ts-ignore
72
71
  var mediaLogger;
73
72
  var MediaLogger = /*#__PURE__*/function () {
74
73
  function MediaLogger() {
75
74
  (0, _classCallCheck2.default)(this, MediaLogger);
76
75
  }
77
- (0, _createClass2.default)(MediaLogger, [{
76
+ return (0, _createClass2.default)(MediaLogger, [{
78
77
  key: "info",
79
78
  value: function info() {
80
79
  var _LoggerProxy$logger;
@@ -111,7 +110,6 @@ var MediaLogger = /*#__PURE__*/function () {
111
110
  (_LoggerProxy$logger6 = _loggerProxy.default.logger).debug.apply(_LoggerProxy$logger6, arguments);
112
111
  }
113
112
  }]);
114
- return MediaLogger;
115
113
  }();
116
114
  /**
117
115
  * Meetings Ready Event
@@ -165,8 +163,6 @@ var MediaLogger = /*#__PURE__*/function () {
165
163
  * @class
166
164
  */
167
165
  var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
168
- (0, _inherits2.default)(Meetings, _WebexPlugin);
169
- var _super = _createSuper(Meetings);
170
166
  /**
171
167
  * Initializes the Meetings Plugin
172
168
  * @constructor
@@ -179,7 +175,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
179
175
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
180
176
  args[_key] = arguments[_key];
181
177
  }
182
- _this = _super.call.apply(_super, [this].concat(args));
178
+ _this = _callSuper(this, Meetings, [].concat(args));
183
179
 
184
180
  /**
185
181
  * The webrtc-core media helpers. This is a temporary solution required for the SDK sample app
@@ -190,21 +186,21 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
190
186
  * @private
191
187
  * @memberof Meetings
192
188
  */
193
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loggerRequest", void 0);
194
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "media", void 0);
195
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingCollection", void 0);
196
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "deletedMeetings", void 0);
197
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "personalMeetingRoom", void 0);
198
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "preferredWebexSite", void 0);
199
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "reachability", void 0);
200
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registered", void 0);
201
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "request", void 0);
202
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "geoHintInfo", void 0);
203
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingInfo", void 0);
204
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaHelpers", void 0);
205
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "breakoutLocusForHandleLater", void 0);
206
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
207
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registrationStatus", void 0);
189
+ (0, _defineProperty2.default)(_this, "loggerRequest", void 0);
190
+ (0, _defineProperty2.default)(_this, "media", void 0);
191
+ (0, _defineProperty2.default)(_this, "meetingCollection", void 0);
192
+ (0, _defineProperty2.default)(_this, "deletedMeetings", void 0);
193
+ (0, _defineProperty2.default)(_this, "personalMeetingRoom", void 0);
194
+ (0, _defineProperty2.default)(_this, "preferredWebexSite", void 0);
195
+ (0, _defineProperty2.default)(_this, "reachability", void 0);
196
+ (0, _defineProperty2.default)(_this, "registered", void 0);
197
+ (0, _defineProperty2.default)(_this, "request", void 0);
198
+ (0, _defineProperty2.default)(_this, "geoHintInfo", void 0);
199
+ (0, _defineProperty2.default)(_this, "meetingInfo", void 0);
200
+ (0, _defineProperty2.default)(_this, "mediaHelpers", void 0);
201
+ (0, _defineProperty2.default)(_this, "breakoutLocusForHandleLater", void 0);
202
+ (0, _defineProperty2.default)(_this, "namespace", _constants.MEETINGS);
203
+ (0, _defineProperty2.default)(_this, "registrationStatus", void 0);
208
204
  /**
209
205
  * Creates a noise reduction effect
210
206
  *
@@ -213,10 +209,10 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
213
209
  * @public
214
210
  * @memberof Meetings
215
211
  */
216
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createNoiseReductionEffect", /*#__PURE__*/function () {
217
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
212
+ (0, _defineProperty2.default)(_this, "createNoiseReductionEffect", /*#__PURE__*/function () {
213
+ var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(options) {
218
214
  var authToken;
219
- return _regenerator.default.wrap(function _callee$(_context) {
215
+ return _regenerator.default.wrap(function (_context) {
220
216
  while (1) switch (_context.prev = _context.next) {
221
217
  case 0:
222
218
  // @ts-ignore
@@ -224,7 +220,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
224
220
  return _context.abrupt("return", new mediaHelpersModule.NoiseReductionEffect(_objectSpread({
225
221
  authToken: authToken
226
222
  }, options)));
227
- case 2:
223
+ case 1:
228
224
  case "end":
229
225
  return _context.stop();
230
226
  }
@@ -242,10 +238,10 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
242
238
  * @public
243
239
  * @memberof Meetings
244
240
  */
245
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createVirtualBackgroundEffect", /*#__PURE__*/function () {
246
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
241
+ (0, _defineProperty2.default)(_this, "createVirtualBackgroundEffect", /*#__PURE__*/function () {
242
+ var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
247
243
  var authToken;
248
- return _regenerator.default.wrap(function _callee2$(_context2) {
244
+ return _regenerator.default.wrap(function (_context2) {
249
245
  while (1) switch (_context2.prev = _context2.next) {
250
246
  case 0:
251
247
  // @ts-ignore
@@ -253,7 +249,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
253
249
  return _context2.abrupt("return", new mediaHelpersModule.VirtualBackgroundEffect(_objectSpread({
254
250
  authToken: authToken
255
251
  }, options)));
256
- case 2:
252
+ case 1:
257
253
  case "end":
258
254
  return _context2.stop();
259
255
  }
@@ -351,7 +347,8 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
351
347
  * @private
352
348
  * @memberof Meetings
353
349
  */
354
- (0, _createClass2.default)(Meetings, [{
350
+ (0, _inherits2.default)(Meetings, _WebexPlugin);
351
+ return (0, _createClass2.default)(Meetings, [{
355
352
  key: "isNeedHandleMainLocus",
356
353
  value: function isNeedHandleMainLocus(meeting, newLocus) {
357
354
  var _newLocus$controls, _newLocus$controls$br, _newLocus$self, _newLocus$self2, _newLocus$self3, _breakoutLocus$joined, _newLocus$self4;
@@ -439,15 +436,32 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
439
436
  }, {
440
437
  key: "getCorrespondingMeetingByLocus",
441
438
  value: function getCorrespondingMeetingByLocus(data) {
442
- var _data$locus$info, _data$locus, _data$locus$info2;
443
- // getting meeting by correlationId. This will happen for the new event
444
- // Either the locus
445
- // TODO : Add check for the callBack Address
446
- return this.meetingCollection.getByKey(_meetings.MEETING_KEY.LOCUS_URL, data.locusUrl) ||
447
- // @ts-ignore
448
- this.meetingCollection.getByKey(_meetings.MEETING_KEY.CORRELATION_ID,
449
- // @ts-ignore
450
- _util2.default.checkForCorrelationId(this.webex.internal.device.url, data.locus)) || this.meetingCollection.getByKey(_meetings.MEETING_KEY.SIP_URI, data.locus.self && data.locus.self.callbackInfo && data.locus.self.callbackInfo.callbackAddress) || ((_data$locus$info = data.locus.info) !== null && _data$locus$info !== void 0 && _data$locus$info.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(_meetings.MEETING_KEY.CONVERSATION_URL, data.locus.conversationUrl)) || this.meetingCollection.getByKey(_meetings.MEETING_KEY.MEETINGNUMBER, (_data$locus = data.locus) === null || _data$locus === void 0 ? void 0 : (_data$locus$info2 = _data$locus.info) === null || _data$locus$info2 === void 0 ? void 0 : _data$locus$info2.webExMeetingId);
439
+ var _data$stateElementsMe, _data$stateElementsMe2, _data$stateElementsMe3, _data$stateElementsMe4, _data$locus, _self$callbackInfo, _data$locus2, _data$locus2$info, _data$locus3, _data$locus4, _data$locus4$info;
440
+ var locusUrl = ((_data$stateElementsMe = data.stateElementsMessage) === null || _data$stateElementsMe === void 0 ? void 0 : _data$stateElementsMe.locusUrl) ||
441
+ // hash tree event
442
+ data.locusUrl; // classic event
443
+
444
+ // first try to find by locusUrl - that's the simplest and quickest way
445
+ var existingMeeting = this.meetingCollection.getByKey(_meetings.MEETING_KEY.LOCUS_URL, locusUrl);
446
+ if (existingMeeting) {
447
+ return existingMeeting;
448
+ }
449
+
450
+ // if that didn't work, fallback to other fields like correlationId, sipUri, etc
451
+
452
+ // If the event is a hash tree event, we need to extract "self" object from it
453
+ // We don't care about the version, just need to find the meeting this event is for,
454
+ // so any hash tree object of type "self" will do
455
+ var hashTreeEventSelf = (_data$stateElementsMe2 = data.stateElementsMessage) === null || _data$stateElementsMe2 === void 0 ? void 0 : (_data$stateElementsMe3 = _data$stateElementsMe2.locusStateElements) === null || _data$stateElementsMe3 === void 0 ? void 0 : (_data$stateElementsMe4 = _data$stateElementsMe3.find(function (obj) {
456
+ return (0, _utils.isSelf)(obj);
457
+ })) === null || _data$stateElementsMe4 === void 0 ? void 0 : _data$stateElementsMe4.data;
458
+ var self = hashTreeEventSelf || ((_data$locus = data.locus) === null || _data$locus === void 0 ? void 0 : _data$locus.self);
459
+ return (
460
+ // @ts-ignore
461
+ this.meetingCollection.getByKey(_meetings.MEETING_KEY.CORRELATION_ID,
462
+ // @ts-ignore
463
+ _util2.default.getCorrelationIdForDevice(this.webex.internal.device.url, self)) || this.meetingCollection.getByKey(_meetings.MEETING_KEY.SIP_URI, self === null || self === void 0 ? void 0 : (_self$callbackInfo = self.callbackInfo) === null || _self$callbackInfo === void 0 ? void 0 : _self$callbackInfo.callbackAddress) || ((_data$locus2 = data.locus) !== null && _data$locus2 !== void 0 && (_data$locus2$info = _data$locus2.info) !== null && _data$locus2$info !== void 0 && _data$locus2$info.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(_meetings.MEETING_KEY.CONVERSATION_URL, (_data$locus3 = data.locus) === null || _data$locus3 === void 0 ? void 0 : _data$locus3.conversationUrl)) || this.meetingCollection.getByKey(_meetings.MEETING_KEY.MEETINGNUMBER, (_data$locus4 = data.locus) === null || _data$locus4 === void 0 ? void 0 : (_data$locus4$info = _data$locus4.info) === null || _data$locus4$info === void 0 ? void 0 : _data$locus4$info.webExMeetingId)
464
+ );
451
465
  }
452
466
 
453
467
  /**
@@ -464,25 +478,26 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
464
478
  }, {
465
479
  key: "handleLocusEvent",
466
480
  value: function handleLocusEvent(data) {
467
- var _data$locus2,
468
- _data$locus2$replaces,
469
- _this2 = this;
481
+ var _this2 = this;
470
482
  var useRandomDelayForInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
471
483
  var meeting = this.getCorrespondingMeetingByLocus(data);
472
484
 
473
485
  // Special case when locus has got replaced, This only happend once if a replace locus exists
474
486
  // https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-changing-mid-call
475
487
 
476
- if (!meeting && ((_data$locus2 = data.locus) === null || _data$locus2 === void 0 ? void 0 : (_data$locus2$replaces = _data$locus2.replaces) === null || _data$locus2$replaces === void 0 ? void 0 : _data$locus2$replaces.length) > 0) {
477
- // Always the last element in the replace is the active one
478
- meeting = this.meetingCollection.getByKey(_meetings.MEETING_KEY.LOCUS_URL, data.locus.replaces[data.locus.replaces.length - 1].locusUrl);
479
- }
480
- if (meeting && !_util2.default.isBreakoutLocusDTO(data.locus)) {
481
- meeting.locusInfo.updateMainSessionLocusCache(data.locus);
482
- }
483
- if (!this.isNeedHandleLocusDTO(meeting, data.locus)) {
484
- _loggerProxy.default.logger.log("Meetings:index#handleLocusEvent --> doesn't need to process locus event");
485
- return;
488
+ if (data.eventType !== _constants.LOCUSEVENT.HASH_TREE_DATA_UPDATED) {
489
+ var _data$locus5, _data$locus5$replaces;
490
+ if (!meeting && ((_data$locus5 = data.locus) === null || _data$locus5 === void 0 ? void 0 : (_data$locus5$replaces = _data$locus5.replaces) === null || _data$locus5$replaces === void 0 ? void 0 : _data$locus5$replaces.length) > 0) {
491
+ // Always the last element in the replace is the active one
492
+ meeting = this.meetingCollection.getByKey(_meetings.MEETING_KEY.LOCUS_URL, data.locus.replaces[data.locus.replaces.length - 1].locusUrl);
493
+ }
494
+ if (meeting && !_util2.default.isBreakoutLocusDTO(data.locus)) {
495
+ meeting.locusInfo.updateMainSessionLocusCache(data.locus);
496
+ }
497
+ if (!this.isNeedHandleLocusDTO(meeting, data.locus)) {
498
+ _loggerProxy.default.logger.log("Meetings:index#handleLocusEvent --> doesn't need to process locus event");
499
+ return;
500
+ }
486
501
  }
487
502
  if (!meeting) {
488
503
  // TODO: create meeting when we get a meeting object
@@ -504,27 +519,61 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
504
519
  // };
505
520
  // rather then locus object change to locus url
506
521
 
507
- if (data.locus && data.locus.fullState && data.locus.fullState.state === _constants.LOCUS.STATE.INACTIVE) {
508
- // just ignore the event as its already ended and not active
509
- _loggerProxy.default.logger.warn('Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.');
510
- return;
511
- }
522
+ if (data.eventType !== _constants.LOCUSEVENT.HASH_TREE_DATA_UPDATED) {
523
+ if (data.locus && data.locus.fullState && data.locus.fullState.state === _constants.LOCUS.STATE.INACTIVE) {
524
+ // just ignore the event as its already ended and not active
525
+ _loggerProxy.default.logger.warn('Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.');
526
+ return;
527
+ }
512
528
 
513
- // When its wireless share or guest and user leaves the meeting we dont have to keep the meeting object
514
- // Any future events will be neglected
529
+ // When its wireless share or guest and user leaves the meeting we dont have to keep the meeting object
530
+ // Any future events will be neglected
515
531
 
516
- if (data.locus && data.locus.self && data.locus.self.state === _constants._LEFT_ && data.locus.self.removed === true) {
517
- // just ignore the event as its already ended and not active
518
- _loggerProxy.default.logger.warn('Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.');
519
- return;
532
+ if (data.locus && data.locus.self && data.locus.self.state === _constants._LEFT_ && data.locus.self.removed === true) {
533
+ // just ignore the event as its already ended and not active
534
+ _loggerProxy.default.logger.warn('Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.');
535
+ return;
536
+ }
520
537
  }
521
- this.create(data.locus, _constants.DESTINATION_TYPE.LOCUS_ID, useRandomDelayForInfo).then(function (newMeeting) {
522
- meeting = newMeeting;
523
-
524
- // It's a new meeting so initialize the locus data
525
- meeting.locusInfo.initialSetup(data.locus);
526
- _this2.checkHandleBreakoutLocus(data.locus);
527
- }).catch(function (e) {
538
+ if (data.eventType === _constants.LOCUSEVENT.HASH_TREE_DATA_UPDATED) {
539
+ // in hash tree messages we don't ge the locus object, but the meeting constructor needs at least locus.url
540
+ (0, _lodash.set)(data, 'locus.url', data.stateElementsMessage.locusUrl);
541
+ }
542
+ this.create(data.locus, _constants.DESTINATION_TYPE.LOCUS_ID, useRandomDelayForInfo).then(/*#__PURE__*/function () {
543
+ var _ref3 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(newMeeting) {
544
+ var _t;
545
+ return _regenerator.default.wrap(function (_context3) {
546
+ while (1) switch (_context3.prev = _context3.next) {
547
+ case 0:
548
+ meeting = newMeeting;
549
+ _context3.prev = 1;
550
+ _context3.next = 2;
551
+ return meeting.locusInfo.initialSetup({
552
+ trigger: data.eventType === _constants.LOCUSEVENT.SDK_LOCUS_FROM_SYNC_MEETINGS ? 'get-loci-response' : 'locus-message',
553
+ locus: data.locus,
554
+ hashTreeMessage: data.stateElementsMessage
555
+ });
556
+ case 2:
557
+ _context3.next = 4;
558
+ break;
559
+ case 3:
560
+ _context3.prev = 3;
561
+ _t = _context3["catch"](1);
562
+ _loggerProxy.default.logger.warn("Meetings:index#handleLocusEvent --> Error initializing locus data: ".concat(_t.message));
563
+ // @ts-ignore
564
+ _this2.destroy(meeting, _constants.MEETING_REMOVED_REASON.LOCUS_DTO_SYNC_FAILED);
565
+ case 4:
566
+ _this2.checkHandleBreakoutLocus(data.locus);
567
+ case 5:
568
+ case "end":
569
+ return _context3.stop();
570
+ }
571
+ }, _callee3, null, [[1, 3]]);
572
+ }));
573
+ return function (_x3) {
574
+ return _ref3.apply(this, arguments);
575
+ };
576
+ }()).catch(function (e) {
528
577
  _loggerProxy.default.logger.error(e);
529
578
  }).finally(function () {
530
579
  // There will be cases where locus event comes in gets created and deleted because its a 1:1 and meeting gets deleted
@@ -936,7 +985,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
936
985
  _this6.webex.internal.device.register(deviceRegistrationOptions)
937
986
  // @ts-ignore
938
987
  .then(function () {
939
- _loggerProxy.default.logger.info( // @ts-ignore
988
+ _loggerProxy.default.logger.info(// @ts-ignore
940
989
  "Meetings:index#register --> INFO, Device registered ".concat(_this6.webex.internal.device.url));
941
990
  })
942
991
  );
@@ -1106,29 +1155,29 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1106
1155
  }, {
1107
1156
  key: "fetchUserPreferredWebexSite",
1108
1157
  value: function fetchUserPreferredWebexSite() {
1109
- var _this10 = this;
1158
+ var _this0 = this;
1110
1159
  // @ts-ignore
1111
1160
  return this.webex.people._getMe().then(function (me) {
1112
1161
  var isGuestUser = me.type === 'appuser';
1113
1162
  if (!isGuestUser) {
1114
- return _this10.request.getMeetingPreferences().then(function (res) {
1163
+ return _this0.request.getMeetingPreferences().then(function (res) {
1115
1164
  if (res) {
1116
1165
  var preferredWebexSite = _util2.default.parseDefaultSiteFromMeetingPreferences(res);
1117
- _this10.preferredWebexSite = preferredWebexSite;
1166
+ _this0.preferredWebexSite = preferredWebexSite;
1118
1167
  // @ts-ignore
1119
- _this10.webex.internal.services._getCatalog().addAllowedDomains([preferredWebexSite]);
1168
+ _this0.webex.internal.services._getCatalog().addAllowedDomains([preferredWebexSite]);
1120
1169
  }
1121
1170
 
1122
1171
  // fall back to getting the preferred site from the user information
1123
- if (!_this10.preferredWebexSite) {
1172
+ if (!_this0.preferredWebexSite) {
1124
1173
  // @ts-ignore
1125
- return _this10.webex.internal.user.get().then(function (user) {
1174
+ return _this0.webex.internal.user.get().then(function (user) {
1126
1175
  var _user$userPreferences, _user$userPreferences2;
1127
1176
  var preferredWebexSite = user === null || user === void 0 ? void 0 : (_user$userPreferences = user.userPreferences) === null || _user$userPreferences === void 0 ? void 0 : (_user$userPreferences2 = _user$userPreferences.userPreferencesItems) === null || _user$userPreferences2 === void 0 ? void 0 : _user$userPreferences2.preferredWebExSite;
1128
1177
  if (preferredWebexSite) {
1129
- _this10.preferredWebexSite = preferredWebexSite;
1178
+ _this0.preferredWebexSite = preferredWebexSite;
1130
1179
  // @ts-ignore
1131
- _this10.webex.internal.services._getCatalog().addAllowedDomains([preferredWebexSite]);
1180
+ _this0.webex.internal.services._getCatalog().addAllowedDomains([preferredWebexSite]);
1132
1181
  } else {
1133
1182
  throw new Error('site not found');
1134
1183
  }
@@ -1256,7 +1305,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1256
1305
  }, {
1257
1306
  key: "create",
1258
1307
  value: function create(destination) {
1259
- var _this11 = this;
1308
+ var _this1 = this;
1260
1309
  var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1261
1310
  var useRandomDelayForInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1262
1311
  var infoExtraParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
@@ -1297,7 +1346,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1297
1346
  // check for the conversation URL then sip Url
1298
1347
  var meeting = null;
1299
1348
  if (type === _constants.DESTINATION_TYPE.CONVERSATION_URL || options.type === _constants.DESTINATION_TYPE.CONVERSATION_URL) {
1300
- var foundMeeting = _this11.meetingCollection.getByKey(_meetings.MEETING_KEY.CONVERSATION_URL, targetDest);
1349
+ var foundMeeting = _this1.meetingCollection.getByKey(_meetings.MEETING_KEY.CONVERSATION_URL, targetDest);
1301
1350
  if (foundMeeting) {
1302
1351
  var foundMeetingIsNotCalendarMeeting = !foundMeeting.locusInfo.scheduledMeeting;
1303
1352
 
@@ -1311,21 +1360,21 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1311
1360
 
1312
1361
  // Attempt to collect the meeting if it exists.
1313
1362
  if (!meeting) {
1314
- meeting = _this11.meetingCollection.getByKey(_meetings.MEETING_KEY.SIP_URI, targetDest);
1363
+ meeting = _this1.meetingCollection.getByKey(_meetings.MEETING_KEY.SIP_URI, targetDest);
1315
1364
  }
1316
1365
 
1317
1366
  // Validate if a meeting was found.
1318
1367
  if (!meeting) {
1319
1368
  // Create a meeting based on the normalized destination and type.
1320
- return _this11.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams, callStateForMetrics, failOnMissingMeetingInfo, meetingInfo, meetingLookupUrl, classificationId).then(function (createdMeeting) {
1369
+ return _this1.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams, callStateForMetrics, failOnMissingMeetingInfo, meetingInfo, meetingLookupUrl, classificationId).then(function (createdMeeting) {
1321
1370
  // If the meeting was successfully created.
1322
1371
  if (createdMeeting && createdMeeting.on) {
1323
1372
  // Create a destruction event for the meeting.
1324
1373
  createdMeeting.on(_constants.EVENTS.DESTROY_MEETING, function (payload) {
1325
1374
  // @ts-ignore
1326
- if (_this11.config.autoUploadLogs) {
1375
+ if (_this1.config.autoUploadLogs) {
1327
1376
  var _createdMeeting$locus, _createdMeeting$locus2, _createdMeeting$locus3, _createdMeeting$locus4, _createdMeeting$locus5, _createdMeeting$locus6;
1328
- _this11.uploadLogs({
1377
+ _this1.uploadLogs({
1329
1378
  callStart: (_createdMeeting$locus = createdMeeting.locusInfo) === null || _createdMeeting$locus === void 0 ? void 0 : (_createdMeeting$locus2 = _createdMeeting$locus.fullState) === null || _createdMeeting$locus2 === void 0 ? void 0 : _createdMeeting$locus2.lastActive,
1330
1379
  locussessionid: (_createdMeeting$locus3 = createdMeeting.locusInfo) === null || _createdMeeting$locus3 === void 0 ? void 0 : (_createdMeeting$locus4 = _createdMeeting$locus3.fullState) === null || _createdMeeting$locus4 === void 0 ? void 0 : _createdMeeting$locus4.sessionId,
1331
1380
  correlationId: createdMeeting.correlationId,
@@ -1335,13 +1384,13 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1335
1384
  autoupload: true
1336
1385
  });
1337
1386
  }
1338
- _this11.destroy(createdMeeting, payload.reason);
1387
+ _this1.destroy(createdMeeting, payload.reason);
1339
1388
  });
1340
1389
  createdMeeting.on(_constants.EVENTS.REQUEST_UPLOAD_LOGS, function (meetingInstance) {
1341
1390
  // @ts-ignore
1342
- if (_this11.config.autoUploadLogs) {
1391
+ if (_this1.config.autoUploadLogs) {
1343
1392
  var _meetingInstance$locu, _meetingInstance$locu2, _meetingInstance$locu3, _meetingInstance$locu4, _meetingInstance$locu5, _meetingInstance$locu6;
1344
- _this11.uploadLogs({
1393
+ _this1.uploadLogs({
1345
1394
  callStart: meetingInstance === null || meetingInstance === void 0 ? void 0 : (_meetingInstance$locu = meetingInstance.locusInfo) === null || _meetingInstance$locu === void 0 ? void 0 : (_meetingInstance$locu2 = _meetingInstance$locu.fullState) === null || _meetingInstance$locu2 === void 0 ? void 0 : _meetingInstance$locu2.lastActive,
1346
1395
  locussessionid: meetingInstance === null || meetingInstance === void 0 ? void 0 : (_meetingInstance$locu3 = meetingInstance.locusInfo) === null || _meetingInstance$locu3 === void 0 ? void 0 : (_meetingInstance$locu4 = _meetingInstance$locu3.fullState) === null || _meetingInstance$locu4 === void 0 ? void 0 : _meetingInstance$locu4.sessionId,
1347
1396
  correlationId: meetingInstance.correlationId,
@@ -1428,8 +1477,8 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1428
1477
  }, {
1429
1478
  key: "createMeeting",
1430
1479
  value: (function () {
1431
- var _createMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(destination) {
1432
- var _this12 = this;
1480
+ var _createMeeting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(destination) {
1481
+ var _this10 = this;
1433
1482
  var type,
1434
1483
  useRandomDelayForInfo,
1435
1484
  infoExtraParams,
@@ -1450,18 +1499,19 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1450
1499
  enableUnifiedMeetings,
1451
1500
  meetingInfoOptions,
1452
1501
  meetingAddedType,
1453
- _args3 = arguments;
1454
- return _regenerator.default.wrap(function _callee3$(_context3) {
1455
- while (1) switch (_context3.prev = _context3.next) {
1502
+ _args4 = arguments,
1503
+ _t2;
1504
+ return _regenerator.default.wrap(function (_context4) {
1505
+ while (1) switch (_context4.prev = _context4.next) {
1456
1506
  case 0:
1457
- type = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null;
1458
- useRandomDelayForInfo = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : false;
1459
- infoExtraParams = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {};
1460
- callStateForMetrics = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : undefined;
1461
- failOnMissingMeetingInfo = _args3.length > 5 && _args3[5] !== undefined ? _args3[5] : false;
1462
- meetingInfo = _args3.length > 6 && _args3[6] !== undefined ? _args3[6] : undefined;
1463
- meetingLookupUrl = _args3.length > 7 && _args3[7] !== undefined ? _args3[7] : undefined;
1464
- classificationId = _args3.length > 8 && _args3[8] !== undefined ? _args3[8] : undefined;
1507
+ type = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : null;
1508
+ useRandomDelayForInfo = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : false;
1509
+ infoExtraParams = _args4.length > 3 && _args4[3] !== undefined ? _args4[3] : {};
1510
+ callStateForMetrics = _args4.length > 4 && _args4[4] !== undefined ? _args4[4] : undefined;
1511
+ failOnMissingMeetingInfo = _args4.length > 5 && _args4[5] !== undefined ? _args4[5] : false;
1512
+ meetingInfo = _args4.length > 6 && _args4[6] !== undefined ? _args4[6] : undefined;
1513
+ meetingLookupUrl = _args4.length > 7 && _args4[7] !== undefined ? _args4[7] : undefined;
1514
+ classificationId = _args4.length > 8 && _args4[8] !== undefined ? _args4[8] : undefined;
1465
1515
  meeting = new _meeting.default({
1466
1516
  // @ts-ignore
1467
1517
  userId: this.webex.internal.device.userId,
@@ -1479,9 +1529,9 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1479
1529
  // @ts-ignore
1480
1530
  parent: this.webex
1481
1531
  }, function (newMeeting) {
1482
- _this12.meetingCollection.set(newMeeting);
1532
+ _this10.meetingCollection.set(newMeeting);
1483
1533
  });
1484
- _context3.prev = 9;
1534
+ _context4.prev = 1;
1485
1535
  // if no participant has joined the scheduled meeting (meaning meeting is not active) and we get a locusEvent,
1486
1536
  // it means the meeting will start in 5-6 min. In that case, we want to fetchMeetingInfo
1487
1537
  // between 5 and 2 min (random between 3 minutes) before the meeting starts
@@ -1503,56 +1553,56 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1503
1553
  sendCAevents: !!(callStateForMetrics !== null && callStateForMetrics !== void 0 && callStateForMetrics.correlationId) // if client sends correlation id as argument of public create(), then it means that this meeting creation is part of a pre-join intent from user
1504
1554
  };
1505
1555
  if (!meetingInfo) {
1506
- _context3.next = 19;
1556
+ _context4.next = 2;
1507
1557
  break;
1508
1558
  }
1509
1559
  meeting.injectMeetingInfo(meetingInfo, meetingInfoOptions, meetingLookupUrl);
1510
- _context3.next = 27;
1560
+ _context4.next = 4;
1511
1561
  break;
1512
- case 19:
1562
+ case 2:
1513
1563
  if (!(type !== _constants.DESTINATION_TYPE.ONE_ON_ONE_CALL)) {
1514
- _context3.next = 27;
1564
+ _context4.next = 4;
1515
1565
  break;
1516
1566
  }
1517
1567
  if (!(enableUnifiedMeetings && !isMeetingActive && useRandomDelayForInfo && waitingTime > 0)) {
1518
- _context3.next = 25;
1568
+ _context4.next = 3;
1519
1569
  break;
1520
1570
  }
1521
1571
  meeting.fetchMeetingInfoTimeoutId = setTimeout(function () {
1522
1572
  return meeting.fetchMeetingInfo(meetingInfoOptions);
1523
1573
  }, waitingTime);
1524
1574
  meeting.parseMeetingInfo(undefined, destination);
1525
- _context3.next = 27;
1575
+ _context4.next = 4;
1526
1576
  break;
1527
- case 25:
1528
- _context3.next = 27;
1577
+ case 3:
1578
+ _context4.next = 4;
1529
1579
  return meeting.fetchMeetingInfo(meetingInfoOptions);
1530
- case 27:
1531
- _context3.next = 39;
1580
+ case 4:
1581
+ _context4.next = 8;
1532
1582
  break;
1533
- case 29:
1534
- _context3.prev = 29;
1535
- _context3.t0 = _context3["catch"](9);
1536
- if (!(!(_context3.t0 instanceof _captchaError.default) && !(_context3.t0 instanceof _passwordError.default) && !(_context3.t0 instanceof _permission.default) && !(_context3.t0 instanceof _joinWebinarError.default) && !(_context3.t0 instanceof _joinForbiddenError.default))) {
1537
- _context3.next = 38;
1583
+ case 5:
1584
+ _context4.prev = 5;
1585
+ _t2 = _context4["catch"](1);
1586
+ if (!(!(_t2 instanceof _captchaError.default) && !(_t2 instanceof _passwordError.default) && !(_t2 instanceof _permission.default) && !(_t2 instanceof _joinWebinarError.default) && !(_t2 instanceof _joinForbiddenError.default))) {
1587
+ _context4.next = 7;
1538
1588
  break;
1539
1589
  }
1540
1590
  _loggerProxy.default.logger.info("Meetings:index#createMeeting --> Info Unable to fetch meeting info for ".concat(destination, "."));
1541
1591
  if (!failOnMissingMeetingInfo) {
1542
- _context3.next = 37;
1592
+ _context4.next = 6;
1543
1593
  break;
1544
1594
  }
1545
1595
  _loggerProxy.default.logger.info("Meetings:index#createMeeting --> Destroying meeting due to missing meeting info.");
1546
1596
  // @ts-ignore
1547
1597
  this.destroy(meeting, _constants.MEETING_REMOVED_REASON.MISSING_MEETING_INFO);
1548
1598
  throw new _noMeetingInfo.default();
1549
- case 37:
1599
+ case 6:
1550
1600
  // if there is no meeting info and no error should be thrown then we assume its a 1:1 call or wireless share
1551
1601
  _loggerProxy.default.logger.info('Meetings:index#createMeeting --> Info assuming this destination is a 1:1 or wireless share');
1552
- case 38:
1553
- _loggerProxy.default.logger.debug("Meetings:index#createMeeting --> Debug ".concat(_context3.t0, " fetching /meetingInfo for creation."));
1554
- case 39:
1555
- _context3.prev = 39;
1602
+ case 7:
1603
+ _loggerProxy.default.logger.debug("Meetings:index#createMeeting --> Debug ".concat(_t2, " fetching /meetingInfo for creation."));
1604
+ case 8:
1605
+ _context4.prev = 8;
1556
1606
  // For type LOCUS_ID we need to parse the locus object to get the information
1557
1607
  // about the caller and callee
1558
1608
  // Meeting Added event will be created in `handleLocusEvent`
@@ -1572,16 +1622,16 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1572
1622
  type: meetingAddedType
1573
1623
  });
1574
1624
  }
1575
- return _context3.finish(39);
1576
- case 42:
1577
- return _context3.abrupt("return", meeting);
1578
- case 43:
1625
+ return _context4.finish(8);
1626
+ case 9:
1627
+ return _context4.abrupt("return", meeting);
1628
+ case 10:
1579
1629
  case "end":
1580
- return _context3.stop();
1630
+ return _context4.stop();
1581
1631
  }
1582
- }, _callee3, this, [[9, 29, 39, 42]]);
1632
+ }, _callee4, this, [[1, 5, 8, 9]]);
1583
1633
  }));
1584
- function createMeeting(_x3) {
1634
+ function createMeeting(_x4) {
1585
1635
  return _createMeeting.apply(this, arguments);
1586
1636
  }
1587
1637
  return createMeeting;
@@ -1623,10 +1673,10 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1623
1673
  }, {
1624
1674
  key: "syncMeetings",
1625
1675
  value: function syncMeetings() {
1626
- var _this13 = this;
1627
- var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1628
- _ref3$keepOnlyLocusMe = _ref3.keepOnlyLocusMeetings,
1629
- keepOnlyLocusMeetings = _ref3$keepOnlyLocusMe === void 0 ? true : _ref3$keepOnlyLocusMe;
1676
+ var _this11 = this;
1677
+ var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1678
+ _ref4$keepOnlyLocusMe = _ref4.keepOnlyLocusMeetings,
1679
+ keepOnlyLocusMeetings = _ref4$keepOnlyLocusMe === void 0 ? true : _ref4$keepOnlyLocusMe;
1630
1680
  // @ts-ignore
1631
1681
  if (this.webex.credentials.isUnverifiedGuest) {
1632
1682
  _loggerProxy.default.logger.info('Meetings:index#syncMeetings --> skipping meeting sync as unverified guest');
@@ -1635,16 +1685,17 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1635
1685
  return this.request.getActiveMeetings().then(function (locusArray) {
1636
1686
  var activeLocusUrl = [];
1637
1687
  if (locusArray !== null && locusArray !== void 0 && locusArray.loci && locusArray.loci.length > 0) {
1638
- var lociToUpdate = _this13.sortLocusArrayToUpdate(locusArray.loci);
1688
+ var lociToUpdate = _this11.sortLocusArrayToUpdate(locusArray.loci);
1639
1689
  lociToUpdate.forEach(function (locus) {
1640
1690
  activeLocusUrl.push(locus.url);
1641
- _this13.handleLocusEvent({
1691
+ _this11.handleLocusEvent({
1692
+ eventType: _constants.LOCUSEVENT.SDK_LOCUS_FROM_SYNC_MEETINGS,
1642
1693
  locus: locus,
1643
1694
  locusUrl: locus.url
1644
1695
  });
1645
1696
  });
1646
1697
  }
1647
- var meetingsCollection = _this13.meetingCollection.getAll();
1698
+ var meetingsCollection = _this11.meetingCollection.getAll();
1648
1699
  if ((0, _keys.default)(meetingsCollection).length > 0) {
1649
1700
  // Sometimes the mercury events are lost after mercury reconnect
1650
1701
  // Remove any Locus meetings that are not returned by Locus
@@ -1656,7 +1707,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1656
1707
  if ((keepOnlyLocusMeetings || locusUrl) && !activeLocusUrl.includes(locusUrl)) {
1657
1708
  // destroy function also uploads logs
1658
1709
  // @ts-ignore
1659
- _this13.destroy(meeting, _constants.MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
1710
+ _this11.destroy(meeting, _constants.MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
1660
1711
  }
1661
1712
  }
1662
1713
  }
@@ -1676,7 +1727,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1676
1727
  }, {
1677
1728
  key: "sortLocusArrayToUpdate",
1678
1729
  value: function sortLocusArrayToUpdate(loci) {
1679
- var _this14 = this;
1730
+ var _this12 = this;
1680
1731
  var mainLoci = loci.filter(function (locus) {
1681
1732
  return !_util2.default.isBreakoutLocusDTO(locus);
1682
1733
  });
@@ -1690,7 +1741,8 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1690
1741
  var _mainLocus$controls, _mainLocus$controls$b, _breakoutLocus$contro, _breakoutLocus$contro2;
1691
1742
  return ((_mainLocus$controls = mainLocus.controls) === null || _mainLocus$controls === void 0 ? void 0 : (_mainLocus$controls$b = _mainLocus$controls.breakout) === null || _mainLocus$controls$b === void 0 ? void 0 : _mainLocus$controls$b.url) === ((_breakoutLocus$contro = breakoutLocus.controls) === null || _breakoutLocus$contro === void 0 ? void 0 : (_breakoutLocus$contro2 = _breakoutLocus$contro.breakout) === null || _breakoutLocus$contro2 === void 0 ? void 0 : _breakoutLocus$contro2.url);
1692
1743
  });
1693
- var existCorrespondingMeeting = _this14.getCorrespondingMeetingByLocus({
1744
+ var existCorrespondingMeeting = _this12.getCorrespondingMeetingByLocus({
1745
+ eventType: _constants.LOCUSEVENT.SDK_NO_EVENT,
1694
1746
  locus: breakoutLocus,
1695
1747
  locusUrl: breakoutLocus.url
1696
1748
  });
@@ -1698,7 +1750,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1698
1750
  // if exists both main session and breakout session locus of the same non-exist meeting, handle main locus first,
1699
1751
  // after meeting create with main locus, then handle the associate breakout locus.
1700
1752
  // if only handle breakout locus, will miss some date
1701
- _this14.breakoutLocusForHandleLater.push(breakoutLocus);
1753
+ _this12.breakoutLocusForHandleLater.push(breakoutLocus);
1702
1754
  } else {
1703
1755
  lociToUpdate.push(breakoutLocus);
1704
1756
  }
@@ -1731,6 +1783,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1731
1783
  }
1732
1784
  var associateBreakoutLocus = this.breakoutLocusForHandleLater[existIndex];
1733
1785
  this.handleLocusEvent({
1786
+ eventType: _constants.LOCUSEVENT.SDK_NO_EVENT,
1734
1787
  locus: associateBreakoutLocus,
1735
1788
  locusUrl: associateBreakoutLocus.url
1736
1789
  });
@@ -1760,6 +1813,5 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1760
1813
  return this.meetingCollection.getActiveWebrtcMeeting();
1761
1814
  }
1762
1815
  }]);
1763
- return Meetings;
1764
1816
  }(_webexCore.WebexPlugin);
1765
1817
  //# sourceMappingURL=index.js.map