@webex/plugin-meetings 3.0.0-bnr.5 → 3.0.0-stream-classes.1

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 (303) hide show
  1. package/README.md +46 -8
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +70 -32
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/events.js +45 -0
  11. package/dist/breakouts/events.js.map +1 -0
  12. package/dist/breakouts/index.js +422 -217
  13. package/dist/breakouts/index.js.map +1 -1
  14. package/dist/breakouts/utils.js +12 -1
  15. package/dist/breakouts/utils.js.map +1 -1
  16. package/dist/common/errors/webex-errors.js +3 -2
  17. package/dist/common/errors/webex-errors.js.map +1 -1
  18. package/dist/common/logs/logger-proxy.js +1 -1
  19. package/dist/common/logs/logger-proxy.js.map +1 -1
  20. package/dist/common/logs/request.d.ts +1 -1
  21. package/dist/common/queue.js +24 -9
  22. package/dist/common/queue.js.map +1 -1
  23. package/dist/config.js +1 -7
  24. package/dist/config.js.map +1 -1
  25. package/dist/constants.js +118 -24
  26. package/dist/constants.js.map +1 -1
  27. package/dist/controls-options-manager/enums.js +2 -0
  28. package/dist/controls-options-manager/enums.js.map +1 -1
  29. package/dist/controls-options-manager/index.js +19 -14
  30. package/dist/controls-options-manager/index.js.map +1 -1
  31. package/dist/controls-options-manager/types.js.map +1 -1
  32. package/dist/controls-options-manager/util.js +80 -11
  33. package/dist/controls-options-manager/util.js.map +1 -1
  34. package/dist/index.js +62 -20
  35. package/dist/index.js.map +1 -1
  36. package/dist/interpretation/collection.js +23 -0
  37. package/dist/interpretation/collection.js.map +1 -0
  38. package/dist/interpretation/index.js +366 -0
  39. package/dist/interpretation/index.js.map +1 -0
  40. package/dist/interpretation/siLanguage.js +25 -0
  41. package/dist/interpretation/siLanguage.js.map +1 -0
  42. package/dist/locus-info/controlsUtils.js +71 -1
  43. package/dist/locus-info/controlsUtils.js.map +1 -1
  44. package/dist/locus-info/index.js +305 -57
  45. package/dist/locus-info/index.js.map +1 -1
  46. package/dist/locus-info/infoUtils.js +7 -1
  47. package/dist/locus-info/infoUtils.js.map +1 -1
  48. package/dist/locus-info/mediaSharesUtils.js +43 -1
  49. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  50. package/dist/locus-info/parser.js +219 -63
  51. package/dist/locus-info/parser.js.map +1 -1
  52. package/dist/locus-info/selfUtils.js +44 -22
  53. package/dist/locus-info/selfUtils.js.map +1 -1
  54. package/dist/media/index.js +57 -104
  55. package/dist/media/index.js.map +1 -1
  56. package/dist/media/properties.js +60 -121
  57. package/dist/media/properties.js.map +1 -1
  58. package/dist/meeting/in-meeting-actions.js +61 -3
  59. package/dist/meeting/in-meeting-actions.js.map +1 -1
  60. package/dist/meeting/index.js +2530 -2534
  61. package/dist/meeting/index.js.map +1 -1
  62. package/dist/meeting/locusMediaRequest.js +292 -0
  63. package/dist/meeting/locusMediaRequest.js.map +1 -0
  64. package/dist/meeting/muteState.js +125 -205
  65. package/dist/meeting/muteState.js.map +1 -1
  66. package/dist/meeting/request.js +150 -150
  67. package/dist/meeting/request.js.map +1 -1
  68. package/dist/meeting/util.js +568 -438
  69. package/dist/meeting/util.js.map +1 -1
  70. package/dist/meeting-info/index.js +48 -7
  71. package/dist/meeting-info/index.js.map +1 -1
  72. package/dist/meeting-info/meeting-info-v2.js +94 -38
  73. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  74. package/dist/meeting-info/utilv2.js +4 -2
  75. package/dist/meeting-info/utilv2.js.map +1 -1
  76. package/dist/meetings/index.d.ts +0 -2
  77. package/dist/meetings/index.js +260 -85
  78. package/dist/meetings/index.js.map +1 -1
  79. package/dist/meetings/meetings.types.js +7 -0
  80. package/dist/meetings/meetings.types.js.map +1 -0
  81. package/dist/meetings/util.js +42 -7
  82. package/dist/meetings/util.js.map +1 -1
  83. package/dist/member/index.d.ts +2 -0
  84. package/dist/member/index.js +26 -0
  85. package/dist/member/index.js.map +1 -1
  86. package/dist/member/member.types.d.ts +11 -0
  87. package/dist/member/member.types.js +18 -0
  88. package/dist/member/member.types.js.map +1 -0
  89. package/dist/member/types.js +11 -1
  90. package/dist/member/types.js.map +1 -1
  91. package/dist/member/util.js +60 -23
  92. package/dist/member/util.js.map +1 -1
  93. package/dist/members/index.js +4 -1
  94. package/dist/members/index.js.map +1 -1
  95. package/dist/members/request.js +75 -45
  96. package/dist/members/request.js.map +1 -1
  97. package/dist/members/util.js +308 -317
  98. package/dist/members/util.js.map +1 -1
  99. package/dist/metrics/config.js +1 -3
  100. package/dist/metrics/config.js.map +1 -1
  101. package/dist/metrics/constants.js +1 -0
  102. package/dist/metrics/constants.js.map +1 -1
  103. package/dist/metrics/index.d.ts +1 -1
  104. package/dist/metrics/index.js +1 -451
  105. package/dist/metrics/index.js.map +1 -1
  106. package/dist/multistream/mediaRequestManager.js +136 -40
  107. package/dist/multistream/mediaRequestManager.js.map +1 -1
  108. package/dist/multistream/receiveSlot.js.map +1 -1
  109. package/dist/multistream/receiveSlotManager.js +4 -4
  110. package/dist/multistream/receiveSlotManager.js.map +1 -1
  111. package/dist/multistream/remoteMedia.js.map +1 -1
  112. package/dist/multistream/remoteMediaGroup.js +60 -3
  113. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  114. package/dist/multistream/remoteMediaManager.js +36 -0
  115. package/dist/multistream/remoteMediaManager.js.map +1 -1
  116. package/dist/multistream/sendSlotManager.js +233 -0
  117. package/dist/multistream/sendSlotManager.js.map +1 -0
  118. package/dist/reachability/index.js +18 -3
  119. package/dist/reachability/index.js.map +1 -1
  120. package/dist/reachability/request.js +5 -3
  121. package/dist/reachability/request.js.map +1 -1
  122. package/dist/reconnection-manager/index.js +181 -153
  123. package/dist/reconnection-manager/index.js.map +1 -1
  124. package/dist/recording-controller/index.js +21 -2
  125. package/dist/recording-controller/index.js.map +1 -1
  126. package/dist/recording-controller/util.js +9 -8
  127. package/dist/recording-controller/util.js.map +1 -1
  128. package/dist/roap/index.js +25 -32
  129. package/dist/roap/index.js.map +1 -1
  130. package/dist/roap/request.js +42 -51
  131. package/dist/roap/request.js.map +1 -1
  132. package/dist/roap/turnDiscovery.js +97 -38
  133. package/dist/roap/turnDiscovery.js.map +1 -1
  134. package/dist/rtcMetrics/constants.js +12 -0
  135. package/dist/rtcMetrics/constants.js.map +1 -0
  136. package/dist/rtcMetrics/index.js +117 -0
  137. package/dist/rtcMetrics/index.js.map +1 -0
  138. package/dist/statsAnalyzer/index.js +0 -1
  139. package/dist/statsAnalyzer/index.js.map +1 -1
  140. package/dist/types/annotation/annotation.types.d.ts +43 -0
  141. package/dist/types/annotation/constants.d.ts +31 -0
  142. package/dist/types/annotation/index.d.ts +124 -0
  143. package/dist/types/breakouts/events.d.ts +2 -0
  144. package/dist/types/breakouts/utils.d.ts +7 -0
  145. package/dist/types/common/errors/webex-errors.d.ts +1 -1
  146. package/dist/types/config.d.ts +0 -6
  147. package/dist/types/constants.d.ts +51 -21
  148. package/dist/types/controls-options-manager/enums.d.ts +2 -0
  149. package/dist/types/controls-options-manager/index.d.ts +1 -1
  150. package/dist/types/controls-options-manager/types.d.ts +7 -1
  151. package/dist/types/index.d.ts +1 -1
  152. package/dist/types/interpretation/collection.d.ts +5 -0
  153. package/dist/types/interpretation/index.d.ts +5 -0
  154. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  155. package/dist/types/locus-info/index.d.ts +39 -1
  156. package/dist/types/media/index.d.ts +2 -0
  157. package/dist/types/media/properties.d.ts +16 -38
  158. package/dist/types/meeting/in-meeting-actions.d.ts +46 -2
  159. package/dist/types/meeting/index.d.ts +179 -379
  160. package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
  161. package/dist/types/meeting/muteState.d.ts +39 -40
  162. package/dist/types/meeting/request.d.ts +25 -26
  163. package/dist/types/meeting/util.d.ts +74 -1
  164. package/dist/types/meeting-info/meeting-info-v2.d.ts +14 -3
  165. package/dist/types/meetings/index.d.ts +49 -1
  166. package/dist/types/meetings/meetings.types.d.ts +4 -0
  167. package/dist/types/member/index.d.ts +2 -0
  168. package/dist/types/members/request.d.ts +56 -11
  169. package/dist/types/members/util.d.ts +209 -1
  170. package/dist/types/metrics/config.d.ts +26 -2
  171. package/dist/types/metrics/constants.d.ts +1 -0
  172. package/dist/types/metrics/index.d.ts +17 -0
  173. package/dist/types/multistream/mediaRequestManager.d.ts +27 -10
  174. package/dist/types/multistream/receiveSlot.d.ts +3 -3
  175. package/dist/types/multistream/remoteMedia.d.ts +2 -2
  176. package/dist/types/multistream/remoteMediaManager.d.ts +14 -0
  177. package/dist/types/roap/request.d.ts +6 -8
  178. package/dist/types/roap/turnDiscovery.d.ts +18 -1
  179. package/package.json +21 -20
  180. package/src/annotation/annotation.types.ts +50 -0
  181. package/src/annotation/constants.ts +36 -0
  182. package/src/annotation/index.ts +328 -0
  183. package/src/breakouts/README.md +3 -2
  184. package/src/breakouts/breakout.ts +62 -27
  185. package/src/breakouts/events.ts +56 -0
  186. package/src/breakouts/index.ts +244 -64
  187. package/src/breakouts/utils.ts +13 -0
  188. package/src/common/errors/webex-errors.ts +6 -2
  189. package/src/common/logs/logger-proxy.ts +1 -1
  190. package/src/common/queue.ts +22 -8
  191. package/src/config.ts +0 -6
  192. package/src/constants.ts +111 -19
  193. package/src/controls-options-manager/enums.ts +2 -0
  194. package/src/controls-options-manager/index.ts +13 -10
  195. package/src/controls-options-manager/types.ts +10 -0
  196. package/src/controls-options-manager/util.ts +82 -11
  197. package/src/index.ts +18 -11
  198. package/src/interpretation/README.md +60 -0
  199. package/src/interpretation/collection.ts +19 -0
  200. package/src/interpretation/index.ts +332 -0
  201. package/src/interpretation/siLanguage.ts +18 -0
  202. package/src/locus-info/controlsUtils.ts +81 -0
  203. package/src/locus-info/index.ts +318 -57
  204. package/src/locus-info/infoUtils.ts +10 -2
  205. package/src/locus-info/mediaSharesUtils.ts +48 -0
  206. package/src/locus-info/parser.ts +224 -39
  207. package/src/locus-info/selfUtils.ts +32 -20
  208. package/src/media/index.ts +94 -108
  209. package/src/media/properties.ts +69 -109
  210. package/src/meeting/in-meeting-actions.ts +120 -4
  211. package/src/meeting/index.ts +1967 -2120
  212. package/src/meeting/locusMediaRequest.ts +314 -0
  213. package/src/meeting/muteState.ts +119 -194
  214. package/src/meeting/request.ts +122 -115
  215. package/src/meeting/util.ts +549 -413
  216. package/src/meeting-info/index.ts +54 -8
  217. package/src/meeting-info/meeting-info-v2.ts +89 -24
  218. package/src/meeting-info/utilv2.ts +6 -2
  219. package/src/meetings/index.ts +247 -87
  220. package/src/meetings/meetings.types.ts +12 -0
  221. package/src/meetings/util.ts +47 -12
  222. package/src/member/index.ts +28 -1
  223. package/src/member/types.ts +14 -0
  224. package/src/member/util.ts +75 -26
  225. package/src/members/index.ts +7 -1
  226. package/src/members/request.ts +61 -21
  227. package/src/members/util.ts +316 -326
  228. package/src/metrics/constants.ts +1 -0
  229. package/src/metrics/index.ts +1 -474
  230. package/src/multistream/mediaRequestManager.ts +183 -67
  231. package/src/multistream/receiveSlot.ts +4 -4
  232. package/src/multistream/receiveSlotManager.ts +4 -4
  233. package/src/multistream/remoteMedia.ts +2 -2
  234. package/src/multistream/remoteMediaGroup.ts +59 -0
  235. package/src/multistream/remoteMediaManager.ts +33 -0
  236. package/src/multistream/sendSlotManager.ts +170 -0
  237. package/src/reachability/index.ts +15 -4
  238. package/src/reachability/request.ts +7 -3
  239. package/src/reconnection-manager/index.ts +36 -29
  240. package/src/recording-controller/index.ts +20 -3
  241. package/src/recording-controller/util.ts +26 -9
  242. package/src/roap/index.ts +25 -30
  243. package/src/roap/request.ts +44 -51
  244. package/src/roap/turnDiscovery.ts +51 -25
  245. package/src/rtcMetrics/constants.ts +3 -0
  246. package/src/rtcMetrics/index.ts +100 -0
  247. package/src/statsAnalyzer/index.ts +0 -1
  248. package/test/integration/spec/converged-space-meetings.js +60 -3
  249. package/test/integration/spec/journey.js +336 -259
  250. package/test/integration/spec/space-meeting.js +76 -3
  251. package/test/unit/spec/annotation/index.ts +418 -0
  252. package/test/unit/spec/breakouts/breakout.ts +85 -26
  253. package/test/unit/spec/breakouts/events.ts +89 -0
  254. package/test/unit/spec/breakouts/index.ts +636 -98
  255. package/test/unit/spec/breakouts/utils.js +19 -1
  256. package/test/unit/spec/common/queue.js +31 -2
  257. package/test/unit/spec/controls-options-manager/index.js +8 -1
  258. package/test/unit/spec/controls-options-manager/util.js +576 -397
  259. package/test/unit/spec/fixture/locus.js +1 -0
  260. package/test/unit/spec/interpretation/collection.ts +15 -0
  261. package/test/unit/spec/interpretation/index.ts +589 -0
  262. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  263. package/test/unit/spec/locus-info/controlsUtils.js +195 -1
  264. package/test/unit/spec/locus-info/index.js +950 -45
  265. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  266. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  267. package/test/unit/spec/locus-info/parser.js +62 -22
  268. package/test/unit/spec/locus-info/selfConstant.js +19 -0
  269. package/test/unit/spec/locus-info/selfUtils.js +131 -26
  270. package/test/unit/spec/media/index.ts +82 -79
  271. package/test/unit/spec/meeting/in-meeting-actions.ts +60 -2
  272. package/test/unit/spec/meeting/index.js +3208 -1734
  273. package/test/unit/spec/meeting/locusMediaRequest.ts +443 -0
  274. package/test/unit/spec/meeting/muteState.js +328 -417
  275. package/test/unit/spec/meeting/request.js +393 -48
  276. package/test/unit/spec/meeting/utils.js +552 -76
  277. package/test/unit/spec/meeting-info/index.js +181 -0
  278. package/test/unit/spec/meeting-info/meetinginfov2.js +258 -20
  279. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  280. package/test/unit/spec/meetings/index.js +631 -145
  281. package/test/unit/spec/meetings/utils.js +164 -9
  282. package/test/unit/spec/member/index.js +44 -14
  283. package/test/unit/spec/member/util.js +296 -155
  284. package/test/unit/spec/members/index.js +23 -3
  285. package/test/unit/spec/members/request.js +167 -35
  286. package/test/unit/spec/metrics/index.js +1 -50
  287. package/test/unit/spec/multistream/mediaRequestManager.ts +366 -8
  288. package/test/unit/spec/multistream/receiveSlot.ts +1 -1
  289. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  290. package/test/unit/spec/multistream/remoteMediaManager.ts +123 -0
  291. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  292. package/test/unit/spec/reachability/index.ts +66 -5
  293. package/test/unit/spec/reachability/request.js +3 -1
  294. package/test/unit/spec/reconnection-manager/index.js +55 -5
  295. package/test/unit/spec/recording-controller/index.js +294 -218
  296. package/test/unit/spec/recording-controller/util.js +223 -96
  297. package/test/unit/spec/roap/index.ts +21 -48
  298. package/test/unit/spec/roap/request.ts +74 -60
  299. package/test/unit/spec/roap/turnDiscovery.ts +30 -6
  300. package/test/unit/spec/rtcMetrics/index.ts +68 -0
  301. package/test/utils/integrationTestUtils.js +46 -0
  302. package/test/utils/testUtils.js +0 -60
  303. package/src/metrics/config.ts +0 -487
