@webex/plugin-meetings 3.0.0-beta.7 → 3.0.0-beta.71
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.
- package/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/breakouts/breakout.js +178 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/index.js +843 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +56 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/browser-detection.js +1 -20
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +10 -24
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +11 -24
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +12 -25
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +10 -24
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +5 -33
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +10 -24
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +9 -23
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +10 -24
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +10 -24
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +6 -41
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +5 -25
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +37 -60
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +4 -14
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +6 -6
- package/dist/config.js.map +1 -1
- package/dist/constants.js +143 -52
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +16 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +261 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/util.js +39 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +11 -18
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +31 -29
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +237 -198
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +3 -37
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +12 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +92 -118
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +80 -89
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +56 -146
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +83 -117
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +2 -9
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -495
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +31 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2225 -2244
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +102 -100
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +308 -264
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.js +21 -31
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +63 -217
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +6 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +14 -32
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +193 -268
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +3 -15
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +137 -228
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +26 -19
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +565 -552
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +26 -41
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +151 -155
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +100 -85
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +15 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +90 -68
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +13 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +152 -204
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +35 -39
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +76 -46
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +4 -14
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +1 -6
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +59 -156
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +116 -52
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +58 -65
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +58 -93
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +55 -74
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +6 -40
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +466 -442
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +40 -59
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +21 -45
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +1 -31
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.js +192 -191
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +15 -23
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.js +109 -0
- package/dist/reactions/reactions.js.map +1 -0
- package/dist/reactions/reactions.type.js +36 -0
- package/dist/reactions/reactions.type.js.map +1 -0
- package/dist/reconnection-manager/index.js +342 -460
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.js +343 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.js +63 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/index.js +48 -70
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +143 -131
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +91 -98
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +1 -95
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +372 -455
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +143 -87
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +22 -47
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +8 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +32 -0
- package/dist/types/config.d.ts +77 -0
- package/dist/types/constants.d.ts +944 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +6 -0
- package/dist/types/controls-options-manager/index.d.ts +128 -0
- package/dist/types/controls-options-manager/util.d.ts +9 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +276 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +212 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +32 -0
- package/dist/types/media/properties.d.ts +108 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +101 -0
- package/dist/types/meeting/index.d.ts +1720 -0
- package/dist/types/meeting/muteState.d.ts +132 -0
- package/dist/types/meeting/request.d.ts +271 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +2 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +57 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +315 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +156 -0
- package/dist/types/member/types.d.ts +21 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +343 -0
- package/dist/types/members/request.d.ts +58 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +2 -0
- package/dist/types/metrics/config.d.ts +171 -0
- package/dist/types/metrics/constants.d.ts +53 -0
- package/dist/types/metrics/index.d.ts +152 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +68 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +49 -0
- package/dist/types/multistream/remoteMedia.d.ts +100 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +56 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +193 -0
- package/dist/types/recording-controller/util.d.ts +13 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +38 -0
- package/dist/types/roap/turnDiscovery.d.ts +74 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +195 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/internal-README.md +7 -6
- package/package.json +27 -21
- package/src/breakouts/README.md +219 -0
- package/src/breakouts/breakout.ts +153 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/index.ts +745 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +44 -0
- package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
- package/src/common/collection.ts +9 -7
- package/src/common/{config.js → config.ts} +1 -1
- package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
- package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
- package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
- package/src/common/errors/{media.js → media.ts} +11 -7
- package/src/common/errors/parameter.ts +11 -7
- package/src/common/errors/{password-error.js → password-error.ts} +11 -7
- package/src/common/errors/{permission.js → permission.ts} +10 -6
- package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
- package/src/common/errors/{stats.js → stats.ts} +11 -7
- package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
- package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
- package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
- package/src/common/events/{events.js → events.ts} +5 -1
- package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
- package/src/common/events/{util.js → util.ts} +2 -3
- package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
- package/src/common/logs/logger-proxy.ts +44 -0
- package/src/common/logs/{request.js → request.ts} +22 -9
- package/src/common/queue.ts +1 -2
- package/src/{config.js → config.ts} +17 -12
- package/src/constants.ts +92 -5
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +7 -0
- package/src/controls-options-manager/index.ts +240 -0
- package/src/controls-options-manager/util.ts +30 -0
- package/src/index.js +4 -1
- package/src/locus-info/controlsUtils.ts +141 -0
- package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
- package/src/locus-info/{fullState.js → fullState.ts} +16 -12
- package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
- package/src/locus-info/{index.js → index.ts} +211 -71
- package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
- package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
- package/src/locus-info/{parser.js → parser.ts} +67 -79
- package/src/locus-info/{selfUtils.js → selfUtils.ts} +183 -67
- package/src/media/{index.js → index.ts} +179 -176
- package/src/media/{properties.js → properties.ts} +60 -37
- package/src/media/{util.js → util.ts} +2 -2
- package/src/mediaQualityMetrics/config.ts +384 -0
- package/src/meeting/in-meeting-actions.ts +67 -3
- package/src/meeting/{index.js → index.ts} +2605 -1605
- package/src/meeting/{muteState.js → muteState.ts} +138 -73
- package/src/meeting/{request.js → request.ts} +326 -142
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/{state.js → state.ts} +50 -35
- package/src/meeting/{util.js → util.ts} +131 -115
- package/src/meeting-info/{collection.js → collection.ts} +6 -2
- package/src/meeting-info/{index.js → index.ts} +42 -36
- package/src/meeting-info/meeting-info-v2.ts +273 -0
- package/src/meeting-info/{request.js → request.ts} +14 -4
- package/src/meeting-info/{util.js → util.ts} +60 -51
- package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
- package/src/meetings/{collection.js → collection.ts} +26 -3
- package/src/meetings/index.ts +1275 -0
- package/src/meetings/{request.js → request.ts} +34 -25
- package/src/meetings/{util.js → util.ts} +99 -33
- package/src/member/{index.js → index.ts} +124 -56
- package/src/member/types.ts +24 -0
- package/src/member/{util.js → util.ts} +105 -25
- package/src/members/{collection.js → collection.ts} +10 -2
- package/src/members/{index.js → index.ts} +281 -144
- package/src/members/{request.js → request.ts} +80 -16
- package/src/members/types.ts +28 -0
- package/src/members/{util.js → util.ts} +108 -55
- package/src/metrics/{config.js → config.ts} +255 -92
- package/src/metrics/{constants.js → constants.ts} +0 -6
- package/src/metrics/{index.js → index.ts} +110 -94
- package/src/multistream/mediaRequestManager.ts +144 -40
- package/src/multistream/receiveSlot.ts +69 -26
- package/src/multistream/receiveSlotManager.ts +50 -38
- package/src/multistream/remoteMedia.ts +30 -4
- package/src/multistream/remoteMediaGroup.ts +4 -3
- package/src/multistream/remoteMediaManager.ts +230 -66
- package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
- package/src/personal-meeting-room/{index.js → index.ts} +28 -19
- package/src/personal-meeting-room/{request.js → request.ts} +13 -4
- package/src/personal-meeting-room/{util.js → util.ts} +4 -4
- package/src/reachability/{index.js → index.ts} +157 -94
- package/src/reachability/request.ts +46 -35
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +104 -0
- package/src/reactions/reactions.type.ts +62 -0
- package/src/reconnection-manager/{index.js → index.ts} +228 -120
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +315 -0
- package/src/recording-controller/util.ts +58 -0
- package/src/roap/{index.js → index.ts} +77 -60
- package/src/roap/request.ts +172 -0
- package/src/roap/turnDiscovery.ts +81 -41
- package/src/statsAnalyzer/global.ts +37 -0
- package/src/statsAnalyzer/index.ts +1242 -0
- package/src/statsAnalyzer/mqaUtil.ts +291 -0
- package/src/transcription/{index.js → index.ts} +46 -39
- package/test/integration/spec/converged-space-meetings.js +176 -0
- package/test/integration/spec/journey.js +665 -464
- package/test/integration/spec/space-meeting.js +320 -206
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/breakouts/breakout.ts +178 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/index.ts +1252 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +54 -0
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/controls-options-manager/index.js +204 -0
- package/test/unit/spec/controls-options-manager/util.js +86 -0
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +133 -34
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +303 -2
- package/test/unit/spec/locus-info/infoUtils.js +41 -32
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/parser.js +3 -9
- package/test/unit/spec/locus-info/selfConstant.js +101 -103
- package/test/unit/spec/locus-info/selfUtils.js +165 -12
- package/test/unit/spec/media/index.ts +72 -8
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +29 -2
- package/test/unit/spec/meeting/index.js +2503 -802
- package/test/unit/spec/meeting/muteState.js +146 -61
- package/test/unit/spec/meeting/request.js +141 -43
- package/test/unit/spec/meeting/utils.js +135 -164
- package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +110 -74
- package/test/unit/spec/meetings/collection.js +15 -1
- package/test/unit/spec/meetings/index.js +622 -263
- package/test/unit/spec/meetings/utils.js +65 -14
- package/test/unit/spec/member/index.js +24 -1
- package/test/unit/spec/member/util.js +359 -32
- package/test/unit/spec/members/index.js +294 -54
- package/test/unit/spec/members/request.js +50 -20
- package/test/unit/spec/members/utils.js +147 -4
- package/test/unit/spec/metrics/index.js +16 -21
- package/test/unit/spec/multistream/mediaRequestManager.ts +369 -68
- package/test/unit/spec/multistream/receiveSlot.ts +76 -17
- package/test/unit/spec/multistream/receiveSlotManager.ts +60 -38
- package/test/unit/spec/multistream/remoteMedia.ts +32 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
- package/test/unit/spec/networkQualityMonitor/index.js +24 -18
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +176 -27
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +58 -30
- package/test/unit/spec/recording-controller/index.js +231 -0
- package/test/unit/spec/recording-controller/util.js +102 -0
- package/test/unit/spec/roap/index.ts +12 -8
- package/test/unit/spec/roap/request.ts +217 -0
- package/test/unit/spec/roap/turnDiscovery.ts +72 -49
- package/test/unit/spec/stats-analyzer/index.js +108 -57
- package/test/utils/cmr.js +44 -42
- package/test/utils/constants.js +9 -0
- package/test/utils/testUtils.js +98 -77
- package/test/utils/webex-config.js +22 -18
- package/test/utils/webex-test-users.js +57 -50
- package/tsconfig.json +6 -0
- package/dist/media/internal-media-core-wrapper.js +0 -22
- package/dist/media/internal-media-core-wrapper.js.map +0 -1
- package/dist/meeting/effectsState.js +0 -327
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -116
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/dist/peer-connection-manager/util.js +0 -124
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/src/common/logs/logger-proxy.js +0 -33
- package/src/locus-info/controlsUtils.js +0 -102
- package/src/media/internal-media-core-wrapper.ts +0 -9
- package/src/mediaQualityMetrics/config.js +0 -382
- package/src/meeting/effectsState.js +0 -205
- package/src/meeting-info/meeting-info-v2.js +0 -255
- package/src/meetings/index.js +0 -1015
- package/src/multistream/multistreamMedia.ts +0 -92
- package/src/peer-connection-manager/util.ts +0 -117
- package/src/roap/request.js +0 -127
- package/src/statsAnalyzer/global.js +0 -133
- package/src/statsAnalyzer/index.js +0 -1006
- package/src/statsAnalyzer/mqaUtil.js +0 -173
- package/test/unit/spec/meeting/effectsState.js +0 -291
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
- /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
|
@@ -1,57 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
4
|
-
|
|
5
4
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
6
|
-
|
|
7
5
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
8
|
-
|
|
9
6
|
_Object$defineProperty(exports, "__esModule", {
|
|
10
7
|
value: true
|
|
11
8
|
});
|
|
12
|
-
|
|
13
9
|
exports.default = void 0;
|
|
14
|
-
|
|
15
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
16
|
-
|
|
17
11
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
18
|
-
|
|
12
|
+
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
19
13
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
20
|
-
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
21
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
22
|
-
|
|
23
17
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
24
|
-
|
|
25
18
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
26
|
-
|
|
27
19
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
28
|
-
|
|
29
20
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
30
|
-
|
|
31
21
|
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/wrapNativeSuper"));
|
|
32
|
-
|
|
33
22
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
34
|
-
|
|
35
23
|
var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
|
|
36
|
-
|
|
37
24
|
var _constants = require("../constants");
|
|
38
|
-
|
|
39
25
|
var _constants2 = _interopRequireDefault(require("../metrics/constants"));
|
|
40
|
-
|
|
41
26
|
var _reconnection = _interopRequireDefault(require("../common/errors/reconnection"));
|
|
42
|
-
|
|
43
27
|
var _reconnectionInProgress = _interopRequireDefault(require("../common/errors/reconnection-in-progress"));
|
|
44
|
-
|
|
45
28
|
var _config = require("../metrics/config");
|
|
46
|
-
|
|
47
|
-
var _media = _interopRequireDefault(require("../media"));
|
|
48
|
-
|
|
49
29
|
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
50
|
-
|
|
51
30
|
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); }; }
|
|
52
|
-
|
|
53
31
|
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; } }
|
|
54
|
-
|
|
55
32
|
/**
|
|
56
33
|
* Used to indicate that the reconnect logic needs to be retried.
|
|
57
34
|
*
|
|
@@ -60,14 +37,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
|
|
|
60
37
|
*/
|
|
61
38
|
var NeedsRetryError = /*#__PURE__*/function (_Error) {
|
|
62
39
|
(0, _inherits2.default)(NeedsRetryError, _Error);
|
|
63
|
-
|
|
64
40
|
var _super = _createSuper(NeedsRetryError);
|
|
65
|
-
|
|
66
41
|
function NeedsRetryError() {
|
|
67
42
|
(0, _classCallCheck2.default)(this, NeedsRetryError);
|
|
68
43
|
return _super.apply(this, arguments);
|
|
69
44
|
}
|
|
70
|
-
|
|
71
45
|
return (0, _createClass2.default)(NeedsRetryError);
|
|
72
46
|
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
73
47
|
/**
|
|
@@ -76,13 +50,9 @@ var NeedsRetryError = /*#__PURE__*/function (_Error) {
|
|
|
76
50
|
* @class NeedsRejoinError
|
|
77
51
|
* @extends {Error}
|
|
78
52
|
*/
|
|
79
|
-
|
|
80
|
-
|
|
81
53
|
var NeedsRejoinError = /*#__PURE__*/function (_Error2) {
|
|
82
54
|
(0, _inherits2.default)(NeedsRejoinError, _Error2);
|
|
83
|
-
|
|
84
55
|
var _super2 = _createSuper(NeedsRejoinError);
|
|
85
|
-
|
|
86
56
|
/**
|
|
87
57
|
* Creates an instance of NeedsRejoinError.
|
|
88
58
|
* @param {Object} params
|
|
@@ -92,31 +62,37 @@ var NeedsRejoinError = /*#__PURE__*/function (_Error2) {
|
|
|
92
62
|
*/
|
|
93
63
|
function NeedsRejoinError(_ref) {
|
|
94
64
|
var _this;
|
|
95
|
-
|
|
96
65
|
var wasSharing = _ref.wasSharing,
|
|
97
|
-
|
|
98
|
-
|
|
66
|
+
_ref$error = _ref.error,
|
|
67
|
+
error = _ref$error === void 0 ? new Error('Meeting needs to be rejoined') : _ref$error;
|
|
99
68
|
(0, _classCallCheck2.default)(this, NeedsRejoinError);
|
|
69
|
+
// @ts-ignore
|
|
100
70
|
_this = _super2.call(this, error);
|
|
71
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "wasSharing", void 0);
|
|
101
72
|
_this.wasSharing = wasSharing;
|
|
102
73
|
return _this;
|
|
103
74
|
}
|
|
104
|
-
|
|
105
75
|
return (0, _createClass2.default)(NeedsRejoinError);
|
|
106
76
|
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
107
77
|
/**
|
|
108
78
|
* @export
|
|
109
79
|
* @class ReconnectionManager
|
|
110
|
-
*/
|
|
111
|
-
|
|
112
|
-
|
|
80
|
+
*/
|
|
113
81
|
var ReconnectionManager = /*#__PURE__*/function () {
|
|
114
82
|
/**
|
|
115
83
|
* @param {Meeting} meeting
|
|
116
84
|
*/
|
|
117
85
|
function ReconnectionManager(meeting) {
|
|
118
86
|
(0, _classCallCheck2.default)(this, ReconnectionManager);
|
|
119
|
-
|
|
87
|
+
(0, _defineProperty2.default)(this, "autoRejoinEnabled", void 0);
|
|
88
|
+
(0, _defineProperty2.default)(this, "iceState", void 0);
|
|
89
|
+
(0, _defineProperty2.default)(this, "maxRejoinAttempts", void 0);
|
|
90
|
+
(0, _defineProperty2.default)(this, "meeting", void 0);
|
|
91
|
+
(0, _defineProperty2.default)(this, "rejoinAttempts", void 0);
|
|
92
|
+
(0, _defineProperty2.default)(this, "shareStatus", void 0);
|
|
93
|
+
(0, _defineProperty2.default)(this, "status", void 0);
|
|
94
|
+
(0, _defineProperty2.default)(this, "tryCount", void 0);
|
|
95
|
+
(0, _defineProperty2.default)(this, "webex", void 0);
|
|
120
96
|
/**
|
|
121
97
|
* Stores ICE reconnection state data.
|
|
122
98
|
*
|
|
@@ -129,33 +105,33 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
129
105
|
disconnected: false,
|
|
130
106
|
resolve: function resolve() {},
|
|
131
107
|
timer: undefined,
|
|
108
|
+
// @ts-ignore
|
|
132
109
|
timeoutDuration: meeting.config.reconnection.iceReconnectionTimeout
|
|
133
110
|
};
|
|
111
|
+
|
|
134
112
|
/**
|
|
135
113
|
* @instance
|
|
136
114
|
* @type {String}
|
|
137
115
|
* @private
|
|
138
116
|
* @memberof ReconnectionManager
|
|
139
|
-
|
|
140
|
-
|
|
117
|
+
*/
|
|
141
118
|
this.status = _constants.RECONNECTION.STATE.DEFAULT_STATUS;
|
|
142
119
|
/**
|
|
143
120
|
* @instance
|
|
144
121
|
* @type {Number}
|
|
145
122
|
* @private
|
|
146
123
|
* @memberof ReconnectionManager
|
|
147
|
-
|
|
148
|
-
|
|
124
|
+
*/
|
|
149
125
|
this.tryCount = _constants.RECONNECTION.STATE.DEFAULT_TRY_COUNT;
|
|
150
126
|
/**
|
|
151
127
|
* @instance
|
|
152
128
|
* @type {Object}
|
|
153
129
|
* @private
|
|
154
130
|
* @memberof ReconnectionManager
|
|
155
|
-
|
|
131
|
+
*/
|
|
156
132
|
// TODO : change this logic to not save the meeting instance
|
|
157
133
|
// It gets complicated when meeting ends on remote side , We have a old meeting instance which is not up to date
|
|
158
|
-
|
|
134
|
+
// @ts-ignore
|
|
159
135
|
this.webex = meeting.webex;
|
|
160
136
|
/**
|
|
161
137
|
* @instance
|
|
@@ -165,33 +141,34 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
165
141
|
*/
|
|
166
142
|
// TODO: try removing the circular dependency for meeting and reconnection manager
|
|
167
143
|
// try moving this to meetings collection
|
|
168
|
-
|
|
169
144
|
this.meeting = meeting;
|
|
145
|
+
|
|
146
|
+
// @ts-ignore
|
|
170
147
|
this.maxRejoinAttempts = meeting.config.reconnection.maxRejoinAttempts;
|
|
171
148
|
this.rejoinAttempts = _constants.RECONNECTION.STATE.DEFAULT_TRY_COUNT;
|
|
172
|
-
|
|
149
|
+
// @ts-ignore
|
|
150
|
+
this.autoRejoinEnabled = meeting.config.reconnection.autoRejoin;
|
|
173
151
|
|
|
152
|
+
// Make sure reconnection state is in default
|
|
174
153
|
this.reset();
|
|
175
154
|
}
|
|
155
|
+
|
|
176
156
|
/**
|
|
177
157
|
* @public
|
|
178
158
|
* @memberof ReconnectionManager
|
|
179
159
|
* @returns {void}
|
|
180
160
|
*/
|
|
181
|
-
|
|
182
|
-
|
|
183
161
|
(0, _createClass2.default)(ReconnectionManager, [{
|
|
184
162
|
key: "resetReconnectionTimer",
|
|
185
163
|
value: function resetReconnectionTimer() {
|
|
186
164
|
this.iceState.resolve();
|
|
187
|
-
|
|
188
165
|
this.iceState.resolve = function () {};
|
|
189
|
-
|
|
190
166
|
if (this.iceState.timer) {
|
|
191
167
|
clearTimeout(this.iceState.timer);
|
|
192
168
|
delete this.iceState.timer;
|
|
193
169
|
}
|
|
194
170
|
}
|
|
171
|
+
|
|
195
172
|
/**
|
|
196
173
|
* Sets the iceState to connected and clears any disconnect timeouts and
|
|
197
174
|
* related timeout data within the iceState.
|
|
@@ -200,17 +177,16 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
200
177
|
* @public
|
|
201
178
|
* @memberof ReconnectionManager
|
|
202
179
|
*/
|
|
203
|
-
|
|
204
180
|
}, {
|
|
205
181
|
key: "iceReconnected",
|
|
206
182
|
value: function iceReconnected() {
|
|
207
183
|
if (this.iceState.disconnected) {
|
|
208
184
|
_loggerProxy.default.logger.log('ReconnectionManager:index#iceReconnected --> ice has reconnected');
|
|
209
|
-
|
|
210
185
|
this.resetReconnectionTimer();
|
|
211
186
|
this.iceState.disconnected = false;
|
|
212
187
|
}
|
|
213
188
|
}
|
|
189
|
+
|
|
214
190
|
/**
|
|
215
191
|
* Set the iceState to disconnected and generates a timeout that waits for the
|
|
216
192
|
* iceState to reconnect and then resolves. If the ice state is already
|
|
@@ -221,15 +197,12 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
221
197
|
* @public
|
|
222
198
|
* @memberof ReconnectionManager
|
|
223
199
|
*/
|
|
224
|
-
|
|
225
200
|
}, {
|
|
226
201
|
key: "waitForIceReconnect",
|
|
227
202
|
value: function waitForIceReconnect() {
|
|
228
203
|
var _this2 = this;
|
|
229
|
-
|
|
230
204
|
if (!this.iceState.disconnected) {
|
|
231
205
|
_loggerProxy.default.logger.log('ReconnectionManager:index#waitForIceReconnect --> waiting for ice reconnect');
|
|
232
|
-
|
|
233
206
|
this.iceState.disconnected = true;
|
|
234
207
|
return new _promise.default(function (resolve, reject) {
|
|
235
208
|
_this2.iceState.timer = setTimeout(function () {
|
|
@@ -242,17 +215,17 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
242
215
|
}, _this2.iceState.timeoutDuration);
|
|
243
216
|
_this2.iceState.resolve = resolve;
|
|
244
217
|
});
|
|
245
|
-
}
|
|
246
|
-
|
|
218
|
+
}
|
|
247
219
|
|
|
220
|
+
// return a resolved promise to prevent multiple catch executions of reconnect
|
|
248
221
|
return _promise.default.resolve();
|
|
249
222
|
}
|
|
223
|
+
|
|
250
224
|
/**
|
|
251
225
|
* @returns {undefined}
|
|
252
226
|
* @public
|
|
253
227
|
* @memberof ReconnectionManager
|
|
254
228
|
*/
|
|
255
|
-
|
|
256
229
|
}, {
|
|
257
230
|
key: "reset",
|
|
258
231
|
value: function reset() {
|
|
@@ -260,36 +233,61 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
260
233
|
this.tryCount = _constants.RECONNECTION.STATE.DEFAULT_TRY_COUNT;
|
|
261
234
|
this.rejoinAttempts = _constants.RECONNECTION.STATE.DEFAULT_TRY_COUNT;
|
|
262
235
|
}
|
|
236
|
+
|
|
263
237
|
/**
|
|
264
238
|
* @returns {undefined}
|
|
265
239
|
* @public
|
|
266
240
|
* @memberof ReconnectionManager
|
|
267
241
|
*/
|
|
268
|
-
|
|
269
242
|
}, {
|
|
270
243
|
key: "cleanUp",
|
|
271
244
|
value: function cleanUp() {
|
|
272
245
|
this.reset();
|
|
273
246
|
this.meeting = null;
|
|
274
247
|
}
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Stop the local share track.
|
|
251
|
+
*
|
|
252
|
+
* @param {string} reason a {@link SHARE_STOPPED_REASON}
|
|
253
|
+
* @returns {undefined}
|
|
254
|
+
* @private
|
|
255
|
+
* @memberof ReconnectionManager
|
|
256
|
+
*/
|
|
257
|
+
}, {
|
|
258
|
+
key: "stopLocalShareTrack",
|
|
259
|
+
value: function stopLocalShareTrack(reason) {
|
|
260
|
+
this.meeting.setLocalShareTrack(null);
|
|
261
|
+
this.meeting.isSharing = false;
|
|
262
|
+
if (this.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
|
|
263
|
+
this.meeting.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
|
|
264
|
+
}
|
|
265
|
+
this.meeting.mediaProperties.mediaDirection.sendShare = false;
|
|
266
|
+
_triggerProxy.default.trigger(this.meeting, {
|
|
267
|
+
file: 'reconnection-manager/index',
|
|
268
|
+
function: 'stopLocalShareTrack'
|
|
269
|
+
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
270
|
+
reason: reason
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
|
|
275
274
|
/**
|
|
276
275
|
* @public
|
|
277
276
|
* @memberof ReconnectionManager
|
|
278
277
|
* @returns {Boolean} true if reconnection operation is in progress
|
|
279
278
|
*/
|
|
280
|
-
|
|
281
279
|
}, {
|
|
282
280
|
key: "isReconnectInProgress",
|
|
283
281
|
value: function isReconnectInProgress() {
|
|
284
282
|
return this.status === _constants.RECONNECTION.STATE.IN_PROGRESS;
|
|
285
283
|
}
|
|
284
|
+
|
|
286
285
|
/**
|
|
287
286
|
* @returns {Boolean}
|
|
288
287
|
* @throws {ReconnectionError}
|
|
289
288
|
* @private
|
|
290
289
|
* @memberof ReconnectionManager
|
|
291
290
|
*/
|
|
292
|
-
|
|
293
291
|
}, {
|
|
294
292
|
key: "validate",
|
|
295
293
|
value: function validate() {
|
|
@@ -297,16 +295,13 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
297
295
|
if (this.status === _constants.RECONNECTION.STATE.DEFAULT_STATUS || this.status === _constants.RECONNECTION.STATE.COMPLETE) {
|
|
298
296
|
return true;
|
|
299
297
|
}
|
|
300
|
-
|
|
301
298
|
_loggerProxy.default.logger.info('ReconnectionManager:index#validate --> Reconnection already in progress.');
|
|
302
|
-
|
|
303
299
|
throw new _reconnectionInProgress.default('Reconnection already in progress.');
|
|
304
300
|
}
|
|
305
|
-
|
|
306
301
|
_loggerProxy.default.logger.info('ReconnectionManager:index#validate --> Reconnection is not enabled.');
|
|
307
|
-
|
|
308
302
|
throw new _reconnection.default('Reconnection is not enabled.');
|
|
309
303
|
}
|
|
304
|
+
|
|
310
305
|
/**
|
|
311
306
|
* Initiates a media reconnect for the active meeting
|
|
312
307
|
* @param {Object} reconnectOptions
|
|
@@ -316,123 +311,101 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
316
311
|
* @public
|
|
317
312
|
* @memberof ReconnectionManager
|
|
318
313
|
*/
|
|
319
|
-
|
|
320
314
|
}, {
|
|
321
315
|
key: "reconnect",
|
|
322
316
|
value: function () {
|
|
323
317
|
var _reconnect = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
324
318
|
var _this3 = this;
|
|
325
|
-
|
|
326
319
|
var _ref2,
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
320
|
+
_ref2$networkDisconne,
|
|
321
|
+
networkDisconnect,
|
|
322
|
+
_ref2$networkRetry,
|
|
323
|
+
networkRetry,
|
|
324
|
+
_args = arguments;
|
|
333
325
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
334
|
-
while (1) {
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect -->
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
326
|
+
while (1) switch (_context.prev = _context.next) {
|
|
327
|
+
case 0:
|
|
328
|
+
_ref2 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref2$networkDisconne = _ref2.networkDisconnect, networkDisconnect = _ref2$networkDisconne === void 0 ? false : _ref2$networkDisconne, _ref2$networkRetry = _ref2.networkRetry, networkRetry = _ref2$networkRetry === void 0 ? false : _ref2$networkRetry;
|
|
329
|
+
_loggerProxy.default.logger.info("ReconnectionManager:index#reconnect --> Reconnection start for meeting ".concat(this.meeting.id, "."));
|
|
330
|
+
// First, validate that we can reconnect, if not, it will throw an error
|
|
331
|
+
_context.prev = 2;
|
|
332
|
+
this.validate();
|
|
333
|
+
_context.next = 10;
|
|
334
|
+
break;
|
|
335
|
+
case 6:
|
|
336
|
+
_context.prev = 6;
|
|
337
|
+
_context.t0 = _context["catch"](2);
|
|
338
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Reconnection unable to begin.', _context.t0);
|
|
339
|
+
throw _context.t0;
|
|
340
|
+
case 10:
|
|
341
|
+
if (!networkRetry) {
|
|
342
|
+
// Only log START metrics on the initial reconnect
|
|
343
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Sending reconnect start metric.');
|
|
344
|
+
_metrics.default.postEvent({
|
|
345
|
+
event: _config.eventType.MEDIA_RECONNECTING,
|
|
346
|
+
meeting: this.meeting
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
return _context.abrupt("return", this.executeReconnection({
|
|
350
|
+
networkDisconnect: networkDisconnect
|
|
351
|
+
}).then(function () {
|
|
352
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Reconnection successful.');
|
|
353
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Sending reconnect success metric.');
|
|
354
|
+
_metrics.default.postEvent({
|
|
355
|
+
event: _config.eventType.MEDIA_RECOVERED,
|
|
356
|
+
meeting: _this3.meeting,
|
|
357
|
+
data: {
|
|
358
|
+
recoveredBy: _config.reconnection.RECOVERED_BY_NEW
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
}).catch(function (reconnectError) {
|
|
362
|
+
if (reconnectError instanceof NeedsRetryError) {
|
|
363
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Reconnection not successful, retrying.');
|
|
364
|
+
// Reset our reconnect status since we are looping back to the beginning
|
|
365
|
+
_this3.status = _constants.RECONNECTION.STATE.DEFAULT_STATUS;
|
|
366
|
+
|
|
367
|
+
// This is a network retry, so we should not log START metrics again
|
|
368
|
+
return _this3.reconnect({
|
|
369
|
+
networkDisconnect: true,
|
|
370
|
+
networkRetry: true
|
|
363
371
|
});
|
|
364
372
|
}
|
|
365
373
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
}).catch(function (reconnectError) {
|
|
381
|
-
if (reconnectError instanceof NeedsRetryError) {
|
|
382
|
-
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Reconnection not successful, retrying.'); // Reset our reconnect status since we are looping back to the beginning
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
_this3.status = _constants.RECONNECTION.STATE.DEFAULT_STATUS; // This is a network retry, so we should not log START metrics again
|
|
386
|
-
|
|
387
|
-
return _this3.reconnect({
|
|
388
|
-
networkDisconnect: true,
|
|
389
|
-
networkRetry: true
|
|
390
|
-
});
|
|
391
|
-
} // Reconnect has failed
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
_loggerProxy.default.logger.error('ReconnectionManager:index#reconnect --> Reconnection failed.', reconnectError.message);
|
|
395
|
-
|
|
396
|
-
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Sending reconnect abort metric.');
|
|
397
|
-
|
|
398
|
-
var reconnectMetric = {
|
|
399
|
-
event: _config.eventType.CALL_ABORTED,
|
|
400
|
-
meeting: _this3.meeting,
|
|
401
|
-
data: {
|
|
402
|
-
errors: [{
|
|
403
|
-
category: _config.errorObjects.category.expected,
|
|
404
|
-
errorCode: 2008,
|
|
405
|
-
fatal: true,
|
|
406
|
-
name: _config.errorObjects.name.mediaEngine,
|
|
407
|
-
shownToUser: false
|
|
408
|
-
}]
|
|
409
|
-
}
|
|
410
|
-
};
|
|
411
|
-
|
|
412
|
-
_metrics.default.postEvent(reconnectMetric);
|
|
413
|
-
|
|
414
|
-
if (reconnectError instanceof NeedsRejoinError) {
|
|
415
|
-
// send call aborded event with catogery as expected as we are trying to rejoin
|
|
416
|
-
if (_this3.autoRejoinEnabled) {
|
|
417
|
-
return _this3.rejoinMeeting(reconnectError.wasSharing);
|
|
418
|
-
}
|
|
374
|
+
// Reconnect has failed
|
|
375
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#reconnect --> Reconnection failed.', reconnectError.message);
|
|
376
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Sending reconnect abort metric.');
|
|
377
|
+
var reconnectMetric = {
|
|
378
|
+
event: _config.eventType.CALL_ABORTED,
|
|
379
|
+
meeting: _this3.meeting,
|
|
380
|
+
data: {
|
|
381
|
+
errors: [{
|
|
382
|
+
category: _config.errorObjects.category.expected,
|
|
383
|
+
errorCode: 2008,
|
|
384
|
+
fatal: true,
|
|
385
|
+
name: _config.errorObjects.name.mediaEngine,
|
|
386
|
+
shownToUser: false
|
|
387
|
+
}]
|
|
419
388
|
}
|
|
389
|
+
};
|
|
390
|
+
_metrics.default.postEvent(reconnectMetric);
|
|
391
|
+
if (reconnectError instanceof NeedsRejoinError) {
|
|
392
|
+
// send call aborded event with catogery as expected as we are trying to rejoin
|
|
420
393
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
394
|
+
if (_this3.autoRejoinEnabled) {
|
|
395
|
+
return _this3.rejoinMeeting(reconnectError.wasSharing);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
throw reconnectError;
|
|
399
|
+
}));
|
|
400
|
+
case 12:
|
|
401
|
+
case "end":
|
|
402
|
+
return _context.stop();
|
|
428
403
|
}
|
|
429
404
|
}, _callee, this, [[2, 6]]);
|
|
430
405
|
}));
|
|
431
|
-
|
|
432
406
|
function reconnect() {
|
|
433
407
|
return _reconnect.apply(this, arguments);
|
|
434
408
|
}
|
|
435
|
-
|
|
436
409
|
return reconnect;
|
|
437
410
|
}()
|
|
438
411
|
/**
|
|
@@ -443,132 +416,99 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
443
416
|
* @private
|
|
444
417
|
* @memberof ReconnectionManager
|
|
445
418
|
*/
|
|
446
|
-
|
|
447
419
|
}, {
|
|
448
420
|
key: "executeReconnection",
|
|
449
421
|
value: function () {
|
|
450
422
|
var _executeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(_ref3) {
|
|
451
423
|
var _ref3$networkDisconne, networkDisconnect, wasSharing, media;
|
|
452
|
-
|
|
453
424
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
454
|
-
while (1) {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
_context2.prev = 4;
|
|
468
|
-
_context2.next = 7;
|
|
469
|
-
return this.reconnectMercuryWebSocket();
|
|
470
|
-
|
|
471
|
-
case 7:
|
|
472
|
-
_loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Websocket reconnected.', this.webex.internal.device.url);
|
|
473
|
-
|
|
474
|
-
_context2.next = 15;
|
|
425
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
426
|
+
case 0:
|
|
427
|
+
_ref3$networkDisconne = _ref3.networkDisconnect, networkDisconnect = _ref3$networkDisconne === void 0 ? false : _ref3$networkDisconne;
|
|
428
|
+
this.status = _constants.RECONNECTION.STATE.IN_PROGRESS;
|
|
429
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Attempting to reconnect to meeting.');
|
|
430
|
+
wasSharing = this.meeting.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE;
|
|
431
|
+
if (wasSharing) {
|
|
432
|
+
this.stopLocalShareTrack(_constants.SHARE_STOPPED_REASON.MEDIA_RECONNECTION);
|
|
433
|
+
}
|
|
434
|
+
if (!networkDisconnect) {
|
|
435
|
+
_context2.next = 17;
|
|
475
436
|
break;
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
437
|
+
}
|
|
438
|
+
_context2.prev = 6;
|
|
439
|
+
_context2.next = 9;
|
|
440
|
+
return this.reconnectMercuryWebSocket();
|
|
441
|
+
case 9:
|
|
442
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Websocket reconnected.', this.webex.internal.device.url);
|
|
443
|
+
_context2.next = 17;
|
|
444
|
+
break;
|
|
445
|
+
case 12:
|
|
446
|
+
_context2.prev = 12;
|
|
447
|
+
_context2.t0 = _context2["catch"](6);
|
|
448
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Unable to reconnect to websocket, giving up.');
|
|
449
|
+
this.status = _constants.RECONNECTION.STATE.FAILURE;
|
|
450
|
+
throw _context2.t0;
|
|
451
|
+
case 17:
|
|
452
|
+
_context2.prev = 17;
|
|
453
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Updating meeting data from server.');
|
|
454
|
+
_context2.next = 21;
|
|
455
|
+
return this.webex.meetings.syncMeetings();
|
|
456
|
+
case 21:
|
|
457
|
+
_context2.next = 27;
|
|
458
|
+
break;
|
|
459
|
+
case 23:
|
|
460
|
+
_context2.prev = 23;
|
|
461
|
+
_context2.t1 = _context2["catch"](17);
|
|
462
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Unable to sync meetings, reconnecting.', _context2.t1);
|
|
463
|
+
throw new NeedsRetryError(_context2.t1);
|
|
464
|
+
case 27:
|
|
465
|
+
if (!(!this.meeting || !this.webex.meetings.getMeetingByType(_constants._ID_, this.meeting.id))) {
|
|
466
|
+
_context2.next = 30;
|
|
497
467
|
break;
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
});
|
|
537
|
-
|
|
538
|
-
case 34:
|
|
539
|
-
_context2.prev = 34;
|
|
540
|
-
_context2.next = 37;
|
|
541
|
-
return this.reconnectMedia();
|
|
542
|
-
|
|
543
|
-
case 37:
|
|
544
|
-
media = _context2.sent;
|
|
545
|
-
|
|
546
|
-
_loggerProxy.default.logger.log('ReconnectionManager:index#executeReconnection --> Media reestablished');
|
|
547
|
-
|
|
548
|
-
this.status = _constants.RECONNECTION.STATE.COMPLETE;
|
|
549
|
-
return _context2.abrupt("return", media);
|
|
550
|
-
|
|
551
|
-
case 43:
|
|
552
|
-
_context2.prev = 43;
|
|
553
|
-
_context2.t2 = _context2["catch"](34);
|
|
554
|
-
|
|
555
|
-
_loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Media reestablishment failed');
|
|
556
|
-
|
|
557
|
-
this.status = _constants.RECONNECTION.STATE.FAILURE;
|
|
558
|
-
throw _context2.t2;
|
|
559
|
-
|
|
560
|
-
case 48:
|
|
561
|
-
case "end":
|
|
562
|
-
return _context2.stop();
|
|
563
|
-
}
|
|
468
|
+
}
|
|
469
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Meeting got deleted due to inactivity or ended remotely.');
|
|
470
|
+
throw new Error('Unable to rejoin a meeting already ended or inactive.');
|
|
471
|
+
case 30:
|
|
472
|
+
_loggerProxy.default.logger.info("ReconnectionManager:index#executeReconnection --> Current state of meeting is ".concat(this.meeting.state));
|
|
473
|
+
|
|
474
|
+
// If the meeting state was left, no longer reconnect media
|
|
475
|
+
if (!(this.meeting.state === _constants._LEFT_)) {
|
|
476
|
+
_context2.next = 35;
|
|
477
|
+
break;
|
|
478
|
+
}
|
|
479
|
+
if (!(this.meeting.type === _constants._CALL_)) {
|
|
480
|
+
_context2.next = 34;
|
|
481
|
+
break;
|
|
482
|
+
}
|
|
483
|
+
throw new Error('Unable to rejoin a call in LEFT state.');
|
|
484
|
+
case 34:
|
|
485
|
+
throw new NeedsRejoinError({
|
|
486
|
+
wasSharing: wasSharing
|
|
487
|
+
});
|
|
488
|
+
case 35:
|
|
489
|
+
_context2.prev = 35;
|
|
490
|
+
_context2.next = 38;
|
|
491
|
+
return this.reconnectMedia();
|
|
492
|
+
case 38:
|
|
493
|
+
media = _context2.sent;
|
|
494
|
+
_loggerProxy.default.logger.log('ReconnectionManager:index#executeReconnection --> Media reestablished');
|
|
495
|
+
this.status = _constants.RECONNECTION.STATE.COMPLETE;
|
|
496
|
+
return _context2.abrupt("return", media);
|
|
497
|
+
case 44:
|
|
498
|
+
_context2.prev = 44;
|
|
499
|
+
_context2.t2 = _context2["catch"](35);
|
|
500
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Media reestablishment failed');
|
|
501
|
+
this.status = _constants.RECONNECTION.STATE.FAILURE;
|
|
502
|
+
throw _context2.t2;
|
|
503
|
+
case 49:
|
|
504
|
+
case "end":
|
|
505
|
+
return _context2.stop();
|
|
564
506
|
}
|
|
565
|
-
}, _callee2, this, [[
|
|
507
|
+
}, _callee2, this, [[6, 12], [17, 23], [35, 44]]);
|
|
566
508
|
}));
|
|
567
|
-
|
|
568
509
|
function executeReconnection(_x) {
|
|
569
510
|
return _executeReconnection.apply(this, arguments);
|
|
570
511
|
}
|
|
571
|
-
|
|
572
512
|
return executeReconnection;
|
|
573
513
|
}()
|
|
574
514
|
/**
|
|
@@ -578,110 +518,71 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
578
518
|
* @param {boolean} wasSharing
|
|
579
519
|
* @returns {Promise}
|
|
580
520
|
*/
|
|
581
|
-
|
|
582
521
|
}, {
|
|
583
522
|
key: "rejoinMeeting",
|
|
584
523
|
value: function () {
|
|
585
524
|
var _rejoinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
586
525
|
var wasSharing,
|
|
587
|
-
|
|
526
|
+
_args3 = arguments;
|
|
588
527
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
589
|
-
while (1) {
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
if (this.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
|
|
612
|
-
this.meeting.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
|
|
613
|
-
}
|
|
614
|
-
|
|
615
|
-
this.meeting.mediaProperties.mediaDirection.sendShare = false;
|
|
616
|
-
|
|
617
|
-
_triggerProxy.default.trigger(this.meeting, {
|
|
618
|
-
file: 'reconnection-manager/index',
|
|
619
|
-
function: 'rejoinMeeting'
|
|
620
|
-
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
621
|
-
reason: _constants.SHARE_STOPPED_REASON.MEETING_REJOIN
|
|
622
|
-
});
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
_context3.next = 21;
|
|
626
|
-
break;
|
|
627
|
-
|
|
628
|
-
case 9:
|
|
629
|
-
_context3.prev = 9;
|
|
630
|
-
_context3.t0 = _context3["catch"](1);
|
|
631
|
-
this.rejoinAttempts += 1;
|
|
632
|
-
|
|
633
|
-
if (!(this.rejoinAttempts <= this.maxRejoinAttempts)) {
|
|
634
|
-
_context3.next = 17;
|
|
635
|
-
break;
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
_loggerProxy.default.logger.info("ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting, attempt #".concat(this.rejoinAttempts, ", retrying."), _context3.t0);
|
|
639
|
-
|
|
640
|
-
this.rejoinMeeting();
|
|
641
|
-
_context3.next = 21;
|
|
528
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
529
|
+
case 0:
|
|
530
|
+
wasSharing = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : false;
|
|
531
|
+
_context3.prev = 1;
|
|
532
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#rejoinMeeting --> attemping meeting rejoin');
|
|
533
|
+
_context3.next = 5;
|
|
534
|
+
return this.meeting.join({
|
|
535
|
+
rejoin: true
|
|
536
|
+
});
|
|
537
|
+
case 5:
|
|
538
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#rejoinMeeting --> meeting rejoined');
|
|
539
|
+
if (wasSharing) {
|
|
540
|
+
this.stopLocalShareTrack(_constants.SHARE_STOPPED_REASON.MEETING_REJOIN);
|
|
541
|
+
}
|
|
542
|
+
_context3.next = 21;
|
|
543
|
+
break;
|
|
544
|
+
case 9:
|
|
545
|
+
_context3.prev = 9;
|
|
546
|
+
_context3.t0 = _context3["catch"](1);
|
|
547
|
+
this.rejoinAttempts += 1;
|
|
548
|
+
if (!(this.rejoinAttempts <= this.maxRejoinAttempts)) {
|
|
549
|
+
_context3.next = 17;
|
|
642
550
|
break;
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
case 30:
|
|
674
|
-
case "end":
|
|
675
|
-
return _context3.stop();
|
|
676
|
-
}
|
|
551
|
+
}
|
|
552
|
+
_loggerProxy.default.logger.info("ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting, attempt #".concat(this.rejoinAttempts, ", retrying."), _context3.t0);
|
|
553
|
+
this.rejoinMeeting();
|
|
554
|
+
_context3.next = 21;
|
|
555
|
+
break;
|
|
556
|
+
case 17:
|
|
557
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting after max attempts.', _context3.t0);
|
|
558
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_MAX_REJOIN_FAILURE, {
|
|
559
|
+
locus_id: this.meeting.locusUrl.split('/').pop(),
|
|
560
|
+
reason: _context3.t0.message,
|
|
561
|
+
stack: _context3.t0.stack
|
|
562
|
+
});
|
|
563
|
+
this.status = _constants.RECONNECTION.STATE.FAILURE;
|
|
564
|
+
throw _context3.t0;
|
|
565
|
+
case 21:
|
|
566
|
+
_context3.prev = 21;
|
|
567
|
+
_context3.next = 24;
|
|
568
|
+
return this.reconnectMedia();
|
|
569
|
+
case 24:
|
|
570
|
+
_context3.next = 30;
|
|
571
|
+
break;
|
|
572
|
+
case 26:
|
|
573
|
+
_context3.prev = 26;
|
|
574
|
+
_context3.t1 = _context3["catch"](21);
|
|
575
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#rejoinMeeting --> Unable to reestablish media after rejoining.', _context3.t1);
|
|
576
|
+
throw _context3.t1;
|
|
577
|
+
case 30:
|
|
578
|
+
case "end":
|
|
579
|
+
return _context3.stop();
|
|
677
580
|
}
|
|
678
581
|
}, _callee3, this, [[1, 9], [21, 26]]);
|
|
679
582
|
}));
|
|
680
|
-
|
|
681
583
|
function rejoinMeeting() {
|
|
682
584
|
return _rejoinMeeting.apply(this, arguments);
|
|
683
585
|
}
|
|
684
|
-
|
|
685
586
|
return rejoinMeeting;
|
|
686
587
|
}()
|
|
687
588
|
/**
|
|
@@ -689,46 +590,50 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
689
590
|
* @private
|
|
690
591
|
* @memberof ReconnectionManager
|
|
691
592
|
*/
|
|
692
|
-
|
|
693
593
|
}, {
|
|
694
594
|
key: "reconnectMedia",
|
|
695
595
|
value: function () {
|
|
696
596
|
var _reconnectMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
697
|
-
var turnServerResult,
|
|
597
|
+
var turnServerResult, iceServers;
|
|
698
598
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
699
|
-
while (1) {
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
599
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
600
|
+
case 0:
|
|
601
|
+
_loggerProxy.default.logger.log('ReconnectionManager:index#reconnectMedia --> Begin reestablishment of media');
|
|
602
|
+
|
|
603
|
+
// do the TURN server discovery again since the TURN server might change
|
|
604
|
+
_context4.next = 3;
|
|
605
|
+
return this.meeting.roap.doTurnDiscovery(this.meeting, true);
|
|
606
|
+
case 3:
|
|
607
|
+
turnServerResult = _context4.sent;
|
|
608
|
+
iceServers = [];
|
|
609
|
+
if (turnServerResult.turnServerInfo) {
|
|
610
|
+
iceServers.push({
|
|
611
|
+
urls: turnServerResult.turnServerInfo.url,
|
|
612
|
+
username: turnServerResult.turnServerInfo.username || '',
|
|
613
|
+
credential: turnServerResult.turnServerInfo.password || ''
|
|
614
|
+
});
|
|
615
|
+
}
|
|
616
|
+
_context4.next = 8;
|
|
617
|
+
return this.meeting.mediaProperties.webrtcMediaConnection.reconnect(iceServers);
|
|
618
|
+
case 8:
|
|
619
|
+
// resend media requests
|
|
620
|
+
if (this.meeting.isMultistream) {
|
|
621
|
+
(0, _values.default)(this.meeting.mediaRequestManagers).forEach(function (mediaRequestManager) {
|
|
622
|
+
return (
|
|
623
|
+
// @ts-ignore - Fix type
|
|
624
|
+
mediaRequestManager.commit()
|
|
625
|
+
);
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
case 9:
|
|
629
|
+
case "end":
|
|
630
|
+
return _context4.stop();
|
|
724
631
|
}
|
|
725
632
|
}, _callee4, this);
|
|
726
633
|
}));
|
|
727
|
-
|
|
728
634
|
function reconnectMedia() {
|
|
729
635
|
return _reconnectMedia.apply(this, arguments);
|
|
730
636
|
}
|
|
731
|
-
|
|
732
637
|
return reconnectMedia;
|
|
733
638
|
}()
|
|
734
639
|
/**
|
|
@@ -737,83 +642,60 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
737
642
|
* @private
|
|
738
643
|
* @memberof ReconnectionManager
|
|
739
644
|
*/
|
|
740
|
-
|
|
741
645
|
}, {
|
|
742
646
|
key: "reconnectMercuryWebSocket",
|
|
743
647
|
value: function () {
|
|
744
648
|
var _reconnectMercuryWebSocket = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
745
649
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
746
|
-
while (1) {
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
if (!this.webex.internal.mercury.connected) {
|
|
753
|
-
_context5.next = 13;
|
|
754
|
-
break;
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Disconnecting existing websocket.');
|
|
758
|
-
|
|
759
|
-
_context5.prev = 3;
|
|
760
|
-
_context5.next = 6;
|
|
761
|
-
return this.webex.internal.mercury.disconnect();
|
|
762
|
-
|
|
763
|
-
case 6:
|
|
764
|
-
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket disconnected successfully.');
|
|
765
|
-
|
|
650
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
651
|
+
case 0:
|
|
652
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Reconnecting websocket.');
|
|
653
|
+
// First, attempt to disconnect if we think we are already connected.
|
|
654
|
+
if (!this.webex.internal.mercury.connected) {
|
|
766
655
|
_context5.next = 13;
|
|
767
656
|
break;
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
case 24:
|
|
801
|
-
case "end":
|
|
802
|
-
return _context5.stop();
|
|
803
|
-
}
|
|
657
|
+
}
|
|
658
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Disconnecting existing websocket.');
|
|
659
|
+
_context5.prev = 3;
|
|
660
|
+
_context5.next = 6;
|
|
661
|
+
return this.webex.internal.mercury.disconnect();
|
|
662
|
+
case 6:
|
|
663
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket disconnected successfully.');
|
|
664
|
+
_context5.next = 13;
|
|
665
|
+
break;
|
|
666
|
+
case 9:
|
|
667
|
+
_context5.prev = 9;
|
|
668
|
+
_context5.t0 = _context5["catch"](3);
|
|
669
|
+
// If we can't disconnect, the sdk is in such a bad state that reconnecting is not going to happen.
|
|
670
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to disconnect from websocket, giving up.', _context5.t0);
|
|
671
|
+
throw _context5.t0;
|
|
672
|
+
case 13:
|
|
673
|
+
_context5.prev = 13;
|
|
674
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Connecting websocket.');
|
|
675
|
+
_context5.next = 17;
|
|
676
|
+
return this.webex.internal.mercury.connect();
|
|
677
|
+
case 17:
|
|
678
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket connected successfully.');
|
|
679
|
+
_context5.next = 24;
|
|
680
|
+
break;
|
|
681
|
+
case 20:
|
|
682
|
+
_context5.prev = 20;
|
|
683
|
+
_context5.t1 = _context5["catch"](13);
|
|
684
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to connect to websocket, giving up.', _context5.t1);
|
|
685
|
+
throw _context5.t1;
|
|
686
|
+
case 24:
|
|
687
|
+
case "end":
|
|
688
|
+
return _context5.stop();
|
|
804
689
|
}
|
|
805
690
|
}, _callee5, this, [[3, 9], [13, 20]]);
|
|
806
691
|
}));
|
|
807
|
-
|
|
808
692
|
function reconnectMercuryWebSocket() {
|
|
809
693
|
return _reconnectMercuryWebSocket.apply(this, arguments);
|
|
810
694
|
}
|
|
811
|
-
|
|
812
695
|
return reconnectMercuryWebSocket;
|
|
813
696
|
}()
|
|
814
697
|
}]);
|
|
815
698
|
return ReconnectionManager;
|
|
816
699
|
}();
|
|
817
|
-
|
|
818
700
|
exports.default = ReconnectionManager;
|
|
819
701
|
//# sourceMappingURL=index.js.map
|