@webex/plugin-meetings 3.0.0-beta.35 → 3.0.0-beta.350

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