@webex/plugin-meetings 3.0.0-beta.20 → 3.0.0-beta.201

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