@webex/plugin-meetings 2.59.8 → 2.60.0-next.2

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