@webex/plugin-meetings 3.0.0-stream-classes.4 → 3.0.0

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 (469) hide show
  1. package/.eslintrc.js +6 -0
  2. package/README.md +12 -0
  3. package/babel.config.js +3 -0
  4. package/dist/annotation/constants.js +12 -20
  5. package/dist/annotation/constants.js.map +1 -1
  6. package/dist/annotation/index.js +25 -10
  7. package/dist/annotation/index.js.map +1 -1
  8. package/dist/breakouts/breakout.js +2 -3
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/collection.js +1 -2
  11. package/dist/breakouts/collection.js.map +1 -1
  12. package/dist/breakouts/edit-lock-error.js +1 -2
  13. package/dist/breakouts/edit-lock-error.js.map +1 -1
  14. package/dist/breakouts/events.js +1 -2
  15. package/dist/breakouts/events.js.map +1 -1
  16. package/dist/breakouts/index.js +13 -14
  17. package/dist/breakouts/index.js.map +1 -1
  18. package/dist/breakouts/request.js +1 -2
  19. package/dist/breakouts/request.js.map +1 -1
  20. package/dist/breakouts/utils.js +3 -6
  21. package/dist/breakouts/utils.js.map +1 -1
  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.d.ts +14 -0
  37. package/dist/common/errors/no-meeting-info.js +50 -0
  38. package/dist/common/errors/no-meeting-info.js.map +1 -0
  39. package/dist/common/errors/parameter.js +3 -4
  40. package/dist/common/errors/parameter.js.map +1 -1
  41. package/dist/common/errors/password-error.js +1 -2
  42. package/dist/common/errors/password-error.js.map +1 -1
  43. package/dist/common/errors/permission.js +1 -2
  44. package/dist/common/errors/permission.js.map +1 -1
  45. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  46. package/dist/common/errors/reclaim-host-role-errors.js +154 -0
  47. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  48. package/dist/common/errors/reconnection-in-progress.js +1 -2
  49. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  50. package/dist/common/errors/reconnection.js +1 -2
  51. package/dist/common/errors/reconnection.js.map +1 -1
  52. package/dist/common/errors/stats.js +1 -2
  53. package/dist/common/errors/stats.js.map +1 -1
  54. package/dist/{types/common → common}/errors/webex-errors.d.ts +13 -1
  55. package/dist/common/errors/webex-errors.js +35 -16
  56. package/dist/common/errors/webex-errors.js.map +1 -1
  57. package/dist/common/errors/webex-meetings-error.js +1 -2
  58. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  59. package/dist/common/events/events-scope.js +1 -2
  60. package/dist/common/events/events-scope.js.map +1 -1
  61. package/dist/common/events/events.js +1 -2
  62. package/dist/common/events/events.js.map +1 -1
  63. package/dist/common/events/trigger-proxy.js +1 -2
  64. package/dist/common/events/trigger-proxy.js.map +1 -1
  65. package/dist/common/events/util.js +1 -2
  66. package/dist/common/events/util.js.map +1 -1
  67. package/dist/common/logs/logger-config.js +1 -2
  68. package/dist/common/logs/logger-config.js.map +1 -1
  69. package/dist/common/logs/logger-proxy.js +1 -2
  70. package/dist/common/logs/logger-proxy.js.map +1 -1
  71. package/dist/{types/common → common}/logs/request.d.ts +3 -1
  72. package/dist/common/logs/request.js +8 -5
  73. package/dist/common/logs/request.js.map +1 -1
  74. package/dist/common/queue.js +2 -4
  75. package/dist/common/queue.js.map +1 -1
  76. package/dist/{types/config.d.ts → config.d.ts} +1 -1
  77. package/dist/config.js +3 -3
  78. package/dist/config.js.map +1 -1
  79. package/dist/{types/constants.d.ts → constants.d.ts} +72 -15
  80. package/dist/constants.js +254 -371
  81. package/dist/constants.js.map +1 -1
  82. package/dist/controls-options-manager/constants.js +3 -6
  83. package/dist/controls-options-manager/constants.js.map +1 -1
  84. package/dist/controls-options-manager/enums.js +7 -10
  85. package/dist/controls-options-manager/enums.js.map +1 -1
  86. package/dist/controls-options-manager/index.js +27 -32
  87. package/dist/controls-options-manager/index.js.map +1 -1
  88. package/dist/controls-options-manager/util.js +1 -2
  89. package/dist/controls-options-manager/util.js.map +1 -1
  90. package/dist/index.js +8 -5
  91. package/dist/index.js.map +1 -1
  92. package/dist/interceptors/index.d.ts +2 -0
  93. package/dist/interceptors/index.js +15 -0
  94. package/dist/interceptors/index.js.map +1 -0
  95. package/dist/interceptors/locusRetry.d.ts +27 -0
  96. package/dist/interceptors/locusRetry.js +94 -0
  97. package/dist/interceptors/locusRetry.js.map +1 -0
  98. package/dist/interpretation/collection.js +1 -2
  99. package/dist/interpretation/collection.js.map +1 -1
  100. package/dist/interpretation/index.js +2 -3
  101. package/dist/interpretation/index.js.map +1 -1
  102. package/dist/interpretation/siLanguage.js +2 -3
  103. package/dist/interpretation/siLanguage.js.map +1 -1
  104. package/dist/locus-info/controlsUtils.js +12 -13
  105. package/dist/locus-info/controlsUtils.js.map +1 -1
  106. package/dist/locus-info/embeddedAppsUtils.js +3 -4
  107. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  108. package/dist/locus-info/fullState.js +1 -2
  109. package/dist/locus-info/fullState.js.map +1 -1
  110. package/dist/locus-info/hostUtils.js +1 -2
  111. package/dist/locus-info/hostUtils.js.map +1 -1
  112. package/dist/{types/locus-info → locus-info}/index.d.ts +1 -1
  113. package/dist/locus-info/index.js +63 -38
  114. package/dist/locus-info/index.js.map +1 -1
  115. package/dist/locus-info/infoUtils.js +3 -4
  116. package/dist/locus-info/infoUtils.js.map +1 -1
  117. package/dist/locus-info/mediaSharesUtils.js +16 -3
  118. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  119. package/dist/{types/locus-info → locus-info}/parser.d.ts +3 -2
  120. package/dist/locus-info/parser.js +48 -31
  121. package/dist/locus-info/parser.js.map +1 -1
  122. package/dist/locus-info/selfUtils.js +7 -6
  123. package/dist/locus-info/selfUtils.js.map +1 -1
  124. package/dist/media/index.js +15 -10
  125. package/dist/media/index.js.map +1 -1
  126. package/dist/media/properties.js +16 -7
  127. package/dist/media/properties.js.map +1 -1
  128. package/dist/media/util.js +1 -2
  129. package/dist/media/util.js.map +1 -1
  130. package/dist/mediaQualityMetrics/config.d.ts +241 -0
  131. package/dist/mediaQualityMetrics/config.js +135 -339
  132. package/dist/mediaQualityMetrics/config.js.map +1 -1
  133. package/dist/{types/meeting → meeting}/in-meeting-actions.d.ts +4 -0
  134. package/dist/meeting/in-meeting-actions.js +18 -2
  135. package/dist/meeting/in-meeting-actions.js.map +1 -1
  136. package/dist/{types/meeting → meeting}/index.d.ts +331 -44
  137. package/dist/meeting/index.js +2639 -1367
  138. package/dist/meeting/index.js.map +1 -1
  139. package/dist/{types/meeting → meeting}/locusMediaRequest.d.ts +1 -2
  140. package/dist/meeting/locusMediaRequest.js +4 -5
  141. package/dist/meeting/locusMediaRequest.js.map +1 -1
  142. package/dist/meeting/muteState.js +2 -4
  143. package/dist/meeting/muteState.js.map +1 -1
  144. package/dist/{types/meeting → meeting}/request.d.ts +4 -1
  145. package/dist/meeting/request.js +47 -32
  146. package/dist/meeting/request.js.map +1 -1
  147. package/dist/meeting/state.js +1 -2
  148. package/dist/meeting/state.js.map +1 -1
  149. package/dist/{types/meeting → meeting}/util.d.ts +26 -1
  150. package/dist/meeting/util.js +83 -10
  151. package/dist/meeting/util.js.map +1 -1
  152. package/dist/meeting/voicea-meeting.d.ts +16 -0
  153. package/dist/meeting/voicea-meeting.js +169 -0
  154. package/dist/meeting/voicea-meeting.js.map +1 -0
  155. package/dist/meeting-info/collection.js +3 -4
  156. package/dist/meeting-info/collection.js.map +1 -1
  157. package/dist/{types/meeting-info → meeting-info}/index.d.ts +7 -0
  158. package/dist/meeting-info/index.js +53 -27
  159. package/dist/meeting-info/index.js.map +1 -1
  160. package/dist/{types/meeting-info → meeting-info}/meeting-info-v2.d.ts +1 -0
  161. package/dist/meeting-info/meeting-info-v2.js +52 -33
  162. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  163. package/dist/meeting-info/request.js +1 -2
  164. package/dist/meeting-info/request.js.map +1 -1
  165. package/dist/meeting-info/util.js +8 -8
  166. package/dist/meeting-info/util.js.map +1 -1
  167. package/dist/meeting-info/utilv2.js +12 -9
  168. package/dist/meeting-info/utilv2.js.map +1 -1
  169. package/dist/{types/meetings → meetings}/collection.d.ts +9 -0
  170. package/dist/meetings/collection.js +21 -5
  171. package/dist/meetings/collection.js.map +1 -1
  172. package/dist/{types/meetings → meetings}/index.d.ts +45 -16
  173. package/dist/meetings/index.js +166 -74
  174. package/dist/meetings/index.js.map +1 -1
  175. package/dist/meetings/request.js +2 -3
  176. package/dist/meetings/request.js.map +1 -1
  177. package/dist/meetings/util.js +3 -10
  178. package/dist/meetings/util.js.map +1 -1
  179. package/dist/{types/member → member}/index.d.ts +1 -0
  180. package/dist/member/index.js +10 -3
  181. package/dist/member/index.js.map +1 -1
  182. package/dist/member/member.types.d.ts +11 -0
  183. package/dist/member/member.types.js +17 -0
  184. package/dist/member/member.types.js.map +1 -0
  185. package/dist/member/types.js +6 -8
  186. package/dist/member/types.js.map +1 -1
  187. package/dist/member/util.js +12 -2
  188. package/dist/member/util.js.map +1 -1
  189. package/dist/members/collection.js +1 -2
  190. package/dist/members/collection.js.map +1 -1
  191. package/dist/members/index.js +25 -8
  192. package/dist/members/index.js.map +1 -1
  193. package/dist/members/request.js +2 -3
  194. package/dist/members/request.js.map +1 -1
  195. package/dist/{types/members → members}/types.d.ts +1 -0
  196. package/dist/members/types.js +3 -4
  197. package/dist/members/types.js.map +1 -1
  198. package/dist/{types/members → members}/util.d.ts +6 -1
  199. package/dist/members/util.js +18 -8
  200. package/dist/members/util.js.map +1 -1
  201. package/dist/{types/metrics → metrics}/constants.d.ts +15 -0
  202. package/dist/metrics/constants.js +16 -3
  203. package/dist/metrics/constants.js.map +1 -1
  204. package/dist/metrics/index.js +3 -2
  205. package/dist/metrics/index.js.map +1 -1
  206. package/dist/multistream/mediaRequestManager.js +9 -11
  207. package/dist/multistream/mediaRequestManager.js.map +1 -1
  208. package/dist/multistream/receiveSlot.js +3 -5
  209. package/dist/multistream/receiveSlot.js.map +1 -1
  210. package/dist/multistream/receiveSlotManager.js +7 -9
  211. package/dist/multistream/receiveSlotManager.js.map +1 -1
  212. package/dist/multistream/remoteMedia.js +3 -5
  213. package/dist/multistream/remoteMedia.js.map +1 -1
  214. package/dist/multistream/remoteMediaGroup.js +7 -6
  215. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  216. package/dist/{types/multistream → multistream}/remoteMediaManager.d.ts +9 -1
  217. package/dist/multistream/remoteMediaManager.js +74 -36
  218. package/dist/multistream/remoteMediaManager.js.map +1 -1
  219. package/dist/multistream/sendSlotManager.js +9 -6
  220. package/dist/multistream/sendSlotManager.js.map +1 -1
  221. package/dist/networkQualityMonitor/index.js +1 -2
  222. package/dist/networkQualityMonitor/index.js.map +1 -1
  223. package/dist/personal-meeting-room/index.js +2 -3
  224. package/dist/personal-meeting-room/index.js.map +1 -1
  225. package/dist/personal-meeting-room/request.js +2 -3
  226. package/dist/personal-meeting-room/request.js.map +1 -1
  227. package/dist/personal-meeting-room/util.js +1 -2
  228. package/dist/personal-meeting-room/util.js.map +1 -1
  229. package/dist/reachability/clusterReachability.d.ts +109 -0
  230. package/dist/reachability/clusterReachability.js +357 -0
  231. package/dist/reachability/clusterReachability.js.map +1 -0
  232. package/dist/reachability/index.d.ts +105 -0
  233. package/dist/reachability/index.js +279 -436
  234. package/dist/reachability/index.js.map +1 -1
  235. package/dist/{types/reachability → reachability}/request.d.ts +1 -1
  236. package/dist/reachability/request.js +14 -11
  237. package/dist/reachability/request.js.map +1 -1
  238. package/dist/reachability/util.d.ts +8 -0
  239. package/dist/reachability/util.js +29 -0
  240. package/dist/reachability/util.js.map +1 -0
  241. package/dist/reactions/constants.js +1 -2
  242. package/dist/reactions/constants.js.map +1 -1
  243. package/dist/reactions/reactions.js +2 -4
  244. package/dist/reactions/reactions.js.map +1 -1
  245. package/dist/reactions/reactions.type.js +6 -8
  246. package/dist/reactions/reactions.type.js.map +1 -1
  247. package/dist/{types/reconnection-manager → reconnection-manager}/index.d.ts +10 -0
  248. package/dist/reconnection-manager/index.js +129 -106
  249. package/dist/reconnection-manager/index.js.map +1 -1
  250. package/dist/recording-controller/enums.js +4 -5
  251. package/dist/recording-controller/enums.js.map +1 -1
  252. package/dist/recording-controller/index.js +43 -51
  253. package/dist/recording-controller/index.js.map +1 -1
  254. package/dist/recording-controller/util.js +1 -2
  255. package/dist/recording-controller/util.js.map +1 -1
  256. package/dist/{types/roap → roap}/index.d.ts +2 -1
  257. package/dist/roap/index.js +59 -28
  258. package/dist/roap/index.js.map +1 -1
  259. package/dist/{types/roap → roap}/request.d.ts +2 -1
  260. package/dist/roap/request.js +14 -22
  261. package/dist/roap/request.js.map +1 -1
  262. package/dist/{types/roap → roap}/turnDiscovery.d.ts +21 -4
  263. package/dist/roap/turnDiscovery.js +182 -89
  264. package/dist/roap/turnDiscovery.js.map +1 -1
  265. package/dist/rtcMetrics/constants.js +1 -2
  266. package/dist/rtcMetrics/constants.js.map +1 -1
  267. package/dist/{types/rtcMetrics → rtcMetrics}/index.d.ts +15 -1
  268. package/dist/rtcMetrics/index.js +72 -12
  269. package/dist/rtcMetrics/index.js.map +1 -1
  270. package/dist/statsAnalyzer/global.js +1 -2
  271. package/dist/statsAnalyzer/global.js.map +1 -1
  272. package/dist/{types/statsAnalyzer → statsAnalyzer}/index.d.ts +28 -11
  273. package/dist/statsAnalyzer/index.js +371 -318
  274. package/dist/statsAnalyzer/index.js.map +1 -1
  275. package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
  276. package/dist/statsAnalyzer/mqaUtil.js +295 -162
  277. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  278. package/dist/transcription/index.js +1 -2
  279. package/dist/transcription/index.js.map +1 -1
  280. package/dist/webinar/collection.d.ts +16 -0
  281. package/dist/webinar/collection.js +43 -0
  282. package/dist/webinar/collection.js.map +1 -0
  283. package/dist/webinar/index.d.ts +5 -0
  284. package/dist/webinar/index.js +68 -0
  285. package/dist/webinar/index.js.map +1 -0
  286. package/jest.config.js +3 -0
  287. package/package.json +44 -24
  288. package/process +1 -0
  289. package/src/common/errors/no-meeting-info.ts +24 -0
  290. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  291. package/src/common/errors/webex-errors.ts +19 -2
  292. package/src/common/logs/request.ts +5 -1
  293. package/src/config.ts +3 -5
  294. package/src/constants.ts +78 -8
  295. package/src/index.ts +4 -0
  296. package/src/interceptors/index.ts +3 -0
  297. package/src/interceptors/locusRetry.ts +67 -0
  298. package/src/locus-info/index.ts +52 -16
  299. package/src/locus-info/mediaSharesUtils.ts +16 -0
  300. package/src/locus-info/parser.ts +47 -21
  301. package/src/media/index.ts +8 -6
  302. package/src/media/properties.ts +17 -2
  303. package/src/mediaQualityMetrics/config.ts +103 -238
  304. package/src/meeting/in-meeting-actions.ts +8 -0
  305. package/src/meeting/index.ts +1692 -627
  306. package/src/meeting/request.ts +19 -1
  307. package/src/meeting/util.ts +102 -1
  308. package/src/meeting/voicea-meeting.ts +122 -0
  309. package/src/meeting-info/index.ts +47 -20
  310. package/src/meeting-info/meeting-info-v2.ts +32 -16
  311. package/src/meeting-info/util.ts +12 -9
  312. package/src/meeting-info/utilv2.ts +25 -15
  313. package/src/meetings/collection.ts +13 -0
  314. package/src/meetings/index.ts +112 -31
  315. package/src/meetings/util.ts +2 -8
  316. package/src/member/index.ts +9 -1
  317. package/src/member/member.types.ts +13 -0
  318. package/src/member/util.ts +14 -0
  319. package/src/members/index.ts +29 -2
  320. package/src/members/types.ts +1 -0
  321. package/src/members/util.ts +15 -1
  322. package/src/metrics/constants.ts +14 -0
  323. package/src/multistream/remoteMediaManager.ts +41 -4
  324. package/src/reachability/clusterReachability.ts +320 -0
  325. package/src/reachability/index.ts +221 -382
  326. package/src/reachability/request.ts +1 -1
  327. package/src/reachability/util.ts +24 -0
  328. package/src/reconnection-manager/index.ts +87 -83
  329. package/src/roap/index.ts +60 -24
  330. package/src/roap/request.ts +4 -17
  331. package/src/roap/turnDiscovery.ts +112 -39
  332. package/src/rtcMetrics/index.ts +71 -5
  333. package/src/statsAnalyzer/index.ts +430 -427
  334. package/src/statsAnalyzer/mqaUtil.ts +317 -168
  335. package/src/webinar/collection.ts +31 -0
  336. package/src/webinar/index.ts +62 -0
  337. package/test/integration/spec/converged-space-meetings.js +7 -7
  338. package/test/integration/spec/journey.js +88 -106
  339. package/test/integration/spec/space-meeting.js +10 -10
  340. package/test/unit/spec/breakouts/breakout.ts +2 -1
  341. package/test/unit/spec/breakouts/index.ts +7 -4
  342. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  343. package/test/unit/spec/locus-info/index.js +206 -13
  344. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  345. package/test/unit/spec/locus-info/mediaSharesUtils.ts +10 -0
  346. package/test/unit/spec/locus-info/parser.js +54 -13
  347. package/test/unit/spec/locus-info/selfUtils.js +1 -1
  348. package/test/unit/spec/media/index.ts +25 -4
  349. package/test/unit/spec/media/properties.ts +2 -2
  350. package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
  351. package/test/unit/spec/meeting/index.js +4354 -1285
  352. package/test/unit/spec/meeting/request.js +63 -12
  353. package/test/unit/spec/meeting/utils.js +145 -10
  354. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  355. package/test/unit/spec/meeting-info/index.js +180 -61
  356. package/test/unit/spec/meeting-info/meetinginfov2.js +216 -68
  357. package/test/unit/spec/meetings/collection.js +12 -0
  358. package/test/unit/spec/meetings/index.js +676 -195
  359. package/test/unit/spec/meetings/utils.js +35 -12
  360. package/test/unit/spec/member/index.js +8 -7
  361. package/test/unit/spec/member/util.js +32 -0
  362. package/test/unit/spec/members/index.js +130 -17
  363. package/test/unit/spec/members/utils.js +26 -0
  364. package/test/unit/spec/metrics/index.js +1 -2
  365. package/test/unit/spec/multistream/mediaRequestManager.ts +1 -0
  366. package/test/unit/spec/multistream/remoteMediaManager.ts +10 -2
  367. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  368. package/test/unit/spec/reachability/index.ts +505 -135
  369. package/test/unit/spec/reachability/util.ts +40 -0
  370. package/test/unit/spec/reconnection-manager/index.js +74 -17
  371. package/test/unit/spec/recording-controller/index.js +0 -1
  372. package/test/unit/spec/roap/index.ts +181 -61
  373. package/test/unit/spec/roap/request.ts +27 -3
  374. package/test/unit/spec/roap/turnDiscovery.ts +363 -102
  375. package/test/unit/spec/rtcMetrics/index.ts +57 -3
  376. package/test/unit/spec/stats-analyzer/index.js +1225 -12
  377. package/test/unit/spec/webinar/collection.ts +13 -0
  378. package/test/unit/spec/webinar/index.ts +60 -0
  379. package/test/utils/integrationTestUtils.js +4 -4
  380. package/test/utils/webex-test-users.js +12 -4
  381. package/dist/types/mediaQualityMetrics/config.d.ts +0 -365
  382. package/dist/types/reachability/index.d.ts +0 -158
  383. package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -24
  384. /package/dist/{types/annotation → annotation}/annotation.types.d.ts +0 -0
  385. /package/dist/{types/annotation → annotation}/constants.d.ts +0 -0
  386. /package/dist/{types/annotation → annotation}/index.d.ts +0 -0
  387. /package/dist/{types/breakouts → breakouts}/breakout.d.ts +0 -0
  388. /package/dist/{types/breakouts → breakouts}/collection.d.ts +0 -0
  389. /package/dist/{types/breakouts → breakouts}/edit-lock-error.d.ts +0 -0
  390. /package/dist/{types/breakouts → breakouts}/events.d.ts +0 -0
  391. /package/dist/{types/breakouts → breakouts}/index.d.ts +0 -0
  392. /package/dist/{types/breakouts → breakouts}/request.d.ts +0 -0
  393. /package/dist/{types/breakouts → breakouts}/utils.d.ts +0 -0
  394. /package/dist/{types/common → common}/browser-detection.d.ts +0 -0
  395. /package/dist/{types/common → common}/collection.d.ts +0 -0
  396. /package/dist/{types/common → common}/config.d.ts +0 -0
  397. /package/dist/{types/common → common}/errors/captcha-error.d.ts +0 -0
  398. /package/dist/{types/common → common}/errors/intent-to-join.d.ts +0 -0
  399. /package/dist/{types/common → common}/errors/join-meeting.d.ts +0 -0
  400. /package/dist/{types/common → common}/errors/media.d.ts +0 -0
  401. /package/dist/{types/common → common}/errors/parameter.d.ts +0 -0
  402. /package/dist/{types/common → common}/errors/password-error.d.ts +0 -0
  403. /package/dist/{types/common → common}/errors/permission.d.ts +0 -0
  404. /package/dist/{types/common → common}/errors/reconnection-in-progress.d.ts +0 -0
  405. /package/dist/{types/common → common}/errors/reconnection.d.ts +0 -0
  406. /package/dist/{types/common → common}/errors/stats.d.ts +0 -0
  407. /package/dist/{types/common → common}/errors/webex-meetings-error.d.ts +0 -0
  408. /package/dist/{types/common → common}/events/events-scope.d.ts +0 -0
  409. /package/dist/{types/common → common}/events/events.d.ts +0 -0
  410. /package/dist/{types/common → common}/events/trigger-proxy.d.ts +0 -0
  411. /package/dist/{types/common → common}/events/util.d.ts +0 -0
  412. /package/dist/{types/common → common}/logs/logger-config.d.ts +0 -0
  413. /package/dist/{types/common → common}/logs/logger-proxy.d.ts +0 -0
  414. /package/dist/{types/common → common}/queue.d.ts +0 -0
  415. /package/dist/{types/controls-options-manager → controls-options-manager}/constants.d.ts +0 -0
  416. /package/dist/{types/controls-options-manager → controls-options-manager}/enums.d.ts +0 -0
  417. /package/dist/{types/controls-options-manager → controls-options-manager}/index.d.ts +0 -0
  418. /package/dist/{types/controls-options-manager → controls-options-manager}/types.d.ts +0 -0
  419. /package/dist/{types/controls-options-manager → controls-options-manager}/util.d.ts +0 -0
  420. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  421. /package/dist/{types/interpretation → interpretation}/collection.d.ts +0 -0
  422. /package/dist/{types/interpretation → interpretation}/index.d.ts +0 -0
  423. /package/dist/{types/interpretation → interpretation}/siLanguage.d.ts +0 -0
  424. /package/dist/{types/locus-info → locus-info}/controlsUtils.d.ts +0 -0
  425. /package/dist/{types/locus-info → locus-info}/embeddedAppsUtils.d.ts +0 -0
  426. /package/dist/{types/locus-info → locus-info}/fullState.d.ts +0 -0
  427. /package/dist/{types/locus-info → locus-info}/hostUtils.d.ts +0 -0
  428. /package/dist/{types/locus-info → locus-info}/infoUtils.d.ts +0 -0
  429. /package/dist/{types/locus-info → locus-info}/mediaSharesUtils.d.ts +0 -0
  430. /package/dist/{types/locus-info → locus-info}/selfUtils.d.ts +0 -0
  431. /package/dist/{types/media → media}/index.d.ts +0 -0
  432. /package/dist/{types/media → media}/properties.d.ts +0 -0
  433. /package/dist/{types/media → media}/util.d.ts +0 -0
  434. /package/dist/{types/meeting → meeting}/muteState.d.ts +0 -0
  435. /package/dist/{types/meeting → meeting}/request.type.d.ts +0 -0
  436. /package/dist/{types/meeting → meeting}/state.d.ts +0 -0
  437. /package/dist/{types/meeting-info → meeting-info}/collection.d.ts +0 -0
  438. /package/dist/{types/meeting-info → meeting-info}/request.d.ts +0 -0
  439. /package/dist/{types/meeting-info → meeting-info}/util.d.ts +0 -0
  440. /package/dist/{types/meeting-info → meeting-info}/utilv2.d.ts +0 -0
  441. /package/dist/{types/meetings → meetings}/meetings.types.d.ts +0 -0
  442. /package/dist/{types/meetings → meetings}/request.d.ts +0 -0
  443. /package/dist/{types/meetings → meetings}/util.d.ts +0 -0
  444. /package/dist/{types/member → member}/types.d.ts +0 -0
  445. /package/dist/{types/member → member}/util.d.ts +0 -0
  446. /package/dist/{types/members → members}/collection.d.ts +0 -0
  447. /package/dist/{types/members → members}/index.d.ts +0 -0
  448. /package/dist/{types/members → members}/request.d.ts +0 -0
  449. /package/dist/{types/metrics → metrics}/index.d.ts +0 -0
  450. /package/dist/{types/multistream → multistream}/mediaRequestManager.d.ts +0 -0
  451. /package/dist/{types/multistream → multistream}/receiveSlot.d.ts +0 -0
  452. /package/dist/{types/multistream → multistream}/receiveSlotManager.d.ts +0 -0
  453. /package/dist/{types/multistream → multistream}/remoteMedia.d.ts +0 -0
  454. /package/dist/{types/multistream → multistream}/remoteMediaGroup.d.ts +0 -0
  455. /package/dist/{types/multistream → multistream}/sendSlotManager.d.ts +0 -0
  456. /package/dist/{types/networkQualityMonitor → networkQualityMonitor}/index.d.ts +0 -0
  457. /package/dist/{types/personal-meeting-room → personal-meeting-room}/index.d.ts +0 -0
  458. /package/dist/{types/personal-meeting-room → personal-meeting-room}/request.d.ts +0 -0
  459. /package/dist/{types/personal-meeting-room → personal-meeting-room}/util.d.ts +0 -0
  460. /package/dist/{types/reactions → reactions}/constants.d.ts +0 -0
  461. /package/dist/{types/reactions → reactions}/reactions.d.ts +0 -0
  462. /package/dist/{types/reactions → reactions}/reactions.type.d.ts +0 -0
  463. /package/dist/{types/recording-controller → recording-controller}/enums.d.ts +0 -0
  464. /package/dist/{types/recording-controller → recording-controller}/index.d.ts +0 -0
  465. /package/dist/{types/recording-controller → recording-controller}/util.d.ts +0 -0
  466. /package/dist/{types/rtcMetrics → rtcMetrics}/constants.d.ts +0 -0
  467. /package/dist/{types/statsAnalyzer → statsAnalyzer}/global.d.ts +0 -0
  468. /package/dist/{types/transcription → transcription}/index.d.ts +0 -0
  469. /package/test/unit/spec/locus-info/{selfConstant.js → lib/selfConstant.js} +0 -0
