@webex/plugin-meetings 3.0.0-beta.34 → 3.0.0-beta.340

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