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