@@ -15,10 +15,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
15
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
16
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
17
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
18
- var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
19
- var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
20
- var _assignWith2 = _interopRequireDefault(require("lodash/assignWith"));
21
- var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
18
+ var _lodash = require("lodash");
22
19
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
23
20
  var _eventsScope = _interopRequireDefault(require("../common/events/events-scope"));
24
21
  var _constants = require("../constants");
@@ -30,6 +27,8 @@ var _controlsUtils = _interopRequireDefault(require("./controlsUtils"));
30
27
  var _embeddedAppsUtils = _interopRequireDefault(require("./embeddedAppsUtils"));
31
28
  var _mediaSharesUtils = _interopRequireDefault(require("./mediaSharesUtils"));
32
29
  var _parser = _interopRequireDefault(require("./parser"));
30
+ var _metrics = _interopRequireDefault(require("../metrics"));
31
+ var _constants2 = _interopRequireDefault(require("../metrics/constants"));
33
32
  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); }; }
34
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; } }
35
34
  /**
@@ -38,7 +37,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
38
37
  * @private
39
38
  * @class LocusInfo
40
39
  */
41
- var LocusInfo = /*#__PURE__*/function (_EventsScope) {
40
+ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
42
41
  (0, _inherits2.default)(LocusInfo, _EventsScope);
43
42
  var _super = _createSuper(LocusInfo);
44
43
  /**
@@ -118,9 +117,32 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
118
117
  // return value ignored on purpose
119
118
  meeting.meetingRequest.getLocusDTO({
120
119
  url: url
120
+ }).catch(function (e) {
121
+ if (isDelta) {
122
+ _loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> delta sync failed, falling back to full sync');
123
+ _metrics.default.sendBehavioralMetric(_constants2.default.LOCUS_DELTA_SYNC_FAILED, {
124
+ correlationId: meeting.correlationId,
125
+ url: url,
126
+ reason: e.message,
127
+ errorName: e.name,
128
+ stack: e.stack,
129
+ code: e.code
130
+ });
131
+ isDelta = false;
132
+ return meeting.meetingRequest.getLocusDTO({
133
+ url: meeting.locusUrl
134
+ }).catch(function (err) {
135
+ _loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> fallback full sync failed, destroying the meeting');
136
+ _this2.webex.meetings.destroy(meeting, _constants.MEETING_REMOVED_REASON.LOCUS_DTO_SYNC_FAILED);
137
+ throw err;
138
+ });
139
+ }
140
+ _loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> fallback full sync failed, destroying the meeting');
141
+ _this2.webex.meetings.destroy(meeting, _constants.MEETING_REMOVED_REASON.LOCUS_DTO_SYNC_FAILED);
142
+ throw e;
121
143
  }).then(function (res) {
122
144
  if (isDelta) {
123
- if (!(0, _isEmpty2.default)(res.body)) {
145
+ if (!(0, _lodash.isEmpty)(res.body)) {
124
146
  meeting.locusInfo.handleLocusDelta(res.body, meeting);
125
147
  } else {
126
148
  _loggerProxy.default.logger.info('Locus-info:index#doLocusSync --> received empty body from syncUrl, so we already have latest Locus DTO');
@@ -128,7 +150,6 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
128
150
  } else {
129
151
  meeting.locusInfo.onFullLocus(res.body);
130
152
  }
131
- }).finally(function () {
132
153
  // Notify parser to resume processing delta events.
133
154
  // Any deltas in the queue that have now been superseded by this sync will simply be ignored
134
155
  _this2.locusParser.resume();
@@ -149,7 +170,8 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
149
170
  DESYNC = _LocusDeltaParser$loc.DESYNC,
150
171
  USE_CURRENT = _LocusDeltaParser$loc.USE_CURRENT,
151
172
  USE_INCOMING = _LocusDeltaParser$loc.USE_INCOMING,
152
- WAIT = _LocusDeltaParser$loc.WAIT;
173
+ WAIT = _LocusDeltaParser$loc.WAIT,
174
+ LOCUS_URL_CHANGED = _LocusDeltaParser$loc.LOCUS_URL_CHANGED;
153
175
  switch (action) {
154
176
  case USE_INCOMING:
155
177
  meeting.locusInfo.onDeltaLocus(locus);
@@ -159,6 +181,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
159
181
  // do nothing
160
182
  break;
161
183
  case DESYNC:
184
+ case LOCUS_URL_CHANGED:
162
185
  this.doLocusSync(meeting);
163
186
  break;
164
187
  default:
@@ -706,7 +729,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
706
729
  }, {
707
730
  key: "updateControls",
708
731
  value: function updateControls(controls, self) {
709
- if (controls && !(0, _isEqual2.default)(this.controls, controls)) {
732
+ if (controls && !(0, _lodash.isEqual)(this.controls, controls)) {
710
733
  this.parsedLocus.controls = _controlsUtils.default.parse(controls);
711
734
  var _ControlsUtils$getCon = _controlsUtils.default.getControls(this.controls, controls),
712
735
  _ControlsUtils$getCon2 = _ControlsUtils$getCon.updates,
@@ -885,12 +908,12 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
885
908
  }, {
886
909
  key: "updateConversationUrl",
887
910
  value: function updateConversationUrl(conversationUrl, info) {
888
- if (conversationUrl && !(0, _isEqual2.default)(this.conversationUrl, conversationUrl)) {
911
+ if (conversationUrl && !(0, _lodash.isEqual)(this.conversationUrl, conversationUrl)) {
889
912
  this.conversationUrl = conversationUrl;
890
913
  this.updateMeeting({
891
914
  conversationUrl: conversationUrl
892
915
  });
893
- } else if (info && info.conversationUrl && !(0, _isEqual2.default)(this.conversationUrl, info.conversationUrl)) {
916
+ } else if (info && info.conversationUrl && !(0, _lodash.isEqual)(this.conversationUrl, info.conversationUrl)) {
894
917
  this.conversationUrl = info.conversationUrl;
895
918
  this.updateMeeting({
896
919
  conversationUrl: info.conversationUrl
@@ -906,7 +929,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
906
929
  }, {
907
930
  key: "updateCreated",
908
931
  value: function updateCreated(created) {
909
- if (created && !(0, _isEqual2.default)(this.created, created)) {
932
+ if (created && !(0, _lodash.isEqual)(this.created, created)) {
910
933
  this.created = created;
911
934
  }
912
935
  }
@@ -919,7 +942,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
919
942
  }, {
920
943
  key: "updateServices",
921
944
  value: function updateServices(services) {
922
- if (services && !(0, _isEqual2.default)(this.services, services)) {
945
+ if (services && !(0, _lodash.isEqual)(this.services, services)) {
923
946
  this.services = services;
924
947
  this.emitScoped({
925
948
  file: 'locus-info',
@@ -938,7 +961,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
938
961
  }, {
939
962
  key: "updateFullState",
940
963
  value: function updateFullState(fullState) {
941
- if (fullState && !(0, _isEqual2.default)(this.fullState, fullState)) {
964
+ if (fullState && !(0, _lodash.isEqual)(this.fullState, fullState)) {
942
965
  var result = _fullState.default.getFullState(this.fullState, fullState);
943
966
  this.updateMeeting(result.current);
944
967
  if (result.updates.meetingStateChangedTo) {
@@ -973,7 +996,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
973
996
  }, {
974
997
  key: "updateHostInfo",
975
998
  value: function updateHostInfo(host) {
976
- if (host && !(0, _isEqual2.default)(this.host, host)) {
999
+ if (host && !(0, _lodash.isEqual)(this.host, host)) {
977
1000
  var parsedHosts = _hostUtils.default.getHosts(this.host, host);
978
1001
  this.updateMeeting(parsedHosts.current);
979
1002
  this.parsedLocus.host = parsedHosts.current;
@@ -1004,7 +1027,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1004
1027
  value: function updateMeetingInfo(info, self) {
1005
1028
  var _this$parsedLocus$sel;
1006
1029
  var roles = self ? _selfUtils.default.getRoles(self) : ((_this$parsedLocus$sel = this.parsedLocus.self) === null || _this$parsedLocus$sel === void 0 ? void 0 : _this$parsedLocus$sel.roles) || [];
1007
- if (info && !(0, _isEqual2.default)(this.info, info) || roles.length && !(0, _isEqual2.default)(this.roles, roles) && info) {
1030
+ if (info && !(0, _lodash.isEqual)(this.info, info) || roles.length && !(0, _lodash.isEqual)(this.roles, roles) && info) {
1008
1031
  var isJoined = _selfUtils.default.isJoined(self || this.parsedLocus.self);
1009
1032
  var parsedInfo = _infoUtils.default.getInfos(this.parsedLocus.info, info, roles, isJoined);
1010
1033
  if (parsedInfo.updates.isLocked) {
@@ -1026,8 +1049,11 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1026
1049
  this.emitScoped({
1027
1050
  file: 'locus-info',
1028
1051
  function: 'updateMeetingInfo'
1029
- }, _constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED);
1052
+ }, _constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, {
1053
+ isInitializing: !self // if self is undefined, then the update is caused by locus init
1054
+ });
1030
1055
  }
1056
+
1031
1057
  this.roles = roles;
1032
1058
  }
1033
1059
 
@@ -1064,7 +1090,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1064
1090
  }, {
1065
1091
  key: "updateMediaShares",
1066
1092
  value: function updateMediaShares(mediaShares) {
1067
- if (mediaShares && !(0, _isEqual2.default)(this.mediaShares, mediaShares)) {
1093
+ if (mediaShares && !(0, _lodash.isEqual)(this.mediaShares, mediaShares)) {
1068
1094
  var parsedMediaShares = _mediaSharesUtils.default.getMediaShares(this.mediaShares, mediaShares);
1069
1095
  this.updateMeeting(parsedMediaShares.current);
1070
1096
  this.parsedLocus.mediaShares = parsedMediaShares.current;
@@ -1087,7 +1113,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1087
1113
  }, {
1088
1114
  key: "updateParticipantsUrl",
1089
1115
  value: function updateParticipantsUrl(participantsUrl) {
1090
- if (participantsUrl && !(0, _isEqual2.default)(this.participantsUrl, participantsUrl)) {
1116
+ if (participantsUrl && !(0, _lodash.isEqual)(this.participantsUrl, participantsUrl)) {
1091
1117
  this.participantsUrl = participantsUrl;
1092
1118
  }
1093
1119
  }
@@ -1100,7 +1126,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1100
1126
  }, {
1101
1127
  key: "updateReplace",
1102
1128
  value: function updateReplace(replace) {
1103
- if (replace && !(0, _isEqual2.default)(this.replace, replace)) {
1129
+ if (replace && !(0, _lodash.isEqual)(this.replace, replace)) {
1104
1130
  this.replace = replace;
1105
1131
  }
1106
1132
  }
@@ -1117,7 +1143,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1117
1143
  key: "updateSelf",
1118
1144
  value: function updateSelf(self, participants) {
1119
1145
  // @ts-ignore - check where this.self come from
1120
- if (self && !(0, _isEqual2.default)(this.self, self)) {
1146
+ if (self && !(0, _lodash.isEqual)(this.self, self)) {
1121
1147
  // @ts-ignore
1122
1148
  var parsedSelves = _selfUtils.default.getSelves(this.self, self, this.webex.internal.device.url);
1123
1149
  this.updateMeeting(parsedSelves.current);
@@ -1318,7 +1344,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1318
1344
  }, {
1319
1345
  key: "updateAclUrl",
1320
1346
  value: function updateAclUrl(aclUrl) {
1321
- if (aclUrl && !(0, _isEqual2.default)(this.aclUrl, aclUrl)) {
1347
+ if (aclUrl && !(0, _lodash.isEqual)(this.aclUrl, aclUrl)) {
1322
1348
  this.aclUrl = aclUrl;
1323
1349
  }
1324
1350
  }
@@ -1331,7 +1357,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1331
1357
  }, {
1332
1358
  key: "updateBasequence",
1333
1359
  value: function updateBasequence(baseSequence) {
1334
- if (baseSequence && !(0, _isEqual2.default)(this.baseSequence, baseSequence)) {
1360
+ if (baseSequence && !(0, _lodash.isEqual)(this.baseSequence, baseSequence)) {
1335
1361
  this.baseSequence = baseSequence;
1336
1362
  }
1337
1363
  }
@@ -1344,7 +1370,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1344
1370
  }, {
1345
1371
  key: "updateSequence",
1346
1372
  value: function updateSequence(sequence) {
1347
- if (sequence && !(0, _isEqual2.default)(this.sequence, sequence)) {
1373
+ if (sequence && !(0, _lodash.isEqual)(this.sequence, sequence)) {
1348
1374
  this.sequence = sequence;
1349
1375
  }
1350
1376
  }
@@ -1357,7 +1383,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1357
1383
  }, {
1358
1384
  key: "updateMemberShip",
1359
1385
  value: function updateMemberShip(membership) {
1360
- if (membership && !(0, _isEqual2.default)(this.membership, membership)) {
1386
+ if (membership && !(0, _lodash.isEqual)(this.membership, membership)) {
1361
1387
  this.membership = membership;
1362
1388
  }
1363
1389
  }
@@ -1370,7 +1396,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1370
1396
  }, {
1371
1397
  key: "updateIdentifiers",
1372
1398
  value: function updateIdentifiers(identities) {
1373
- if (identities && !(0, _isEqual2.default)(this.identities, identities)) {
1399
+ if (identities && !(0, _lodash.isEqual)(this.identities, identities)) {
1374
1400
  this.identities = identities;
1375
1401
  }
1376
1402
  }
@@ -1392,7 +1418,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1392
1418
 
1393
1419
  /**
1394
1420
  * if return from breakout to main session, need to use cached main session DTO since locus won't send the full locus (participants)
1395
- * if join breakout from main session, need to query main locus url (if response with 403 means no privilege, need to clear the cache)
1421
+ * if join breakout from main session, main session is not active for the attendee and remove main session locus cache
1396
1422
  * @param {Object} newLocus
1397
1423
  * @returns {Object}
1398
1424
  * @memberof LocusInfo
@@ -1402,15 +1428,15 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1402
1428
  value: function getTheLocusToUpdate(newLocus) {
1403
1429
  var switchStatus = _controlsUtils.default.getSessionSwitchStatus(this.controls, newLocus === null || newLocus === void 0 ? void 0 : newLocus.controls);
1404
1430
  if (switchStatus.isReturnToMain && this.mainSessionLocusCache) {
1405
- return (0, _cloneDeep2.default)(this.mainSessionLocusCache);
1431
+ return (0, _lodash.cloneDeep)(this.mainSessionLocusCache);
1406
1432
  }
1407
- if (switchStatus.isJoinToBreakout) {
1408
- this.emitScoped({
1409
- file: 'locus-info',
1410
- function: 'updateControls'
1411
- }, _constants.LOCUSINFO.EVENTS.CONTROLS_JOIN_BREAKOUT_FROM_MAIN, {
1412
- mainLocusUrl: this.url
1413
- });
1433
+ var isMainSessionDTO = this.mainSessionLocusCache && _controlsUtils.default.isMainSessionDTO(this.mainSessionLocusCache);
1434
+ if (isMainSessionDTO) {
1435
+ var _this$fullState, _this$mainSessionLocu, _this$mainSessionLocu2;
1436
+ var isActive = [_constants.LOCUS.STATE.ACTIVE, _constants.LOCUS.STATE.INITIALIZING, _constants.LOCUS.STATE.TERMINATING].includes((_this$fullState = this.fullState) === null || _this$fullState === void 0 ? void 0 : _this$fullState.state) && !((_this$mainSessionLocu = this.mainSessionLocusCache) !== null && _this$mainSessionLocu !== void 0 && (_this$mainSessionLocu2 = _this$mainSessionLocu.self) !== null && _this$mainSessionLocu2 !== void 0 && _this$mainSessionLocu2.removed);
1437
+ if (!isActive) {
1438
+ this.clearMainSessionLocusCache();
1439
+ }
1414
1440
  }
1415
1441
  return newLocus;
1416
1442
  }
@@ -1456,10 +1482,10 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1456
1482
  if (!mainLocus) {
1457
1483
  return;
1458
1484
  }
1459
- var locusClone = (0, _cloneDeep2.default)(mainLocus);
1485
+ var locusClone = (0, _lodash.cloneDeep)(mainLocus);
1460
1486
  if (this.mainSessionLocusCache) {
1461
1487
  // shallow merge and do special merge for participants
1462
- (0, _assignWith2.default)(this.mainSessionLocusCache, locusClone, function (objValue, srcValue, key) {
1488
+ (0, _lodash.assignWith)(this.mainSessionLocusCache, locusClone, function (objValue, srcValue, key) {
1463
1489
  if (key === 'participants') {
1464
1490
  return _this5.mergeParticipants(objValue, srcValue);
1465
1491
  }
@@ -1483,5 +1509,4 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
1483
1509
  }]);
1484
1510
  return LocusInfo;
1485
1511
  }(_eventsScope.default);
1486
- exports.default = LocusInfo;
1487
1512
  //# sourceMappingURL=index.js.map