@@ -25,7 +25,6 @@ var _constants = require("../constants");
25
25
  var _constants2 = _interopRequireDefault(require("../metrics/constants"));
26
26
  var _reconnection = _interopRequireDefault(require("../common/errors/reconnection"));
27
27
  var _reconnectionInProgress = _interopRequireDefault(require("../common/errors/reconnection-in-progress"));
28
- var _config = require("../metrics/config");
29
28
  var _metrics = _interopRequireDefault(require("../metrics"));
30
29
  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); }; }
31
30
  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; } }
@@ -247,7 +246,7 @@ var ReconnectionManager = /*#__PURE__*/function () {
247
246
  }
248
247
 
249
248
  /**
250
- * Stop the local share track.
249
+ * Stop the local share stream.
251
250
  *
252
251
  * @param {string} reason a {@link SHARE_STOPPED_REASON}
253
252
  * @returns {undefined}
@@ -255,22 +254,32 @@ var ReconnectionManager = /*#__PURE__*/function () {
255
254
  * @memberof ReconnectionManager
256
255
  */
257
256
  }, {
258
- key: "stopLocalShareTrack",
259
- value: function stopLocalShareTrack(reason) {
260
- this.meeting.setLocalShareTrack(null);
261
- this.meeting.isSharing = false;
262
- if (this.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
263
- this.meeting.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
257
+ key: "stopLocalShareStream",
258
+ value: function () {
259
+ var _stopLocalShareStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(reason) {
260
+ return _regenerator.default.wrap(function _callee$(_context) {
261
+ while (1) switch (_context.prev = _context.next) {
262
+ case 0:
263
+ _context.next = 2;
264
+ return this.meeting.unpublishStreams([this.meeting.mediaProperties.shareVideoStream, this.meeting.mediaProperties.shareAudioStream]);
265
+ case 2:
266
+ _triggerProxy.default.trigger(this.meeting, {
267
+ file: 'reconnection-manager/index',
268
+ function: 'stopLocalShareStream'
269
+ }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
270
+ reason: reason
271
+ });
272
+ case 3:
273
+ case "end":
274
+ return _context.stop();
275
+ }
276
+ }, _callee, this);
277
+ }));
278
+ function stopLocalShareStream(_x) {
279
+ return _stopLocalShareStream.apply(this, arguments);
264
280
  }
265
- this.meeting.mediaProperties.mediaDirection.sendShare = false;
266
- _triggerProxy.default.trigger(this.meeting, {
267
- file: 'reconnection-manager/index',
268
- function: 'stopLocalShareTrack'
269
- }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
270
- reason: reason
271
- });
272
- }
273
-
281
+ return stopLocalShareStream;
282
+ }()
274
283
  /**
275
284
  * @public
276
285
  * @memberof ReconnectionManager
@@ -314,48 +323,56 @@ var ReconnectionManager = /*#__PURE__*/function () {
314
323
  }, {
315
324
  key: "reconnect",
316
325
  value: function () {
317
- var _reconnect = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
326
+ var _reconnect = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
318
327
  var _this3 = this;
319
328
  var _ref2,
320
329
  _ref2$networkDisconne,
321
330
  networkDisconnect,
322
331
  _ref2$networkRetry,
323
332
  networkRetry,
324
- _args = arguments;
325
- return _regenerator.default.wrap(function _callee$(_context) {
326
- while (1) switch (_context.prev = _context.next) {
333
+ _args2 = arguments;
334
+ return _regenerator.default.wrap(function _callee2$(_context2) {
335
+ while (1) switch (_context2.prev = _context2.next) {
327
336
  case 0:
328
- _ref2 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref2$networkDisconne = _ref2.networkDisconnect, networkDisconnect = _ref2$networkDisconne === void 0 ? false : _ref2$networkDisconne, _ref2$networkRetry = _ref2.networkRetry, networkRetry = _ref2$networkRetry === void 0 ? false : _ref2$networkRetry;
337
+ _ref2 = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {}, _ref2$networkDisconne = _ref2.networkDisconnect, networkDisconnect = _ref2$networkDisconne === void 0 ? false : _ref2$networkDisconne, _ref2$networkRetry = _ref2.networkRetry, networkRetry = _ref2$networkRetry === void 0 ? false : _ref2$networkRetry;
329
338
  _loggerProxy.default.logger.info("ReconnectionManager:index#reconnect --> Reconnection start for meeting ".concat(this.meeting.id, "."));
330
339
  // First, validate that we can reconnect, if not, it will throw an error
331
- _context.prev = 2;
340
+ _context2.prev = 2;
332
341
  this.validate();
333
- _context.next = 10;
342
+ _context2.next = 10;
334
343
  break;
335
344
  case 6:
336
- _context.prev = 6;
337
- _context.t0 = _context["catch"](2);
338
- _loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Reconnection unable to begin.', _context.t0);
339
- throw _context.t0;
345
+ _context2.prev = 6;
346
+ _context2.t0 = _context2["catch"](2);
347
+ _loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Reconnection unable to begin.', _context2.t0);
348
+ throw _context2.t0;
340
349
  case 10:
341
350
  if (!networkRetry) {
342
351
  // Only log START metrics on the initial reconnect
343
352
  _loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Sending reconnect start metric.');
344
- _metrics.default.postEvent({
345
- event: _config.eventType.MEDIA_RECONNECTING,
346
- meeting: this.meeting
353
+
354
+ // @ts-ignore
355
+ this.webex.internal.newMetrics.submitClientEvent({
356
+ name: 'client.media.reconnecting',
357
+ options: {
358
+ meetingId: this.meeting.id
359
+ }
347
360
  });
348
361
  }
349
- return _context.abrupt("return", this.executeReconnection({
362
+ return _context2.abrupt("return", this.executeReconnection({
350
363
  networkDisconnect: networkDisconnect
351
364
  }).then(function () {
352
365
  _loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Reconnection successful.');
353
366
  _loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Sending reconnect success metric.');
354
- _metrics.default.postEvent({
355
- event: _config.eventType.MEDIA_RECOVERED,
356
- meeting: _this3.meeting,
357
- data: {
358
- recoveredBy: _config.reconnection.RECOVERED_BY_NEW
367
+
368
+ // @ts-ignore
369
+ _this3.webex.internal.newMetrics.submitClientEvent({
370
+ name: 'client.media.recovered',
371
+ payload: {
372
+ recoveredBy: 'new'
373
+ },
374
+ options: {
375
+ meetingId: _this3.meeting.id
359
376
  }
360
377
  });
361
378
  }).catch(function (reconnectError) {
@@ -374,20 +391,23 @@ var ReconnectionManager = /*#__PURE__*/function () {
374
391
  // Reconnect has failed
375
392
  _loggerProxy.default.logger.error('ReconnectionManager:index#reconnect --> Reconnection failed.', reconnectError.message);
376
393
  _loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Sending reconnect abort metric.');
377
- var reconnectMetric = {
378
- event: _config.eventType.CALL_ABORTED,
379
- meeting: _this3.meeting,
380
- data: {
394
+
395
+ // @ts-ignore
396
+ _this3.webex.internal.newMetrics.submitClientEvent({
397
+ name: 'client.call.aborted',
398
+ payload: {
381
399
  errors: [{
382
- category: _config.errorObjects.category.expected,
400
+ category: 'expected',
383
401
  errorCode: 2008,
384
402
  fatal: true,
385
- name: _config.errorObjects.name.mediaEngine,
403
+ name: 'media-engine',
386
404
  shownToUser: false
387
405
  }]
406
+ },
407
+ options: {
408
+ meetingId: _this3.meeting.id
388
409
  }
389
- };
390
- _metrics.default.postEvent(reconnectMetric);
410
+ });
391
411
  if (reconnectError instanceof NeedsRejoinError) {
392
412
  // send call aborded event with catogery as expected as we are trying to rejoin
393
413
 
@@ -399,9 +419,9 @@ var ReconnectionManager = /*#__PURE__*/function () {
399
419
  }));
400
420
  case 12:
401
421
  case "end":
402
- return _context.stop();
422
+ return _context2.stop();
403
423
  }
404
- }, _callee, this, [[2, 6]]);
424
+ }, _callee2, this, [[2, 6]]);
405
425
  }));
406
426
  function reconnect() {
407
427
  return _reconnect.apply(this, arguments);
@@ -419,94 +439,98 @@ var ReconnectionManager = /*#__PURE__*/function () {
419
439
  }, {
420
440
  key: "executeReconnection",
421
441
  value: function () {
422
- var _executeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(_ref3) {
442
+ var _executeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(_ref3) {
423
443
  var _ref3$networkDisconne, networkDisconnect, wasSharing, media;
424
- return _regenerator.default.wrap(function _callee2$(_context2) {
425
- while (1) switch (_context2.prev = _context2.next) {
444
+ return _regenerator.default.wrap(function _callee3$(_context3) {
445
+ while (1) switch (_context3.prev = _context3.next) {
426
446
  case 0:
427
447
  _ref3$networkDisconne = _ref3.networkDisconnect, networkDisconnect = _ref3$networkDisconne === void 0 ? false : _ref3$networkDisconne;
428
448
  this.status = _constants.RECONNECTION.STATE.IN_PROGRESS;
429
449
  _loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Attempting to reconnect to meeting.');
430
450
  wasSharing = this.meeting.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE;
431
- if (wasSharing) {
432
- this.stopLocalShareTrack(_constants.SHARE_STOPPED_REASON.MEDIA_RECONNECTION);
451
+ if (!wasSharing) {
452
+ _context3.next = 7;
453
+ break;
433
454
  }
455
+ _context3.next = 7;
456
+ return this.stopLocalShareStream(_constants.SHARE_STOPPED_REASON.MEDIA_RECONNECTION);
457
+ case 7:
434
458
  if (!networkDisconnect) {
435
- _context2.next = 17;
459
+ _context3.next = 19;
436
460
  break;
437
461
  }
438
- _context2.prev = 6;
439
- _context2.next = 9;
462
+ _context3.prev = 8;
463
+ _context3.next = 11;
440
464
  return this.reconnectMercuryWebSocket();
441
- case 9:
465
+ case 11:
442
466
  _loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Websocket reconnected.', this.webex.internal.device.url);
443
- _context2.next = 17;
467
+ _context3.next = 19;
444
468
  break;
445
- case 12:
446
- _context2.prev = 12;
447
- _context2.t0 = _context2["catch"](6);
469
+ case 14:
470
+ _context3.prev = 14;
471
+ _context3.t0 = _context3["catch"](8);
448
472
  _loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Unable to reconnect to websocket, giving up.');
449
473
  this.status = _constants.RECONNECTION.STATE.FAILURE;
450
- throw _context2.t0;
451
- case 17:
452
- _context2.prev = 17;
474
+ throw _context3.t0;
475
+ case 19:
476
+ _context3.prev = 19;
453
477
  _loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Updating meeting data from server.');
454
- _context2.next = 21;
478
+ _context3.next = 23;
455
479
  return this.webex.meetings.syncMeetings();
456
- case 21:
457
- _context2.next = 27;
458
- break;
459
480
  case 23:
460
- _context2.prev = 23;
461
- _context2.t1 = _context2["catch"](17);
462
- _loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Unable to sync meetings, reconnecting.', _context2.t1);
463
- throw new NeedsRetryError(_context2.t1);
464
- case 27:
481
+ _context3.next = 29;
482
+ break;
483
+ case 25:
484
+ _context3.prev = 25;
485
+ _context3.t1 = _context3["catch"](19);
486
+ _loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Unable to sync meetings, reconnecting.', _context3.t1);
487
+ throw new NeedsRetryError(_context3.t1);
488
+ case 29:
465
489
  if (!(!this.meeting || !this.webex.meetings.getMeetingByType(_constants._ID_, this.meeting.id))) {
466
- _context2.next = 30;
490
+ _context3.next = 32;
467
491
  break;
468
492
  }
469
493
  _loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Meeting got deleted due to inactivity or ended remotely.');
470
494
  throw new Error('Unable to rejoin a meeting already ended or inactive.');
471
- case 30:
495
+ case 32:
472
496
  _loggerProxy.default.logger.info("ReconnectionManager:index#executeReconnection --> Current state of meeting is ".concat(this.meeting.state));
473
497
 
474
498
  // If the meeting state was left, no longer reconnect media
475
499
  if (!(this.meeting.state === _constants._LEFT_)) {
476
- _context2.next = 35;
500
+ _context3.next = 37;
477
501
  break;
478
502
  }
479
503
  if (!(this.meeting.type === _constants._CALL_)) {
480
- _context2.next = 34;
504
+ _context3.next = 36;
481
505
  break;
482
506
  }
483
507
  throw new Error('Unable to rejoin a call in LEFT state.');
484
- case 34:
508
+ case 36:
485
509
  throw new NeedsRejoinError({
486
510
  wasSharing: wasSharing
487
511
  });
488
- case 35:
489
- _context2.prev = 35;
490
- _context2.next = 38;
512
+ case 37:
513
+ _context3.prev = 37;
514
+ _context3.next = 40;
491
515
  return this.reconnectMedia();
492
- case 38:
493
- media = _context2.sent;
516
+ case 40:
517
+ media = _context3.sent;
494
518
  _loggerProxy.default.logger.log('ReconnectionManager:index#executeReconnection --> Media reestablished');
495
519
  this.status = _constants.RECONNECTION.STATE.COMPLETE;
496
- return _context2.abrupt("return", media);
497
- case 44:
498
- _context2.prev = 44;
499
- _context2.t2 = _context2["catch"](35);
520
+ return _context3.abrupt("return", media);
521
+ case 46:
522
+ _context3.prev = 46;
523
+ _context3.t2 = _context3["catch"](37);
500
524
  _loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Media reestablishment failed');
501
525
  this.status = _constants.RECONNECTION.STATE.FAILURE;
502
- throw _context2.t2;
503
- case 49:
526
+ throw _context3.t2;
527
+ case 51:
504
528
  case "end":
505
- return _context2.stop();
529
+ return _context3.stop();
506
530
  }
507
- }, _callee2, this, [[6, 12], [17, 23], [35, 44]]);
531
+ }, _callee3, this, [[8, 14], [19, 25], [37, 46]]);
508
532
  }));
509
- function executeReconnection(_x) {
533
+ function executeReconnection(_x2) {
510
534
  return _executeReconnection.apply(this, arguments);
511
535
  }
512
536
  return executeReconnection;
@@ -521,64 +545,68 @@ var ReconnectionManager = /*#__PURE__*/function () {
521
545
  }, {
522
546
  key: "rejoinMeeting",
523
547
  value: function () {
524
- var _rejoinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
548
+ var _rejoinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
525
549
  var wasSharing,
526
- _args3 = arguments;
527
- return _regenerator.default.wrap(function _callee3$(_context3) {
528
- while (1) switch (_context3.prev = _context3.next) {
550
+ _args4 = arguments;
551
+ return _regenerator.default.wrap(function _callee4$(_context4) {
552
+ while (1) switch (_context4.prev = _context4.next) {
529
553
  case 0:
530
- wasSharing = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : false;
531
- _context3.prev = 1;
554
+ wasSharing = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : false;
555
+ _context4.prev = 1;
532
556
  _loggerProxy.default.logger.info('ReconnectionManager:index#rejoinMeeting --> attemping meeting rejoin');
533
- _context3.next = 5;
557
+ _context4.next = 5;
534
558
  return this.meeting.join({
535
559
  rejoin: true
536
560
  });
537
561
  case 5:
538
562
  _loggerProxy.default.logger.info('ReconnectionManager:index#rejoinMeeting --> meeting rejoined');
539
- if (wasSharing) {
540
- this.stopLocalShareTrack(_constants.SHARE_STOPPED_REASON.MEETING_REJOIN);
563
+ if (!wasSharing) {
564
+ _context4.next = 9;
565
+ break;
541
566
  }
542
- _context3.next = 21;
543
- break;
567
+ _context4.next = 9;
568
+ return this.stopLocalShareStream(_constants.SHARE_STOPPED_REASON.MEETING_REJOIN);
544
569
  case 9:
545
- _context3.prev = 9;
546
- _context3.t0 = _context3["catch"](1);
570
+ _context4.next = 23;
571
+ break;
572
+ case 11:
573
+ _context4.prev = 11;
574
+ _context4.t0 = _context4["catch"](1);
547
575
  this.rejoinAttempts += 1;
548
576
  if (!(this.rejoinAttempts <= this.maxRejoinAttempts)) {
549
- _context3.next = 17;
577
+ _context4.next = 19;
550
578
  break;
551
579
  }
552
- _loggerProxy.default.logger.info("ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting, attempt #".concat(this.rejoinAttempts, ", retrying."), _context3.t0);
580
+ _loggerProxy.default.logger.info("ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting, attempt #".concat(this.rejoinAttempts, ", retrying."), _context4.t0);
553
581
  this.rejoinMeeting();
554
- _context3.next = 21;
582
+ _context4.next = 23;
555
583
  break;
556
- case 17:
557
- _loggerProxy.default.logger.error('ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting after max attempts.', _context3.t0);
584
+ case 19:
585
+ _loggerProxy.default.logger.error('ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting after max attempts.', _context4.t0);
558
586
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_MAX_REJOIN_FAILURE, {
559
587
  locus_id: this.meeting.locusUrl.split('/').pop(),
560
- reason: _context3.t0.message,
561
- stack: _context3.t0.stack
588
+ reason: _context4.t0.message,
589
+ stack: _context4.t0.stack
562
590
  });
563
591
  this.status = _constants.RECONNECTION.STATE.FAILURE;
564
- throw _context3.t0;
565
- case 21:
566
- _context3.prev = 21;
567
- _context3.next = 24;
592
+ throw _context4.t0;
593
+ case 23:
594
+ _context4.prev = 23;
595
+ _context4.next = 26;
568
596
  return this.reconnectMedia();
569
- case 24:
570
- _context3.next = 30;
571
- break;
572
597
  case 26:
573
- _context3.prev = 26;
574
- _context3.t1 = _context3["catch"](21);
575
- _loggerProxy.default.logger.error('ReconnectionManager:index#rejoinMeeting --> Unable to reestablish media after rejoining.', _context3.t1);
576
- throw _context3.t1;
577
- case 30:
598
+ _context4.next = 32;
599
+ break;
600
+ case 28:
601
+ _context4.prev = 28;
602
+ _context4.t1 = _context4["catch"](23);
603
+ _loggerProxy.default.logger.error('ReconnectionManager:index#rejoinMeeting --> Unable to reestablish media after rejoining.', _context4.t1);
604
+ throw _context4.t1;
605
+ case 32:
578
606
  case "end":
579
- return _context3.stop();
607
+ return _context4.stop();
580
608
  }
581
- }, _callee3, this, [[1, 9], [21, 26]]);
609
+ }, _callee4, this, [[1, 11], [23, 28]]);
582
610
  }));
583
611
  function rejoinMeeting() {
584
612
  return _rejoinMeeting.apply(this, arguments);
@@ -593,18 +621,18 @@ var ReconnectionManager = /*#__PURE__*/function () {
593
621
  }, {
594
622
  key: "reconnectMedia",
595
623
  value: function () {
596
- var _reconnectMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
624
+ var _reconnectMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
597
625
  var turnServerResult, iceServers;
598
- return _regenerator.default.wrap(function _callee4$(_context4) {
599
- while (1) switch (_context4.prev = _context4.next) {
626
+ return _regenerator.default.wrap(function _callee5$(_context5) {
627
+ while (1) switch (_context5.prev = _context5.next) {
600
628
  case 0:
601
629
  _loggerProxy.default.logger.log('ReconnectionManager:index#reconnectMedia --> Begin reestablishment of media');
602
630
 
603
631
  // do the TURN server discovery again since the TURN server might change
604
- _context4.next = 3;
632
+ _context5.next = 3;
605
633
  return this.meeting.roap.doTurnDiscovery(this.meeting, true);
606
634
  case 3:
607
- turnServerResult = _context4.sent;
635
+ turnServerResult = _context5.sent;
608
636
  iceServers = [];
609
637
  if (turnServerResult.turnServerInfo) {
610
638
  iceServers.push({
@@ -613,7 +641,7 @@ var ReconnectionManager = /*#__PURE__*/function () {
613
641
  credential: turnServerResult.turnServerInfo.password || ''
614
642
  });
615
643
  }
616
- _context4.next = 8;
644
+ _context5.next = 8;
617
645
  return this.meeting.mediaProperties.webrtcMediaConnection.reconnect(iceServers);
618
646
  case 8:
619
647
  // resend media requests
@@ -625,9 +653,9 @@ var ReconnectionManager = /*#__PURE__*/function () {
625
653
  }
626
654
  case 9:
627
655
  case "end":
628
- return _context4.stop();
656
+ return _context5.stop();
629
657
  }
630
- }, _callee4, this);
658
+ }, _callee5, this);
631
659
  }));
632
660
  function reconnectMedia() {
633
661
  return _reconnectMedia.apply(this, arguments);
@@ -643,49 +671,49 @@ var ReconnectionManager = /*#__PURE__*/function () {
643
671
  }, {
644
672
  key: "reconnectMercuryWebSocket",
645
673
  value: function () {
646
- var _reconnectMercuryWebSocket = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
647
- return _regenerator.default.wrap(function _callee5$(_context5) {
648
- while (1) switch (_context5.prev = _context5.next) {
674
+ var _reconnectMercuryWebSocket = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
675
+ return _regenerator.default.wrap(function _callee6$(_context6) {
676
+ while (1) switch (_context6.prev = _context6.next) {
649
677
  case 0:
650
678
  _loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Reconnecting websocket.');
651
679
  // First, attempt to disconnect if we think we are already connected.
652
680
  if (!this.webex.internal.mercury.connected) {
653
- _context5.next = 13;
681
+ _context6.next = 13;
654
682
  break;
655
683
  }
656
684
  _loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Disconnecting existing websocket.');
657
- _context5.prev = 3;
658
- _context5.next = 6;
685
+ _context6.prev = 3;
686
+ _context6.next = 6;
659
687
  return this.webex.internal.mercury.disconnect();
660
688
  case 6:
661
689
  _loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket disconnected successfully.');
662
- _context5.next = 13;
690
+ _context6.next = 13;
663
691
  break;
664
692
  case 9:
665
- _context5.prev = 9;
666
- _context5.t0 = _context5["catch"](3);
693
+ _context6.prev = 9;
694
+ _context6.t0 = _context6["catch"](3);
667
695
  // If we can't disconnect, the sdk is in such a bad state that reconnecting is not going to happen.
668
- _loggerProxy.default.logger.error('ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to disconnect from websocket, giving up.', _context5.t0);
669
- throw _context5.t0;
696
+ _loggerProxy.default.logger.error('ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to disconnect from websocket, giving up.', _context6.t0);
697
+ throw _context6.t0;
670
698
  case 13:
671
- _context5.prev = 13;
699
+ _context6.prev = 13;
672
700
  _loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Connecting websocket.');
673
- _context5.next = 17;
701
+ _context6.next = 17;
674
702
  return this.webex.internal.mercury.connect();
675
703
  case 17:
676
704
  _loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket connected successfully.');
677
- _context5.next = 24;
705
+ _context6.next = 24;
678
706
  break;
679
707
  case 20:
680
- _context5.prev = 20;
681
- _context5.t1 = _context5["catch"](13);
682
- _loggerProxy.default.logger.error('ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to connect to websocket, giving up.', _context5.t1);
683
- throw _context5.t1;
708
+ _context6.prev = 20;
709
+ _context6.t1 = _context6["catch"](13);
710
+ _loggerProxy.default.logger.error('ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to connect to websocket, giving up.', _context6.t1);
711
+ throw _context6.t1;
684
712
  case 24:
685
713
  case "end":
686
- return _context5.stop();
714
+ return _context6.stop();
687
715
  }
688
- }, _callee5, this, [[3, 9], [13, 20]]);
716
+ }, _callee6, this, [[3, 9], [13, 20]]);
689
717
  }));
690
718
  function reconnectMercuryWebSocket() {
691
719
  return _reconnectMercuryWebSocket.apply(this, arguments);