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