@webex/plugin-meetings 2.60.1-next.9 → 2.60.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 (539) hide show
  1. package/README.md +8 -58
  2. package/dist/common/browser-detection.js +3 -2
  3. package/dist/common/browser-detection.js.map +1 -1
  4. package/dist/common/collection.js +4 -3
  5. package/dist/common/collection.js.map +1 -1
  6. package/dist/common/config.js +2 -1
  7. package/dist/common/config.js.map +1 -1
  8. package/dist/common/errors/captcha-error.js +2 -1
  9. package/dist/common/errors/captcha-error.js.map +1 -1
  10. package/dist/common/errors/intent-to-join.js +2 -1
  11. package/dist/common/errors/intent-to-join.js.map +1 -1
  12. package/dist/common/errors/join-meeting.js +2 -1
  13. package/dist/common/errors/join-meeting.js.map +1 -1
  14. package/dist/common/errors/media.js +2 -1
  15. package/dist/common/errors/media.js.map +1 -1
  16. package/dist/common/errors/parameter.js +4 -3
  17. package/dist/common/errors/parameter.js.map +1 -1
  18. package/dist/common/errors/password-error.js +2 -1
  19. package/dist/common/errors/password-error.js.map +1 -1
  20. package/dist/common/errors/permission.js +2 -1
  21. package/dist/common/errors/permission.js.map +1 -1
  22. package/dist/common/errors/{reclaim-host-role-errors.js → reclaim-host-role-error.js} +11 -7
  23. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  24. package/dist/common/errors/reconnection-in-progress.js +2 -1
  25. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  26. package/dist/common/errors/reconnection.js +2 -1
  27. package/dist/common/errors/reconnection.js.map +1 -1
  28. package/dist/common/errors/stats.js +2 -1
  29. package/dist/common/errors/stats.js.map +1 -1
  30. package/dist/common/errors/webex-errors.d.ts +8 -20
  31. package/dist/common/errors/webex-errors.js +28 -48
  32. package/dist/common/errors/webex-errors.js.map +1 -1
  33. package/dist/common/errors/webex-meetings-error.js +2 -1
  34. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  35. package/dist/common/events/events-scope.js +2 -1
  36. package/dist/common/events/events-scope.js.map +1 -1
  37. package/dist/common/events/events.js +2 -1
  38. package/dist/common/events/events.js.map +1 -1
  39. package/dist/common/events/trigger-proxy.js +2 -1
  40. package/dist/common/events/trigger-proxy.js.map +1 -1
  41. package/dist/common/events/util.js +2 -1
  42. package/dist/common/events/util.js.map +1 -1
  43. package/dist/common/logs/logger-config.js +2 -1
  44. package/dist/common/logs/logger-config.js.map +1 -1
  45. package/dist/common/logs/logger-proxy.js +3 -2
  46. package/dist/common/logs/logger-proxy.js.map +1 -1
  47. package/dist/common/logs/request.d.ts +1 -3
  48. package/dist/common/logs/request.js +5 -8
  49. package/dist/common/logs/request.js.map +1 -1
  50. package/dist/common/queue.d.ts +7 -9
  51. package/dist/common/queue.js +9 -22
  52. package/dist/common/queue.js.map +1 -1
  53. package/dist/config.d.ts +7 -6
  54. package/dist/config.js +10 -8
  55. package/dist/config.js.map +1 -1
  56. package/dist/constants.d.ts +100 -234
  57. package/dist/constants.js +444 -433
  58. package/dist/constants.js.map +1 -1
  59. package/dist/controls-options-manager/constants.js +6 -3
  60. package/dist/controls-options-manager/constants.js.map +1 -1
  61. package/dist/controls-options-manager/enums.d.ts +1 -11
  62. package/dist/controls-options-manager/enums.js +6 -15
  63. package/dist/controls-options-manager/enums.js.map +1 -1
  64. package/dist/controls-options-manager/index.d.ts +1 -17
  65. package/dist/controls-options-manager/index.js +38 -127
  66. package/dist/controls-options-manager/index.js.map +1 -1
  67. package/dist/controls-options-manager/util.d.ts +7 -1
  68. package/dist/controls-options-manager/util.js +19 -309
  69. package/dist/controls-options-manager/util.js.map +1 -1
  70. package/dist/index.d.ts +3 -6
  71. package/dist/index.js +5 -121
  72. package/dist/index.js.map +1 -1
  73. package/dist/locus-info/controlsUtils.js +11 -100
  74. package/dist/locus-info/controlsUtils.js.map +1 -1
  75. package/dist/locus-info/embeddedAppsUtils.js +4 -3
  76. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  77. package/dist/locus-info/fullState.js +2 -1
  78. package/dist/locus-info/fullState.js.map +1 -1
  79. package/dist/locus-info/hostUtils.js +2 -1
  80. package/dist/locus-info/hostUtils.js.map +1 -1
  81. package/dist/locus-info/index.d.ts +4 -57
  82. package/dist/locus-info/index.js +84 -425
  83. package/dist/locus-info/index.js.map +1 -1
  84. package/dist/locus-info/infoUtils.js +5 -13
  85. package/dist/locus-info/infoUtils.js.map +1 -1
  86. package/dist/locus-info/mediaSharesUtils.js +3 -58
  87. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  88. package/dist/locus-info/parser.d.ts +6 -66
  89. package/dist/locus-info/parser.js +80 -253
  90. package/dist/locus-info/parser.js.map +1 -1
  91. package/dist/locus-info/selfUtils.js +13 -97
  92. package/dist/locus-info/selfUtils.js.map +1 -1
  93. package/dist/media/index.d.ts +0 -2
  94. package/dist/media/index.js +319 -107
  95. package/dist/media/index.js.map +1 -1
  96. package/dist/media/properties.d.ts +53 -38
  97. package/dist/media/properties.js +153 -96
  98. package/dist/media/properties.js.map +1 -1
  99. package/dist/media/util.js +22 -1
  100. package/dist/media/util.js.map +1 -1
  101. package/dist/mediaQualityMetrics/config.d.ts +230 -234
  102. package/dist/mediaQualityMetrics/config.js +498 -302
  103. package/dist/mediaQualityMetrics/config.js.map +1 -1
  104. package/dist/meeting/effectsState.d.ts +42 -0
  105. package/dist/meeting/effectsState.js +260 -0
  106. package/dist/meeting/effectsState.js.map +1 -0
  107. package/dist/meeting/in-meeting-actions.d.ts +0 -88
  108. package/dist/meeting/in-meeting-actions.js +3 -94
  109. package/dist/meeting/in-meeting-actions.js.map +1 -1
  110. package/dist/meeting/index.d.ts +520 -705
  111. package/dist/meeting/index.js +3083 -5041
  112. package/dist/meeting/index.js.map +1 -1
  113. package/dist/meeting/muteState.d.ts +25 -93
  114. package/dist/meeting/muteState.js +133 -224
  115. package/dist/meeting/muteState.js.map +1 -1
  116. package/dist/meeting/request.d.ts +47 -82
  117. package/dist/meeting/request.js +199 -304
  118. package/dist/meeting/request.js.map +1 -1
  119. package/dist/meeting/state.js +2 -1
  120. package/dist/meeting/state.js.map +1 -1
  121. package/dist/meeting/util.d.ts +1 -118
  122. package/dist/meeting/util.js +435 -676
  123. package/dist/meeting/util.js.map +1 -1
  124. package/dist/meeting-info/collection.js +4 -3
  125. package/dist/meeting-info/collection.js.map +1 -1
  126. package/dist/meeting-info/index.d.ts +1 -13
  127. package/dist/meeting-info/index.js +7 -74
  128. package/dist/meeting-info/index.js.map +1 -1
  129. package/dist/meeting-info/meeting-info-v2.d.ts +1 -31
  130. package/dist/meeting-info/meeting-info-v2.js +63 -200
  131. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  132. package/dist/meeting-info/request.js +2 -1
  133. package/dist/meeting-info/request.js.map +1 -1
  134. package/dist/meeting-info/util.js +3 -2
  135. package/dist/meeting-info/util.js.map +1 -1
  136. package/dist/meeting-info/utilv2.js +41 -39
  137. package/dist/meeting-info/utilv2.js.map +1 -1
  138. package/dist/meetings/collection.d.ts +0 -17
  139. package/dist/meetings/collection.js +4 -42
  140. package/dist/meetings/collection.js.map +1 -1
  141. package/dist/meetings/index.d.ts +20 -114
  142. package/dist/meetings/index.js +133 -540
  143. package/dist/meetings/index.js.map +1 -1
  144. package/dist/meetings/request.js +3 -4
  145. package/dist/meetings/request.js.map +1 -1
  146. package/dist/meetings/util.js +6 -107
  147. package/dist/meetings/util.js.map +1 -1
  148. package/dist/member/index.d.ts +1 -13
  149. package/dist/member/index.js +2 -45
  150. package/dist/member/index.js.map +1 -1
  151. package/dist/member/member.types.js +4 -3
  152. package/dist/member/member.types.js.map +1 -1
  153. package/dist/member/util.js +29 -120
  154. package/dist/member/util.js.map +1 -1
  155. package/dist/members/collection.d.ts +0 -5
  156. package/dist/members/collection.js +2 -11
  157. package/dist/members/collection.js.map +1 -1
  158. package/dist/members/index.d.ts +11 -56
  159. package/dist/members/index.js +47 -174
  160. package/dist/members/index.js.map +1 -1
  161. package/dist/members/request.d.ts +11 -67
  162. package/dist/members/request.js +54 -102
  163. package/dist/members/request.js.map +1 -1
  164. package/dist/members/types.js +4 -3
  165. package/dist/members/types.js.map +1 -1
  166. package/dist/members/util.d.ts +1 -214
  167. package/dist/members/util.js +284 -327
  168. package/dist/members/util.js.map +1 -1
  169. package/dist/metrics/config.d.ts +169 -0
  170. package/dist/metrics/config.js +289 -0
  171. package/dist/metrics/config.js.map +1 -0
  172. package/dist/metrics/constants.d.ts +6 -15
  173. package/dist/metrics/constants.js +9 -17
  174. package/dist/metrics/constants.js.map +1 -1
  175. package/dist/metrics/index.d.ts +111 -4
  176. package/dist/metrics/index.js +452 -4
  177. package/dist/metrics/index.js.map +1 -1
  178. package/dist/networkQualityMonitor/index.js +4 -5
  179. package/dist/networkQualityMonitor/index.js.map +1 -1
  180. package/dist/peer-connection-manager/index.d.ts +6 -0
  181. package/dist/peer-connection-manager/index.js +671 -0
  182. package/dist/peer-connection-manager/index.js.map +1 -0
  183. package/dist/peer-connection-manager/util.d.ts +6 -0
  184. package/dist/peer-connection-manager/util.js +110 -0
  185. package/dist/peer-connection-manager/util.js.map +1 -0
  186. package/dist/personal-meeting-room/index.js +3 -2
  187. package/dist/personal-meeting-room/index.js.map +1 -1
  188. package/dist/personal-meeting-room/request.js +3 -2
  189. package/dist/personal-meeting-room/request.js.map +1 -1
  190. package/dist/personal-meeting-room/util.js +2 -1
  191. package/dist/personal-meeting-room/util.js.map +1 -1
  192. package/dist/reachability/index.d.ts +95 -61
  193. package/dist/reachability/index.js +392 -304
  194. package/dist/reachability/index.js.map +1 -1
  195. package/dist/reachability/request.d.ts +3 -7
  196. package/dist/reachability/request.js +10 -18
  197. package/dist/reachability/request.js.map +1 -1
  198. package/dist/reactions/reactions.d.ts +2 -2
  199. package/dist/reactions/reactions.js +6 -4
  200. package/dist/reactions/reactions.js.map +1 -1
  201. package/dist/reactions/reactions.type.d.ts +3 -23
  202. package/dist/reactions/reactions.type.js +23 -21
  203. package/dist/reactions/reactions.type.js.map +1 -1
  204. package/dist/reconnection-manager/index.d.ts +8 -32
  205. package/dist/reconnection-manager/index.js +232 -285
  206. package/dist/reconnection-manager/index.js.map +1 -1
  207. package/dist/recording-controller/enums.js +5 -4
  208. package/dist/recording-controller/enums.js.map +1 -1
  209. package/dist/recording-controller/index.d.ts +1 -15
  210. package/dist/recording-controller/index.js +46 -57
  211. package/dist/recording-controller/index.js.map +1 -1
  212. package/dist/recording-controller/util.d.ts +4 -5
  213. package/dist/recording-controller/util.js +10 -10
  214. package/dist/recording-controller/util.js.map +1 -1
  215. package/dist/roap/collection.d.ts +10 -0
  216. package/dist/roap/collection.js +63 -0
  217. package/dist/roap/collection.js.map +1 -0
  218. package/dist/roap/handler.d.ts +47 -0
  219. package/dist/roap/handler.js +279 -0
  220. package/dist/roap/handler.js.map +1 -0
  221. package/dist/roap/index.d.ts +47 -9
  222. package/dist/roap/index.js +238 -100
  223. package/dist/roap/index.js.map +1 -1
  224. package/dist/roap/request.d.ts +12 -18
  225. package/dist/roap/request.js +180 -126
  226. package/dist/roap/request.js.map +1 -1
  227. package/dist/roap/state.d.ts +9 -0
  228. package/dist/roap/state.js +127 -0
  229. package/dist/roap/state.js.map +1 -0
  230. package/dist/roap/turnDiscovery.d.ts +16 -27
  231. package/dist/roap/turnDiscovery.js +105 -115
  232. package/dist/roap/turnDiscovery.js.map +1 -1
  233. package/dist/roap/util.d.ts +2 -0
  234. package/dist/roap/util.js +76 -0
  235. package/dist/roap/util.js.map +1 -0
  236. package/dist/statsAnalyzer/global.d.ts +83 -1
  237. package/dist/statsAnalyzer/global.js +85 -2
  238. package/dist/statsAnalyzer/global.js.map +1 -1
  239. package/dist/statsAnalyzer/index.d.ts +30 -50
  240. package/dist/statsAnalyzer/index.js +511 -436
  241. package/dist/statsAnalyzer/index.js.map +1 -1
  242. package/dist/statsAnalyzer/mqaUtil.d.ts +6 -8
  243. package/dist/statsAnalyzer/mqaUtil.js +90 -130
  244. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  245. package/dist/transcription/index.js +2 -1
  246. package/dist/transcription/index.js.map +1 -1
  247. package/package.json +26 -39
  248. package/src/common/errors/webex-errors.ts +12 -36
  249. package/src/common/logs/logger-proxy.ts +1 -1
  250. package/src/common/logs/request.ts +1 -5
  251. package/src/common/queue.ts +8 -22
  252. package/src/config.ts +7 -6
  253. package/src/constants.ts +100 -265
  254. package/src/controls-options-manager/enums.ts +0 -12
  255. package/src/controls-options-manager/index.ts +21 -116
  256. package/src/controls-options-manager/util.ts +14 -294
  257. package/src/index.js +15 -0
  258. package/src/locus-info/controlsUtils.ts +0 -110
  259. package/src/locus-info/index.ts +61 -450
  260. package/src/locus-info/infoUtils.ts +2 -14
  261. package/src/locus-info/mediaSharesUtils.ts +0 -64
  262. package/src/locus-info/parser.ts +47 -258
  263. package/src/locus-info/selfUtils.ts +2 -85
  264. package/src/media/index.ts +370 -153
  265. package/src/media/properties.ts +136 -106
  266. package/src/media/util.ts +21 -0
  267. package/src/mediaQualityMetrics/config.ts +377 -244
  268. package/src/meeting/effectsState.ts +209 -0
  269. package/src/meeting/in-meeting-actions.ts +0 -176
  270. package/src/meeting/index.ts +2581 -4306
  271. package/src/meeting/muteState.ts +138 -224
  272. package/src/meeting/request.ts +127 -214
  273. package/src/meeting/util.ts +423 -687
  274. package/src/meeting-info/index.ts +8 -81
  275. package/src/meeting-info/meeting-info-v2.ts +13 -163
  276. package/src/meeting-info/util.ts +1 -1
  277. package/src/meeting-info/utilv2.ts +28 -28
  278. package/src/meetings/collection.ts +0 -33
  279. package/src/meetings/index.ts +136 -531
  280. package/src/meetings/request.ts +0 -2
  281. package/src/meetings/util.ts +5 -116
  282. package/src/member/index.ts +1 -43
  283. package/src/member/util.ts +28 -125
  284. package/src/members/collection.ts +0 -8
  285. package/src/members/index.ts +52 -187
  286. package/src/members/request.ts +27 -87
  287. package/src/members/util.ts +291 -332
  288. package/src/metrics/config.ts +485 -0
  289. package/src/metrics/constants.ts +6 -15
  290. package/src/metrics/index.ts +471 -1
  291. package/src/networkQualityMonitor/index.ts +6 -6
  292. package/src/peer-connection-manager/index.ts +847 -0
  293. package/src/peer-connection-manager/util.ts +119 -0
  294. package/src/reachability/index.ts +347 -246
  295. package/src/reachability/request.ts +8 -17
  296. package/src/reactions/reactions.ts +4 -4
  297. package/src/reactions/reactions.type.ts +4 -30
  298. package/src/reconnection-manager/index.ts +156 -168
  299. package/src/recording-controller/index.ts +3 -20
  300. package/src/recording-controller/util.ts +9 -26
  301. package/src/roap/collection.ts +62 -0
  302. package/src/roap/handler.ts +294 -0
  303. package/src/roap/index.ts +241 -96
  304. package/src/roap/request.ts +148 -74
  305. package/src/roap/state.ts +156 -0
  306. package/src/roap/turnDiscovery.ts +56 -62
  307. package/src/roap/util.ts +100 -0
  308. package/src/statsAnalyzer/global.ts +84 -1
  309. package/src/statsAnalyzer/index.ts +645 -479
  310. package/src/statsAnalyzer/mqaUtil.ts +126 -128
  311. package/test/integration/spec/journey.js +264 -320
  312. package/test/integration/spec/space-meeting.js +4 -77
  313. package/test/unit/spec/common/queue.js +2 -31
  314. package/test/unit/spec/controls-options-manager/index.js +0 -163
  315. package/test/unit/spec/controls-options-manager/util.js +60 -576
  316. package/test/unit/spec/fixture/locus.js +0 -1
  317. package/test/unit/spec/locus-info/controlsUtils.js +30 -323
  318. package/test/unit/spec/locus-info/index.js +15 -1437
  319. package/test/unit/spec/locus-info/infoUtils.js +16 -54
  320. package/test/unit/spec/locus-info/lib/SeqCmp.json +0 -16
  321. package/test/unit/spec/locus-info/lib/selfConstant.js +0 -48
  322. package/test/unit/spec/locus-info/parser.js +35 -116
  323. package/test/unit/spec/locus-info/selfUtils.js +0 -275
  324. package/test/unit/spec/media/properties.ts +84 -75
  325. package/test/unit/spec/meeting/effectsState.js +281 -0
  326. package/test/unit/spec/meeting/in-meeting-actions.ts +0 -86
  327. package/test/unit/spec/meeting/index.js +2313 -8384
  328. package/test/unit/spec/meeting/muteState.js +213 -409
  329. package/test/unit/spec/meeting/request.js +43 -523
  330. package/test/unit/spec/meeting/utils.js +24 -834
  331. package/test/unit/spec/meeting-info/meetinginfov2.js +5 -527
  332. package/test/unit/spec/meeting-info/utilv2.js +0 -21
  333. package/test/unit/spec/meetings/collection.js +0 -26
  334. package/test/unit/spec/meetings/index.js +232 -1445
  335. package/test/unit/spec/meetings/utils.js +2 -202
  336. package/test/unit/spec/member/index.js +9 -32
  337. package/test/unit/spec/member/util.js +61 -499
  338. package/test/unit/spec/members/index.js +5 -394
  339. package/test/unit/spec/members/request.js +27 -206
  340. package/test/unit/spec/members/utils.js +38 -173
  341. package/test/unit/spec/metrics/index.js +50 -1
  342. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  343. package/test/unit/spec/peerconnection-manager/index.js +218 -0
  344. package/test/unit/spec/peerconnection-manager/utils.js +49 -0
  345. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +388 -0
  346. package/test/unit/spec/reachability/index.ts +24 -532
  347. package/test/unit/spec/reconnection-manager/index.js +24 -163
  348. package/test/unit/spec/recording-controller/index.js +218 -293
  349. package/test/unit/spec/recording-controller/util.js +96 -223
  350. package/test/unit/spec/roap/index.ts +77 -187
  351. package/test/unit/spec/roap/turnDiscovery.ts +48 -86
  352. package/test/unit/spec/roap/util.js +30 -0
  353. package/test/unit/spec/stats-analyzer/index.js +165 -644
  354. package/test/utils/testUtils.js +45 -0
  355. package/test/utils/webex-config.js +0 -4
  356. package/test/utils/webex-test-users.js +3 -7
  357. package/dist/annotation/annotation.types.d.ts +0 -42
  358. package/dist/annotation/annotation.types.js +0 -7
  359. package/dist/annotation/annotation.types.js.map +0 -1
  360. package/dist/annotation/constants.d.ts +0 -31
  361. package/dist/annotation/constants.js +0 -41
  362. package/dist/annotation/constants.js.map +0 -1
  363. package/dist/annotation/index.d.ts +0 -117
  364. package/dist/annotation/index.js +0 -357
  365. package/dist/annotation/index.js.map +0 -1
  366. package/dist/breakouts/breakout.d.ts +0 -8
  367. package/dist/breakouts/breakout.js +0 -215
  368. package/dist/breakouts/breakout.js.map +0 -1
  369. package/dist/breakouts/collection.d.ts +0 -5
  370. package/dist/breakouts/collection.js +0 -22
  371. package/dist/breakouts/collection.js.map +0 -1
  372. package/dist/breakouts/edit-lock-error.d.ts +0 -15
  373. package/dist/breakouts/edit-lock-error.js +0 -51
  374. package/dist/breakouts/edit-lock-error.js.map +0 -1
  375. package/dist/breakouts/events.d.ts +0 -8
  376. package/dist/breakouts/events.js +0 -44
  377. package/dist/breakouts/events.js.map +0 -1
  378. package/dist/breakouts/index.d.ts +0 -5
  379. package/dist/breakouts/index.js +0 -1047
  380. package/dist/breakouts/index.js.map +0 -1
  381. package/dist/breakouts/request.d.ts +0 -22
  382. package/dist/breakouts/request.js +0 -77
  383. package/dist/breakouts/request.js.map +0 -1
  384. package/dist/breakouts/utils.d.ts +0 -15
  385. package/dist/breakouts/utils.js +0 -64
  386. package/dist/breakouts/utils.js.map +0 -1
  387. package/dist/common/errors/no-meeting-info.d.ts +0 -14
  388. package/dist/common/errors/no-meeting-info.js +0 -50
  389. package/dist/common/errors/no-meeting-info.js.map +0 -1
  390. package/dist/common/errors/reclaim-host-role-errors.js.map +0 -1
  391. package/dist/controls-options-manager/types.d.ts +0 -43
  392. package/dist/controls-options-manager/types.js +0 -7
  393. package/dist/controls-options-manager/types.js.map +0 -1
  394. package/dist/interceptors/index.d.ts +0 -2
  395. package/dist/interceptors/index.js +0 -15
  396. package/dist/interceptors/index.js.map +0 -1
  397. package/dist/interceptors/locusRetry.d.ts +0 -27
  398. package/dist/interceptors/locusRetry.js +0 -94
  399. package/dist/interceptors/locusRetry.js.map +0 -1
  400. package/dist/interpretation/collection.d.ts +0 -5
  401. package/dist/interpretation/collection.js +0 -22
  402. package/dist/interpretation/collection.js.map +0 -1
  403. package/dist/interpretation/index.d.ts +0 -5
  404. package/dist/interpretation/index.js +0 -365
  405. package/dist/interpretation/index.js.map +0 -1
  406. package/dist/interpretation/siLanguage.d.ts +0 -5
  407. package/dist/interpretation/siLanguage.js +0 -24
  408. package/dist/interpretation/siLanguage.js.map +0 -1
  409. package/dist/meeting/locusMediaRequest.d.ts +0 -74
  410. package/dist/meeting/locusMediaRequest.js +0 -291
  411. package/dist/meeting/locusMediaRequest.js.map +0 -1
  412. package/dist/meeting/request.type.d.ts +0 -11
  413. package/dist/meeting/request.type.js +0 -7
  414. package/dist/meeting/request.type.js.map +0 -1
  415. package/dist/meeting/voicea-meeting.d.ts +0 -20
  416. package/dist/meeting/voicea-meeting.js +0 -201
  417. package/dist/meeting/voicea-meeting.js.map +0 -1
  418. package/dist/meetings/meetings.types.d.ts +0 -4
  419. package/dist/meetings/meetings.types.js +0 -7
  420. package/dist/meetings/meetings.types.js.map +0 -1
  421. package/dist/member/types.d.ts +0 -32
  422. package/dist/member/types.js +0 -23
  423. package/dist/member/types.js.map +0 -1
  424. package/dist/multistream/mediaRequestManager.d.ts +0 -118
  425. package/dist/multistream/mediaRequestManager.js +0 -344
  426. package/dist/multistream/mediaRequestManager.js.map +0 -1
  427. package/dist/multistream/receiveSlot.d.ts +0 -68
  428. package/dist/multistream/receiveSlot.js +0 -200
  429. package/dist/multistream/receiveSlot.js.map +0 -1
  430. package/dist/multistream/receiveSlotManager.d.ts +0 -56
  431. package/dist/multistream/receiveSlotManager.js +0 -174
  432. package/dist/multistream/receiveSlotManager.js.map +0 -1
  433. package/dist/multistream/remoteMedia.d.ts +0 -72
  434. package/dist/multistream/remoteMedia.js +0 -268
  435. package/dist/multistream/remoteMedia.js.map +0 -1
  436. package/dist/multistream/remoteMediaGroup.d.ts +0 -47
  437. package/dist/multistream/remoteMediaGroup.js +0 -267
  438. package/dist/multistream/remoteMediaGroup.js.map +0 -1
  439. package/dist/multistream/remoteMediaManager.d.ts +0 -285
  440. package/dist/multistream/remoteMediaManager.js +0 -1211
  441. package/dist/multistream/remoteMediaManager.js.map +0 -1
  442. package/dist/multistream/sendSlotManager.d.ts +0 -61
  443. package/dist/multistream/sendSlotManager.js +0 -236
  444. package/dist/multistream/sendSlotManager.js.map +0 -1
  445. package/dist/reachability/clusterReachability.d.ts +0 -109
  446. package/dist/reachability/clusterReachability.js +0 -357
  447. package/dist/reachability/clusterReachability.js.map +0 -1
  448. package/dist/reachability/util.d.ts +0 -8
  449. package/dist/reachability/util.js +0 -29
  450. package/dist/reachability/util.js.map +0 -1
  451. package/dist/reactions/constants.d.ts +0 -3
  452. package/dist/reactions/constants.js +0 -12
  453. package/dist/reactions/constants.js.map +0 -1
  454. package/dist/rtcMetrics/constants.d.ts +0 -4
  455. package/dist/rtcMetrics/constants.js +0 -11
  456. package/dist/rtcMetrics/constants.js.map +0 -1
  457. package/dist/rtcMetrics/index.d.ts +0 -54
  458. package/dist/rtcMetrics/index.js +0 -140
  459. package/dist/rtcMetrics/index.js.map +0 -1
  460. package/dist/webinar/collection.d.ts +0 -16
  461. package/dist/webinar/collection.js +0 -43
  462. package/dist/webinar/collection.js.map +0 -1
  463. package/dist/webinar/index.d.ts +0 -5
  464. package/dist/webinar/index.js +0 -68
  465. package/dist/webinar/index.js.map +0 -1
  466. package/src/annotation/annotation.types.ts +0 -50
  467. package/src/annotation/constants.ts +0 -36
  468. package/src/annotation/index.ts +0 -328
  469. package/src/breakouts/README.md +0 -220
  470. package/src/breakouts/breakout.ts +0 -188
  471. package/src/breakouts/collection.ts +0 -19
  472. package/src/breakouts/edit-lock-error.ts +0 -25
  473. package/src/breakouts/events.ts +0 -56
  474. package/src/breakouts/index.ts +0 -925
  475. package/src/breakouts/request.ts +0 -55
  476. package/src/breakouts/utils.ts +0 -57
  477. package/src/common/errors/no-meeting-info.ts +0 -24
  478. package/src/controls-options-manager/types.ts +0 -59
  479. package/src/index.ts +0 -44
  480. package/src/interceptors/index.ts +0 -3
  481. package/src/interceptors/locusRetry.ts +0 -67
  482. package/src/interpretation/README.md +0 -60
  483. package/src/interpretation/collection.ts +0 -19
  484. package/src/interpretation/index.ts +0 -332
  485. package/src/interpretation/siLanguage.ts +0 -18
  486. package/src/meeting/locusMediaRequest.ts +0 -313
  487. package/src/meeting/request.type.ts +0 -13
  488. package/src/meeting/voicea-meeting.ts +0 -161
  489. package/src/meetings/meetings.types.ts +0 -12
  490. package/src/member/types.ts +0 -38
  491. package/src/multistream/mediaRequestManager.ts +0 -440
  492. package/src/multistream/receiveSlot.ts +0 -184
  493. package/src/multistream/receiveSlotManager.ts +0 -166
  494. package/src/multistream/remoteMedia.ts +0 -254
  495. package/src/multistream/remoteMediaGroup.ts +0 -284
  496. package/src/multistream/remoteMediaManager.ts +0 -1145
  497. package/src/multistream/sendSlotManager.ts +0 -170
  498. package/src/reachability/clusterReachability.ts +0 -320
  499. package/src/reachability/util.ts +0 -24
  500. package/src/reactions/constants.ts +0 -4
  501. package/src/rtcMetrics/constants.ts +0 -3
  502. package/src/rtcMetrics/index.ts +0 -124
  503. package/src/webinar/collection.ts +0 -31
  504. package/src/webinar/index.ts +0 -62
  505. package/test/integration/spec/converged-space-meetings.js +0 -233
  506. package/test/unit/spec/annotation/index.ts +0 -418
  507. package/test/unit/spec/breakouts/breakout.ts +0 -237
  508. package/test/unit/spec/breakouts/collection.ts +0 -15
  509. package/test/unit/spec/breakouts/edit-lock-error.ts +0 -30
  510. package/test/unit/spec/breakouts/events.ts +0 -89
  511. package/test/unit/spec/breakouts/index.ts +0 -1790
  512. package/test/unit/spec/breakouts/request.ts +0 -104
  513. package/test/unit/spec/breakouts/utils.js +0 -72
  514. package/test/unit/spec/interceptors/locusRetry.ts +0 -131
  515. package/test/unit/spec/interpretation/collection.ts +0 -15
  516. package/test/unit/spec/interpretation/index.ts +0 -589
  517. package/test/unit/spec/interpretation/siLanguage.ts +0 -28
  518. package/test/unit/spec/locus-info/mediaSharesUtils.ts +0 -32
  519. package/test/unit/spec/media/index.ts +0 -290
  520. package/test/unit/spec/meeting/locusMediaRequest.ts +0 -442
  521. package/test/unit/spec/meeting-info/index.js +0 -300
  522. package/test/unit/spec/multistream/mediaRequestManager.ts +0 -1418
  523. package/test/unit/spec/multistream/receiveSlot.ts +0 -163
  524. package/test/unit/spec/multistream/receiveSlotManager.ts +0 -203
  525. package/test/unit/spec/multistream/remoteMedia.ts +0 -255
  526. package/test/unit/spec/multistream/remoteMediaGroup.ts +0 -662
  527. package/test/unit/spec/multistream/remoteMediaManager.ts +0 -1924
  528. package/test/unit/spec/multistream/sendSlotManager.ts +0 -242
  529. package/test/unit/spec/reachability/clusterReachability.ts +0 -279
  530. package/test/unit/spec/reachability/request.js +0 -68
  531. package/test/unit/spec/reachability/util.ts +0 -40
  532. package/test/unit/spec/roap/request.ts +0 -255
  533. package/test/unit/spec/rtcMetrics/index.ts +0 -93
  534. package/test/unit/spec/webinar/collection.ts +0 -13
  535. package/test/unit/spec/webinar/index.ts +0 -60
  536. package/test/utils/constants.js +0 -9
  537. package/test/utils/integrationTestUtils.js +0 -46
  538. /package/dist/common/errors/{reclaim-host-role-errors.d.ts → reclaim-host-role-error.d.ts} +0 -0
  539. /package/src/common/errors/{reclaim-host-role-errors.ts → reclaim-host-role-error.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import {SELF_ROLES, DISPLAY_HINTS, INTERSTITIAL_DISPLAY_HINTS} from '../constants';
1
+ import {SELF_ROLES, DISPLAY_HINTS} from '../constants';
2
2
 
3
3
  const InfoUtils: any = {};
4
4
 
@@ -9,15 +9,7 @@ InfoUtils.parse = (info, roles, isJoined = true) => {
9
9
  coHost: InfoUtils.parseCoHost(info),
10
10
  };
11
11
 
12
- let userDisplayHints = isJoined
13
- ? {...parsed.policy}
14
- : {
15
- ...Object.fromEntries(
16
- Object.entries(parsed.policy).filter(([hint]) =>
17
- INTERSTITIAL_DISPLAY_HINTS.includes(hint)
18
- )
19
- ),
20
- };
12
+ let userDisplayHints = isJoined ? {...parsed.policy} : {};
21
13
 
22
14
  if (roles.includes(SELF_ROLES.COHOST)) {
23
15
  userDisplayHints = {...userDisplayHints, ...parsed.coHost};
@@ -37,10 +29,6 @@ InfoUtils.parse = (info, roles, isJoined = true) => {
37
29
  parsed.meetingNumber = info.meetingId;
38
30
  }
39
31
 
40
- if (info.datachannelUrl) {
41
- parsed.datachannelUrl = info.datachannelUrl;
42
- }
43
-
44
32
  return parsed;
45
33
  };
46
34
 
@@ -13,10 +13,6 @@ MediaSharesUtils.parse = (mediaShares: object) => {
13
13
  content: {
14
14
  beneficiaryId: MediaSharesUtils.getContentBeneficiaryId(mediaShares),
15
15
  disposition: MediaSharesUtils.getContentDisposition(mediaShares),
16
- annotation: MediaSharesUtils.getContentAnnotation(mediaShares),
17
- url: MediaSharesUtils.getContentUrl(mediaShares),
18
- shareInstanceId: MediaSharesUtils.getShareInstanceId(mediaShares),
19
- deviceUrlSharing: MediaSharesUtils.getContentBeneficiaryDeviceUrl(mediaShares),
20
16
  },
21
17
  whiteboard: {
22
18
  beneficiaryId: MediaSharesUtils.getWhiteboardBeneficiaryId(mediaShares),
@@ -144,66 +140,6 @@ MediaSharesUtils.getContentBeneficiaryId = (mediaShares: object) => {
144
140
  return contentFloor.beneficiary.id;
145
141
  };
146
142
 
147
- /**
148
- * get live annotation is sharing from media shares (content)
149
- * @param {Object} mediaShares
150
- * @returns {Object}
151
- */
152
- MediaSharesUtils.getContentAnnotation = (mediaShares: object) => {
153
- const extractContent = MediaSharesUtils.extractContent(mediaShares);
154
-
155
- if (!extractContent || !extractContent.annotation) {
156
- return undefined;
157
- }
158
-
159
- return extractContent.annotation;
160
- };
161
-
162
- /**
163
- * get url is sharing from media shares (content)
164
- * @param {Object} mediaShares
165
- * @returns {Object}
166
- */
167
- MediaSharesUtils.getContentUrl = (mediaShares: object) => {
168
- const extractContent = MediaSharesUtils.extractContent(mediaShares);
169
-
170
- if (!extractContent || !extractContent.url) {
171
- return undefined;
172
- }
173
-
174
- return extractContent.url;
175
- };
176
-
177
- /**
178
- * get shareInstanceId is sharing from media shares (content)
179
- * @param {Object} mediaShares
180
- * @returns {Object}
181
- */
182
- MediaSharesUtils.getShareInstanceId = (mediaShares: object) => {
183
- const extractContent = MediaSharesUtils.extractContent(mediaShares);
184
-
185
- if (!extractContent || !extractContent.floor || !extractContent.floor.shareInstanceId) {
186
- return undefined;
187
- }
188
-
189
- return extractContent.floor.shareInstanceId;
190
- };
191
-
192
- /**
193
- * get deviceUrl that is requesting the floor for media shares (content)
194
- * @param {Object} mediaShares
195
- * @returns {Object}
196
- */
197
- MediaSharesUtils.getContentBeneficiaryDeviceUrl = (mediaShares: object) => {
198
- const contentFloor = MediaSharesUtils.extractContentFloor(mediaShares);
199
-
200
- if (!contentFloor || !contentFloor.beneficiary || !contentFloor.beneficiary.deviceUrl) {
201
- return null;
202
- }
203
-
204
- return contentFloor.beneficiary.deviceUrl;
205
- };
206
-
207
143
  /**
208
144
  * get who is sharing from media shares (whiteboard)
209
145
  * @param {Object} mediaShares
@@ -1,30 +1,8 @@
1
1
  import {difference} from 'lodash';
2
2
 
3
- import SortedQueue from '../common/queue';
3
+ import SimpleQueue from '../common/queue';
4
4
  import LoggerProxy from '../common/logs/logger-proxy';
5
5
 
6
- import Metrics from '../metrics';
7
- import BEHAVIORAL_METRICS from '../metrics/constants';
8
-
9
- const MAX_OOO_DELTA_COUNT = 5; // when we receive an out-of-order delta and the queue builds up to MAX_OOO_DELTA_COUNT, we do a sync with Locus
10
- const OOO_DELTA_WAIT_TIME = 10000; // [ms] minimum wait time before we do a sync if we get out-of-order deltas
11
- const OOO_DELTA_WAIT_TIME_RANDOM_DELAY = 5000; // [ms] max random delay added to OOO_DELTA_WAIT_TIME
12
-
13
- type LocusDeltaDto = {
14
- url: string;
15
- baseSequence: {
16
- rangeStart: number;
17
- rangeEnd: number;
18
- entries: number[];
19
- };
20
- sequence: {
21
- rangeStart: number;
22
- rangeEnd: number;
23
- entries: number[];
24
- };
25
- syncUrl: string;
26
- };
27
-
28
6
  /**
29
7
  * Locus Delta Parser
30
8
  * @private
@@ -32,11 +10,11 @@ type LocusDeltaDto = {
32
10
  */
33
11
  export default class Parser {
34
12
  // processing status
35
- status:
36
- | 'IDLE' // not doing anything
37
- | 'PAUSED' // paused, because we are doing a sync
38
- | 'WORKING' // processing a delta event
39
- | 'BLOCKED'; // received an out-of-order delta, so waiting for the missing one
13
+ static status = {
14
+ IDLE: 'IDLE',
15
+ PAUSED: 'PAUSED',
16
+ WORKING: 'WORKING',
17
+ };
40
18
 
41
19
  // loci comparison states
42
20
  static loci = {
@@ -46,60 +24,21 @@ export default class Parser {
46
24
  DESYNC: 'DESYNC',
47
25
  USE_INCOMING: 'USE_INCOMING',
48
26
  USE_CURRENT: 'USE_CURRENT',
49
- WAIT: 'WAIT',
50
27
  ERROR: 'ERROR',
51
- LOCUS_URL_CHANGED: 'LOCUS_URL_CHANGED',
52
28
  };
53
29
 
54
- queue: SortedQueue<LocusDeltaDto>;
30
+ queue: any;
55
31
  workingCopy: any;
56
- syncTimer?: ReturnType<typeof setTimeout>;
57
32
 
58
33
  /**
59
34
  * @constructs Parser
60
35
  */
61
36
  constructor() {
62
- const deltaCompareFunc = (left: LocusDeltaDto, right: LocusDeltaDto) => {
63
- const {LT, GT} = Parser.loci;
64
- const {extractComparisonState: extract} = Parser;
65
-
66
- if (Parser.isSequenceEmpty(left)) {
67
- return -1;
68
- }
69
- if (Parser.isSequenceEmpty(right)) {
70
- return 1;
71
- }
72
- const result = extract(Parser.compareSequence(left.baseSequence, right.baseSequence));
73
-
74
- if (result === LT) {
75
- return -1;
76
- }
77
- if (result === GT) {
78
- return 1;
79
- }
80
-
81
- return 0;
82
- };
83
-
84
- this.queue = new SortedQueue<LocusDeltaDto>(deltaCompareFunc);
85
- this.status = 'IDLE';
37
+ this.queue = new SimpleQueue();
38
+ // @ts-ignore - This is declared as static class member and again being initialized here from same
39
+ this.status = Parser.status.IDLE;
86
40
  this.onDeltaAction = null;
87
41
  this.workingCopy = null;
88
- this.syncTimer = undefined;
89
- }
90
-
91
- /**
92
- * Returns a debug string representing a locus delta - useful for logging
93
- *
94
- * @param {LocusDeltaDto} locus Locus delta
95
- * @returns {string}
96
- */
97
- static locus2string(locus: LocusDeltaDto) {
98
- if (!locus.sequence?.entries) {
99
- return 'invalid';
100
- }
101
-
102
- return locus.sequence.entries.length ? `seq=${locus.sequence.entries.at(-1)}` : 'empty';
103
42
  }
104
43
 
105
44
  /**
@@ -269,7 +208,7 @@ export default class Parser {
269
208
  * @returns {string} loci comparison state
270
209
  */
271
210
  private static compareDelta(current, incoming) {
272
- const {LT, GT, EQ, DESYNC, USE_INCOMING, WAIT, LOCUS_URL_CHANGED} = Parser.loci;
211
+ const {LT, GT, EQ, DESYNC, USE_INCOMING} = Parser.loci;
273
212
 
274
213
  const {extractComparisonState: extract} = Parser;
275
214
  const {packComparisonResult: pack} = Parser;
@@ -281,13 +220,6 @@ export default class Parser {
281
220
  return pack(Parser.compareToAction(comparison), result);
282
221
  }
283
222
 
284
- if (incoming.url !== current.url) {
285
- // when moving to/from a breakout session, the locus URL will change and also
286
- // the baseSequence, making incoming and current incomparable, so use a
287
- // unique comparison state
288
- return pack(LOCUS_URL_CHANGED, result);
289
- }
290
-
291
223
  comparison = Parser.compareSequence(current.sequence, incoming.baseSequence);
292
224
 
293
225
  switch (extract(comparison)) {
@@ -296,21 +228,6 @@ export default class Parser {
296
228
  comparison = USE_INCOMING;
297
229
  break;
298
230
 
299
- case LT:
300
- if (extract(Parser.compareSequence(incoming.baseSequence, incoming.sequence)) === EQ) {
301
- // special case where Locus sends a delta with baseSequence === sequence to trigger a sync,
302
- // because the delta event is too large to be sent over mercury connection
303
- comparison = DESYNC;
304
- } else {
305
- // the incoming locus has baseSequence from the future, so it is out-of-order,
306
- // we are missing 1 or more locus that should be in front of it, we need to wait for it
307
- comparison = WAIT;
308
-
309
- Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.LOCUS_DELTA_OUT_OF_ORDER, {
310
- stack: new Error().stack,
311
- });
312
- }
313
- break;
314
231
  default:
315
232
  comparison = DESYNC;
316
233
  }
@@ -318,49 +235,6 @@ export default class Parser {
318
235
  return pack(comparison, result);
319
236
  }
320
237
 
321
- /**
322
- * Compares Locus sequences - it should be called only for full Locus DTOs, not deltas
323
- *
324
- * @param {Types~Locus} current Current working copy
325
- * @param {Types~Locus} incomingFullDto New Full Locus DTO
326
- * @returns {string} either Parser.loci.USE_INCOMING or Parser.loci.USE_CURRENT
327
- */
328
- static compareFullDtoSequence(current, incomingFullDto) {
329
- if (Parser.isSequenceEmpty(current) || Parser.isSequenceEmpty(incomingFullDto)) {
330
- return Parser.loci.USE_INCOMING;
331
- }
332
-
333
- // the sequence.entries list will always contain at least 1 entry
334
- // https://sqbu-github.cisco.com/WebExSquared/cloud-apps/wiki/Locus-Sequence-Comparison-Algorithm
335
-
336
- return incomingFullDto.sequence.entries.slice(-1)[0] > current.sequence.entries.slice(-1)[0]
337
- ? Parser.loci.USE_INCOMING
338
- : Parser.loci.USE_CURRENT;
339
- }
340
-
341
- /**
342
- * Returns true if the incoming full locus DTO is newer than the current working copy
343
- *
344
- * @param {Types~Locus} incomingFullDto New Full Locus DTO
345
- * @returns {string} either Parser.loci.USE_INCOMING or Parser.loci.USE_CURRENT
346
- */
347
- isNewFullLocus(incomingFullDto) {
348
- if (!Parser.isLoci(incomingFullDto)) {
349
- LoggerProxy.logger.info('Locus-info:parser#isNewFullLocus --> Ignoring non-locus object.');
350
-
351
- return false;
352
- }
353
-
354
- if (!this.workingCopy) {
355
- // we don't have a working copy yet, so any full locus is better than nothing
356
- return true;
357
- }
358
-
359
- const comparisonResult = Parser.compareFullDtoSequence(this.workingCopy, incomingFullDto);
360
-
361
- return comparisonResult === Parser.loci.USE_INCOMING;
362
- }
363
-
364
238
  /**
365
239
  * Compares Locus sequences
366
240
  * @param {Types~Locus} current Current working copy
@@ -519,10 +393,17 @@ export default class Parser {
519
393
  */
520
394
  isValidLocus(newLoci) {
521
395
  let isValid = false;
396
+ const {IDLE} = Parser.status;
522
397
  const {isLoci} = Parser;
398
+ // @ts-ignore
399
+ const setStatus = (status) => {
400
+ // @ts-ignore
401
+ this.status = status;
402
+ };
523
403
 
524
404
  // one or both objects are not locus delta events
525
405
  if (!isLoci(this.workingCopy) || !isLoci(newLoci)) {
406
+ setStatus(IDLE);
526
407
  LoggerProxy.logger.info(
527
408
  'Locus-info:parser#processDeltaEvent --> Ignoring non-locus object. workingCopy:',
528
409
  this.workingCopy,
@@ -574,25 +455,19 @@ export default class Parser {
574
455
  * @returns {undefined}
575
456
  */
576
457
  nextEvent() {
577
- if (this.status === 'PAUSED') {
458
+ // @ts-ignore
459
+ if (this.status === Parser.status.PAUSED) {
578
460
  LoggerProxy.logger.info('Locus-info:parser#nextEvent --> Locus parser paused.');
579
461
 
580
462
  return;
581
463
  }
582
464
 
583
- if (this.status === 'BLOCKED') {
584
- LoggerProxy.logger.info(
585
- 'Locus-info:parser#nextEvent --> Locus parser blocked by out-of-order delta.'
586
- );
587
-
588
- return;
589
- }
590
-
591
465
  // continue processing until queue is empty
592
466
  if (this.queue.size() > 0) {
593
467
  this.processDeltaEvent();
594
468
  } else {
595
- this.status = 'IDLE';
469
+ // @ts-ignore
470
+ this.status = Parser.status.IDLE;
596
471
  }
597
472
  }
598
473
 
@@ -603,7 +478,7 @@ export default class Parser {
603
478
  * @param {Types~Locus} locus Locus delta
604
479
  * @returns {undefined}
605
480
  */
606
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
481
+ // eslint-disable-next-line no-unused-vars
607
482
  onDeltaAction(action: string, locus) {}
608
483
 
609
484
  /**
@@ -614,20 +489,15 @@ export default class Parser {
614
489
  onDeltaEvent(loci) {
615
490
  // enqueue the new loci
616
491
  this.queue.enqueue(loci);
492
+ // start processing events in the queue if idle
493
+ // and a function handler is defined
494
+ // @ts-ignore
495
+ if (this.status === Parser.status.IDLE && this.onDeltaAction) {
496
+ // Update status, ensure we only process one event at a time.
497
+ // @ts-ignore
498
+ this.status = Parser.status.WORKING;
617
499
 
618
- if (this.onDeltaAction) {
619
- if (this.status === 'BLOCKED') {
620
- if (this.queue.size() > MAX_OOO_DELTA_COUNT) {
621
- this.triggerSync('queue too big, blocked on out-of-order delta');
622
- } else {
623
- this.processDeltaEvent();
624
- }
625
- } else if (this.status === 'IDLE') {
626
- // Update status, ensure we only process one event at a time.
627
- this.status = 'WORKING';
628
-
629
- this.processDeltaEvent();
630
- }
500
+ this.processDeltaEvent();
631
501
  }
632
502
  }
633
503
 
@@ -646,55 +516,11 @@ export default class Parser {
646
516
  * @returns {undefined}
647
517
  */
648
518
  pause() {
649
- this.status = 'PAUSED';
519
+ // @ts-ignore
520
+ this.status = Parser.status.PAUSED;
650
521
  LoggerProxy.logger.info('Locus-info:parser#pause --> Locus parser paused.');
651
522
  }
652
523
 
653
- /**
654
- * Triggers a sync with Locus
655
- *
656
- * @param {string} reason used just for logging
657
- * @returns {undefined}
658
- */
659
- private triggerSync(reason: string) {
660
- LoggerProxy.logger.info(`Locus-info:parser#triggerSync --> doing sync, reason: ${reason}`);
661
- this.stopSyncTimer();
662
- this.pause();
663
- this.onDeltaAction(Parser.loci.DESYNC, this.workingCopy);
664
- }
665
-
666
- /**
667
- * Starts a timer with a random delay. When that timer expires we will do a sync.
668
- *
669
- * The main purpose of this timer is to handle a case when we get some out-of-order deltas,
670
- * so we start waiting to receive the missing delta. If that delta never arrives, this timer
671
- * will trigger a sync with Locus.
672
- *
673
- * @returns {undefined}
674
- */
675
- private startSyncTimer() {
676
- if (this.syncTimer === undefined) {
677
- const timeout = OOO_DELTA_WAIT_TIME + Math.random() * OOO_DELTA_WAIT_TIME_RANDOM_DELAY;
678
-
679
- this.syncTimer = setTimeout(() => {
680
- this.syncTimer = undefined;
681
- this.triggerSync('timer expired, blocked on out-of-order delta');
682
- }, timeout);
683
- }
684
- }
685
-
686
- /**
687
- * Stops the timer for triggering a sync
688
- *
689
- * @returns {undefined}
690
- */
691
- private stopSyncTimer() {
692
- if (this.syncTimer !== undefined) {
693
- clearTimeout(this.syncTimer);
694
- this.syncTimer = undefined;
695
- }
696
- }
697
-
698
524
  /**
699
525
  * Processes next locus delta in the queue,
700
526
  * continues until the queue is empty
@@ -702,13 +528,11 @@ export default class Parser {
702
528
  * @returns {undefined}
703
529
  */
704
530
  processDeltaEvent() {
705
- const {DESYNC, USE_INCOMING, WAIT, LOCUS_URL_CHANGED} = Parser.loci;
531
+ const {DESYNC, USE_INCOMING} = Parser.loci;
706
532
  const {extractComparisonState: extract} = Parser;
707
533
  const newLoci = this.queue.dequeue();
708
534
 
709
535
  if (!this.isValidLocus(newLoci)) {
710
- this.nextEvent();
711
-
712
536
  return;
713
537
  }
714
538
 
@@ -719,59 +543,23 @@ export default class Parser {
719
543
  // for full debugging.
720
544
  LoggerProxy.logger.debug(`Locus-info:parser#processDeltaEvent --> Locus Debug: ${result}`);
721
545
 
722
- let needToWait = false;
723
-
724
- switch (lociComparison) {
725
- case DESYNC:
726
- // wait for desync response
727
- this.pause();
728
- break;
729
-
730
- case USE_INCOMING:
731
- case LOCUS_URL_CHANGED:
732
- // update working copy for future comparisons.
733
- // Note: The working copy of parser gets updated in .onFullLocus()
734
- // and here when USE_INCOMING or LOCUS_URL_CHANGED locus.
735
- this.workingCopy = newLoci;
736
- break;
737
-
738
- case WAIT:
739
- // we've taken newLoci from the front of the queue, so put it back there as we have to wait
740
- // for the one that should be in front of it, before we can process it
741
- this.queue.enqueue(newLoci);
742
- needToWait = true;
743
- break;
744
-
745
- default:
746
- break;
747
- }
748
-
749
- if (needToWait) {
750
- this.status = 'BLOCKED';
751
- this.startSyncTimer();
752
- } else {
753
- this.stopSyncTimer();
754
-
755
- if (this.status === 'BLOCKED') {
756
- // we are not blocked anymore
757
- this.status = 'WORKING';
758
-
759
- LoggerProxy.logger.info(
760
- `Locus-info:parser#processDeltaEvent --> received delta that we were waiting for ${Parser.locus2string(
761
- newLoci
762
- )}, not blocked anymore`
763
- );
764
- }
546
+ if (lociComparison === DESYNC) {
547
+ // wait for desync response
548
+ this.pause();
549
+ } else if (lociComparison === USE_INCOMING) {
550
+ // update working copy for future comparisons.
551
+ // Note: The working copy of parser gets updated in .onFullLocus()
552
+ // and here when USE_INCOMING locus.
553
+ this.workingCopy = newLoci;
765
554
  }
766
555
 
767
556
  if (this.onDeltaAction) {
768
557
  LoggerProxy.logger.info(
769
- `Locus-info:parser#processDeltaEvent --> Locus Delta ${Parser.locus2string(
770
- newLoci
771
- )}, Action: ${lociComparison}`
558
+ `Locus-info:parser#processDeltaEvent --> Locus Delta Action: ${lociComparison}`
772
559
  );
773
560
 
774
- this.onDeltaAction(lociComparison, newLoci);
561
+ // eslint-disable-next-line no-useless-call
562
+ this.onDeltaAction.call(this, lociComparison, newLoci);
775
563
  }
776
564
 
777
565
  this.nextEvent();
@@ -783,7 +571,8 @@ export default class Parser {
783
571
  */
784
572
  resume() {
785
573
  LoggerProxy.logger.info('Locus-info:parser#resume --> Locus parser resumed.');
786
- this.status = 'WORKING';
574
+ // @ts-ignore
575
+ this.status = Parser.status.WORKING;
787
576
  this.nextEvent();
788
577
  }
789
578