@webex/plugin-meetings 3.6.0-next.9 → 3.7.0-ipv6-multi-turn-urls.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 +2 -1
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/common/errors/{webinar-registration-error.js → join-webinar-error.js} +12 -12
- package/dist/common/errors/join-webinar-error.js.map +1 -0
- package/dist/config.js +3 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +50 -7
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +1 -0
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +10 -3
- 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 +12 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +28 -4
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +2 -1
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/index.js +61 -3
- package/dist/locus-info/index.js.map +1 -1
- package/dist/media/index.js +29 -1
- package/dist/media/index.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +29 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +692 -472
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +2 -6
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/request.js +21 -29
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +95 -59
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +29 -17
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meetings/index.js +8 -3
- package/dist/meetings/index.js.map +1 -1
- package/dist/members/index.js +3 -2
- package/dist/members/index.js.map +1 -1
- package/dist/members/util.js +13 -7
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +3 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/remoteMedia.js +30 -15
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/reachability/clusterReachability.js +12 -15
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +433 -136
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/reachability.types.js +7 -0
- package/dist/reachability/reachability.types.js.map +1 -0
- package/dist/reachability/request.js +23 -9
- package/dist/reachability/request.js.map +1 -1
- package/dist/recording-controller/enums.js +8 -4
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.js +18 -9
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +13 -9
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +5 -7
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +45 -79
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +3 -6
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/types/common/errors/{webinar-registration-error.d.ts → join-webinar-error.d.ts} +2 -2
- package/dist/types/config.d.ts +2 -0
- package/dist/types/constants.d.ts +38 -1
- package/dist/types/controls-options-manager/enums.d.ts +2 -1
- package/dist/types/controls-options-manager/index.d.ts +2 -1
- package/dist/types/controls-options-manager/types.d.ts +2 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/locus-info/index.d.ts +9 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +28 -0
- package/dist/types/meeting/index.d.ts +34 -3
- package/dist/types/meeting/locusMediaRequest.d.ts +2 -3
- package/dist/types/meeting/request.d.ts +2 -2
- package/dist/types/meeting/util.d.ts +2 -2
- package/dist/types/meeting-info/meeting-info-v2.d.ts +4 -4
- package/dist/types/meetings/index.d.ts +4 -1
- package/dist/types/members/index.d.ts +2 -1
- package/dist/types/members/util.d.ts +5 -1
- package/dist/types/metrics/constants.d.ts +3 -1
- package/dist/types/reachability/clusterReachability.d.ts +1 -10
- package/dist/types/reachability/index.d.ts +74 -35
- package/dist/types/reachability/reachability.types.d.ts +64 -0
- package/dist/types/reachability/request.d.ts +5 -1
- package/dist/types/recording-controller/enums.d.ts +5 -2
- package/dist/types/recording-controller/index.d.ts +1 -0
- package/dist/types/recording-controller/util.d.ts +2 -1
- package/dist/types/roap/request.d.ts +1 -13
- package/dist/webinar/index.js +382 -19
- package/dist/webinar/index.js.map +1 -1
- package/package.json +22 -22
- package/src/common/errors/join-webinar-error.ts +24 -0
- package/src/config.ts +2 -0
- package/src/constants.ts +49 -3
- package/src/controls-options-manager/enums.ts +1 -0
- package/src/controls-options-manager/index.ts +19 -2
- package/src/controls-options-manager/types.ts +2 -0
- package/src/controls-options-manager/util.ts +12 -0
- package/src/index.ts +2 -2
- package/src/locus-info/controlsUtils.ts +46 -2
- package/src/locus-info/fullState.ts +1 -0
- package/src/locus-info/index.ts +60 -0
- package/src/media/index.ts +15 -0
- package/src/meeting/in-meeting-actions.ts +58 -0
- package/src/meeting/index.ts +232 -25
- package/src/meeting/locusMediaRequest.ts +4 -8
- package/src/meeting/request.ts +4 -11
- package/src/meeting/util.ts +25 -4
- package/src/meeting-info/meeting-info-v2.ts +23 -11
- package/src/meetings/index.ts +54 -41
- package/src/members/index.ts +4 -2
- package/src/members/util.ts +4 -1
- package/src/metrics/constants.ts +3 -1
- package/src/multistream/remoteMedia.ts +28 -15
- package/src/reachability/clusterReachability.ts +5 -15
- package/src/reachability/index.ts +285 -77
- package/src/reachability/reachability.types.ts +85 -0
- package/src/reachability/request.ts +55 -30
- package/src/recording-controller/enums.ts +5 -2
- package/src/recording-controller/index.ts +17 -4
- package/src/recording-controller/util.ts +20 -5
- package/src/roap/index.ts +4 -5
- package/src/roap/request.ts +30 -44
- package/src/roap/turnDiscovery.ts +2 -4
- package/src/webinar/index.ts +223 -17
- package/test/unit/spec/controls-options-manager/index.js +56 -32
- package/test/unit/spec/controls-options-manager/util.js +44 -0
- package/test/unit/spec/locus-info/controlsUtils.js +80 -4
- package/test/unit/spec/locus-info/index.js +59 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +31 -1
- package/test/unit/spec/meeting/index.js +369 -103
- package/test/unit/spec/meeting/locusMediaRequest.ts +18 -11
- package/test/unit/spec/meeting/request.js +3 -26
- package/test/unit/spec/meeting/utils.js +55 -13
- package/test/unit/spec/meeting-info/meetinginfov2.js +9 -4
- package/test/unit/spec/meetings/index.js +25 -6
- package/test/unit/spec/members/index.js +25 -2
- package/test/unit/spec/members/request.js +37 -3
- package/test/unit/spec/members/utils.js +110 -1
- package/test/unit/spec/multistream/remoteMedia.ts +11 -7
- package/test/unit/spec/reachability/clusterReachability.ts +7 -0
- package/test/unit/spec/reachability/index.ts +265 -1
- package/test/unit/spec/reachability/request.js +56 -15
- package/test/unit/spec/recording-controller/index.js +61 -5
- package/test/unit/spec/recording-controller/util.js +39 -3
- package/test/unit/spec/roap/index.ts +1 -1
- package/test/unit/spec/roap/request.ts +51 -109
- package/test/unit/spec/roap/turnDiscovery.ts +202 -147
- package/test/unit/spec/webinar/index.ts +443 -14
- package/dist/common/errors/webinar-registration-error.js.map +0 -1
- package/src/common/errors/webinar-registration-error.ts +0 -27
package/dist/meeting/index.js
CHANGED
|
@@ -39,6 +39,7 @@ var _lodash = require("lodash");
|
|
|
39
39
|
var _jwtDecode = _interopRequireDefault(require("jwt-decode"));
|
|
40
40
|
var _webexCore = require("@webex/webex-core");
|
|
41
41
|
var _common = require("@webex/common");
|
|
42
|
+
var _commonTimers = require("@webex/common-timers");
|
|
42
43
|
var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
|
|
43
44
|
var _internalMediaCore = require("@webex/internal-media-core");
|
|
44
45
|
var _mediaHelpers = require("@webex/media-helpers");
|
|
@@ -86,7 +87,7 @@ var _controlsOptionsManager = _interopRequireDefault(require("../controls-option
|
|
|
86
87
|
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
87
88
|
var _locusMediaRequest = require("./locusMediaRequest");
|
|
88
89
|
var _connectionStateHandler = require("./connectionStateHandler");
|
|
89
|
-
var
|
|
90
|
+
var _joinWebinarError = _interopRequireDefault(require("../common/errors/join-webinar-error"));
|
|
90
91
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
91
92
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
92
93
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -552,6 +553,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
552
553
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidateErrors", void 0);
|
|
553
554
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidatesCount", void 0);
|
|
554
555
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "rtcMetrics", void 0);
|
|
556
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "uploadLogsTimer", void 0);
|
|
557
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "logUploadIntervalIndex", void 0);
|
|
555
558
|
/**
|
|
556
559
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
557
560
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -1004,7 +1007,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1004
1007
|
});
|
|
1005
1008
|
_this.iceCandidatesCount = 0;
|
|
1006
1009
|
_this.mediaProperties.webrtcMediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_CANDIDATE, function (event) {
|
|
1007
|
-
if (event.candidate) {
|
|
1010
|
+
if (event.candidate && event.candidate.candidate && event.candidate.candidate.length > 0) {
|
|
1008
1011
|
_this.iceCandidatesCount += 1;
|
|
1009
1012
|
}
|
|
1010
1013
|
});
|
|
@@ -1434,6 +1437,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1434
1437
|
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with generated correlation id from sdk ".concat(_this.id));
|
|
1435
1438
|
_this.callStateForMetrics.correlationId = _this.id;
|
|
1436
1439
|
}
|
|
1440
|
+
_this.logUploadIntervalIndex = 0;
|
|
1441
|
+
|
|
1437
1442
|
/**
|
|
1438
1443
|
* @instance
|
|
1439
1444
|
* @type {String}
|
|
@@ -2422,19 +2427,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2422
2427
|
}
|
|
2423
2428
|
throw new _permission.default();
|
|
2424
2429
|
case 21:
|
|
2425
|
-
if (!(_context5.t0 instanceof _meetingInfoV.
|
|
2426
|
-
_context5.next =
|
|
2430
|
+
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2JoinWebinarError)) {
|
|
2431
|
+
_context5.next = 29;
|
|
2427
2432
|
break;
|
|
2428
2433
|
}
|
|
2429
2434
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_REGISTRATION;
|
|
2435
|
+
if (_constants.WEBINAR_ERROR_WEBCAST.includes(_context5.t0.wbxAppApiCode)) {
|
|
2436
|
+
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NEED_JOIN_WITH_WEBCAST;
|
|
2437
|
+
} else if (_constants.WEBINAR_ERROR_REGISTRATIONID.includes(_context5.t0.wbxAppApiCode)) {
|
|
2438
|
+
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_NEED_REGISTRATIONID;
|
|
2439
|
+
}
|
|
2430
2440
|
this.meetingInfoFailureCode = _context5.t0.wbxAppApiCode;
|
|
2431
2441
|
if (_context5.t0.meetingInfo) {
|
|
2432
2442
|
this.meetingInfo = _context5.t0.meetingInfo;
|
|
2433
2443
|
}
|
|
2434
|
-
throw new
|
|
2435
|
-
case
|
|
2444
|
+
throw new _joinWebinarError.default();
|
|
2445
|
+
case 29:
|
|
2436
2446
|
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
|
|
2437
|
-
_context5.next =
|
|
2447
|
+
_context5.next = 41;
|
|
2438
2448
|
break;
|
|
2439
2449
|
}
|
|
2440
2450
|
_loggerProxy.default.logger.info( // @ts-ignore
|
|
@@ -2449,16 +2459,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2449
2459
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2450
2460
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2451
2461
|
if (!this.requiredCaptcha) {
|
|
2452
|
-
_context5.next =
|
|
2462
|
+
_context5.next = 38;
|
|
2453
2463
|
break;
|
|
2454
2464
|
}
|
|
2455
|
-
_context5.next =
|
|
2465
|
+
_context5.next = 38;
|
|
2456
2466
|
return this.refreshCaptcha();
|
|
2457
|
-
case
|
|
2467
|
+
case 38:
|
|
2458
2468
|
throw new _passwordError.default();
|
|
2459
|
-
case
|
|
2469
|
+
case 41:
|
|
2460
2470
|
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
|
|
2461
|
-
_context5.next =
|
|
2471
|
+
_context5.next = 50;
|
|
2462
2472
|
break;
|
|
2463
2473
|
}
|
|
2464
2474
|
_loggerProxy.default.logger.info( // @ts-ignore
|
|
@@ -2470,10 +2480,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2470
2480
|
}
|
|
2471
2481
|
this.requiredCaptcha = _context5.t0.captchaInfo;
|
|
2472
2482
|
throw new _captchaError.default();
|
|
2473
|
-
case
|
|
2483
|
+
case 50:
|
|
2474
2484
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
|
|
2475
2485
|
throw _context5.t0;
|
|
2476
|
-
case
|
|
2486
|
+
case 52:
|
|
2477
2487
|
case "end":
|
|
2478
2488
|
return _context5.stop();
|
|
2479
2489
|
}
|
|
@@ -2702,6 +2712,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2702
2712
|
this.setUpLocusInfoSelfListener();
|
|
2703
2713
|
this.setUpLocusInfoMeetingListener();
|
|
2704
2714
|
this.setUpLocusServicesListener();
|
|
2715
|
+
this.setUpLocusResourcesListener();
|
|
2705
2716
|
// members update listeners
|
|
2706
2717
|
this.setUpLocusFullStateListener();
|
|
2707
2718
|
this.setUpLocusUrlListener();
|
|
@@ -3218,8 +3229,45 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3218
3229
|
state: state
|
|
3219
3230
|
});
|
|
3220
3231
|
});
|
|
3221
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.
|
|
3232
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref22) {
|
|
3222
3233
|
var state = _ref22.state;
|
|
3234
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3235
|
+
file: 'meeting/index',
|
|
3236
|
+
function: 'setupLocusControlsListener'
|
|
3237
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_WEBCAST_UPDATED, {
|
|
3238
|
+
state: state
|
|
3239
|
+
});
|
|
3240
|
+
});
|
|
3241
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref23) {
|
|
3242
|
+
var state = _ref23.state;
|
|
3243
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3244
|
+
file: 'meeting/index',
|
|
3245
|
+
function: 'setupLocusControlsListener'
|
|
3246
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_MEETING_FULL_UPDATED, {
|
|
3247
|
+
state: state
|
|
3248
|
+
});
|
|
3249
|
+
});
|
|
3250
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref24) {
|
|
3251
|
+
var state = _ref24.state;
|
|
3252
|
+
_this13.webinar.updatePracticeSessionStatus(state);
|
|
3253
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3254
|
+
file: 'meeting/index',
|
|
3255
|
+
function: 'setupLocusControlsListener'
|
|
3256
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, {
|
|
3257
|
+
state: state
|
|
3258
|
+
});
|
|
3259
|
+
});
|
|
3260
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref25) {
|
|
3261
|
+
var state = _ref25.state;
|
|
3262
|
+
_triggerProxy.default.trigger(_this13, {
|
|
3263
|
+
file: 'meeting/index',
|
|
3264
|
+
function: 'setupLocusControlsListener'
|
|
3265
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_STAGE_VIEW_UPDATED, {
|
|
3266
|
+
state: state
|
|
3267
|
+
});
|
|
3268
|
+
});
|
|
3269
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref26) {
|
|
3270
|
+
var state = _ref26.state;
|
|
3223
3271
|
_triggerProxy.default.trigger(_this13, {
|
|
3224
3272
|
file: 'meeting/index',
|
|
3225
3273
|
function: 'setupLocusControlsListener'
|
|
@@ -3266,7 +3314,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3266
3314
|
var _this14 = this;
|
|
3267
3315
|
// Will get triggered on local and remote share
|
|
3268
3316
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
|
3269
|
-
var
|
|
3317
|
+
var _ref27 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
|
|
3270
3318
|
var _payload$previous, _payload$previous2;
|
|
3271
3319
|
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, oldShareStatus, sendStartedSharingRemote, _this14$mediaProperti;
|
|
3272
3320
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
@@ -3464,7 +3512,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3464
3512
|
}, _callee8, null, [[27,, 31, 34]]);
|
|
3465
3513
|
}));
|
|
3466
3514
|
return function (_x8) {
|
|
3467
|
-
return
|
|
3515
|
+
return _ref27.apply(this, arguments);
|
|
3468
3516
|
};
|
|
3469
3517
|
}());
|
|
3470
3518
|
}
|
|
@@ -3514,14 +3562,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3514
3562
|
value: function setUpLocusServicesListener() {
|
|
3515
3563
|
var _this16 = this;
|
|
3516
3564
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_SERVICES, function (payload) {
|
|
3517
|
-
var _payload$services, _payload$services$rec, _this16$locusInfo, _this16$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap, _payload$services4, _payload$services4$ap
|
|
3565
|
+
var _payload$services, _payload$services$rec, _this16$locusInfo, _this16$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap, _payload$services4, _payload$services4$ap;
|
|
3518
3566
|
_this16.recordingController.setServiceUrl(payload === null || payload === void 0 ? void 0 : (_payload$services = payload.services) === null || _payload$services === void 0 ? void 0 : (_payload$services$rec = _payload$services.record) === null || _payload$services$rec === void 0 ? void 0 : _payload$services$rec.url);
|
|
3519
3567
|
_this16.recordingController.setSessionId((_this16$locusInfo = _this16.locusInfo) === null || _this16$locusInfo === void 0 ? void 0 : (_this16$locusInfo$ful = _this16$locusInfo.fullState) === null || _this16$locusInfo$ful === void 0 ? void 0 : _this16$locusInfo$ful.sessionId);
|
|
3520
3568
|
_this16.breakouts.breakoutServiceUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services2 = payload.services) === null || _payload$services2 === void 0 ? void 0 : (_payload$services2$br = _payload$services2.breakout) === null || _payload$services2$br === void 0 ? void 0 : _payload$services2$br.url);
|
|
3521
3569
|
_this16.annotation.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services3 = payload.services) === null || _payload$services3 === void 0 ? void 0 : (_payload$services3$ap = _payload$services3.approval) === null || _payload$services3$ap === void 0 ? void 0 : _payload$services3$ap.url);
|
|
3522
3570
|
_this16.simultaneousInterpretation.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services4 = payload.services) === null || _payload$services4 === void 0 ? void 0 : (_payload$services4$ap = _payload$services4.approval) === null || _payload$services4$ap === void 0 ? void 0 : _payload$services4$ap.url);
|
|
3523
|
-
|
|
3524
|
-
|
|
3571
|
+
});
|
|
3572
|
+
}
|
|
3573
|
+
|
|
3574
|
+
/**
|
|
3575
|
+
* Set up the locus info resources link listener
|
|
3576
|
+
* update the locusInfo for webcast instance url
|
|
3577
|
+
* @param {Object} payload - The event payload
|
|
3578
|
+
* @returns {undefined}
|
|
3579
|
+
* @private
|
|
3580
|
+
* @memberof Meeting
|
|
3581
|
+
*/
|
|
3582
|
+
}, {
|
|
3583
|
+
key: "setUpLocusResourcesListener",
|
|
3584
|
+
value: function setUpLocusResourcesListener() {
|
|
3585
|
+
var _this17 = this;
|
|
3586
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_RESOURCES, function (payload) {
|
|
3587
|
+
_this17.webinar.updateWebcastUrl(payload);
|
|
3525
3588
|
});
|
|
3526
3589
|
}
|
|
3527
3590
|
|
|
@@ -3534,10 +3597,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3534
3597
|
}, {
|
|
3535
3598
|
key: "setUpLocusInfoMeetingInfoListener",
|
|
3536
3599
|
value: function setUpLocusInfoMeetingInfoListener() {
|
|
3537
|
-
var
|
|
3600
|
+
var _this18 = this;
|
|
3538
3601
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_LOCKED, function (payload) {
|
|
3539
3602
|
if (payload) {
|
|
3540
|
-
_triggerProxy.default.trigger(
|
|
3603
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3541
3604
|
file: 'meeting/index',
|
|
3542
3605
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3543
3606
|
}, _constants.EVENT_TRIGGERS.MEETING_LOCKED, {
|
|
@@ -3547,7 +3610,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3547
3610
|
});
|
|
3548
3611
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_UNLOCKED, function (payload) {
|
|
3549
3612
|
if (payload) {
|
|
3550
|
-
_triggerProxy.default.trigger(
|
|
3613
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3551
3614
|
file: 'meeting/index',
|
|
3552
3615
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3553
3616
|
}, _constants.EVENT_TRIGGERS.MEETING_UNLOCKED, {
|
|
@@ -3555,16 +3618,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3555
3618
|
});
|
|
3556
3619
|
}
|
|
3557
3620
|
});
|
|
3558
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
|
3559
|
-
var isInitializing =
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3621
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref28) {
|
|
3622
|
+
var isInitializing = _ref28.isInitializing;
|
|
3623
|
+
_this18.updateMeetingActions();
|
|
3624
|
+
_this18.recordingController.setDisplayHints(_this18.userDisplayHints);
|
|
3625
|
+
_this18.recordingController.setUserPolicy(_this18.selfUserPolicies);
|
|
3626
|
+
_this18.controlsOptionsManager.setDisplayHints(_this18.userDisplayHints);
|
|
3627
|
+
_this18.handleDataChannelUrlChange(_this18.datachannelUrl);
|
|
3565
3628
|
if (!isInitializing) {
|
|
3566
3629
|
// send updated trigger only if locus is not initializing the meeting
|
|
3567
|
-
_triggerProxy.default.trigger(
|
|
3630
|
+
_triggerProxy.default.trigger(_this18, {
|
|
3568
3631
|
file: 'meetings',
|
|
3569
3632
|
function: 'setUpLocusInfoMeetingInfoListener'
|
|
3570
3633
|
}, _constants.EVENT_TRIGGERS.MEETING_INFO_UPDATED);
|
|
@@ -3595,10 +3658,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3595
3658
|
}, {
|
|
3596
3659
|
key: "setUpLocusEmbeddedAppsListener",
|
|
3597
3660
|
value: function setUpLocusEmbeddedAppsListener() {
|
|
3598
|
-
var
|
|
3661
|
+
var _this19 = this;
|
|
3599
3662
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.EMBEDDED_APPS_UPDATED, function (embeddedApps) {
|
|
3600
3663
|
if (embeddedApps) {
|
|
3601
|
-
_triggerProxy.default.trigger(
|
|
3664
|
+
_triggerProxy.default.trigger(_this19, {
|
|
3602
3665
|
file: 'meeting/index',
|
|
3603
3666
|
function: 'setUpLocusEmbeddedAppsListener'
|
|
3604
3667
|
}, _constants.EVENT_TRIGGERS.MEETING_EMBEDDED_APPS_UPDATE, embeddedApps);
|
|
@@ -3615,11 +3678,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3615
3678
|
}, {
|
|
3616
3679
|
key: "setUpLocusInfoSelfListener",
|
|
3617
3680
|
value: function setUpLocusInfoSelfListener() {
|
|
3618
|
-
var
|
|
3681
|
+
var _this20 = this;
|
|
3619
3682
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUIRED, function (payload) {
|
|
3620
|
-
if (
|
|
3621
|
-
|
|
3622
|
-
_triggerProxy.default.trigger(
|
|
3683
|
+
if (_this20.audio) {
|
|
3684
|
+
_this20.audio.handleServerLocalUnmuteRequired(_this20, payload.unmuteAllowed);
|
|
3685
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3623
3686
|
file: 'meeting/index',
|
|
3624
3687
|
function: 'setUpLocusInfoSelfListener'
|
|
3625
3688
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
|
|
@@ -3629,13 +3692,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3629
3692
|
});
|
|
3630
3693
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED, function (payload) {
|
|
3631
3694
|
if (payload) {
|
|
3632
|
-
if (
|
|
3695
|
+
if (_this20.video) {
|
|
3633
3696
|
var _payload$muted, _payload$unmuteAllowe;
|
|
3634
|
-
payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted :
|
|
3635
|
-
payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe :
|
|
3636
|
-
|
|
3697
|
+
payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted : _this20.video.isRemotelyMuted();
|
|
3698
|
+
payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe : _this20.video.isUnmuteAllowed();
|
|
3699
|
+
_this20.video.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
|
|
3637
3700
|
}
|
|
3638
|
-
_triggerProxy.default.trigger(
|
|
3701
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3639
3702
|
file: 'meeting/index',
|
|
3640
3703
|
function: 'setUpLocusInfoSelfListener'
|
|
3641
3704
|
}, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS, {
|
|
@@ -3645,15 +3708,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3645
3708
|
});
|
|
3646
3709
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_MUTE_STATUS_UPDATED, function (payload) {
|
|
3647
3710
|
if (payload) {
|
|
3648
|
-
var
|
|
3649
|
-
if (
|
|
3650
|
-
|
|
3711
|
+
var _this20$audio;
|
|
3712
|
+
if (_this20.audio) {
|
|
3713
|
+
_this20.audio.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
|
|
3651
3714
|
}
|
|
3652
3715
|
// with "mute on entry" server will send us remote mute even if we don't have media configured,
|
|
3653
3716
|
// so if being muted by others, always send the notification,
|
|
3654
3717
|
// but if being unmuted, only send it if we are also locally unmuted
|
|
3655
|
-
if (payload.muted || !((
|
|
3656
|
-
_triggerProxy.default.trigger(
|
|
3718
|
+
if (payload.muted || !((_this20$audio = _this20.audio) !== null && _this20$audio !== void 0 && _this20$audio.isMuted())) {
|
|
3719
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3657
3720
|
file: 'meeting/index',
|
|
3658
3721
|
function: 'setUpLocusInfoSelfListener'
|
|
3659
3722
|
}, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
|
|
@@ -3663,7 +3726,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3663
3726
|
}
|
|
3664
3727
|
});
|
|
3665
3728
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUESTED, function (payload) {
|
|
3666
|
-
_triggerProxy.default.trigger(
|
|
3729
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3667
3730
|
file: 'meeting/index',
|
|
3668
3731
|
function: 'setUpLocusInfoSelfListener'
|
|
3669
3732
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_REQUESTED_TO_UNMUTE, {
|
|
@@ -3672,8 +3735,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3672
3735
|
});
|
|
3673
3736
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_UNADMITTED_GUEST, function (payload) {
|
|
3674
3737
|
if (payload) {
|
|
3675
|
-
|
|
3676
|
-
_triggerProxy.default.trigger(
|
|
3738
|
+
_this20.startKeepAlive();
|
|
3739
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3677
3740
|
file: 'meeting/index',
|
|
3678
3741
|
function: 'setUpLocusInfoSelfListener'
|
|
3679
3742
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_LOBBY_WAITING, {
|
|
@@ -3681,24 +3744,27 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3681
3744
|
});
|
|
3682
3745
|
|
|
3683
3746
|
// @ts-ignore
|
|
3684
|
-
|
|
3747
|
+
_this20.webex.internal.newMetrics.submitClientEvent({
|
|
3685
3748
|
name: 'client.lobby.entered',
|
|
3686
3749
|
options: {
|
|
3687
|
-
meetingId:
|
|
3750
|
+
meetingId: _this20.id
|
|
3688
3751
|
}
|
|
3689
3752
|
});
|
|
3690
3753
|
}
|
|
3691
|
-
|
|
3754
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.GUEST_ENTERED_LOBBY, {
|
|
3755
|
+
correlation_id: _this20.correlationId
|
|
3756
|
+
});
|
|
3757
|
+
_this20.updateLLMConnection();
|
|
3692
3758
|
});
|
|
3693
3759
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
3694
|
-
var
|
|
3695
|
-
var
|
|
3760
|
+
var _ref29 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
|
3761
|
+
var _this20$rtcMetrics;
|
|
3696
3762
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
3697
3763
|
while (1) switch (_context9.prev = _context9.next) {
|
|
3698
3764
|
case 0:
|
|
3699
|
-
|
|
3765
|
+
_this20.stopKeepAlive();
|
|
3700
3766
|
if (payload) {
|
|
3701
|
-
_triggerProxy.default.trigger(
|
|
3767
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3702
3768
|
file: 'meeting/index',
|
|
3703
3769
|
function: 'setUpLocusInfoSelfListener'
|
|
3704
3770
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
|
|
@@ -3706,15 +3772,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3706
3772
|
});
|
|
3707
3773
|
|
|
3708
3774
|
// @ts-ignore
|
|
3709
|
-
|
|
3775
|
+
_this20.webex.internal.newMetrics.submitClientEvent({
|
|
3710
3776
|
name: 'client.lobby.exited',
|
|
3711
3777
|
options: {
|
|
3712
|
-
meetingId:
|
|
3778
|
+
meetingId: _this20.id
|
|
3713
3779
|
}
|
|
3714
3780
|
});
|
|
3781
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.GUEST_EXITED_LOBBY, {
|
|
3782
|
+
correlation_id: _this20.correlationId
|
|
3783
|
+
});
|
|
3715
3784
|
}
|
|
3716
|
-
(
|
|
3717
|
-
|
|
3785
|
+
(_this20$rtcMetrics = _this20.rtcMetrics) === null || _this20$rtcMetrics === void 0 ? void 0 : _this20$rtcMetrics.sendNextMetrics();
|
|
3786
|
+
_this20.updateLLMConnection();
|
|
3718
3787
|
case 4:
|
|
3719
3788
|
case "end":
|
|
3720
3789
|
return _context9.stop();
|
|
@@ -3722,42 +3791,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3722
3791
|
}, _callee9);
|
|
3723
3792
|
}));
|
|
3724
3793
|
return function (_x9) {
|
|
3725
|
-
return
|
|
3794
|
+
return _ref29.apply(this, arguments);
|
|
3726
3795
|
};
|
|
3727
3796
|
}());
|
|
3728
3797
|
|
|
3729
3798
|
// @ts-ignore - check if MEDIA_INACTIVITY exists
|
|
3730
3799
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, function () {
|
|
3731
3800
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_MEDIA_INACTIVE, {
|
|
3732
|
-
correlation_id:
|
|
3733
|
-
locus_id:
|
|
3801
|
+
correlation_id: _this20.correlationId,
|
|
3802
|
+
locus_id: _this20.locusId
|
|
3734
3803
|
});
|
|
3735
3804
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoSelfListener --> MEDIA_INACTIVITY received, reconnecting...');
|
|
3736
|
-
|
|
3805
|
+
_this20.reconnect();
|
|
3737
3806
|
});
|
|
3738
3807
|
|
|
3739
3808
|
// There is two stats for mute one is the actual media being sent or received
|
|
3740
3809
|
// The second on is if the audio is muted, we need to tell the statsAnalyzer when
|
|
3741
3810
|
// the audio is muted or the user is not willing to send media
|
|
3742
3811
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_STATUS_CHANGE, function (status) {
|
|
3743
|
-
if (
|
|
3744
|
-
var
|
|
3745
|
-
|
|
3812
|
+
if (_this20.statsAnalyzer) {
|
|
3813
|
+
var _this20$mediaProperti, _this20$audio2, _this20$mediaProperti2, _this20$video, _this20$mediaProperti3, _this20$mediaProperti4, _this20$mediaProperti5, _this20$mediaProperti6;
|
|
3814
|
+
_this20.statsAnalyzer.updateMediaStatus({
|
|
3746
3815
|
actual: status,
|
|
3747
3816
|
expected: {
|
|
3748
3817
|
// We need to check what should be the actual direction of media
|
|
3749
|
-
sendAudio: ((
|
|
3750
|
-
sendVideo: ((
|
|
3751
|
-
sendShare: (
|
|
3752
|
-
receiveAudio: (
|
|
3753
|
-
receiveVideo: (
|
|
3754
|
-
receiveShare: (
|
|
3818
|
+
sendAudio: ((_this20$mediaProperti = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti === void 0 ? void 0 : _this20$mediaProperti.sendAudio) && !((_this20$audio2 = _this20.audio) !== null && _this20$audio2 !== void 0 && _this20$audio2.isMuted()),
|
|
3819
|
+
sendVideo: ((_this20$mediaProperti2 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti2 === void 0 ? void 0 : _this20$mediaProperti2.sendVideo) && !((_this20$video = _this20.video) !== null && _this20$video !== void 0 && _this20$video.isMuted()),
|
|
3820
|
+
sendShare: (_this20$mediaProperti3 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti3 === void 0 ? void 0 : _this20$mediaProperti3.sendShare,
|
|
3821
|
+
receiveAudio: (_this20$mediaProperti4 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti4 === void 0 ? void 0 : _this20$mediaProperti4.receiveAudio,
|
|
3822
|
+
receiveVideo: (_this20$mediaProperti5 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti5 === void 0 ? void 0 : _this20$mediaProperti5.receiveVideo,
|
|
3823
|
+
receiveShare: (_this20$mediaProperti6 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti6 === void 0 ? void 0 : _this20$mediaProperti6.receiveShare
|
|
3755
3824
|
}
|
|
3756
3825
|
});
|
|
3757
3826
|
}
|
|
3758
3827
|
});
|
|
3759
3828
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE, function (payload) {
|
|
3760
|
-
_triggerProxy.default.trigger(
|
|
3829
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3761
3830
|
file: 'meeting/index',
|
|
3762
3831
|
function: 'setUpLocusInfoSelfListener'
|
|
3763
3832
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST, {
|
|
@@ -3765,29 +3834,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3765
3834
|
});
|
|
3766
3835
|
});
|
|
3767
3836
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BREAKOUTS_CHANGED, function (payload) {
|
|
3768
|
-
|
|
3769
|
-
_triggerProxy.default.trigger(
|
|
3837
|
+
_this20.breakouts.updateBreakoutSessions(payload);
|
|
3838
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3770
3839
|
file: 'meeting/index',
|
|
3771
3840
|
function: 'setUpLocusInfoSelfListener'
|
|
3772
3841
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
3773
3842
|
});
|
|
3774
3843
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
|
|
3775
|
-
var targetChanged =
|
|
3776
|
-
_triggerProxy.default.trigger(
|
|
3844
|
+
var targetChanged = _this20.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
3845
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3777
3846
|
file: 'meeting/index',
|
|
3778
3847
|
function: 'setUpLocusInfoSelfListener'
|
|
3779
3848
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
3780
|
-
if (targetChanged &&
|
|
3781
|
-
|
|
3849
|
+
if (targetChanged && _this20.mediaProperties.audioStream) {
|
|
3850
|
+
_this20.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
3782
3851
|
}
|
|
3783
3852
|
});
|
|
3784
3853
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ROLES_CHANGED, function (payload) {
|
|
3785
|
-
var _payload$newRoles, _payload$newRoles2, _payload$newRoles3
|
|
3854
|
+
var _payload$newRoles, _payload$newRoles2, _payload$newRoles3;
|
|
3786
3855
|
var isModeratorOrCohost = ((_payload$newRoles = payload.newRoles) === null || _payload$newRoles === void 0 ? void 0 : _payload$newRoles.includes(_constants.SELF_ROLES.MODERATOR)) || ((_payload$newRoles2 = payload.newRoles) === null || _payload$newRoles2 === void 0 ? void 0 : _payload$newRoles2.includes(_constants.SELF_ROLES.COHOST));
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
_triggerProxy.default.trigger(
|
|
3856
|
+
_this20.breakouts.updateCanManageBreakouts(isModeratorOrCohost);
|
|
3857
|
+
_this20.simultaneousInterpretation.updateCanManageInterpreters((_payload$newRoles3 = payload.newRoles) === null || _payload$newRoles3 === void 0 ? void 0 : _payload$newRoles3.includes(_constants.SELF_ROLES.MODERATOR));
|
|
3858
|
+
_this20.webinar.updateRoleChanged(payload);
|
|
3859
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3791
3860
|
file: 'meeting/index',
|
|
3792
3861
|
function: 'setUpLocusInfoSelfListener'
|
|
3793
3862
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_ROLES_CHANGED, {
|
|
@@ -3795,7 +3864,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3795
3864
|
});
|
|
3796
3865
|
});
|
|
3797
3866
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_IS_SHARING_BLOCKED_CHANGE, function (payload) {
|
|
3798
|
-
_triggerProxy.default.trigger(
|
|
3867
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3799
3868
|
file: 'meeting/index',
|
|
3800
3869
|
function: 'setUpLocusInfoSelfListener'
|
|
3801
3870
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_IS_SHARING_BLOCKED, {
|
|
@@ -3813,42 +3882,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3813
3882
|
}, {
|
|
3814
3883
|
key: "setUpLocusInfoMeetingListener",
|
|
3815
3884
|
value: function setUpLocusInfoMeetingListener() {
|
|
3816
|
-
var
|
|
3885
|
+
var _this21 = this;
|
|
3817
3886
|
this.locusInfo.on(_constants.EVENTS.REMOTE_RESPONSE, function (payload) {
|
|
3818
|
-
|
|
3887
|
+
_this21.meetingFiniteStateMachine.remote(payload);
|
|
3819
3888
|
if (payload.remoteDeclined) {
|
|
3820
|
-
|
|
3889
|
+
_this21.leave({
|
|
3821
3890
|
reason: payload.reason
|
|
3822
3891
|
}).then(function () {
|
|
3823
3892
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Attempting to leave meeting.');
|
|
3824
3893
|
}).catch(function (error) {
|
|
3825
3894
|
// @ts-ignore
|
|
3826
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(
|
|
3895
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(_this21, ", error: ").concat(error));
|
|
3827
3896
|
});
|
|
3828
3897
|
}
|
|
3829
3898
|
});
|
|
3830
3899
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
3831
|
-
var
|
|
3900
|
+
var _ref30 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
|
|
3832
3901
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
3833
3902
|
while (1) switch (_context10.prev = _context10.next) {
|
|
3834
3903
|
case 0:
|
|
3835
|
-
if (!
|
|
3904
|
+
if (!_this21.wirelessShare) {
|
|
3836
3905
|
_context10.next = 7;
|
|
3837
3906
|
break;
|
|
3838
3907
|
}
|
|
3839
|
-
if (!
|
|
3908
|
+
if (!_this21.mediaProperties.shareVideoStream) {
|
|
3840
3909
|
_context10.next = 4;
|
|
3841
3910
|
break;
|
|
3842
3911
|
}
|
|
3843
3912
|
_context10.next = 4;
|
|
3844
|
-
return
|
|
3913
|
+
return _this21.setLocalShareVideoStream(undefined);
|
|
3845
3914
|
case 4:
|
|
3846
|
-
if (!
|
|
3915
|
+
if (!_this21.mediaProperties.shareAudioStream) {
|
|
3847
3916
|
_context10.next = 7;
|
|
3848
3917
|
break;
|
|
3849
3918
|
}
|
|
3850
3919
|
_context10.next = 7;
|
|
3851
|
-
return
|
|
3920
|
+
return _this21.setLocalShareAudioStream(undefined);
|
|
3852
3921
|
case 7:
|
|
3853
3922
|
if (!payload.shouldLeave) {
|
|
3854
3923
|
_context10.next = 19;
|
|
@@ -3856,7 +3925,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3856
3925
|
}
|
|
3857
3926
|
_context10.prev = 8;
|
|
3858
3927
|
_context10.next = 11;
|
|
3859
|
-
return
|
|
3928
|
+
return _this21.leave({
|
|
3860
3929
|
reason: payload.reason
|
|
3861
3930
|
});
|
|
3862
3931
|
case 11:
|
|
@@ -3867,19 +3936,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3867
3936
|
_context10.prev = 14;
|
|
3868
3937
|
_context10.t0 = _context10["catch"](8);
|
|
3869
3938
|
// @ts-ignore
|
|
3870
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(
|
|
3939
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this21, ", error: ").concat(_context10.t0));
|
|
3871
3940
|
case 17:
|
|
3872
3941
|
_context10.next = 22;
|
|
3873
3942
|
break;
|
|
3874
3943
|
case 19:
|
|
3875
3944
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
3876
|
-
_util2.default.cleanUp(
|
|
3877
|
-
_triggerProxy.default.trigger(
|
|
3945
|
+
_util2.default.cleanUp(_this21);
|
|
3946
|
+
_triggerProxy.default.trigger(_this21, {
|
|
3878
3947
|
file: 'meeting/index',
|
|
3879
3948
|
function: 'setUpLocusInfoMeetingListener'
|
|
3880
3949
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
3881
3950
|
reason: payload.reason,
|
|
3882
|
-
meetingId:
|
|
3951
|
+
meetingId: _this21.id
|
|
3883
3952
|
});
|
|
3884
3953
|
case 22:
|
|
3885
3954
|
case "end":
|
|
@@ -3888,7 +3957,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3888
3957
|
}, _callee10, null, [[8, 14]]);
|
|
3889
3958
|
}));
|
|
3890
3959
|
return function (_x10) {
|
|
3891
|
-
return
|
|
3960
|
+
return _ref30.apply(this, arguments);
|
|
3892
3961
|
};
|
|
3893
3962
|
}());
|
|
3894
3963
|
}
|
|
@@ -3904,13 +3973,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3904
3973
|
}, {
|
|
3905
3974
|
key: "updateMeetingObject",
|
|
3906
3975
|
value: function updateMeetingObject(object) {
|
|
3907
|
-
var
|
|
3976
|
+
var _this22 = this;
|
|
3908
3977
|
// Validate if these are valid meeting object property
|
|
3909
3978
|
// TODO: add a check to make sure the value passed in the constructor
|
|
3910
3979
|
// is not changed by any delta event
|
|
3911
3980
|
if (object && (0, _keys.default)(object).length) {
|
|
3912
3981
|
(0, _keys.default)(object).forEach(function (key) {
|
|
3913
|
-
|
|
3982
|
+
_this22[key] = object[key];
|
|
3914
3983
|
});
|
|
3915
3984
|
}
|
|
3916
3985
|
}
|
|
@@ -4163,6 +4232,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4163
4232
|
canStopRecording: _util4.default.canUserStop(this.userDisplayHints, this.selfUserPolicies),
|
|
4164
4233
|
canPauseRecording: _util4.default.canUserPause(this.userDisplayHints, this.selfUserPolicies),
|
|
4165
4234
|
canResumeRecording: _util4.default.canUserResume(this.userDisplayHints, this.selfUserPolicies),
|
|
4235
|
+
isPremiseRecordingEnabled: _util4.default.isPremiseRecordingEnabled(this.userDisplayHints, this.selfUserPolicies),
|
|
4166
4236
|
canRaiseHand: _util2.default.canUserRaiseHand(this.userDisplayHints),
|
|
4167
4237
|
canLowerAllHands: _util2.default.canUserLowerAllHands(this.userDisplayHints),
|
|
4168
4238
|
canLowerSomeoneElsesHand: _util2.default.canUserLowerSomeoneElsesHand(this.userDisplayHints),
|
|
@@ -4240,6 +4310,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4240
4310
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST],
|
|
4241
4311
|
displayHints: this.userDisplayHints
|
|
4242
4312
|
}),
|
|
4313
|
+
canEnableViewTheParticipantsListPanelist: _util5.default.hasHints({
|
|
4314
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST],
|
|
4315
|
+
displayHints: this.userDisplayHints
|
|
4316
|
+
}),
|
|
4317
|
+
canDisableViewTheParticipantsListPanelist: _util5.default.hasHints({
|
|
4318
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST],
|
|
4319
|
+
displayHints: this.userDisplayHints
|
|
4320
|
+
}),
|
|
4321
|
+
canEnableShowAttendeeCount: _util5.default.hasHints({
|
|
4322
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_SHOW_ATTENDEE_COUNT],
|
|
4323
|
+
displayHints: this.userDisplayHints
|
|
4324
|
+
}),
|
|
4325
|
+
canDisableShowAttendeeCount: _util5.default.hasHints({
|
|
4326
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_SHOW_ATTENDEE_COUNT],
|
|
4327
|
+
displayHints: this.userDisplayHints
|
|
4328
|
+
}),
|
|
4243
4329
|
canEnableRaiseHand: _util5.default.hasHints({
|
|
4244
4330
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_RAISE_HAND],
|
|
4245
4331
|
displayHints: this.userDisplayHints
|
|
@@ -4256,6 +4342,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4256
4342
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIDEO],
|
|
4257
4343
|
displayHints: this.userDisplayHints
|
|
4258
4344
|
}),
|
|
4345
|
+
canStartWebcast: _util5.default.hasHints({
|
|
4346
|
+
requiredHints: [_constants.DISPLAY_HINTS.WEBCAST_CONTROL_START],
|
|
4347
|
+
displayHints: this.userDisplayHints
|
|
4348
|
+
}),
|
|
4349
|
+
canStopWebcast: _util5.default.hasHints({
|
|
4350
|
+
requiredHints: [_constants.DISPLAY_HINTS.WEBCAST_CONTROL_STOP],
|
|
4351
|
+
displayHints: this.userDisplayHints
|
|
4352
|
+
}),
|
|
4353
|
+
canShowStageView: _util5.default.hasHints({
|
|
4354
|
+
requiredHints: [_constants.DISPLAY_HINTS.STAGE_VIEW_ACTIVE],
|
|
4355
|
+
displayHints: this.userDisplayHints
|
|
4356
|
+
}),
|
|
4357
|
+
canEnableStageView: _util5.default.hasHints({
|
|
4358
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_STAGE_VIEW],
|
|
4359
|
+
displayHints: this.userDisplayHints
|
|
4360
|
+
}),
|
|
4361
|
+
canDisableStageView: _util5.default.hasHints({
|
|
4362
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_STAGE_VIEW],
|
|
4363
|
+
displayHints: this.userDisplayHints
|
|
4364
|
+
}),
|
|
4365
|
+
isPracticeSessionOn: _util5.default.hasHints({
|
|
4366
|
+
requiredHints: [_constants.DISPLAY_HINTS.PRACTICE_SESSION_ON],
|
|
4367
|
+
displayHints: this.userDisplayHints
|
|
4368
|
+
}),
|
|
4369
|
+
isPracticeSessionOff: _util5.default.hasHints({
|
|
4370
|
+
requiredHints: [_constants.DISPLAY_HINTS.PRACTICE_SESSION_OFF],
|
|
4371
|
+
displayHints: this.userDisplayHints
|
|
4372
|
+
}),
|
|
4373
|
+
canStartPracticeSession: _util5.default.hasHints({
|
|
4374
|
+
requiredHints: [_constants.DISPLAY_HINTS.SHOW_PRACTICE_SESSION_START],
|
|
4375
|
+
displayHints: this.userDisplayHints
|
|
4376
|
+
}),
|
|
4377
|
+
canStopPracticeSession: _util5.default.hasHints({
|
|
4378
|
+
requiredHints: [_constants.DISPLAY_HINTS.SHOW_PRACTICE_SESSION_STOP],
|
|
4379
|
+
displayHints: this.userDisplayHints
|
|
4380
|
+
}),
|
|
4259
4381
|
canShareFile: _util5.default.hasHints({
|
|
4260
4382
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_FILE],
|
|
4261
4383
|
displayHints: this.userDisplayHints
|
|
@@ -4400,6 +4522,65 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4400
4522
|
_triggerProxy.default.trigger(this, options, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
4401
4523
|
}
|
|
4402
4524
|
|
|
4525
|
+
/**
|
|
4526
|
+
* sets the timer for periodic log upload
|
|
4527
|
+
* @returns {void}
|
|
4528
|
+
*/
|
|
4529
|
+
}, {
|
|
4530
|
+
key: "setLogUploadTimer",
|
|
4531
|
+
value: function setLogUploadTimer() {
|
|
4532
|
+
var _this23 = this;
|
|
4533
|
+
// start with short timeouts and increase them later on so in case users have very long multi-hour meetings we don't get too fragmented logs
|
|
4534
|
+
var LOG_UPLOAD_INTERVALS = [0.1, 15, 30, 60]; // in minutes
|
|
4535
|
+
|
|
4536
|
+
var delay = 1000 * 60 *
|
|
4537
|
+
// @ts-ignore - config coming from registerPlugin
|
|
4538
|
+
this.config.logUploadIntervalMultiplicationFactor * LOG_UPLOAD_INTERVALS[this.logUploadIntervalIndex];
|
|
4539
|
+
if (this.logUploadIntervalIndex < LOG_UPLOAD_INTERVALS.length - 1) {
|
|
4540
|
+
this.logUploadIntervalIndex += 1;
|
|
4541
|
+
}
|
|
4542
|
+
this.uploadLogsTimer = (0, _commonTimers.safeSetTimeout)(function () {
|
|
4543
|
+
_this23.uploadLogsTimer = undefined;
|
|
4544
|
+
_this23.uploadLogs();
|
|
4545
|
+
|
|
4546
|
+
// just as an extra precaution, to avoid uploading logs forever in case something goes wrong
|
|
4547
|
+
// and the page remains opened, we stop it if there is no media connection
|
|
4548
|
+
if (!_this23.mediaProperties.webrtcMediaConnection) {
|
|
4549
|
+
return;
|
|
4550
|
+
}
|
|
4551
|
+
_this23.setLogUploadTimer();
|
|
4552
|
+
}, delay);
|
|
4553
|
+
}
|
|
4554
|
+
|
|
4555
|
+
/**
|
|
4556
|
+
* Starts a periodic upload of logs
|
|
4557
|
+
*
|
|
4558
|
+
* @returns {undefined}
|
|
4559
|
+
*/
|
|
4560
|
+
}, {
|
|
4561
|
+
key: "startPeriodicLogUpload",
|
|
4562
|
+
value: function startPeriodicLogUpload() {
|
|
4563
|
+
// @ts-ignore - config coming from registerPlugin
|
|
4564
|
+
if (this.config.logUploadIntervalMultiplicationFactor && !this.uploadLogsTimer) {
|
|
4565
|
+
this.logUploadIntervalIndex = 0;
|
|
4566
|
+
this.setLogUploadTimer();
|
|
4567
|
+
}
|
|
4568
|
+
}
|
|
4569
|
+
|
|
4570
|
+
/**
|
|
4571
|
+
* Stops the periodic upload of logs
|
|
4572
|
+
*
|
|
4573
|
+
* @returns {undefined}
|
|
4574
|
+
*/
|
|
4575
|
+
}, {
|
|
4576
|
+
key: "stopPeriodicLogUpload",
|
|
4577
|
+
value: function stopPeriodicLogUpload() {
|
|
4578
|
+
if (this.uploadLogsTimer) {
|
|
4579
|
+
clearTimeout(this.uploadLogsTimer);
|
|
4580
|
+
this.uploadLogsTimer = undefined;
|
|
4581
|
+
}
|
|
4582
|
+
}
|
|
4583
|
+
|
|
4403
4584
|
/**
|
|
4404
4585
|
* Removes remote audio, video and share streams from class instance's mediaProperties
|
|
4405
4586
|
* @returns {undefined}
|
|
@@ -4434,7 +4615,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4434
4615
|
}, {
|
|
4435
4616
|
key: "closeRemoteStreams",
|
|
4436
4617
|
value: function closeRemoteStreams() {
|
|
4437
|
-
var
|
|
4618
|
+
var _this24 = this;
|
|
4438
4619
|
var _this$mediaProperties4 = this.mediaProperties,
|
|
4439
4620
|
remoteAudioStream = _this$mediaProperties4.remoteAudioStream,
|
|
4440
4621
|
remoteVideoStream = _this$mediaProperties4.remoteVideoStream,
|
|
@@ -4448,7 +4629,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4448
4629
|
*/
|
|
4449
4630
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
4450
4631
|
var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
|
|
4451
|
-
_triggerProxy.default.trigger(
|
|
4632
|
+
_triggerProxy.default.trigger(_this24, {
|
|
4452
4633
|
file: 'meeting/index',
|
|
4453
4634
|
function: 'closeRemoteStreams'
|
|
4454
4635
|
}, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
|
|
@@ -4756,7 +4937,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4756
4937
|
}, {
|
|
4757
4938
|
key: "setMercuryListener",
|
|
4758
4939
|
value: function setMercuryListener() {
|
|
4759
|
-
var
|
|
4940
|
+
var _this25 = this;
|
|
4760
4941
|
// Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
|
|
4761
4942
|
// if the meeting has active peer connections, it should try to reconnect.
|
|
4762
4943
|
// @ts-ignore
|
|
@@ -4764,33 +4945,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4764
4945
|
_loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
|
|
4765
4946
|
|
|
4766
4947
|
// Only send restore event when it was disconnected before and for connected later
|
|
4767
|
-
if (!
|
|
4948
|
+
if (!_this25.hasWebsocketConnected) {
|
|
4768
4949
|
// @ts-ignore
|
|
4769
|
-
|
|
4950
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4770
4951
|
name: 'client.mercury.connection.restored',
|
|
4771
4952
|
options: {
|
|
4772
|
-
meetingId:
|
|
4953
|
+
meetingId: _this25.id
|
|
4773
4954
|
}
|
|
4774
4955
|
});
|
|
4775
4956
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
|
4776
|
-
correlation_id:
|
|
4957
|
+
correlation_id: _this25.correlationId
|
|
4777
4958
|
});
|
|
4778
4959
|
}
|
|
4779
|
-
|
|
4960
|
+
_this25.hasWebsocketConnected = true;
|
|
4780
4961
|
});
|
|
4781
4962
|
|
|
4782
4963
|
// @ts-ignore
|
|
4783
4964
|
this.webex.internal.mercury.on(_constants.OFFLINE, function () {
|
|
4784
4965
|
_loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
|
|
4785
4966
|
// @ts-ignore
|
|
4786
|
-
|
|
4967
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4787
4968
|
name: 'client.mercury.connection.lost',
|
|
4788
4969
|
options: {
|
|
4789
|
-
meetingId:
|
|
4970
|
+
meetingId: _this25.id
|
|
4790
4971
|
}
|
|
4791
4972
|
});
|
|
4792
4973
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
|
4793
|
-
correlation_id:
|
|
4974
|
+
correlation_id: _this25.correlationId
|
|
4794
4975
|
});
|
|
4795
4976
|
});
|
|
4796
4977
|
}
|
|
@@ -4892,7 +5073,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4892
5073
|
}, {
|
|
4893
5074
|
key: "muteAudio",
|
|
4894
5075
|
value: function muteAudio() {
|
|
4895
|
-
var
|
|
5076
|
+
var _this26 = this;
|
|
4896
5077
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4897
5078
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4898
5079
|
}
|
|
@@ -4908,22 +5089,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4908
5089
|
|
|
4909
5090
|
// First, stop sending the local audio media
|
|
4910
5091
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
4911
|
-
_util2.default.handleAudioLogging(
|
|
5092
|
+
_util2.default.handleAudioLogging(_this26.mediaProperties.audioStream);
|
|
4912
5093
|
// @ts-ignore
|
|
4913
|
-
|
|
5094
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
4914
5095
|
name: 'client.muted',
|
|
4915
5096
|
payload: {
|
|
4916
5097
|
trigger: 'user-interaction',
|
|
4917
5098
|
mediaType: 'audio'
|
|
4918
5099
|
},
|
|
4919
5100
|
options: {
|
|
4920
|
-
meetingId:
|
|
5101
|
+
meetingId: _this26.id
|
|
4921
5102
|
}
|
|
4922
5103
|
});
|
|
4923
5104
|
}).catch(function (error) {
|
|
4924
5105
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
|
|
4925
|
-
correlation_id:
|
|
4926
|
-
locus_id:
|
|
5106
|
+
correlation_id: _this26.correlationId,
|
|
5107
|
+
locus_id: _this26.locusUrl.split('/').pop(),
|
|
4927
5108
|
reason: error.message,
|
|
4928
5109
|
stack: error.stack
|
|
4929
5110
|
});
|
|
@@ -4942,7 +5123,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4942
5123
|
}, {
|
|
4943
5124
|
key: "unmuteAudio",
|
|
4944
5125
|
value: function unmuteAudio() {
|
|
4945
|
-
var
|
|
5126
|
+
var _this27 = this;
|
|
4946
5127
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4947
5128
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4948
5129
|
}
|
|
@@ -4958,22 +5139,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4958
5139
|
|
|
4959
5140
|
// First, send the control to unmute the participant on the server
|
|
4960
5141
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
4961
|
-
_util2.default.handleAudioLogging(
|
|
5142
|
+
_util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
|
|
4962
5143
|
// @ts-ignore
|
|
4963
|
-
|
|
5144
|
+
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
4964
5145
|
name: 'client.unmuted',
|
|
4965
5146
|
payload: {
|
|
4966
5147
|
trigger: 'user-interaction',
|
|
4967
5148
|
mediaType: 'audio'
|
|
4968
5149
|
},
|
|
4969
5150
|
options: {
|
|
4970
|
-
meetingId:
|
|
5151
|
+
meetingId: _this27.id
|
|
4971
5152
|
}
|
|
4972
5153
|
});
|
|
4973
5154
|
}).catch(function (error) {
|
|
4974
5155
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
|
|
4975
|
-
correlation_id:
|
|
4976
|
-
locus_id:
|
|
5156
|
+
correlation_id: _this27.correlationId,
|
|
5157
|
+
locus_id: _this27.locusUrl.split('/').pop(),
|
|
4977
5158
|
reason: error.message,
|
|
4978
5159
|
stack: error.stack
|
|
4979
5160
|
});
|
|
@@ -4992,7 +5173,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4992
5173
|
}, {
|
|
4993
5174
|
key: "muteVideo",
|
|
4994
5175
|
value: function muteVideo() {
|
|
4995
|
-
var
|
|
5176
|
+
var _this28 = this;
|
|
4996
5177
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4997
5178
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4998
5179
|
}
|
|
@@ -5006,22 +5187,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5006
5187
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
5007
5188
|
}
|
|
5008
5189
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
5009
|
-
_util2.default.handleVideoLogging(
|
|
5190
|
+
_util2.default.handleVideoLogging(_this28.mediaProperties.videoStream);
|
|
5010
5191
|
// @ts-ignore
|
|
5011
|
-
|
|
5192
|
+
_this28.webex.internal.newMetrics.submitClientEvent({
|
|
5012
5193
|
name: 'client.muted',
|
|
5013
5194
|
payload: {
|
|
5014
5195
|
trigger: 'user-interaction',
|
|
5015
5196
|
mediaType: 'video'
|
|
5016
5197
|
},
|
|
5017
5198
|
options: {
|
|
5018
|
-
meetingId:
|
|
5199
|
+
meetingId: _this28.id
|
|
5019
5200
|
}
|
|
5020
5201
|
});
|
|
5021
5202
|
}).catch(function (error) {
|
|
5022
5203
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
|
|
5023
|
-
correlation_id:
|
|
5024
|
-
locus_id:
|
|
5204
|
+
correlation_id: _this28.correlationId,
|
|
5205
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
5025
5206
|
reason: error.message,
|
|
5026
5207
|
stack: error.stack
|
|
5027
5208
|
});
|
|
@@ -5040,7 +5221,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5040
5221
|
}, {
|
|
5041
5222
|
key: "unmuteVideo",
|
|
5042
5223
|
value: function unmuteVideo() {
|
|
5043
|
-
var
|
|
5224
|
+
var _this29 = this;
|
|
5044
5225
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5045
5226
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5046
5227
|
}
|
|
@@ -5054,22 +5235,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5054
5235
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
5055
5236
|
}
|
|
5056
5237
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
5057
|
-
_util2.default.handleVideoLogging(
|
|
5238
|
+
_util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
|
|
5058
5239
|
// @ts-ignore
|
|
5059
|
-
|
|
5240
|
+
_this29.webex.internal.newMetrics.submitClientEvent({
|
|
5060
5241
|
name: 'client.unmuted',
|
|
5061
5242
|
payload: {
|
|
5062
5243
|
trigger: 'user-interaction',
|
|
5063
5244
|
mediaType: 'video'
|
|
5064
5245
|
},
|
|
5065
5246
|
options: {
|
|
5066
|
-
meetingId:
|
|
5247
|
+
meetingId: _this29.id
|
|
5067
5248
|
}
|
|
5068
5249
|
});
|
|
5069
5250
|
}).catch(function (error) {
|
|
5070
5251
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
|
|
5071
|
-
correlation_id:
|
|
5072
|
-
locus_id:
|
|
5252
|
+
correlation_id: _this29.correlationId,
|
|
5253
|
+
locus_id: _this29.locusUrl.split('/').pop(),
|
|
5073
5254
|
reason: error.message,
|
|
5074
5255
|
stack: error.stack
|
|
5075
5256
|
});
|
|
@@ -5099,7 +5280,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5099
5280
|
key: "joinWithMedia",
|
|
5100
5281
|
value: (function () {
|
|
5101
5282
|
var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
5102
|
-
var
|
|
5283
|
+
var _this30 = this;
|
|
5103
5284
|
var options,
|
|
5104
5285
|
mediaOptions,
|
|
5105
5286
|
_options$joinOptions,
|
|
@@ -5139,34 +5320,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5139
5320
|
_context15.prev = 9;
|
|
5140
5321
|
forceTurnDiscovery = false;
|
|
5141
5322
|
if (joinResponse) {
|
|
5142
|
-
_context15.next =
|
|
5323
|
+
_context15.next = 33;
|
|
5143
5324
|
break;
|
|
5144
5325
|
}
|
|
5145
5326
|
_context15.next = 14;
|
|
5146
|
-
return this.webex.meetings.reachability.getReachabilityResults();
|
|
5147
|
-
case 14:
|
|
5148
|
-
joinOptions.reachability = _context15.sent;
|
|
5149
|
-
_context15.next = 17;
|
|
5150
5327
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
5151
|
-
case
|
|
5328
|
+
case 14:
|
|
5152
5329
|
turnDiscoveryRequest = _context15.sent;
|
|
5153
5330
|
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
5154
5331
|
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
5155
5332
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
|
|
5156
|
-
_context15.next =
|
|
5333
|
+
_context15.next = 20;
|
|
5157
5334
|
return this.join(joinOptions);
|
|
5158
|
-
case
|
|
5335
|
+
case 20:
|
|
5159
5336
|
joinResponse = _context15.sent;
|
|
5160
5337
|
joined = true;
|
|
5161
5338
|
|
|
5162
5339
|
// if we sent out TURN discovery Roap message with join, process the TURN discovery response
|
|
5163
5340
|
if (!joinOptions.roapMessage) {
|
|
5164
|
-
_context15.next =
|
|
5341
|
+
_context15.next = 31;
|
|
5165
5342
|
break;
|
|
5166
5343
|
}
|
|
5167
|
-
_context15.next =
|
|
5344
|
+
_context15.next = 25;
|
|
5168
5345
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
5169
|
-
case
|
|
5346
|
+
case 25:
|
|
5170
5347
|
_yield$this$roap$hand = _context15.sent;
|
|
5171
5348
|
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
5172
5349
|
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
@@ -5175,20 +5352,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5175
5352
|
if (turnServerInfo === undefined) {
|
|
5176
5353
|
this.roap.abortTurnDiscovery();
|
|
5177
5354
|
}
|
|
5178
|
-
case
|
|
5179
|
-
_context15.next =
|
|
5355
|
+
case 31:
|
|
5356
|
+
_context15.next = 35;
|
|
5180
5357
|
break;
|
|
5181
|
-
case
|
|
5358
|
+
case 33:
|
|
5182
5359
|
// This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
|
|
5183
5360
|
// but we need to ensure that it also does a new TURN discovery
|
|
5184
5361
|
forceTurnDiscovery = true;
|
|
5185
5362
|
joined = true;
|
|
5186
|
-
case
|
|
5187
|
-
_context15.next =
|
|
5363
|
+
case 35:
|
|
5364
|
+
_context15.next = 37;
|
|
5188
5365
|
return this.addMediaInternal(function () {
|
|
5189
|
-
return
|
|
5366
|
+
return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5190
5367
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5191
|
-
case
|
|
5368
|
+
case 37:
|
|
5192
5369
|
mediaResponse = _context15.sent;
|
|
5193
5370
|
this.joinWithMediaRetryInfo = {
|
|
5194
5371
|
isRetry: false,
|
|
@@ -5198,30 +5375,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5198
5375
|
join: joinResponse,
|
|
5199
5376
|
media: mediaResponse
|
|
5200
5377
|
});
|
|
5201
|
-
case
|
|
5202
|
-
_context15.prev =
|
|
5378
|
+
case 42:
|
|
5379
|
+
_context15.prev = 42;
|
|
5203
5380
|
_context15.t0 = _context15["catch"](9);
|
|
5204
5381
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _context15.t0);
|
|
5205
5382
|
this.roap.abortTurnDiscovery();
|
|
5206
5383
|
if (!(joined && isRetry)) {
|
|
5207
|
-
_context15.next =
|
|
5384
|
+
_context15.next = 56;
|
|
5208
5385
|
break;
|
|
5209
5386
|
}
|
|
5210
|
-
_context15.prev =
|
|
5211
|
-
_context15.next =
|
|
5387
|
+
_context15.prev = 47;
|
|
5388
|
+
_context15.next = 50;
|
|
5212
5389
|
return this.leave({
|
|
5213
5390
|
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
5214
5391
|
reason: 'joinWithMedia failure'
|
|
5215
5392
|
});
|
|
5216
|
-
case
|
|
5217
|
-
_context15.next =
|
|
5393
|
+
case 50:
|
|
5394
|
+
_context15.next = 56;
|
|
5218
5395
|
break;
|
|
5219
|
-
case
|
|
5220
|
-
_context15.prev =
|
|
5221
|
-
_context15.t1 = _context15["catch"](
|
|
5396
|
+
case 52:
|
|
5397
|
+
_context15.prev = 52;
|
|
5398
|
+
_context15.t1 = _context15["catch"](47);
|
|
5222
5399
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _context15.t1);
|
|
5223
5400
|
leaveError = _context15.t1;
|
|
5224
|
-
case
|
|
5401
|
+
case 56:
|
|
5225
5402
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
5226
5403
|
correlation_id: this.correlationId,
|
|
5227
5404
|
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
@@ -5242,24 +5419,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5242
5419
|
shouldRetry = false;
|
|
5243
5420
|
}
|
|
5244
5421
|
if (!shouldRetry) {
|
|
5245
|
-
_context15.next =
|
|
5422
|
+
_context15.next = 64;
|
|
5246
5423
|
break;
|
|
5247
5424
|
}
|
|
5248
5425
|
_loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
|
|
5249
5426
|
this.joinWithMediaRetryInfo.isRetry = true;
|
|
5250
5427
|
this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
|
|
5251
5428
|
return _context15.abrupt("return", this.joinWithMedia(options));
|
|
5252
|
-
case
|
|
5429
|
+
case 64:
|
|
5253
5430
|
this.joinWithMediaRetryInfo = {
|
|
5254
5431
|
isRetry: false,
|
|
5255
5432
|
prevJoinResponse: undefined
|
|
5256
5433
|
};
|
|
5257
5434
|
throw _context15.t0;
|
|
5258
|
-
case
|
|
5435
|
+
case 66:
|
|
5259
5436
|
case "end":
|
|
5260
5437
|
return _context15.stop();
|
|
5261
5438
|
}
|
|
5262
|
-
}, _callee15, this, [[9,
|
|
5439
|
+
}, _callee15, this, [[9, 42], [47, 52]]);
|
|
5263
5440
|
}));
|
|
5264
5441
|
function joinWithMedia() {
|
|
5265
5442
|
return _joinWithMedia.apply(this, arguments);
|
|
@@ -5278,7 +5455,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5278
5455
|
}, {
|
|
5279
5456
|
key: "reconnect",
|
|
5280
5457
|
value: function reconnect(options) {
|
|
5281
|
-
var
|
|
5458
|
+
var _this31 = this;
|
|
5282
5459
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
5283
5460
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
5284
5461
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
@@ -5288,15 +5465,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5288
5465
|
if (!_util2.default.isMediaEstablished(this.currentMediaStatus)) {
|
|
5289
5466
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
5290
5467
|
}
|
|
5468
|
+
this.cleanUpBeforeReconnection();
|
|
5291
5469
|
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
5292
5470
|
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
5293
5471
|
while (1) switch (_context16.prev = _context16.next) {
|
|
5294
5472
|
case 0:
|
|
5295
5473
|
_context16.next = 2;
|
|
5296
|
-
return
|
|
5474
|
+
return _this31.waitForRemoteSDPAnswer();
|
|
5297
5475
|
case 2:
|
|
5298
5476
|
_context16.next = 4;
|
|
5299
|
-
return
|
|
5477
|
+
return _this31.waitForMediaConnectionConnected();
|
|
5300
5478
|
case 4:
|
|
5301
5479
|
case "end":
|
|
5302
5480
|
return _context16.stop();
|
|
@@ -5310,7 +5488,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5310
5488
|
return _promise.default.resolve();
|
|
5311
5489
|
}
|
|
5312
5490
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
5313
|
-
|
|
5491
|
+
_this31.uploadLogs({
|
|
5314
5492
|
file: 'meeting/index',
|
|
5315
5493
|
function: 'reconnect'
|
|
5316
5494
|
});
|
|
@@ -5357,19 +5535,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5357
5535
|
}, {
|
|
5358
5536
|
key: "setCaptionLanguage",
|
|
5359
5537
|
value: function setCaptionLanguage(language) {
|
|
5360
|
-
var
|
|
5538
|
+
var _this32 = this;
|
|
5361
5539
|
return new _promise.default(function (resolve, reject) {
|
|
5362
|
-
if (!
|
|
5540
|
+
if (!_this32.isTranscriptionSupported()) {
|
|
5363
5541
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5364
5542
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5365
5543
|
}
|
|
5366
5544
|
try {
|
|
5367
5545
|
var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
|
|
5368
5546
|
// @ts-ignore
|
|
5369
|
-
|
|
5547
|
+
_this32.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5370
5548
|
var statusCode = payload.statusCode;
|
|
5371
5549
|
if (statusCode === 200) {
|
|
5372
|
-
|
|
5550
|
+
_this32.transcription.languageOptions = _objectSpread(_objectSpread({}, _this32.transcription.languageOptions), {}, {
|
|
5373
5551
|
currentCaptionLanguage: language
|
|
5374
5552
|
});
|
|
5375
5553
|
resolve(language);
|
|
@@ -5378,9 +5556,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5378
5556
|
}
|
|
5379
5557
|
};
|
|
5380
5558
|
// @ts-ignore
|
|
5381
|
-
|
|
5559
|
+
_this32.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5382
5560
|
// @ts-ignore
|
|
5383
|
-
|
|
5561
|
+
_this32.webex.internal.voicea.requestLanguage(language);
|
|
5384
5562
|
} catch (error) {
|
|
5385
5563
|
_loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
|
|
5386
5564
|
reject(error);
|
|
@@ -5396,23 +5574,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5396
5574
|
}, {
|
|
5397
5575
|
key: "setSpokenLanguage",
|
|
5398
5576
|
value: function setSpokenLanguage(language) {
|
|
5399
|
-
var
|
|
5577
|
+
var _this33 = this;
|
|
5400
5578
|
return new _promise.default(function (resolve, reject) {
|
|
5401
|
-
if (!
|
|
5579
|
+
if (!_this33.isTranscriptionSupported()) {
|
|
5402
5580
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5403
5581
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5404
5582
|
}
|
|
5405
|
-
if (
|
|
5583
|
+
if (_this33.getCurUserType() !== 'host') {
|
|
5406
5584
|
_loggerProxy.default.logger.error('Meeting:index#setSpokenLanguage --> Only host can set spoken language');
|
|
5407
5585
|
reject(new Error('Only host can set spoken language'));
|
|
5408
5586
|
}
|
|
5409
5587
|
try {
|
|
5410
5588
|
var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
|
|
5411
5589
|
// @ts-ignore
|
|
5412
|
-
|
|
5590
|
+
_this33.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5413
5591
|
var languageCode = payload.languageCode;
|
|
5414
5592
|
if (languageCode) {
|
|
5415
|
-
|
|
5593
|
+
_this33.transcription.languageOptions = _objectSpread(_objectSpread({}, _this33.transcription.languageOptions), {}, {
|
|
5416
5594
|
currentSpokenLanguage: languageCode
|
|
5417
5595
|
});
|
|
5418
5596
|
resolve(languageCode);
|
|
@@ -5422,10 +5600,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5422
5600
|
};
|
|
5423
5601
|
|
|
5424
5602
|
// @ts-ignore
|
|
5425
|
-
|
|
5603
|
+
_this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5426
5604
|
|
|
5427
5605
|
// @ts-ignore
|
|
5428
|
-
|
|
5606
|
+
_this33.webex.internal.voicea.setSpokenLanguage(language);
|
|
5429
5607
|
} catch (error) {
|
|
5430
5608
|
_loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
|
|
5431
5609
|
reject(error);
|
|
@@ -5545,7 +5723,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5545
5723
|
*/
|
|
5546
5724
|
function () {
|
|
5547
5725
|
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
5548
|
-
var
|
|
5726
|
+
var _this34 = this;
|
|
5549
5727
|
var options,
|
|
5550
5728
|
errorMessage,
|
|
5551
5729
|
error,
|
|
@@ -5597,18 +5775,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5597
5775
|
this.meetingFiniteStateMachine.reset();
|
|
5598
5776
|
}
|
|
5599
5777
|
|
|
5600
|
-
//
|
|
5601
|
-
|
|
5602
|
-
|
|
5603
|
-
|
|
5604
|
-
|
|
5605
|
-
|
|
5606
|
-
|
|
5607
|
-
|
|
5608
|
-
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
|
|
5778
|
+
// send client.call.initiated unless told not to
|
|
5779
|
+
if (options.sendCallInitiated !== false) {
|
|
5780
|
+
// @ts-ignore
|
|
5781
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
5782
|
+
name: 'client.call.initiated',
|
|
5783
|
+
payload: {
|
|
5784
|
+
trigger: this.callStateForMetrics.joinTrigger || 'user-interaction',
|
|
5785
|
+
isRoapCallEnabled: true,
|
|
5786
|
+
pstnAudioType: options === null || options === void 0 ? void 0 : options.pstnAudioType
|
|
5787
|
+
},
|
|
5788
|
+
options: {
|
|
5789
|
+
meetingId: this.id
|
|
5790
|
+
}
|
|
5791
|
+
});
|
|
5792
|
+
}
|
|
5612
5793
|
_loggerProxy.default.logger.log('Meeting:index#join --> Joining a meeting');
|
|
5613
5794
|
if (this.meetingFiniteStateMachine.state === _constants.MEETING_STATE_MACHINE.STATES.ENDED) {
|
|
5614
5795
|
this.meetingFiniteStateMachine.reset();
|
|
@@ -5691,62 +5872,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5691
5872
|
return _context18.abrupt("return", _promise.default.reject(_context18.t0));
|
|
5692
5873
|
case 51:
|
|
5693
5874
|
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5694
|
-
|
|
5695
|
-
|
|
5875
|
+
_this34.meetingFiniteStateMachine.join();
|
|
5876
|
+
_this34.setupLocusMediaRequest();
|
|
5696
5877
|
|
|
5697
5878
|
// @ts-ignore
|
|
5698
|
-
|
|
5699
|
-
(0, _classPrivateFieldSet2.default)(
|
|
5879
|
+
_this34.webex.internal.device.meetingStarted();
|
|
5880
|
+
(0, _classPrivateFieldSet2.default)(_this34, _isoLocalClientMeetingJoinTime, new Date().toISOString());
|
|
5700
5881
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5701
5882
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5702
|
-
correlation_id:
|
|
5883
|
+
correlation_id: _this34.correlationId
|
|
5703
5884
|
});
|
|
5704
5885
|
joinSuccess(join);
|
|
5705
|
-
|
|
5886
|
+
_this34.deferJoin = undefined;
|
|
5706
5887
|
return join;
|
|
5707
5888
|
}).catch(function (error) {
|
|
5708
|
-
var
|
|
5709
|
-
|
|
5889
|
+
var _this34$meetingInfo, _error$error;
|
|
5890
|
+
_this34.meetingFiniteStateMachine.fail(error);
|
|
5710
5891
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
5711
5892
|
|
|
5712
5893
|
// @ts-ignore
|
|
5713
|
-
|
|
5894
|
+
_this34.webex.internal.newMetrics.submitClientEvent({
|
|
5714
5895
|
name: 'client.locus.join.response',
|
|
5715
5896
|
payload: {
|
|
5716
5897
|
identifiers: {
|
|
5717
|
-
meetingLookupUrl: (
|
|
5898
|
+
meetingLookupUrl: (_this34$meetingInfo = _this34.meetingInfo) === null || _this34$meetingInfo === void 0 ? void 0 : _this34$meetingInfo.meetingLookupUrl
|
|
5718
5899
|
}
|
|
5719
5900
|
},
|
|
5720
5901
|
options: {
|
|
5721
|
-
meetingId:
|
|
5902
|
+
meetingId: _this34.id,
|
|
5722
5903
|
rawError: error
|
|
5723
5904
|
}
|
|
5724
5905
|
});
|
|
5725
5906
|
|
|
5726
5907
|
// TODO: change this to error codes and pre defined dictionary
|
|
5727
5908
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
5728
|
-
correlation_id:
|
|
5909
|
+
correlation_id: _this34.correlationId,
|
|
5729
5910
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
5730
5911
|
stack: error.stack
|
|
5731
5912
|
});
|
|
5732
5913
|
|
|
5733
5914
|
// Upload logs on join Failure
|
|
5734
|
-
_triggerProxy.default.trigger(
|
|
5915
|
+
_triggerProxy.default.trigger(_this34, {
|
|
5735
5916
|
file: 'meeting/index',
|
|
5736
5917
|
function: 'join'
|
|
5737
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5918
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this34);
|
|
5738
5919
|
joinFailed(error);
|
|
5739
|
-
|
|
5920
|
+
_this34.deferJoin = undefined;
|
|
5740
5921
|
return _promise.default.reject(error);
|
|
5741
5922
|
}).then(function (join) {
|
|
5742
5923
|
// @ts-ignore - config coming from registerPlugin
|
|
5743
|
-
if (
|
|
5924
|
+
if (_this34.config.enableAutomaticLLM) {
|
|
5744
5925
|
// @ts-ignore
|
|
5745
|
-
|
|
5746
|
-
|
|
5926
|
+
_this34.webex.internal.llm.on('online', _this34.handleLLMOnline);
|
|
5927
|
+
_this34.updateLLMConnection().catch(function (error) {
|
|
5747
5928
|
_loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
|
|
5748
5929
|
_metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
|
|
5749
|
-
correlation_id:
|
|
5930
|
+
correlation_id: _this34.correlationId,
|
|
5750
5931
|
reason: error === null || error === void 0 ? void 0 : error.message,
|
|
5751
5932
|
stack: error.stack
|
|
5752
5933
|
});
|
|
@@ -5778,7 +5959,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5778
5959
|
key: "updateLLMConnection",
|
|
5779
5960
|
value: (function () {
|
|
5780
5961
|
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5781
|
-
var
|
|
5962
|
+
var _this35 = this;
|
|
5782
5963
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
5783
5964
|
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
5784
5965
|
while (1) switch (_context19.prev = _context19.next) {
|
|
@@ -5814,9 +5995,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5814
5995
|
case 10:
|
|
5815
5996
|
return _context19.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
5816
5997
|
// @ts-ignore - Fix type
|
|
5817
|
-
|
|
5998
|
+
_this35.webex.internal.llm.off('event:relay.event', _this35.processRelayEvent);
|
|
5818
5999
|
// @ts-ignore - Fix type
|
|
5819
|
-
|
|
6000
|
+
_this35.webex.internal.llm.on('event:relay.event', _this35.processRelayEvent);
|
|
5820
6001
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
5821
6002
|
return _promise.default.resolve(registerAndConnectResult);
|
|
5822
6003
|
}));
|
|
@@ -5870,7 +6051,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5870
6051
|
}, {
|
|
5871
6052
|
key: "dialInPstn",
|
|
5872
6053
|
value: function dialInPstn() {
|
|
5873
|
-
var
|
|
6054
|
+
var _this36 = this;
|
|
5874
6055
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
5875
6056
|
|
|
5876
6057
|
var correlationId = this.correlationId,
|
|
@@ -5886,10 +6067,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5886
6067
|
}).catch(function (error) {
|
|
5887
6068
|
var _error$error2;
|
|
5888
6069
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
5889
|
-
correlation_id:
|
|
5890
|
-
dial_in_url:
|
|
6070
|
+
correlation_id: _this36.correlationId,
|
|
6071
|
+
dial_in_url: _this36.dialInUrl,
|
|
5891
6072
|
locus_id: locusUrl.split('/').pop(),
|
|
5892
|
-
client_url:
|
|
6073
|
+
client_url: _this36.deviceUrl,
|
|
5893
6074
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
5894
6075
|
stack: error.stack
|
|
5895
6076
|
});
|
|
@@ -5907,7 +6088,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5907
6088
|
}, {
|
|
5908
6089
|
key: "dialOutPstn",
|
|
5909
6090
|
value: function dialOutPstn(phoneNumber) {
|
|
5910
|
-
var
|
|
6091
|
+
var _this37 = this;
|
|
5911
6092
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
5912
6093
|
|
|
5913
6094
|
var correlationId = this.correlationId,
|
|
@@ -5924,10 +6105,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5924
6105
|
}).catch(function (error) {
|
|
5925
6106
|
var _error$error3;
|
|
5926
6107
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
5927
|
-
correlation_id:
|
|
5928
|
-
dial_out_url:
|
|
6108
|
+
correlation_id: _this37.correlationId,
|
|
6109
|
+
dial_out_url: _this37.dialOutUrl,
|
|
5929
6110
|
locus_id: locusUrl.split('/').pop(),
|
|
5930
|
-
client_url:
|
|
6111
|
+
client_url: _this37.deviceUrl,
|
|
5931
6112
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
5932
6113
|
stack: error.stack
|
|
5933
6114
|
});
|
|
@@ -5958,7 +6139,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5958
6139
|
}, {
|
|
5959
6140
|
key: "moveTo",
|
|
5960
6141
|
value: function moveTo(resourceId) {
|
|
5961
|
-
var
|
|
6142
|
+
var _this38 = this;
|
|
5962
6143
|
if (!resourceId) {
|
|
5963
6144
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
5964
6145
|
}
|
|
@@ -6002,12 +6183,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6002
6183
|
while (1) switch (_context20.prev = _context20.next) {
|
|
6003
6184
|
case 0:
|
|
6004
6185
|
_context20.prev = 0;
|
|
6005
|
-
if (!(
|
|
6186
|
+
if (!(_this38.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
6006
6187
|
_context20.next = 4;
|
|
6007
6188
|
break;
|
|
6008
6189
|
}
|
|
6009
6190
|
_context20.next = 4;
|
|
6010
|
-
return
|
|
6191
|
+
return _this38.releaseScreenShareFloor();
|
|
6011
6192
|
case 4:
|
|
6012
6193
|
mediaSettings = {
|
|
6013
6194
|
mediaDirection: {
|
|
@@ -6019,37 +6200,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6019
6200
|
receiveShare: true
|
|
6020
6201
|
}
|
|
6021
6202
|
};
|
|
6022
|
-
|
|
6023
|
-
|
|
6203
|
+
_this38.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
6204
|
+
_this38.mediaProperties.unsetRemoteMedia();
|
|
6024
6205
|
|
|
6025
6206
|
// when a move to is intiated by the client , Locus delets the existing media node from the server as soon the device answers the meeting
|
|
6026
6207
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6027
|
-
if (!
|
|
6208
|
+
if (!_this38.statsAnalyzer) {
|
|
6028
6209
|
_context20.next = 10;
|
|
6029
6210
|
break;
|
|
6030
6211
|
}
|
|
6031
6212
|
_context20.next = 10;
|
|
6032
|
-
return
|
|
6213
|
+
return _this38.statsAnalyzer.stopAnalyzer();
|
|
6033
6214
|
case 10:
|
|
6034
6215
|
_context20.next = 12;
|
|
6035
|
-
return
|
|
6216
|
+
return _this38.closeRemoteStreams();
|
|
6036
6217
|
case 12:
|
|
6037
6218
|
_context20.next = 14;
|
|
6038
|
-
return
|
|
6219
|
+
return _this38.closePeerConnections();
|
|
6039
6220
|
case 14:
|
|
6040
|
-
|
|
6041
|
-
|
|
6042
|
-
|
|
6043
|
-
|
|
6221
|
+
_this38.cleanupLocalStreams();
|
|
6222
|
+
_this38.unsetRemoteStreams();
|
|
6223
|
+
_this38.unsetPeerConnections();
|
|
6224
|
+
_this38.reconnectionManager.cleanUp();
|
|
6044
6225
|
_context20.next = 20;
|
|
6045
|
-
return
|
|
6226
|
+
return _this38.addMedia({
|
|
6046
6227
|
audioEnabled: false,
|
|
6047
6228
|
videoEnabled: false,
|
|
6048
6229
|
shareVideoEnabled: true
|
|
6049
6230
|
});
|
|
6050
6231
|
case 20:
|
|
6051
6232
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6052
|
-
|
|
6233
|
+
_this38.isMoveToInProgress = false;
|
|
6053
6234
|
_context20.next = 29;
|
|
6054
6235
|
break;
|
|
6055
6236
|
case 24:
|
|
@@ -6057,12 +6238,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6057
6238
|
_context20.t0 = _context20["catch"](0);
|
|
6058
6239
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context20.t0);
|
|
6059
6240
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6060
|
-
correlation_id:
|
|
6061
|
-
locus_id:
|
|
6241
|
+
correlation_id: _this38.correlationId,
|
|
6242
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6062
6243
|
reason: _context20.t0.message,
|
|
6063
6244
|
stack: _context20.t0.stack
|
|
6064
6245
|
});
|
|
6065
|
-
|
|
6246
|
+
_this38.isMoveToInProgress = false;
|
|
6066
6247
|
case 29:
|
|
6067
6248
|
case "end":
|
|
6068
6249
|
return _context20.stop();
|
|
@@ -6078,17 +6259,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6078
6259
|
resourceId: resourceId,
|
|
6079
6260
|
moveToResource: true
|
|
6080
6261
|
}).then(function () {
|
|
6081
|
-
|
|
6262
|
+
_this38.meetingFiniteStateMachine.join();
|
|
6082
6263
|
}).catch(function (error) {
|
|
6083
|
-
|
|
6264
|
+
_this38.meetingFiniteStateMachine.fail(error);
|
|
6084
6265
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6085
|
-
correlation_id:
|
|
6086
|
-
locus_id:
|
|
6266
|
+
correlation_id: _this38.correlationId,
|
|
6267
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6087
6268
|
reason: error.message,
|
|
6088
6269
|
stack: error.stack
|
|
6089
6270
|
});
|
|
6090
6271
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
|
|
6091
|
-
|
|
6272
|
+
_this38.isMoveToInProgress = false;
|
|
6092
6273
|
return _promise.default.reject(error);
|
|
6093
6274
|
});
|
|
6094
6275
|
}
|
|
@@ -6103,7 +6284,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6103
6284
|
}, {
|
|
6104
6285
|
key: "moveFrom",
|
|
6105
6286
|
value: function moveFrom(resourceId) {
|
|
6106
|
-
var
|
|
6287
|
+
var _this39 = this;
|
|
6107
6288
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
6108
6289
|
if (!resourceId) {
|
|
6109
6290
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -6118,19 +6299,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6118
6299
|
}
|
|
6119
6300
|
});
|
|
6120
6301
|
return _util2.default.joinMeetingOptions(this).then(function () {
|
|
6121
|
-
return _util2.default.leaveMeeting(
|
|
6302
|
+
return _util2.default.leaveMeeting(_this39, {
|
|
6122
6303
|
resourceId: resourceId,
|
|
6123
6304
|
correlationId: oldCorrelationId,
|
|
6124
6305
|
moveMeeting: true
|
|
6125
6306
|
}).then(function () {
|
|
6126
|
-
|
|
6307
|
+
_this39.resourceId = '';
|
|
6127
6308
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
6128
6309
|
});
|
|
6129
6310
|
}).catch(function (error) {
|
|
6130
|
-
|
|
6311
|
+
_this39.meetingFiniteStateMachine.fail(error);
|
|
6131
6312
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
6132
|
-
correlation_id:
|
|
6133
|
-
locus_id:
|
|
6313
|
+
correlation_id: _this39.correlationId,
|
|
6314
|
+
locus_id: _this39.locusUrl.split('/').pop(),
|
|
6134
6315
|
reason: error.message,
|
|
6135
6316
|
stack: error.stack
|
|
6136
6317
|
});
|
|
@@ -6243,9 +6424,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6243
6424
|
}, {
|
|
6244
6425
|
key: "forwardEvent",
|
|
6245
6426
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
6246
|
-
var
|
|
6427
|
+
var _this40 = this;
|
|
6247
6428
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
6248
|
-
return _triggerProxy.default.trigger(
|
|
6429
|
+
return _triggerProxy.default.trigger(_this40, {
|
|
6249
6430
|
file: 'meetings',
|
|
6250
6431
|
function: 'addMedia'
|
|
6251
6432
|
}, meetingEventType, data);
|
|
@@ -6432,7 +6613,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6432
6613
|
*/
|
|
6433
6614
|
function () {
|
|
6434
6615
|
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
6435
|
-
var
|
|
6616
|
+
var _this41 = this;
|
|
6436
6617
|
var LOG_HEADER, deferSDPAnswer;
|
|
6437
6618
|
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6438
6619
|
while (1) switch (_context24.prev = _context24.next) {
|
|
@@ -6449,18 +6630,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6449
6630
|
this.sdpResponseTimer = setTimeout(function () {
|
|
6450
6631
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
|
|
6451
6632
|
// @ts-ignore
|
|
6452
|
-
|
|
6633
|
+
_this41.webex.internal.newMetrics.submitClientEvent({
|
|
6453
6634
|
name: 'client.media-engine.remote-sdp-received',
|
|
6454
6635
|
payload: {
|
|
6455
6636
|
canProceed: false,
|
|
6456
6637
|
errors: [
|
|
6457
6638
|
// @ts-ignore
|
|
6458
|
-
|
|
6639
|
+
_this41.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
6459
6640
|
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
|
|
6460
6641
|
})]
|
|
6461
6642
|
},
|
|
6462
6643
|
options: {
|
|
6463
|
-
meetingId:
|
|
6644
|
+
meetingId: _this41.id,
|
|
6464
6645
|
rawError: new Error('Timeout waiting for SDP answer')
|
|
6465
6646
|
}
|
|
6466
6647
|
});
|
|
@@ -6846,6 +7027,43 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6846
7027
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
6847
7028
|
}
|
|
6848
7029
|
return cleanUpBeforeRetryWithTurnServer;
|
|
7030
|
+
}())
|
|
7031
|
+
}, {
|
|
7032
|
+
key: "cleanUpBeforeReconnection",
|
|
7033
|
+
value: function () {
|
|
7034
|
+
var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32() {
|
|
7035
|
+
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
7036
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
7037
|
+
case 0:
|
|
7038
|
+
_context32.prev = 0;
|
|
7039
|
+
_context32.next = 3;
|
|
7040
|
+
return this.forceSendStatsReport({
|
|
7041
|
+
callFrom: 'cleanUpBeforeReconnection'
|
|
7042
|
+
});
|
|
7043
|
+
case 3:
|
|
7044
|
+
if (!this.statsAnalyzer) {
|
|
7045
|
+
_context32.next = 6;
|
|
7046
|
+
break;
|
|
7047
|
+
}
|
|
7048
|
+
_context32.next = 6;
|
|
7049
|
+
return this.statsAnalyzer.stopAnalyzer();
|
|
7050
|
+
case 6:
|
|
7051
|
+
_context32.next = 11;
|
|
7052
|
+
break;
|
|
7053
|
+
case 8:
|
|
7054
|
+
_context32.prev = 8;
|
|
7055
|
+
_context32.t0 = _context32["catch"](0);
|
|
7056
|
+
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _context32.t0);
|
|
7057
|
+
case 11:
|
|
7058
|
+
case "end":
|
|
7059
|
+
return _context32.stop();
|
|
7060
|
+
}
|
|
7061
|
+
}, _callee32, this, [[0, 8]]);
|
|
7062
|
+
}));
|
|
7063
|
+
function cleanUpBeforeReconnection() {
|
|
7064
|
+
return _cleanUpBeforeReconnection.apply(this, arguments);
|
|
7065
|
+
}
|
|
7066
|
+
return cleanUpBeforeReconnection;
|
|
6849
7067
|
}()
|
|
6850
7068
|
/**
|
|
6851
7069
|
* Creates an instance of LocusMediaRequest for this meeting - it is needed for doing any calls
|
|
@@ -6853,7 +7071,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6853
7071
|
*
|
|
6854
7072
|
* @returns {void}
|
|
6855
7073
|
*/
|
|
6856
|
-
)
|
|
6857
7074
|
}, {
|
|
6858
7075
|
key: "setupLocusMediaRequest",
|
|
6859
7076
|
value: function setupLocusMediaRequest() {
|
|
@@ -6888,10 +7105,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6888
7105
|
}, {
|
|
6889
7106
|
key: "addMedia",
|
|
6890
7107
|
value: function addMedia() {
|
|
6891
|
-
var
|
|
7108
|
+
var _this42 = this;
|
|
6892
7109
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6893
7110
|
return this.addMediaInternal(function () {
|
|
6894
|
-
return
|
|
7111
|
+
return _this42.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
6895
7112
|
}, undefined, false, options);
|
|
6896
7113
|
}
|
|
6897
7114
|
|
|
@@ -6909,7 +7126,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6909
7126
|
}, {
|
|
6910
7127
|
key: "addMediaInternal",
|
|
6911
7128
|
value: (function () {
|
|
6912
|
-
var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7129
|
+
var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee33(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
|
|
6913
7130
|
var options,
|
|
6914
7131
|
LOG_HEADER,
|
|
6915
7132
|
localStreams,
|
|
@@ -6922,6 +7139,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6922
7139
|
_options$shareVideoEn,
|
|
6923
7140
|
shareVideoEnabled,
|
|
6924
7141
|
remoteMediaManagerConfig,
|
|
7142
|
+
_options$bundlePolicy,
|
|
6925
7143
|
bundlePolicy,
|
|
6926
7144
|
_this$remoteMediaMana,
|
|
6927
7145
|
_yield$this$mediaProp,
|
|
@@ -6956,35 +7174,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6956
7174
|
_selectedCandidatePairChanges,
|
|
6957
7175
|
_numTransports,
|
|
6958
7176
|
_iceCandidateErrors,
|
|
6959
|
-
|
|
6960
|
-
return _regenerator.default.wrap(function
|
|
6961
|
-
while (1) switch (
|
|
7177
|
+
_args33 = arguments;
|
|
7178
|
+
return _regenerator.default.wrap(function _callee33$(_context33) {
|
|
7179
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
6962
7180
|
case 0:
|
|
6963
|
-
options =
|
|
7181
|
+
options = _args33.length > 3 && _args33[3] !== undefined ? _args33[3] : {};
|
|
6964
7182
|
this.addMediaData.retriedWithTurnServer = false;
|
|
6965
7183
|
this.addMediaData.icePhaseCallback = icePhaseCallback;
|
|
6966
7184
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
6967
7185
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
6968
7186
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: options=").concat((0, _stringify.default)(options), ", turnServerInfo=").concat((0, _stringify.default)(turnServerInfo), ", forceTurnDiscovery=").concat(forceTurnDiscovery));
|
|
6969
7187
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
6970
|
-
|
|
7188
|
+
_context33.next = 8;
|
|
6971
7189
|
break;
|
|
6972
7190
|
}
|
|
6973
7191
|
throw new _webexErrors.MeetingNotActiveError();
|
|
6974
7192
|
case 8:
|
|
6975
7193
|
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
6976
|
-
|
|
7194
|
+
_context33.next = 10;
|
|
6977
7195
|
break;
|
|
6978
7196
|
}
|
|
6979
7197
|
throw new _webexErrors.UserNotJoinedError();
|
|
6980
7198
|
case 10:
|
|
6981
|
-
localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, bundlePolicy = options.bundlePolicy;
|
|
7199
|
+
localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, _options$bundlePolicy = options.bundlePolicy, bundlePolicy = _options$bundlePolicy === void 0 ? 'max-bundle' : _options$bundlePolicy;
|
|
6982
7200
|
this.allowMediaInLobby = options === null || options === void 0 ? void 0 : options.allowMediaInLobby;
|
|
6983
7201
|
|
|
6984
7202
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
6985
7203
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
6986
7204
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
6987
|
-
|
|
7205
|
+
_context33.next = 14;
|
|
6988
7206
|
break;
|
|
6989
7207
|
}
|
|
6990
7208
|
throw new _webexErrors.UserInLobbyError();
|
|
@@ -7027,45 +7245,45 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7027
7245
|
});
|
|
7028
7246
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
7029
7247
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
7030
|
-
|
|
7031
|
-
|
|
7248
|
+
_context33.prev = 18;
|
|
7249
|
+
_context33.next = 21;
|
|
7032
7250
|
return this.setUpLocalStreamReferences(localStreams);
|
|
7033
7251
|
case 21:
|
|
7034
7252
|
this.setMercuryListener();
|
|
7035
7253
|
this.createStatsAnalyzer();
|
|
7036
|
-
|
|
7254
|
+
_context33.next = 25;
|
|
7037
7255
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7038
7256
|
case 25:
|
|
7039
7257
|
if (!(audioEnabled || videoEnabled)) {
|
|
7040
|
-
|
|
7258
|
+
_context33.next = 30;
|
|
7041
7259
|
break;
|
|
7042
7260
|
}
|
|
7043
|
-
|
|
7261
|
+
_context33.next = 28;
|
|
7044
7262
|
return Meeting.handleDeviceLogging(audioEnabled, videoEnabled);
|
|
7045
7263
|
case 28:
|
|
7046
|
-
|
|
7264
|
+
_context33.next = 31;
|
|
7047
7265
|
break;
|
|
7048
7266
|
case 30:
|
|
7049
7267
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " device logging not required"));
|
|
7050
7268
|
case 31:
|
|
7051
7269
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
7052
|
-
|
|
7270
|
+
_context33.next = 34;
|
|
7053
7271
|
break;
|
|
7054
7272
|
}
|
|
7055
|
-
|
|
7273
|
+
_context33.next = 34;
|
|
7056
7274
|
return this.enqueueScreenShareFloorRequest();
|
|
7057
7275
|
case 34:
|
|
7058
|
-
|
|
7276
|
+
_context33.next = 36;
|
|
7059
7277
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7060
7278
|
case 36:
|
|
7061
|
-
_yield$this$mediaProp =
|
|
7279
|
+
_yield$this$mediaProp = _context33.sent;
|
|
7062
7280
|
connectionType = _yield$this$mediaProp.connectionType;
|
|
7063
7281
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
7064
7282
|
numTransports = _yield$this$mediaProp.numTransports;
|
|
7065
|
-
|
|
7283
|
+
_context33.next = 42;
|
|
7066
7284
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7067
7285
|
case 42:
|
|
7068
|
-
reachabilityStats =
|
|
7286
|
+
reachabilityStats = _context33.sent;
|
|
7069
7287
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7070
7288
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
7071
7289
|
correlation_id: this.correlationId,
|
|
@@ -7090,31 +7308,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7090
7308
|
|
|
7091
7309
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
7092
7310
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
7093
|
-
|
|
7311
|
+
this.startPeriodicLogUpload();
|
|
7312
|
+
_context33.next = 69;
|
|
7094
7313
|
break;
|
|
7095
|
-
case
|
|
7096
|
-
|
|
7097
|
-
|
|
7098
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
7314
|
+
case 51:
|
|
7315
|
+
_context33.prev = 51;
|
|
7316
|
+
_context33.t0 = _context33["catch"](18);
|
|
7317
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context33.t0);
|
|
7099
7318
|
|
|
7100
7319
|
// @ts-ignore
|
|
7101
|
-
|
|
7320
|
+
_context33.next = 56;
|
|
7102
7321
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7103
|
-
case
|
|
7104
|
-
reachabilityMetrics =
|
|
7105
|
-
|
|
7322
|
+
case 56:
|
|
7323
|
+
reachabilityMetrics = _context33.sent;
|
|
7324
|
+
_context33.next = 59;
|
|
7106
7325
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7107
|
-
case
|
|
7108
|
-
_yield$this$mediaProp2 =
|
|
7326
|
+
case 59:
|
|
7327
|
+
_yield$this$mediaProp2 = _context33.sent;
|
|
7109
7328
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7110
7329
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
7111
7330
|
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7112
7331
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
7113
7332
|
correlation_id: this.correlationId,
|
|
7114
7333
|
locus_id: this.locusUrl.split('/').pop(),
|
|
7115
|
-
reason:
|
|
7116
|
-
stack:
|
|
7117
|
-
code:
|
|
7334
|
+
reason: _context33.t0.message,
|
|
7335
|
+
stack: _context33.t0.stack,
|
|
7336
|
+
code: _context33.t0.code,
|
|
7118
7337
|
selectedCandidatePairChanges: _selectedCandidatePairChanges,
|
|
7119
7338
|
numTransports: _numTransports,
|
|
7120
7339
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
@@ -7128,29 +7347,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7128
7347
|
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7129
7348
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7130
7349
|
}));
|
|
7131
|
-
|
|
7350
|
+
_context33.next = 66;
|
|
7132
7351
|
return this.cleanUpOnAddMediaFailure();
|
|
7133
|
-
case
|
|
7352
|
+
case 66:
|
|
7134
7353
|
// Upload logs on error while adding media
|
|
7135
7354
|
_triggerProxy.default.trigger(this, {
|
|
7136
7355
|
file: 'meeting/index',
|
|
7137
7356
|
function: 'addMedia'
|
|
7138
7357
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
7139
|
-
if (
|
|
7358
|
+
if (_context33.t0 instanceof _internalMediaCore.Errors.SdpError) {
|
|
7140
7359
|
this.leave({
|
|
7141
7360
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
7142
7361
|
});
|
|
7143
7362
|
}
|
|
7144
|
-
throw
|
|
7145
|
-
case
|
|
7146
|
-
|
|
7363
|
+
throw _context33.t0;
|
|
7364
|
+
case 69:
|
|
7365
|
+
_context33.prev = 69;
|
|
7147
7366
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7148
|
-
return
|
|
7149
|
-
case
|
|
7367
|
+
return _context33.finish(69);
|
|
7368
|
+
case 72:
|
|
7150
7369
|
case "end":
|
|
7151
|
-
return
|
|
7370
|
+
return _context33.stop();
|
|
7152
7371
|
}
|
|
7153
|
-
},
|
|
7372
|
+
}, _callee33, this, [[18, 51, 69, 72]]);
|
|
7154
7373
|
}));
|
|
7155
7374
|
function addMediaInternal(_x32, _x33, _x34) {
|
|
7156
7375
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -7182,7 +7401,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7182
7401
|
* @memberof Meeting
|
|
7183
7402
|
*/
|
|
7184
7403
|
function enqueueMediaUpdate(mediaUpdateType) {
|
|
7185
|
-
var
|
|
7404
|
+
var _this43 = this;
|
|
7186
7405
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7187
7406
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
7188
7407
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -7193,9 +7412,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7193
7412
|
options: options
|
|
7194
7413
|
};
|
|
7195
7414
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
7196
|
-
|
|
7415
|
+
_this43.queuedMediaUpdates.push(queueItem);
|
|
7197
7416
|
if (canUpdateMediaNow) {
|
|
7198
|
-
|
|
7417
|
+
_this43.processNextQueuedMediaUpdate();
|
|
7199
7418
|
}
|
|
7200
7419
|
});
|
|
7201
7420
|
}
|
|
@@ -7218,35 +7437,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7218
7437
|
* @memberof Meeting
|
|
7219
7438
|
*/
|
|
7220
7439
|
function () {
|
|
7221
|
-
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7440
|
+
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee34(options) {
|
|
7222
7441
|
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
|
|
7223
|
-
return _regenerator.default.wrap(function
|
|
7224
|
-
while (1) switch (
|
|
7442
|
+
return _regenerator.default.wrap(function _callee34$(_context34) {
|
|
7443
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7225
7444
|
case 0:
|
|
7226
7445
|
this.checkMediaConnection();
|
|
7227
7446
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
7228
7447
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
7229
7448
|
if (this.canUpdateMedia()) {
|
|
7230
|
-
|
|
7449
|
+
_context34.next = 5;
|
|
7231
7450
|
break;
|
|
7232
7451
|
}
|
|
7233
|
-
return
|
|
7452
|
+
return _context34.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
7234
7453
|
case 5:
|
|
7235
7454
|
if (!this.isMultistream) {
|
|
7236
|
-
|
|
7455
|
+
_context34.next = 10;
|
|
7237
7456
|
break;
|
|
7238
7457
|
}
|
|
7239
7458
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
7240
|
-
|
|
7459
|
+
_context34.next = 8;
|
|
7241
7460
|
break;
|
|
7242
7461
|
}
|
|
7243
7462
|
throw new Error('toggling shareAudioEnabled or shareVideoEnabled in a multistream meeting is not supported, to control receiving screen share call meeting.remoteMediaManager.setLayout() with appropriate layout');
|
|
7244
7463
|
case 8:
|
|
7245
|
-
|
|
7464
|
+
_context34.next = 12;
|
|
7246
7465
|
break;
|
|
7247
7466
|
case 10:
|
|
7248
7467
|
if (!(shareAudioEnabled !== undefined)) {
|
|
7249
|
-
|
|
7468
|
+
_context34.next = 12;
|
|
7250
7469
|
break;
|
|
7251
7470
|
}
|
|
7252
7471
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -7271,18 +7490,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7271
7490
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
7272
7491
|
}
|
|
7273
7492
|
if (this.isMultistream) {
|
|
7274
|
-
|
|
7493
|
+
_context34.next = 18;
|
|
7275
7494
|
break;
|
|
7276
7495
|
}
|
|
7277
|
-
|
|
7496
|
+
_context34.next = 18;
|
|
7278
7497
|
return this.updateTranscodedMediaConnection();
|
|
7279
7498
|
case 18:
|
|
7280
|
-
return
|
|
7499
|
+
return _context34.abrupt("return", undefined);
|
|
7281
7500
|
case 19:
|
|
7282
7501
|
case "end":
|
|
7283
|
-
return
|
|
7502
|
+
return _context34.stop();
|
|
7284
7503
|
}
|
|
7285
|
-
},
|
|
7504
|
+
}, _callee34, this);
|
|
7286
7505
|
}));
|
|
7287
7506
|
function updateMedia(_x35) {
|
|
7288
7507
|
return _updateMedia.apply(this, arguments);
|
|
@@ -7300,7 +7519,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7300
7519
|
}, {
|
|
7301
7520
|
key: "acknowledge",
|
|
7302
7521
|
value: function acknowledge(type) {
|
|
7303
|
-
var
|
|
7522
|
+
var _this44 = this;
|
|
7304
7523
|
if (!type) {
|
|
7305
7524
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
7306
7525
|
}
|
|
@@ -7312,12 +7531,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7312
7531
|
}).then(function (response) {
|
|
7313
7532
|
return _promise.default.resolve(response);
|
|
7314
7533
|
}).then(function (response) {
|
|
7315
|
-
|
|
7534
|
+
_this44.meetingFiniteStateMachine.ring(type);
|
|
7316
7535
|
// @ts-ignore
|
|
7317
|
-
|
|
7536
|
+
_this44.webex.internal.newMetrics.submitClientEvent({
|
|
7318
7537
|
name: 'client.alert.displayed',
|
|
7319
7538
|
options: {
|
|
7320
|
-
meetingId:
|
|
7539
|
+
meetingId: _this44.id
|
|
7321
7540
|
}
|
|
7322
7541
|
});
|
|
7323
7542
|
return _promise.default.resolve({
|
|
@@ -7342,12 +7561,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7342
7561
|
}, {
|
|
7343
7562
|
key: "decline",
|
|
7344
7563
|
value: function decline(reason) {
|
|
7345
|
-
var
|
|
7564
|
+
var _this45 = this;
|
|
7346
7565
|
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
7347
|
-
|
|
7566
|
+
_this45.meetingFiniteStateMachine.decline();
|
|
7348
7567
|
return _promise.default.resolve(decline);
|
|
7349
7568
|
}).catch(function (error) {
|
|
7350
|
-
|
|
7569
|
+
_this45.meetingFiniteStateMachine.fail(error);
|
|
7351
7570
|
return _promise.default.reject(error);
|
|
7352
7571
|
});
|
|
7353
7572
|
}
|
|
@@ -7398,7 +7617,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7398
7617
|
}, {
|
|
7399
7618
|
key: "leave",
|
|
7400
7619
|
value: function leave() {
|
|
7401
|
-
var
|
|
7620
|
+
var _this46 = this;
|
|
7402
7621
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7403
7622
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
7404
7623
|
|
|
@@ -7410,7 +7629,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7410
7629
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7411
7630
|
return (
|
|
7412
7631
|
// @ts-ignore
|
|
7413
|
-
|
|
7632
|
+
_this46.webex.internal.newMetrics.submitClientEvent({
|
|
7414
7633
|
name: 'client.call.leave',
|
|
7415
7634
|
payload: _objectSpread({
|
|
7416
7635
|
trigger: 'user-interaction',
|
|
@@ -7418,7 +7637,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7418
7637
|
leaveReason: options.clientEventLeaveReason
|
|
7419
7638
|
}, payload),
|
|
7420
7639
|
options: {
|
|
7421
|
-
meetingId:
|
|
7640
|
+
meetingId: _this46.id
|
|
7422
7641
|
}
|
|
7423
7642
|
})
|
|
7424
7643
|
);
|
|
@@ -7427,24 +7646,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7427
7646
|
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
|
7428
7647
|
// CA team recommends submitting this *after* locus /leave
|
|
7429
7648
|
submitLeaveMetric();
|
|
7430
|
-
|
|
7431
|
-
|
|
7649
|
+
_this46.meetingFiniteStateMachine.leave();
|
|
7650
|
+
_this46.clearMeetingData();
|
|
7432
7651
|
|
|
7433
7652
|
// upload logs on leave irrespective of meeting delete
|
|
7434
|
-
_triggerProxy.default.trigger(
|
|
7653
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7435
7654
|
file: 'meeting/index',
|
|
7436
7655
|
function: 'leave'
|
|
7437
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7656
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7438
7657
|
|
|
7439
7658
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
7440
|
-
if (
|
|
7659
|
+
if (_this46.wirelessShare || _this46.guest) {
|
|
7441
7660
|
// If screen sharing clean the meeting object
|
|
7442
|
-
_triggerProxy.default.trigger(
|
|
7661
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7443
7662
|
file: 'meeting/index',
|
|
7444
7663
|
function: 'leave'
|
|
7445
7664
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
7446
7665
|
reason: options.reason,
|
|
7447
|
-
meetingId:
|
|
7666
|
+
meetingId: _this46.id
|
|
7448
7667
|
});
|
|
7449
7668
|
}
|
|
7450
7669
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
@@ -7461,16 +7680,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7461
7680
|
shownToUser: false
|
|
7462
7681
|
}]
|
|
7463
7682
|
});
|
|
7464
|
-
|
|
7683
|
+
_this46.meetingFiniteStateMachine.fail(error);
|
|
7465
7684
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
7466
7685
|
// upload logs on leave irrespective of meeting delete
|
|
7467
|
-
_triggerProxy.default.trigger(
|
|
7686
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7468
7687
|
file: 'meeting/index',
|
|
7469
7688
|
function: 'leave'
|
|
7470
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7689
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7471
7690
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
7472
|
-
correlation_id:
|
|
7473
|
-
locus_id:
|
|
7691
|
+
correlation_id: _this46.correlationId,
|
|
7692
|
+
locus_id: _this46.locusUrl.split('/').pop(),
|
|
7474
7693
|
reason: error.message,
|
|
7475
7694
|
stack: error.stack,
|
|
7476
7695
|
code: error.code
|
|
@@ -7490,7 +7709,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7490
7709
|
}, {
|
|
7491
7710
|
key: "startWhiteboardShare",
|
|
7492
7711
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
7493
|
-
var
|
|
7712
|
+
var _this47 = this;
|
|
7494
7713
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7495
7714
|
return element.name === 'whiteboard';
|
|
7496
7715
|
});
|
|
@@ -7519,13 +7738,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7519
7738
|
body.resourceToken = resourceToken;
|
|
7520
7739
|
}
|
|
7521
7740
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
7522
|
-
|
|
7741
|
+
_this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7523
7742
|
return _promise.default.resolve();
|
|
7524
7743
|
}).catch(function (error) {
|
|
7525
7744
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
7526
7745
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
7527
|
-
correlation_id:
|
|
7528
|
-
locus_id:
|
|
7746
|
+
correlation_id: _this47.correlationId,
|
|
7747
|
+
locus_id: _this47.locusUrl.split('/').pop(),
|
|
7529
7748
|
reason: error.message,
|
|
7530
7749
|
stack: error.stack,
|
|
7531
7750
|
board: {
|
|
@@ -7548,7 +7767,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7548
7767
|
}, {
|
|
7549
7768
|
key: "stopWhiteboardShare",
|
|
7550
7769
|
value: function stopWhiteboardShare(channelUrl) {
|
|
7551
|
-
var
|
|
7770
|
+
var _this48 = this;
|
|
7552
7771
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7553
7772
|
return element.name === 'whiteboard';
|
|
7554
7773
|
});
|
|
@@ -7571,8 +7790,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7571
7790
|
}).catch(function (error) {
|
|
7572
7791
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
7573
7792
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
7574
|
-
correlation_id:
|
|
7575
|
-
locus_id:
|
|
7793
|
+
correlation_id: _this48.correlationId,
|
|
7794
|
+
locus_id: _this48.locusUrl.split('/').pop(),
|
|
7576
7795
|
reason: error.message,
|
|
7577
7796
|
stack: error.stack,
|
|
7578
7797
|
board: {
|
|
@@ -7594,7 +7813,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7594
7813
|
}, {
|
|
7595
7814
|
key: "requestScreenShareFloor",
|
|
7596
7815
|
value: function requestScreenShareFloor() {
|
|
7597
|
-
var
|
|
7816
|
+
var _this49 = this;
|
|
7598
7817
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
7599
7818
|
_loggerProxy.default.logger.log("Meeting:index#requestScreenShareFloor --> NOT requesting floor, because we don't have the share stream anymore (shareStream=".concat(this.mediaProperties.shareVideoStream ? 'yes' : 'no', ", sendShare=").concat(this.mediaProperties.mediaDirection.sendShare, ")"));
|
|
7600
7819
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -7625,34 +7844,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7625
7844
|
resourceUrl: this.resourceUrl,
|
|
7626
7845
|
shareInstanceId: this.localShareInstanceId
|
|
7627
7846
|
}).then(function () {
|
|
7628
|
-
|
|
7847
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
7629
7848
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
7630
|
-
correlation_id:
|
|
7631
|
-
locus_id:
|
|
7849
|
+
correlation_id: _this49.correlationId,
|
|
7850
|
+
locus_id: _this49.locusUrl.split('/').pop()
|
|
7632
7851
|
});
|
|
7633
7852
|
return _promise.default.resolve();
|
|
7634
7853
|
}).catch(function (error) {
|
|
7635
7854
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
7636
7855
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
7637
|
-
correlation_id:
|
|
7638
|
-
locus_id:
|
|
7856
|
+
correlation_id: _this49.correlationId,
|
|
7857
|
+
locus_id: _this49.locusUrl.split('/').pop(),
|
|
7639
7858
|
reason: error.message,
|
|
7640
7859
|
stack: error.stack
|
|
7641
7860
|
});
|
|
7642
7861
|
|
|
7643
7862
|
// @ts-ignore
|
|
7644
|
-
|
|
7863
|
+
_this49.webex.internal.newMetrics.submitClientEvent({
|
|
7645
7864
|
name: 'client.share.floor-granted.local',
|
|
7646
7865
|
payload: {
|
|
7647
7866
|
mediaType: 'share',
|
|
7648
7867
|
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
|
7649
|
-
shareInstanceId:
|
|
7868
|
+
shareInstanceId: _this49.localShareInstanceId
|
|
7650
7869
|
},
|
|
7651
7870
|
options: {
|
|
7652
|
-
meetingId:
|
|
7871
|
+
meetingId: _this49.id
|
|
7653
7872
|
}
|
|
7654
7873
|
});
|
|
7655
|
-
|
|
7874
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7656
7875
|
return _promise.default.reject(error);
|
|
7657
7876
|
});
|
|
7658
7877
|
}
|
|
@@ -7675,10 +7894,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7675
7894
|
}, {
|
|
7676
7895
|
key: "requestScreenShareFloorIfPending",
|
|
7677
7896
|
value: function requestScreenShareFloorIfPending() {
|
|
7678
|
-
var
|
|
7897
|
+
var _this50 = this;
|
|
7679
7898
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
7680
7899
|
this.requestScreenShareFloor().then(function () {
|
|
7681
|
-
|
|
7900
|
+
_this50.floorGrantPending = false;
|
|
7682
7901
|
});
|
|
7683
7902
|
}
|
|
7684
7903
|
}
|
|
@@ -7692,7 +7911,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7692
7911
|
}, {
|
|
7693
7912
|
key: "releaseScreenShareFloor",
|
|
7694
7913
|
value: function releaseScreenShareFloor() {
|
|
7695
|
-
var
|
|
7914
|
+
var _this51 = this;
|
|
7696
7915
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
7697
7916
|
return element.name === _constants.CONTENT;
|
|
7698
7917
|
});
|
|
@@ -7727,8 +7946,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7727
7946
|
}).catch(function (error) {
|
|
7728
7947
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
7729
7948
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
7730
|
-
correlation_id:
|
|
7731
|
-
locus_id:
|
|
7949
|
+
correlation_id: _this51.correlationId,
|
|
7950
|
+
locus_id: _this51.locusUrl.split('/').pop(),
|
|
7732
7951
|
reason: error.message,
|
|
7733
7952
|
stack: error.stack
|
|
7734
7953
|
});
|
|
@@ -7784,13 +8003,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7784
8003
|
* @param {boolean} mutedEnabled
|
|
7785
8004
|
* @param {boolean} disallowUnmuteEnabled
|
|
7786
8005
|
* @param {boolean} muteOnEntryEnabled
|
|
8006
|
+
* @param {array} roles
|
|
7787
8007
|
* @public
|
|
7788
8008
|
* @memberof Meeting
|
|
7789
8009
|
*/
|
|
7790
8010
|
}, {
|
|
7791
8011
|
key: "setMuteAll",
|
|
7792
|
-
value: function setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled) {
|
|
7793
|
-
return this.controlsOptionsManager.setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled);
|
|
8012
|
+
value: function setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled, roles) {
|
|
8013
|
+
return this.controlsOptionsManager.setMuteAll(mutedEnabled, disallowUnmuteEnabled, muteOnEntryEnabled, roles);
|
|
7794
8014
|
}
|
|
7795
8015
|
|
|
7796
8016
|
/**
|
|
@@ -7907,7 +8127,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7907
8127
|
}, {
|
|
7908
8128
|
key: "changeVideoLayout",
|
|
7909
8129
|
value: function changeVideoLayout(layoutType) {
|
|
7910
|
-
var
|
|
8130
|
+
var _this52 = this;
|
|
7911
8131
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7912
8132
|
var main = renderInfo.main,
|
|
7913
8133
|
content = renderInfo.content;
|
|
@@ -7961,7 +8181,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7961
8181
|
}
|
|
7962
8182
|
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
|
7963
8183
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
7964
|
-
_triggerProxy.default.trigger(
|
|
8184
|
+
_triggerProxy.default.trigger(_this52, {
|
|
7965
8185
|
file: 'meeting/index',
|
|
7966
8186
|
function: 'changeVideoLayout'
|
|
7967
8187
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -8077,7 +8297,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8077
8297
|
}, {
|
|
8078
8298
|
key: "endMeetingForAll",
|
|
8079
8299
|
value: function endMeetingForAll() {
|
|
8080
|
-
var
|
|
8300
|
+
var _this53 = this;
|
|
8081
8301
|
// @ts-ignore
|
|
8082
8302
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
8083
8303
|
name: 'client.call.leave',
|
|
@@ -8095,25 +8315,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8095
8315
|
locus_id: this.locusId
|
|
8096
8316
|
});
|
|
8097
8317
|
return _util2.default.endMeetingForAll(this).then(function (end) {
|
|
8098
|
-
|
|
8099
|
-
|
|
8318
|
+
_this53.meetingFiniteStateMachine.end();
|
|
8319
|
+
_this53.clearMeetingData();
|
|
8100
8320
|
// upload logs on leave irrespective of meeting delete
|
|
8101
|
-
_triggerProxy.default.trigger(
|
|
8321
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8102
8322
|
file: 'meeting/index',
|
|
8103
8323
|
function: 'endMeetingForAll'
|
|
8104
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8324
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8105
8325
|
return end;
|
|
8106
8326
|
}).catch(function (error) {
|
|
8107
|
-
|
|
8327
|
+
_this53.meetingFiniteStateMachine.fail(error);
|
|
8108
8328
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
8109
8329
|
// upload logs on leave irrespective of meeting delete
|
|
8110
|
-
_triggerProxy.default.trigger(
|
|
8330
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8111
8331
|
file: 'meeting/index',
|
|
8112
8332
|
function: 'endMeetingForAll'
|
|
8113
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8333
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8114
8334
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
8115
|
-
correlation_id:
|
|
8116
|
-
locus_id:
|
|
8335
|
+
correlation_id: _this53.correlationId,
|
|
8336
|
+
locus_id: _this53.locusUrl.split('/').pop(),
|
|
8117
8337
|
reason: error.message,
|
|
8118
8338
|
stack: error.stack,
|
|
8119
8339
|
code: error.code
|
|
@@ -8202,37 +8422,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8202
8422
|
}, {
|
|
8203
8423
|
key: "enableMusicMode",
|
|
8204
8424
|
value: (function () {
|
|
8205
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8206
|
-
return _regenerator.default.wrap(function
|
|
8207
|
-
while (1) switch (
|
|
8425
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee35(shouldEnableMusicMode) {
|
|
8426
|
+
return _regenerator.default.wrap(function _callee35$(_context35) {
|
|
8427
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
8208
8428
|
case 0:
|
|
8209
8429
|
this.checkMediaConnection();
|
|
8210
8430
|
if (this.isMultistream) {
|
|
8211
|
-
|
|
8431
|
+
_context35.next = 3;
|
|
8212
8432
|
break;
|
|
8213
8433
|
}
|
|
8214
8434
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
8215
8435
|
case 3:
|
|
8216
8436
|
if (!shouldEnableMusicMode) {
|
|
8217
|
-
|
|
8437
|
+
_context35.next = 8;
|
|
8218
8438
|
break;
|
|
8219
8439
|
}
|
|
8220
|
-
|
|
8440
|
+
_context35.next = 6;
|
|
8221
8441
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
8222
8442
|
maxaveragebitrate: '64000',
|
|
8223
8443
|
maxplaybackrate: '48000'
|
|
8224
8444
|
});
|
|
8225
8445
|
case 6:
|
|
8226
|
-
|
|
8446
|
+
_context35.next = 10;
|
|
8227
8447
|
break;
|
|
8228
8448
|
case 8:
|
|
8229
|
-
|
|
8449
|
+
_context35.next = 10;
|
|
8230
8450
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
8231
8451
|
case 10:
|
|
8232
8452
|
case "end":
|
|
8233
|
-
return
|
|
8453
|
+
return _context35.stop();
|
|
8234
8454
|
}
|
|
8235
|
-
},
|
|
8455
|
+
}, _callee35, this);
|
|
8236
8456
|
}));
|
|
8237
8457
|
function enableMusicMode(_x36) {
|
|
8238
8458
|
return _enableMusicMode.apply(this, arguments);
|
|
@@ -8255,7 +8475,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8255
8475
|
_this$mediaProperties41,
|
|
8256
8476
|
_this$mediaProperties42,
|
|
8257
8477
|
_this$mediaProperties43,
|
|
8258
|
-
|
|
8478
|
+
_this54 = this;
|
|
8259
8479
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
8260
8480
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
8261
8481
|
if (!this.canUpdateMedia()) {
|
|
@@ -8280,8 +8500,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8280
8500
|
}).catch(function (error) {
|
|
8281
8501
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
8282
8502
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
8283
|
-
correlation_id:
|
|
8284
|
-
locus_id:
|
|
8503
|
+
correlation_id: _this54.correlationId,
|
|
8504
|
+
locus_id: _this54.locusUrl.split('/').pop(),
|
|
8285
8505
|
reason: error.message,
|
|
8286
8506
|
stack: error.stack
|
|
8287
8507
|
});
|
|
@@ -8325,25 +8545,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8325
8545
|
}, {
|
|
8326
8546
|
key: "publishStream",
|
|
8327
8547
|
value: (function () {
|
|
8328
|
-
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8329
|
-
return _regenerator.default.wrap(function
|
|
8330
|
-
while (1) switch (
|
|
8548
|
+
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee36(mediaType, stream) {
|
|
8549
|
+
return _regenerator.default.wrap(function _callee36$(_context36) {
|
|
8550
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
8331
8551
|
case 0:
|
|
8332
8552
|
if (stream) {
|
|
8333
|
-
|
|
8553
|
+
_context36.next = 2;
|
|
8334
8554
|
break;
|
|
8335
8555
|
}
|
|
8336
|
-
return
|
|
8556
|
+
return _context36.abrupt("return");
|
|
8337
8557
|
case 2:
|
|
8338
8558
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
8339
|
-
|
|
8559
|
+
_context36.next = 7;
|
|
8340
8560
|
break;
|
|
8341
8561
|
}
|
|
8342
8562
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8343
|
-
|
|
8563
|
+
_context36.next = 6;
|
|
8344
8564
|
break;
|
|
8345
8565
|
}
|
|
8346
|
-
|
|
8566
|
+
_context36.next = 6;
|
|
8347
8567
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
8348
8568
|
case 6:
|
|
8349
8569
|
this.emitPublishStateChangeEvent({
|
|
@@ -8354,9 +8574,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8354
8574
|
});
|
|
8355
8575
|
case 7:
|
|
8356
8576
|
case "end":
|
|
8357
|
-
return
|
|
8577
|
+
return _context36.stop();
|
|
8358
8578
|
}
|
|
8359
|
-
},
|
|
8579
|
+
}, _callee36, this);
|
|
8360
8580
|
}));
|
|
8361
8581
|
function publishStream(_x37, _x38) {
|
|
8362
8582
|
return _publishStream.apply(this, arguments);
|
|
@@ -8374,21 +8594,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8374
8594
|
}, {
|
|
8375
8595
|
key: "unpublishStream",
|
|
8376
8596
|
value: (function () {
|
|
8377
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8378
|
-
return _regenerator.default.wrap(function
|
|
8379
|
-
while (1) switch (
|
|
8597
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(mediaType, stream) {
|
|
8598
|
+
return _regenerator.default.wrap(function _callee37$(_context37) {
|
|
8599
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
8380
8600
|
case 0:
|
|
8381
8601
|
if (stream) {
|
|
8382
|
-
|
|
8602
|
+
_context37.next = 2;
|
|
8383
8603
|
break;
|
|
8384
8604
|
}
|
|
8385
|
-
return
|
|
8605
|
+
return _context37.abrupt("return");
|
|
8386
8606
|
case 2:
|
|
8387
8607
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8388
|
-
|
|
8608
|
+
_context37.next = 5;
|
|
8389
8609
|
break;
|
|
8390
8610
|
}
|
|
8391
|
-
|
|
8611
|
+
_context37.next = 5;
|
|
8392
8612
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
8393
8613
|
case 5:
|
|
8394
8614
|
this.emitPublishStateChangeEvent({
|
|
@@ -8399,9 +8619,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8399
8619
|
});
|
|
8400
8620
|
case 6:
|
|
8401
8621
|
case "end":
|
|
8402
|
-
return
|
|
8622
|
+
return _context37.stop();
|
|
8403
8623
|
}
|
|
8404
|
-
},
|
|
8624
|
+
}, _callee37, this);
|
|
8405
8625
|
}));
|
|
8406
8626
|
function unpublishStream(_x39, _x40) {
|
|
8407
8627
|
return _unpublishStream.apply(this, arguments);
|
|
@@ -8418,19 +8638,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8418
8638
|
}, {
|
|
8419
8639
|
key: "publishStreams",
|
|
8420
8640
|
value: (function () {
|
|
8421
|
-
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8641
|
+
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee38(streams) {
|
|
8422
8642
|
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
|
|
8423
8643
|
var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
|
|
8424
|
-
return _regenerator.default.wrap(function
|
|
8425
|
-
while (1) switch (
|
|
8644
|
+
return _regenerator.default.wrap(function _callee38$(_context38) {
|
|
8645
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
8426
8646
|
case 0:
|
|
8427
8647
|
_loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8428
8648
|
this.checkMediaConnection();
|
|
8429
8649
|
if (!(!streams.microphone && !streams.camera && !((_streams$screenShare = streams.screenShare) !== null && _streams$screenShare !== void 0 && _streams$screenShare.audio) && !((_streams$screenShare2 = streams.screenShare) !== null && _streams$screenShare2 !== void 0 && _streams$screenShare2.video))) {
|
|
8430
|
-
|
|
8650
|
+
_context38.next = 4;
|
|
8431
8651
|
break;
|
|
8432
8652
|
}
|
|
8433
|
-
return
|
|
8653
|
+
return _context38.abrupt("return");
|
|
8434
8654
|
case 4:
|
|
8435
8655
|
streamChecks = [{
|
|
8436
8656
|
stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
|
|
@@ -8448,62 +8668,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8448
8668
|
_i = 0, _streamChecks = streamChecks;
|
|
8449
8669
|
case 6:
|
|
8450
8670
|
if (!(_i < _streamChecks.length)) {
|
|
8451
|
-
|
|
8671
|
+
_context38.next = 13;
|
|
8452
8672
|
break;
|
|
8453
8673
|
}
|
|
8454
8674
|
_streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
|
|
8455
8675
|
if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
|
|
8456
|
-
|
|
8676
|
+
_context38.next = 10;
|
|
8457
8677
|
break;
|
|
8458
8678
|
}
|
|
8459
8679
|
throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
|
|
8460
8680
|
case 10:
|
|
8461
8681
|
_i++;
|
|
8462
|
-
|
|
8682
|
+
_context38.next = 6;
|
|
8463
8683
|
break;
|
|
8464
8684
|
case 13:
|
|
8465
8685
|
floorRequestNeeded = false; // Screenshare Audio is supported only in multi stream. So we check for screenshare audio presence only if it's a multi stream meeting
|
|
8466
8686
|
if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
|
|
8467
|
-
|
|
8687
|
+
_context38.next = 18;
|
|
8468
8688
|
break;
|
|
8469
8689
|
}
|
|
8470
|
-
|
|
8690
|
+
_context38.next = 17;
|
|
8471
8691
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
8472
8692
|
case 17:
|
|
8473
8693
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8474
8694
|
case 18:
|
|
8475
8695
|
if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
|
|
8476
|
-
|
|
8696
|
+
_context38.next = 22;
|
|
8477
8697
|
break;
|
|
8478
8698
|
}
|
|
8479
|
-
|
|
8699
|
+
_context38.next = 21;
|
|
8480
8700
|
return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
|
|
8481
8701
|
case 21:
|
|
8482
8702
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8483
8703
|
case 22:
|
|
8484
8704
|
if (!streams.microphone) {
|
|
8485
|
-
|
|
8705
|
+
_context38.next = 25;
|
|
8486
8706
|
break;
|
|
8487
8707
|
}
|
|
8488
|
-
|
|
8708
|
+
_context38.next = 25;
|
|
8489
8709
|
return this.setLocalAudioStream(streams.microphone);
|
|
8490
8710
|
case 25:
|
|
8491
8711
|
if (!streams.camera) {
|
|
8492
|
-
|
|
8712
|
+
_context38.next = 28;
|
|
8493
8713
|
break;
|
|
8494
8714
|
}
|
|
8495
|
-
|
|
8715
|
+
_context38.next = 28;
|
|
8496
8716
|
return this.setLocalVideoStream(streams.camera);
|
|
8497
8717
|
case 28:
|
|
8498
8718
|
if (this.isMultistream) {
|
|
8499
|
-
|
|
8719
|
+
_context38.next = 31;
|
|
8500
8720
|
break;
|
|
8501
8721
|
}
|
|
8502
|
-
|
|
8722
|
+
_context38.next = 31;
|
|
8503
8723
|
return this.updateTranscodedMediaConnection();
|
|
8504
8724
|
case 31:
|
|
8505
8725
|
if (!floorRequestNeeded) {
|
|
8506
|
-
|
|
8726
|
+
_context38.next = 37;
|
|
8507
8727
|
break;
|
|
8508
8728
|
}
|
|
8509
8729
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -8527,13 +8747,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8527
8747
|
// we're sending the http request to Locus to request the screen share floor
|
|
8528
8748
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
8529
8749
|
// and also if sharing from the start, we need confluence to have been created
|
|
8530
|
-
|
|
8750
|
+
_context38.next = 37;
|
|
8531
8751
|
return this.enqueueScreenShareFloorRequest();
|
|
8532
8752
|
case 37:
|
|
8533
8753
|
case "end":
|
|
8534
|
-
return
|
|
8754
|
+
return _context38.stop();
|
|
8535
8755
|
}
|
|
8536
|
-
},
|
|
8756
|
+
}, _callee38, this);
|
|
8537
8757
|
}));
|
|
8538
8758
|
function publishStreams(_x41) {
|
|
8539
8759
|
return _publishStreams.apply(this, arguments);
|
|
@@ -8550,10 +8770,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8550
8770
|
}, {
|
|
8551
8771
|
key: "unpublishStreams",
|
|
8552
8772
|
value: (function () {
|
|
8553
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8773
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39(streams) {
|
|
8554
8774
|
var promises, _iterator, _step, stream;
|
|
8555
|
-
return _regenerator.default.wrap(function
|
|
8556
|
-
while (1) switch (
|
|
8775
|
+
return _regenerator.default.wrap(function _callee39$(_context39) {
|
|
8776
|
+
while (1) switch (_context39.prev = _context39.next) {
|
|
8557
8777
|
case 0:
|
|
8558
8778
|
_loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8559
8779
|
this.checkMediaConnection();
|
|
@@ -8585,7 +8805,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8585
8805
|
if (!this.isMultistream) {
|
|
8586
8806
|
promises.push(this.updateTranscodedMediaConnection());
|
|
8587
8807
|
}
|
|
8588
|
-
|
|
8808
|
+
_context39.next = 8;
|
|
8589
8809
|
return _promise.default.all(promises);
|
|
8590
8810
|
case 8:
|
|
8591
8811
|
// we're allowing for the SDK to support just audio share as well
|
|
@@ -8606,9 +8826,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8606
8826
|
}
|
|
8607
8827
|
case 9:
|
|
8608
8828
|
case "end":
|
|
8609
|
-
return
|
|
8829
|
+
return _context39.stop();
|
|
8610
8830
|
}
|
|
8611
|
-
},
|
|
8831
|
+
}, _callee39, this);
|
|
8612
8832
|
}));
|
|
8613
8833
|
function unpublishStreams(_x42) {
|
|
8614
8834
|
return _unpublishStreams.apply(this, arguments);
|
|
@@ -8670,55 +8890,55 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8670
8890
|
}], [{
|
|
8671
8891
|
key: "handleDeviceLogging",
|
|
8672
8892
|
value: (function () {
|
|
8673
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8893
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee40(isAudioEnabled, isVideoEnabled) {
|
|
8674
8894
|
var devices;
|
|
8675
|
-
return _regenerator.default.wrap(function
|
|
8676
|
-
while (1) switch (
|
|
8895
|
+
return _regenerator.default.wrap(function _callee40$(_context40) {
|
|
8896
|
+
while (1) switch (_context40.prev = _context40.next) {
|
|
8677
8897
|
case 0:
|
|
8678
|
-
|
|
8898
|
+
_context40.prev = 0;
|
|
8679
8899
|
devices = [];
|
|
8680
8900
|
if (!(isVideoEnabled && isAudioEnabled)) {
|
|
8681
|
-
|
|
8901
|
+
_context40.next = 8;
|
|
8682
8902
|
break;
|
|
8683
8903
|
}
|
|
8684
|
-
|
|
8904
|
+
_context40.next = 5;
|
|
8685
8905
|
return (0, _mediaHelpers.getDevices)();
|
|
8686
8906
|
case 5:
|
|
8687
|
-
devices =
|
|
8688
|
-
|
|
8907
|
+
devices = _context40.sent;
|
|
8908
|
+
_context40.next = 18;
|
|
8689
8909
|
break;
|
|
8690
8910
|
case 8:
|
|
8691
8911
|
if (!isVideoEnabled) {
|
|
8692
|
-
|
|
8912
|
+
_context40.next = 14;
|
|
8693
8913
|
break;
|
|
8694
8914
|
}
|
|
8695
|
-
|
|
8915
|
+
_context40.next = 11;
|
|
8696
8916
|
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.VIDEO_INPUT);
|
|
8697
8917
|
case 11:
|
|
8698
|
-
devices =
|
|
8699
|
-
|
|
8918
|
+
devices = _context40.sent;
|
|
8919
|
+
_context40.next = 18;
|
|
8700
8920
|
break;
|
|
8701
8921
|
case 14:
|
|
8702
8922
|
if (!isAudioEnabled) {
|
|
8703
|
-
|
|
8923
|
+
_context40.next = 18;
|
|
8704
8924
|
break;
|
|
8705
8925
|
}
|
|
8706
|
-
|
|
8926
|
+
_context40.next = 17;
|
|
8707
8927
|
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.AUDIO_INPUT);
|
|
8708
8928
|
case 17:
|
|
8709
|
-
devices =
|
|
8929
|
+
devices = _context40.sent;
|
|
8710
8930
|
case 18:
|
|
8711
8931
|
_util2.default.handleDeviceLogging(devices);
|
|
8712
|
-
|
|
8932
|
+
_context40.next = 23;
|
|
8713
8933
|
break;
|
|
8714
8934
|
case 21:
|
|
8715
|
-
|
|
8716
|
-
|
|
8935
|
+
_context40.prev = 21;
|
|
8936
|
+
_context40.t0 = _context40["catch"](0);
|
|
8717
8937
|
case 23:
|
|
8718
8938
|
case "end":
|
|
8719
|
-
return
|
|
8939
|
+
return _context40.stop();
|
|
8720
8940
|
}
|
|
8721
|
-
},
|
|
8941
|
+
}, _callee40, null, [[0, 21]]);
|
|
8722
8942
|
}));
|
|
8723
8943
|
function handleDeviceLogging(_x43, _x44) {
|
|
8724
8944
|
return _handleDeviceLogging.apply(this, arguments);
|