@webex/plugin-meetings 3.0.0-bnr.5 → 3.0.0-stream-classes.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 +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +70 -32
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +422 -217
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/utils.js +12 -1
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/errors/webex-errors.js +3 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.d.ts +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +1 -7
- package/dist/config.js.map +1 -1
- package/dist/constants.js +118 -24
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +2 -0
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +19 -14
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +80 -11
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +62 -20
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +71 -1
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +305 -57
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +219 -63
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +44 -22
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +57 -104
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +60 -121
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +61 -3
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2530 -2534
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +125 -205
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +150 -150
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +568 -438
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +94 -38
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +4 -2
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/index.d.ts +0 -2
- package/dist/meetings/index.js +260 -85
- 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/util.js +42 -7
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +2 -0
- package/dist/member/index.js +26 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.d.ts +11 -0
- package/dist/member/member.types.js +18 -0
- package/dist/member/member.types.js.map +1 -0
- package/dist/member/types.js +11 -1
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +60 -23
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +4 -1
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +75 -45
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +308 -317
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +1 -3
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +1 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +1 -1
- package/dist/metrics/index.js +1 -451
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +136 -40
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +4 -4
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +36 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +233 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/index.js +18 -3
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +5 -3
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +181 -153
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +25 -32
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +42 -51
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +97 -38
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +0 -1
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +43 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +124 -0
- package/dist/types/breakouts/events.d.ts +2 -0
- package/dist/types/breakouts/utils.d.ts +7 -0
- package/dist/types/common/errors/webex-errors.d.ts +1 -1
- package/dist/types/config.d.ts +0 -6
- package/dist/types/constants.d.ts +51 -21
- package/dist/types/controls-options-manager/enums.d.ts +2 -0
- package/dist/types/controls-options-manager/index.d.ts +1 -1
- package/dist/types/controls-options-manager/types.d.ts +7 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/index.d.ts +39 -1
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +16 -38
- package/dist/types/meeting/in-meeting-actions.d.ts +46 -2
- package/dist/types/meeting/index.d.ts +179 -379
- package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
- package/dist/types/meeting/muteState.d.ts +39 -40
- package/dist/types/meeting/request.d.ts +25 -26
- package/dist/types/meeting/util.d.ts +74 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +14 -3
- package/dist/types/meetings/index.d.ts +49 -1
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +2 -0
- package/dist/types/members/request.d.ts +56 -11
- package/dist/types/members/util.d.ts +209 -1
- package/dist/types/metrics/config.d.ts +26 -2
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/metrics/index.d.ts +17 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +27 -10
- package/dist/types/multistream/receiveSlot.d.ts +3 -3
- package/dist/types/multistream/remoteMedia.d.ts +2 -2
- package/dist/types/multistream/remoteMediaManager.d.ts +14 -0
- package/dist/types/roap/request.d.ts +6 -8
- package/dist/types/roap/turnDiscovery.d.ts +18 -1
- package/package.json +21 -20
- 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 +3 -2
- package/src/breakouts/breakout.ts +62 -27
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +244 -64
- package/src/breakouts/utils.ts +13 -0
- package/src/common/errors/webex-errors.ts +6 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +0 -6
- package/src/constants.ts +111 -19
- package/src/controls-options-manager/enums.ts +2 -0
- package/src/controls-options-manager/index.ts +13 -10
- package/src/controls-options-manager/types.ts +10 -0
- package/src/controls-options-manager/util.ts +82 -11
- package/src/index.ts +18 -11
- 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 +81 -0
- package/src/locus-info/index.ts +318 -57
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +224 -39
- package/src/locus-info/selfUtils.ts +32 -20
- package/src/media/index.ts +94 -108
- package/src/media/properties.ts +69 -109
- package/src/meeting/in-meeting-actions.ts +120 -4
- package/src/meeting/index.ts +1967 -2120
- package/src/meeting/locusMediaRequest.ts +314 -0
- package/src/meeting/muteState.ts +119 -194
- package/src/meeting/request.ts +122 -115
- package/src/meeting/util.ts +549 -413
- package/src/meeting-info/index.ts +54 -8
- package/src/meeting-info/meeting-info-v2.ts +89 -24
- package/src/meeting-info/utilv2.ts +6 -2
- package/src/meetings/index.ts +247 -87
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/util.ts +47 -12
- package/src/member/index.ts +28 -1
- package/src/member/types.ts +14 -0
- package/src/member/util.ts +75 -26
- package/src/members/index.ts +7 -1
- package/src/members/request.ts +61 -21
- package/src/members/util.ts +316 -326
- package/src/metrics/constants.ts +1 -0
- package/src/metrics/index.ts +1 -474
- package/src/multistream/mediaRequestManager.ts +183 -67
- package/src/multistream/receiveSlot.ts +4 -4
- package/src/multistream/receiveSlotManager.ts +4 -4
- package/src/multistream/remoteMedia.ts +2 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +33 -0
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/reachability/index.ts +15 -4
- package/src/reachability/request.ts +7 -3
- package/src/reconnection-manager/index.ts +36 -29
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +25 -30
- package/src/roap/request.ts +44 -51
- package/src/roap/turnDiscovery.ts +51 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +0 -1
- package/test/integration/spec/converged-space-meetings.js +60 -3
- package/test/integration/spec/journey.js +336 -259
- package/test/integration/spec/space-meeting.js +76 -3
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +85 -26
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +636 -98
- package/test/unit/spec/breakouts/utils.js +19 -1
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +8 -1
- package/test/unit/spec/controls-options-manager/util.js +576 -397
- 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 +195 -1
- package/test/unit/spec/locus-info/index.js +950 -45
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +62 -22
- package/test/unit/spec/locus-info/selfConstant.js +19 -0
- package/test/unit/spec/locus-info/selfUtils.js +131 -26
- package/test/unit/spec/media/index.ts +82 -79
- package/test/unit/spec/meeting/in-meeting-actions.ts +60 -2
- package/test/unit/spec/meeting/index.js +3208 -1734
- package/test/unit/spec/meeting/locusMediaRequest.ts +443 -0
- package/test/unit/spec/meeting/muteState.js +328 -417
- package/test/unit/spec/meeting/request.js +393 -48
- package/test/unit/spec/meeting/utils.js +552 -76
- package/test/unit/spec/meeting-info/index.js +181 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +258 -20
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/index.js +631 -145
- package/test/unit/spec/meetings/utils.js +164 -9
- package/test/unit/spec/member/index.js +44 -14
- package/test/unit/spec/member/util.js +296 -155
- package/test/unit/spec/members/index.js +23 -3
- package/test/unit/spec/members/request.js +167 -35
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +366 -8
- package/test/unit/spec/multistream/receiveSlot.ts +1 -1
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +123 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/reachability/index.ts +66 -5
- package/test/unit/spec/reachability/request.js +3 -1
- package/test/unit/spec/reconnection-manager/index.js +55 -5
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +21 -48
- package/test/unit/spec/roap/request.ts +74 -60
- package/test/unit/spec/roap/turnDiscovery.ts +30 -6
- package/test/unit/spec/rtcMetrics/index.ts +68 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -60
- package/src/metrics/config.ts +0 -487
|
@@ -25,7 +25,6 @@ var _constants = require("../constants");
|
|
|
25
25
|
var _constants2 = _interopRequireDefault(require("../metrics/constants"));
|
|
26
26
|
var _reconnection = _interopRequireDefault(require("../common/errors/reconnection"));
|
|
27
27
|
var _reconnectionInProgress = _interopRequireDefault(require("../common/errors/reconnection-in-progress"));
|
|
28
|
-
var _config = require("../metrics/config");
|
|
29
28
|
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
30
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); }; }
|
|
31
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; } }
|
|
@@ -247,7 +246,7 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
247
246
|
}
|
|
248
247
|
|
|
249
248
|
/**
|
|
250
|
-
* Stop the local share
|
|
249
|
+
* Stop the local share stream.
|
|
251
250
|
*
|
|
252
251
|
* @param {string} reason a {@link SHARE_STOPPED_REASON}
|
|
253
252
|
* @returns {undefined}
|
|
@@ -255,22 +254,32 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
255
254
|
* @memberof ReconnectionManager
|
|
256
255
|
*/
|
|
257
256
|
}, {
|
|
258
|
-
key: "
|
|
259
|
-
value: function
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
257
|
+
key: "stopLocalShareStream",
|
|
258
|
+
value: function () {
|
|
259
|
+
var _stopLocalShareStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(reason) {
|
|
260
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
261
|
+
while (1) switch (_context.prev = _context.next) {
|
|
262
|
+
case 0:
|
|
263
|
+
_context.next = 2;
|
|
264
|
+
return this.meeting.unpublishStreams([this.meeting.mediaProperties.shareVideoStream, this.meeting.mediaProperties.shareAudioStream]);
|
|
265
|
+
case 2:
|
|
266
|
+
_triggerProxy.default.trigger(this.meeting, {
|
|
267
|
+
file: 'reconnection-manager/index',
|
|
268
|
+
function: 'stopLocalShareStream'
|
|
269
|
+
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
270
|
+
reason: reason
|
|
271
|
+
});
|
|
272
|
+
case 3:
|
|
273
|
+
case "end":
|
|
274
|
+
return _context.stop();
|
|
275
|
+
}
|
|
276
|
+
}, _callee, this);
|
|
277
|
+
}));
|
|
278
|
+
function stopLocalShareStream(_x) {
|
|
279
|
+
return _stopLocalShareStream.apply(this, arguments);
|
|
264
280
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
file: 'reconnection-manager/index',
|
|
268
|
-
function: 'stopLocalShareTrack'
|
|
269
|
-
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
270
|
-
reason: reason
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
|
|
281
|
+
return stopLocalShareStream;
|
|
282
|
+
}()
|
|
274
283
|
/**
|
|
275
284
|
* @public
|
|
276
285
|
* @memberof ReconnectionManager
|
|
@@ -314,48 +323,56 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
314
323
|
}, {
|
|
315
324
|
key: "reconnect",
|
|
316
325
|
value: function () {
|
|
317
|
-
var _reconnect = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
326
|
+
var _reconnect = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
318
327
|
var _this3 = this;
|
|
319
328
|
var _ref2,
|
|
320
329
|
_ref2$networkDisconne,
|
|
321
330
|
networkDisconnect,
|
|
322
331
|
_ref2$networkRetry,
|
|
323
332
|
networkRetry,
|
|
324
|
-
|
|
325
|
-
return _regenerator.default.wrap(function
|
|
326
|
-
while (1) switch (
|
|
333
|
+
_args2 = arguments;
|
|
334
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
335
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
327
336
|
case 0:
|
|
328
|
-
_ref2 =
|
|
337
|
+
_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;
|
|
329
338
|
_loggerProxy.default.logger.info("ReconnectionManager:index#reconnect --> Reconnection start for meeting ".concat(this.meeting.id, "."));
|
|
330
339
|
// First, validate that we can reconnect, if not, it will throw an error
|
|
331
|
-
|
|
340
|
+
_context2.prev = 2;
|
|
332
341
|
this.validate();
|
|
333
|
-
|
|
342
|
+
_context2.next = 10;
|
|
334
343
|
break;
|
|
335
344
|
case 6:
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Reconnection unable to begin.',
|
|
339
|
-
throw
|
|
345
|
+
_context2.prev = 6;
|
|
346
|
+
_context2.t0 = _context2["catch"](2);
|
|
347
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Reconnection unable to begin.', _context2.t0);
|
|
348
|
+
throw _context2.t0;
|
|
340
349
|
case 10:
|
|
341
350
|
if (!networkRetry) {
|
|
342
351
|
// Only log START metrics on the initial reconnect
|
|
343
352
|
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Sending reconnect start metric.');
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
353
|
+
|
|
354
|
+
// @ts-ignore
|
|
355
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
356
|
+
name: 'client.media.reconnecting',
|
|
357
|
+
options: {
|
|
358
|
+
meetingId: this.meeting.id
|
|
359
|
+
}
|
|
347
360
|
});
|
|
348
361
|
}
|
|
349
|
-
return
|
|
362
|
+
return _context2.abrupt("return", this.executeReconnection({
|
|
350
363
|
networkDisconnect: networkDisconnect
|
|
351
364
|
}).then(function () {
|
|
352
365
|
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Reconnection successful.');
|
|
353
366
|
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Sending reconnect success metric.');
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
367
|
+
|
|
368
|
+
// @ts-ignore
|
|
369
|
+
_this3.webex.internal.newMetrics.submitClientEvent({
|
|
370
|
+
name: 'client.media.recovered',
|
|
371
|
+
payload: {
|
|
372
|
+
recoveredBy: 'new'
|
|
373
|
+
},
|
|
374
|
+
options: {
|
|
375
|
+
meetingId: _this3.meeting.id
|
|
359
376
|
}
|
|
360
377
|
});
|
|
361
378
|
}).catch(function (reconnectError) {
|
|
@@ -374,20 +391,23 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
374
391
|
// Reconnect has failed
|
|
375
392
|
_loggerProxy.default.logger.error('ReconnectionManager:index#reconnect --> Reconnection failed.', reconnectError.message);
|
|
376
393
|
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnect --> Sending reconnect abort metric.');
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
394
|
+
|
|
395
|
+
// @ts-ignore
|
|
396
|
+
_this3.webex.internal.newMetrics.submitClientEvent({
|
|
397
|
+
name: 'client.call.aborted',
|
|
398
|
+
payload: {
|
|
381
399
|
errors: [{
|
|
382
|
-
category:
|
|
400
|
+
category: 'expected',
|
|
383
401
|
errorCode: 2008,
|
|
384
402
|
fatal: true,
|
|
385
|
-
name:
|
|
403
|
+
name: 'media-engine',
|
|
386
404
|
shownToUser: false
|
|
387
405
|
}]
|
|
406
|
+
},
|
|
407
|
+
options: {
|
|
408
|
+
meetingId: _this3.meeting.id
|
|
388
409
|
}
|
|
389
|
-
};
|
|
390
|
-
_metrics.default.postEvent(reconnectMetric);
|
|
410
|
+
});
|
|
391
411
|
if (reconnectError instanceof NeedsRejoinError) {
|
|
392
412
|
// send call aborded event with catogery as expected as we are trying to rejoin
|
|
393
413
|
|
|
@@ -399,9 +419,9 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
399
419
|
}));
|
|
400
420
|
case 12:
|
|
401
421
|
case "end":
|
|
402
|
-
return
|
|
422
|
+
return _context2.stop();
|
|
403
423
|
}
|
|
404
|
-
},
|
|
424
|
+
}, _callee2, this, [[2, 6]]);
|
|
405
425
|
}));
|
|
406
426
|
function reconnect() {
|
|
407
427
|
return _reconnect.apply(this, arguments);
|
|
@@ -419,94 +439,98 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
419
439
|
}, {
|
|
420
440
|
key: "executeReconnection",
|
|
421
441
|
value: function () {
|
|
422
|
-
var _executeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
442
|
+
var _executeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(_ref3) {
|
|
423
443
|
var _ref3$networkDisconne, networkDisconnect, wasSharing, media;
|
|
424
|
-
return _regenerator.default.wrap(function
|
|
425
|
-
while (1) switch (
|
|
444
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
445
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
426
446
|
case 0:
|
|
427
447
|
_ref3$networkDisconne = _ref3.networkDisconnect, networkDisconnect = _ref3$networkDisconne === void 0 ? false : _ref3$networkDisconne;
|
|
428
448
|
this.status = _constants.RECONNECTION.STATE.IN_PROGRESS;
|
|
429
449
|
_loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Attempting to reconnect to meeting.');
|
|
430
450
|
wasSharing = this.meeting.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE;
|
|
431
|
-
if (wasSharing) {
|
|
432
|
-
|
|
451
|
+
if (!wasSharing) {
|
|
452
|
+
_context3.next = 7;
|
|
453
|
+
break;
|
|
433
454
|
}
|
|
455
|
+
_context3.next = 7;
|
|
456
|
+
return this.stopLocalShareStream(_constants.SHARE_STOPPED_REASON.MEDIA_RECONNECTION);
|
|
457
|
+
case 7:
|
|
434
458
|
if (!networkDisconnect) {
|
|
435
|
-
|
|
459
|
+
_context3.next = 19;
|
|
436
460
|
break;
|
|
437
461
|
}
|
|
438
|
-
|
|
439
|
-
|
|
462
|
+
_context3.prev = 8;
|
|
463
|
+
_context3.next = 11;
|
|
440
464
|
return this.reconnectMercuryWebSocket();
|
|
441
|
-
case
|
|
465
|
+
case 11:
|
|
442
466
|
_loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Websocket reconnected.', this.webex.internal.device.url);
|
|
443
|
-
|
|
467
|
+
_context3.next = 19;
|
|
444
468
|
break;
|
|
445
|
-
case
|
|
446
|
-
|
|
447
|
-
|
|
469
|
+
case 14:
|
|
470
|
+
_context3.prev = 14;
|
|
471
|
+
_context3.t0 = _context3["catch"](8);
|
|
448
472
|
_loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Unable to reconnect to websocket, giving up.');
|
|
449
473
|
this.status = _constants.RECONNECTION.STATE.FAILURE;
|
|
450
|
-
throw
|
|
451
|
-
case
|
|
452
|
-
|
|
474
|
+
throw _context3.t0;
|
|
475
|
+
case 19:
|
|
476
|
+
_context3.prev = 19;
|
|
453
477
|
_loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Updating meeting data from server.');
|
|
454
|
-
|
|
478
|
+
_context3.next = 23;
|
|
455
479
|
return this.webex.meetings.syncMeetings();
|
|
456
|
-
case 21:
|
|
457
|
-
_context2.next = 27;
|
|
458
|
-
break;
|
|
459
480
|
case 23:
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
481
|
+
_context3.next = 29;
|
|
482
|
+
break;
|
|
483
|
+
case 25:
|
|
484
|
+
_context3.prev = 25;
|
|
485
|
+
_context3.t1 = _context3["catch"](19);
|
|
486
|
+
_loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Unable to sync meetings, reconnecting.', _context3.t1);
|
|
487
|
+
throw new NeedsRetryError(_context3.t1);
|
|
488
|
+
case 29:
|
|
465
489
|
if (!(!this.meeting || !this.webex.meetings.getMeetingByType(_constants._ID_, this.meeting.id))) {
|
|
466
|
-
|
|
490
|
+
_context3.next = 32;
|
|
467
491
|
break;
|
|
468
492
|
}
|
|
469
493
|
_loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Meeting got deleted due to inactivity or ended remotely.');
|
|
470
494
|
throw new Error('Unable to rejoin a meeting already ended or inactive.');
|
|
471
|
-
case
|
|
495
|
+
case 32:
|
|
472
496
|
_loggerProxy.default.logger.info("ReconnectionManager:index#executeReconnection --> Current state of meeting is ".concat(this.meeting.state));
|
|
473
497
|
|
|
474
498
|
// If the meeting state was left, no longer reconnect media
|
|
475
499
|
if (!(this.meeting.state === _constants._LEFT_)) {
|
|
476
|
-
|
|
500
|
+
_context3.next = 37;
|
|
477
501
|
break;
|
|
478
502
|
}
|
|
479
503
|
if (!(this.meeting.type === _constants._CALL_)) {
|
|
480
|
-
|
|
504
|
+
_context3.next = 36;
|
|
481
505
|
break;
|
|
482
506
|
}
|
|
483
507
|
throw new Error('Unable to rejoin a call in LEFT state.');
|
|
484
|
-
case
|
|
508
|
+
case 36:
|
|
485
509
|
throw new NeedsRejoinError({
|
|
486
510
|
wasSharing: wasSharing
|
|
487
511
|
});
|
|
488
|
-
case
|
|
489
|
-
|
|
490
|
-
|
|
512
|
+
case 37:
|
|
513
|
+
_context3.prev = 37;
|
|
514
|
+
_context3.next = 40;
|
|
491
515
|
return this.reconnectMedia();
|
|
492
|
-
case
|
|
493
|
-
media =
|
|
516
|
+
case 40:
|
|
517
|
+
media = _context3.sent;
|
|
494
518
|
_loggerProxy.default.logger.log('ReconnectionManager:index#executeReconnection --> Media reestablished');
|
|
495
519
|
this.status = _constants.RECONNECTION.STATE.COMPLETE;
|
|
496
|
-
return
|
|
497
|
-
case
|
|
498
|
-
|
|
499
|
-
|
|
520
|
+
return _context3.abrupt("return", media);
|
|
521
|
+
case 46:
|
|
522
|
+
_context3.prev = 46;
|
|
523
|
+
_context3.t2 = _context3["catch"](37);
|
|
500
524
|
_loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Media reestablishment failed');
|
|
501
525
|
this.status = _constants.RECONNECTION.STATE.FAILURE;
|
|
502
|
-
throw
|
|
503
|
-
case
|
|
526
|
+
throw _context3.t2;
|
|
527
|
+
case 51:
|
|
504
528
|
case "end":
|
|
505
|
-
return
|
|
529
|
+
return _context3.stop();
|
|
506
530
|
}
|
|
507
|
-
},
|
|
531
|
+
}, _callee3, this, [[8, 14], [19, 25], [37, 46]]);
|
|
508
532
|
}));
|
|
509
|
-
function executeReconnection(
|
|
533
|
+
function executeReconnection(_x2) {
|
|
510
534
|
return _executeReconnection.apply(this, arguments);
|
|
511
535
|
}
|
|
512
536
|
return executeReconnection;
|
|
@@ -521,64 +545,68 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
521
545
|
}, {
|
|
522
546
|
key: "rejoinMeeting",
|
|
523
547
|
value: function () {
|
|
524
|
-
var _rejoinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
548
|
+
var _rejoinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
525
549
|
var wasSharing,
|
|
526
|
-
|
|
527
|
-
return _regenerator.default.wrap(function
|
|
528
|
-
while (1) switch (
|
|
550
|
+
_args4 = arguments;
|
|
551
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
552
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
529
553
|
case 0:
|
|
530
|
-
wasSharing =
|
|
531
|
-
|
|
554
|
+
wasSharing = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : false;
|
|
555
|
+
_context4.prev = 1;
|
|
532
556
|
_loggerProxy.default.logger.info('ReconnectionManager:index#rejoinMeeting --> attemping meeting rejoin');
|
|
533
|
-
|
|
557
|
+
_context4.next = 5;
|
|
534
558
|
return this.meeting.join({
|
|
535
559
|
rejoin: true
|
|
536
560
|
});
|
|
537
561
|
case 5:
|
|
538
562
|
_loggerProxy.default.logger.info('ReconnectionManager:index#rejoinMeeting --> meeting rejoined');
|
|
539
|
-
if (wasSharing) {
|
|
540
|
-
|
|
563
|
+
if (!wasSharing) {
|
|
564
|
+
_context4.next = 9;
|
|
565
|
+
break;
|
|
541
566
|
}
|
|
542
|
-
|
|
543
|
-
|
|
567
|
+
_context4.next = 9;
|
|
568
|
+
return this.stopLocalShareStream(_constants.SHARE_STOPPED_REASON.MEETING_REJOIN);
|
|
544
569
|
case 9:
|
|
545
|
-
|
|
546
|
-
|
|
570
|
+
_context4.next = 23;
|
|
571
|
+
break;
|
|
572
|
+
case 11:
|
|
573
|
+
_context4.prev = 11;
|
|
574
|
+
_context4.t0 = _context4["catch"](1);
|
|
547
575
|
this.rejoinAttempts += 1;
|
|
548
576
|
if (!(this.rejoinAttempts <= this.maxRejoinAttempts)) {
|
|
549
|
-
|
|
577
|
+
_context4.next = 19;
|
|
550
578
|
break;
|
|
551
579
|
}
|
|
552
|
-
_loggerProxy.default.logger.info("ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting, attempt #".concat(this.rejoinAttempts, ", retrying."),
|
|
580
|
+
_loggerProxy.default.logger.info("ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting, attempt #".concat(this.rejoinAttempts, ", retrying."), _context4.t0);
|
|
553
581
|
this.rejoinMeeting();
|
|
554
|
-
|
|
582
|
+
_context4.next = 23;
|
|
555
583
|
break;
|
|
556
|
-
case
|
|
557
|
-
_loggerProxy.default.logger.error('ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting after max attempts.',
|
|
584
|
+
case 19:
|
|
585
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting after max attempts.', _context4.t0);
|
|
558
586
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_MAX_REJOIN_FAILURE, {
|
|
559
587
|
locus_id: this.meeting.locusUrl.split('/').pop(),
|
|
560
|
-
reason:
|
|
561
|
-
stack:
|
|
588
|
+
reason: _context4.t0.message,
|
|
589
|
+
stack: _context4.t0.stack
|
|
562
590
|
});
|
|
563
591
|
this.status = _constants.RECONNECTION.STATE.FAILURE;
|
|
564
|
-
throw
|
|
565
|
-
case
|
|
566
|
-
|
|
567
|
-
|
|
592
|
+
throw _context4.t0;
|
|
593
|
+
case 23:
|
|
594
|
+
_context4.prev = 23;
|
|
595
|
+
_context4.next = 26;
|
|
568
596
|
return this.reconnectMedia();
|
|
569
|
-
case 24:
|
|
570
|
-
_context3.next = 30;
|
|
571
|
-
break;
|
|
572
597
|
case 26:
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
598
|
+
_context4.next = 32;
|
|
599
|
+
break;
|
|
600
|
+
case 28:
|
|
601
|
+
_context4.prev = 28;
|
|
602
|
+
_context4.t1 = _context4["catch"](23);
|
|
603
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#rejoinMeeting --> Unable to reestablish media after rejoining.', _context4.t1);
|
|
604
|
+
throw _context4.t1;
|
|
605
|
+
case 32:
|
|
578
606
|
case "end":
|
|
579
|
-
return
|
|
607
|
+
return _context4.stop();
|
|
580
608
|
}
|
|
581
|
-
},
|
|
609
|
+
}, _callee4, this, [[1, 11], [23, 28]]);
|
|
582
610
|
}));
|
|
583
611
|
function rejoinMeeting() {
|
|
584
612
|
return _rejoinMeeting.apply(this, arguments);
|
|
@@ -593,18 +621,18 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
593
621
|
}, {
|
|
594
622
|
key: "reconnectMedia",
|
|
595
623
|
value: function () {
|
|
596
|
-
var _reconnectMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
624
|
+
var _reconnectMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
597
625
|
var turnServerResult, iceServers;
|
|
598
|
-
return _regenerator.default.wrap(function
|
|
599
|
-
while (1) switch (
|
|
626
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
627
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
600
628
|
case 0:
|
|
601
629
|
_loggerProxy.default.logger.log('ReconnectionManager:index#reconnectMedia --> Begin reestablishment of media');
|
|
602
630
|
|
|
603
631
|
// do the TURN server discovery again since the TURN server might change
|
|
604
|
-
|
|
632
|
+
_context5.next = 3;
|
|
605
633
|
return this.meeting.roap.doTurnDiscovery(this.meeting, true);
|
|
606
634
|
case 3:
|
|
607
|
-
turnServerResult =
|
|
635
|
+
turnServerResult = _context5.sent;
|
|
608
636
|
iceServers = [];
|
|
609
637
|
if (turnServerResult.turnServerInfo) {
|
|
610
638
|
iceServers.push({
|
|
@@ -613,7 +641,7 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
613
641
|
credential: turnServerResult.turnServerInfo.password || ''
|
|
614
642
|
});
|
|
615
643
|
}
|
|
616
|
-
|
|
644
|
+
_context5.next = 8;
|
|
617
645
|
return this.meeting.mediaProperties.webrtcMediaConnection.reconnect(iceServers);
|
|
618
646
|
case 8:
|
|
619
647
|
// resend media requests
|
|
@@ -625,9 +653,9 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
625
653
|
}
|
|
626
654
|
case 9:
|
|
627
655
|
case "end":
|
|
628
|
-
return
|
|
656
|
+
return _context5.stop();
|
|
629
657
|
}
|
|
630
|
-
},
|
|
658
|
+
}, _callee5, this);
|
|
631
659
|
}));
|
|
632
660
|
function reconnectMedia() {
|
|
633
661
|
return _reconnectMedia.apply(this, arguments);
|
|
@@ -643,49 +671,49 @@ var ReconnectionManager = /*#__PURE__*/function () {
|
|
|
643
671
|
}, {
|
|
644
672
|
key: "reconnectMercuryWebSocket",
|
|
645
673
|
value: function () {
|
|
646
|
-
var _reconnectMercuryWebSocket = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
647
|
-
return _regenerator.default.wrap(function
|
|
648
|
-
while (1) switch (
|
|
674
|
+
var _reconnectMercuryWebSocket = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
|
|
675
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
676
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
649
677
|
case 0:
|
|
650
678
|
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Reconnecting websocket.');
|
|
651
679
|
// First, attempt to disconnect if we think we are already connected.
|
|
652
680
|
if (!this.webex.internal.mercury.connected) {
|
|
653
|
-
|
|
681
|
+
_context6.next = 13;
|
|
654
682
|
break;
|
|
655
683
|
}
|
|
656
684
|
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Disconnecting existing websocket.');
|
|
657
|
-
|
|
658
|
-
|
|
685
|
+
_context6.prev = 3;
|
|
686
|
+
_context6.next = 6;
|
|
659
687
|
return this.webex.internal.mercury.disconnect();
|
|
660
688
|
case 6:
|
|
661
689
|
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket disconnected successfully.');
|
|
662
|
-
|
|
690
|
+
_context6.next = 13;
|
|
663
691
|
break;
|
|
664
692
|
case 9:
|
|
665
|
-
|
|
666
|
-
|
|
693
|
+
_context6.prev = 9;
|
|
694
|
+
_context6.t0 = _context6["catch"](3);
|
|
667
695
|
// If we can't disconnect, the sdk is in such a bad state that reconnecting is not going to happen.
|
|
668
|
-
_loggerProxy.default.logger.error('ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to disconnect from websocket, giving up.',
|
|
669
|
-
throw
|
|
696
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to disconnect from websocket, giving up.', _context6.t0);
|
|
697
|
+
throw _context6.t0;
|
|
670
698
|
case 13:
|
|
671
|
-
|
|
699
|
+
_context6.prev = 13;
|
|
672
700
|
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Connecting websocket.');
|
|
673
|
-
|
|
701
|
+
_context6.next = 17;
|
|
674
702
|
return this.webex.internal.mercury.connect();
|
|
675
703
|
case 17:
|
|
676
704
|
_loggerProxy.default.logger.info('ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket connected successfully.');
|
|
677
|
-
|
|
705
|
+
_context6.next = 24;
|
|
678
706
|
break;
|
|
679
707
|
case 20:
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
_loggerProxy.default.logger.error('ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to connect to websocket, giving up.',
|
|
683
|
-
throw
|
|
708
|
+
_context6.prev = 20;
|
|
709
|
+
_context6.t1 = _context6["catch"](13);
|
|
710
|
+
_loggerProxy.default.logger.error('ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to connect to websocket, giving up.', _context6.t1);
|
|
711
|
+
throw _context6.t1;
|
|
684
712
|
case 24:
|
|
685
713
|
case "end":
|
|
686
|
-
return
|
|
714
|
+
return _context6.stop();
|
|
687
715
|
}
|
|
688
|
-
},
|
|
716
|
+
}, _callee6, this, [[3, 9], [13, 20]]);
|
|
689
717
|
}));
|
|
690
718
|
function reconnectMercuryWebSocket() {
|
|
691
719
|
return _reconnectMercuryWebSocket.apply(this, arguments);
|