@webex/plugin-meetings 3.4.0 → 3.5.0-next.2
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/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/media/index.js +6 -9
- package/dist/media/index.js.map +1 -1
- package/dist/meeting/index.js +151 -50
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +1 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +11 -2
- package/dist/meetings/index.js.map +1 -1
- package/dist/reachability/index.js +175 -103
- package/dist/reachability/index.js.map +1 -1
- package/dist/reconnection-manager/index.js +1 -1
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/rtcMetrics/index.js +26 -6
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/types/meeting/index.d.ts +22 -2
- package/dist/types/meetings/index.d.ts +4 -2
- package/dist/types/reachability/index.d.ts +14 -2
- package/dist/types/rtcMetrics/index.d.ts +11 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +22 -22
- package/src/media/index.ts +5 -9
- package/src/meeting/index.ts +88 -10
- package/src/meeting/util.ts +2 -0
- package/src/meetings/index.ts +11 -4
- package/src/reachability/index.ts +49 -4
- package/src/reconnection-manager/index.ts +1 -1
- package/src/rtcMetrics/index.ts +25 -5
- package/test/integration/spec/converged-space-meetings.js +1 -1
- package/test/unit/spec/breakouts/index.ts +1 -0
- package/test/unit/spec/interceptors/locusRetry.ts +11 -10
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +1 -0
- package/test/unit/spec/media/index.ts +34 -7
- package/test/unit/spec/media/properties.ts +1 -1
- package/test/unit/spec/meeting/connectionStateHandler.ts +1 -0
- package/test/unit/spec/meeting/index.js +116 -12
- package/test/unit/spec/meeting/locusMediaRequest.ts +3 -2
- package/test/unit/spec/meeting/request.js +1 -0
- package/test/unit/spec/meeting/utils.js +4 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +10 -11
- package/test/unit/spec/meeting-info/request.js +1 -1
- package/test/unit/spec/meetings/index.js +40 -5
- package/test/unit/spec/members/request.js +2 -1
- package/test/unit/spec/multistream/mediaRequestManager.ts +1 -0
- package/test/unit/spec/multistream/receiveSlot.ts +1 -0
- package/test/unit/spec/multistream/receiveSlotManager.ts +1 -0
- package/test/unit/spec/multistream/remoteMedia.ts +1 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +1 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +1 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +1 -0
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +0 -1
- package/test/unit/spec/reachability/index.ts +211 -13
- package/test/unit/spec/reachability/request.js +1 -0
- package/test/unit/spec/roap/request.ts +1 -0
- package/test/unit/spec/rtcMetrics/index.ts +31 -0
- package/dist/networkQualityMonitor/index.js +0 -227
- package/dist/networkQualityMonitor/index.js.map +0 -1
- package/dist/types/networkQualityMonitor/index.d.ts +0 -70
- package/src/networkQualityMonitor/index.ts +0 -211
- package/test/unit/spec/networkQualityMonitor/index.js +0 -99
package/dist/meeting/index.js
CHANGED
|
@@ -22,6 +22,7 @@ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/pr
|
|
|
22
22
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
|
|
23
23
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
24
24
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
25
|
+
var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
|
|
25
26
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
|
|
26
27
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
27
28
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
@@ -31,6 +32,8 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
|
|
|
31
32
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
32
33
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
33
34
|
var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
35
|
+
var _classPrivateFieldGet2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classPrivateFieldGet"));
|
|
36
|
+
var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classPrivateFieldSet"));
|
|
34
37
|
var _uuid = _interopRequireDefault(require("uuid"));
|
|
35
38
|
var _lodash = require("lodash");
|
|
36
39
|
var _jwtDecode = _interopRequireDefault(require("jwt-decode"));
|
|
@@ -42,7 +45,6 @@ var _mediaHelpers = require("@webex/media-helpers");
|
|
|
42
45
|
var _internalPluginVoicea = require("@webex/internal-plugin-voicea");
|
|
43
46
|
var _voiceaMeeting = require("./voicea-meeting");
|
|
44
47
|
var _webexErrors = require("../common/errors/webex-errors");
|
|
45
|
-
var _networkQualityMonitor = _interopRequireDefault(require("../networkQualityMonitor"));
|
|
46
48
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
47
49
|
var _util = _interopRequireDefault(require("../common/events/util"));
|
|
48
50
|
var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
|
|
@@ -84,13 +86,16 @@ var _controlsOptionsManager = _interopRequireDefault(require("../controls-option
|
|
|
84
86
|
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
85
87
|
var _locusMediaRequest = require("./locusMediaRequest");
|
|
86
88
|
var _connectionStateHandler = require("./connectionStateHandler");
|
|
89
|
+
var _rtcMetrics = _interopRequireDefault(require("../rtcMetrics"));
|
|
87
90
|
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; } } }; }
|
|
88
91
|
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); }
|
|
89
92
|
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; }
|
|
90
93
|
function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
91
94
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty3.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
92
95
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
93
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
96
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
97
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
98
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } // @ts-ignore - Fix this
|
|
94
99
|
// @ts-ignore - Types not available for @webex/common
|
|
95
100
|
// default callback so we don't call an undefined function, but in practice it should never be used
|
|
96
101
|
var DEFAULT_ICE_PHASE_CALLBACK = function DEFAULT_ICE_PHASE_CALLBACK() {
|
|
@@ -119,6 +124,7 @@ var ScreenShareFloorStatus = exports.ScreenShareFloorStatus = /*#__PURE__*/funct
|
|
|
119
124
|
ScreenShareFloorStatus["RELEASED"] = "floor_released";
|
|
120
125
|
return ScreenShareFloorStatus;
|
|
121
126
|
}({});
|
|
127
|
+
var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
122
128
|
/**
|
|
123
129
|
* MediaDirection
|
|
124
130
|
* @typedef {Object} MediaDirection
|
|
@@ -375,7 +381,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
375
381
|
* @memberof Meeting
|
|
376
382
|
*/
|
|
377
383
|
function Meeting(attrs, _options) {
|
|
378
|
-
var _attrs$callStateForMe, _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3, _this$locusInfo4;
|
|
384
|
+
var _attrs$callStateForMe, _attrs$callStateForMe2, _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3, _this$locusInfo4;
|
|
379
385
|
var _this;
|
|
380
386
|
(0, _classCallCheck2.default)(this, Meeting);
|
|
381
387
|
_this = _super.call(this, {}, _options);
|
|
@@ -401,6 +407,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
401
407
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "id", void 0);
|
|
402
408
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "isMultistream", void 0);
|
|
403
409
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "locusUrl", void 0);
|
|
410
|
+
_classPrivateFieldInitSpec((0, _assertThisInitialized2.default)(_this), _isoLocalClientMeetingJoinTime, {
|
|
411
|
+
writable: true,
|
|
412
|
+
value: void 0
|
|
413
|
+
});
|
|
404
414
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaConnections", void 0);
|
|
405
415
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaId", void 0);
|
|
406
416
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingFiniteStateMachine", void 0);
|
|
@@ -541,6 +551,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
541
551
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "connectionStateHandler", void 0);
|
|
542
552
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidateErrors", void 0);
|
|
543
553
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidatesCount", void 0);
|
|
554
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "rtcMetrics", void 0);
|
|
544
555
|
/**
|
|
545
556
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
546
557
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -1399,10 +1410,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1399
1410
|
*/
|
|
1400
1411
|
_this.callStateForMetrics = attrs.callStateForMetrics || {};
|
|
1401
1412
|
var _correlationId = attrs.correlationId || ((_attrs$callStateForMe = attrs.callStateForMetrics) === null || _attrs$callStateForMe === void 0 ? void 0 : _attrs$callStateForMe.correlationId);
|
|
1413
|
+
var sessionCorrelationId = attrs.sessionCorrelationId || ((_attrs$callStateForMe2 = attrs.callStateForMetrics) === null || _attrs$callStateForMe2 === void 0 ? void 0 : _attrs$callStateForMe2.sessionCorrelationId);
|
|
1414
|
+
if (sessionCorrelationId) {
|
|
1415
|
+
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with session correlation id from app ".concat(_correlationId));
|
|
1416
|
+
_this.callStateForMetrics.sessionCorrelationId = sessionCorrelationId;
|
|
1417
|
+
} else {
|
|
1418
|
+
_loggerProxy.default.logger.log("Meetings:index#constructor --> No session correlation id supplied. None will be generated and this field will remain blank");
|
|
1419
|
+
// TODO: supply a session from the meetings instance
|
|
1420
|
+
_this.callStateForMetrics.sessionCorrelationId = '';
|
|
1421
|
+
}
|
|
1402
1422
|
if (_correlationId) {
|
|
1403
1423
|
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with correlation id from app ".concat(_correlationId));
|
|
1404
1424
|
_this.callStateForMetrics.correlationId = _correlationId;
|
|
1405
1425
|
} else {
|
|
1426
|
+
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with generated correlation id from sdk ".concat(_this.id));
|
|
1406
1427
|
_this.callStateForMetrics.correlationId = _this.id;
|
|
1407
1428
|
}
|
|
1408
1429
|
/**
|
|
@@ -2156,6 +2177,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2156
2177
|
* @memberof Meeting
|
|
2157
2178
|
*/
|
|
2158
2179
|
_this.iceCandidatesCount = 0;
|
|
2180
|
+
|
|
2181
|
+
/**
|
|
2182
|
+
* Start time of meeting as an ISO string
|
|
2183
|
+
* based on browser time, so can only be used to compute durations client side
|
|
2184
|
+
* undefined if meeting has not been joined, set once on meeting join, and not updated again
|
|
2185
|
+
* @instance
|
|
2186
|
+
* @type {string}
|
|
2187
|
+
* @private
|
|
2188
|
+
* @memberof Meeting
|
|
2189
|
+
*/
|
|
2190
|
+
(0, _classPrivateFieldSet2.default)((0, _assertThisInitialized2.default)(_this), _isoLocalClientMeetingJoinTime, undefined);
|
|
2159
2191
|
return _this;
|
|
2160
2192
|
}
|
|
2161
2193
|
|
|
@@ -2214,6 +2246,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2214
2246
|
this.callStateForMetrics.correlationId = correlationId;
|
|
2215
2247
|
}
|
|
2216
2248
|
|
|
2249
|
+
/**
|
|
2250
|
+
* Getter - Returns callStateForMetrics.sessionCorrelationId
|
|
2251
|
+
* @returns {string}
|
|
2252
|
+
*/
|
|
2253
|
+
}, {
|
|
2254
|
+
key: "sessionCorrelationId",
|
|
2255
|
+
get: function get() {
|
|
2256
|
+
return this.callStateForMetrics.correlationId;
|
|
2257
|
+
}
|
|
2258
|
+
|
|
2259
|
+
/**
|
|
2260
|
+
* Setter - sets callStateForMetrics.sessionCorrelationId
|
|
2261
|
+
* @param {string} sessionCorrelationId
|
|
2262
|
+
*/,
|
|
2263
|
+
set: function set(sessionCorrelationId) {
|
|
2264
|
+
this.callStateForMetrics.sessionCorrelationId = sessionCorrelationId;
|
|
2265
|
+
}
|
|
2266
|
+
|
|
2267
|
+
/**
|
|
2268
|
+
* Getter - Returns isoLocalClientMeetingJoinTime
|
|
2269
|
+
* This will be set once on meeting join, and not updated again
|
|
2270
|
+
* @returns {string | undefined}
|
|
2271
|
+
*/
|
|
2272
|
+
}, {
|
|
2273
|
+
key: "isoLocalClientMeetingJoinTime",
|
|
2274
|
+
get: function get() {
|
|
2275
|
+
return (0, _classPrivateFieldGet2.default)(this, _isoLocalClientMeetingJoinTime);
|
|
2276
|
+
}
|
|
2277
|
+
|
|
2217
2278
|
/**
|
|
2218
2279
|
* Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
|
|
2219
2280
|
* @param {any} info
|
|
@@ -3611,6 +3672,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3611
3672
|
});
|
|
3612
3673
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
3613
3674
|
var _ref25 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
|
3675
|
+
var _this19$rtcMetrics;
|
|
3614
3676
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
3615
3677
|
while (1) switch (_context9.prev = _context9.next) {
|
|
3616
3678
|
case 0:
|
|
@@ -3631,8 +3693,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3631
3693
|
}
|
|
3632
3694
|
});
|
|
3633
3695
|
}
|
|
3696
|
+
(_this19$rtcMetrics = _this19.rtcMetrics) === null || _this19$rtcMetrics === void 0 ? void 0 : _this19$rtcMetrics.sendNextMetrics();
|
|
3634
3697
|
_this19.updateLLMConnection();
|
|
3635
|
-
case
|
|
3698
|
+
case 4:
|
|
3636
3699
|
case "end":
|
|
3637
3700
|
return _context9.stop();
|
|
3638
3701
|
}
|
|
@@ -5606,6 +5669,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5606
5669
|
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5607
5670
|
_this32.meetingFiniteStateMachine.join();
|
|
5608
5671
|
_this32.setupLocusMediaRequest();
|
|
5672
|
+
|
|
5673
|
+
// @ts-ignore
|
|
5674
|
+
_this32.webex.internal.device.meetingStarted();
|
|
5675
|
+
(0, _classPrivateFieldSet2.default)(_this32, _isoLocalClientMeetingJoinTime, new Date().toISOString());
|
|
5609
5676
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5610
5677
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5611
5678
|
correlation_id: _this32.correlationId
|
|
@@ -6069,9 +6136,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6069
6136
|
return _regenerator.default.wrap(function _callee21$(_context21) {
|
|
6070
6137
|
while (1) switch (_context21.prev = _context21.next) {
|
|
6071
6138
|
case 0:
|
|
6072
|
-
|
|
6139
|
+
this.rtcMetrics = this.isMultistream ?
|
|
6073
6140
|
// @ts-ignore
|
|
6074
|
-
this.webex, this.id, this.correlationId
|
|
6141
|
+
new _rtcMetrics.default(this.webex, this.id, this.correlationId) : undefined;
|
|
6142
|
+
mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(), this.id, {
|
|
6143
|
+
rtcMetrics: this.rtcMetrics,
|
|
6075
6144
|
mediaProperties: this.mediaProperties,
|
|
6076
6145
|
remoteQualityLevel: this.mediaProperties.remoteQualityLevel,
|
|
6077
6146
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -6093,36 +6162,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6093
6162
|
|
|
6094
6163
|
// publish the streams
|
|
6095
6164
|
if (!this.mediaProperties.audioStream) {
|
|
6096
|
-
_context21.next =
|
|
6165
|
+
_context21.next = 9;
|
|
6097
6166
|
break;
|
|
6098
6167
|
}
|
|
6099
6168
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
6100
|
-
_context21.next =
|
|
6169
|
+
_context21.next = 9;
|
|
6101
6170
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
6102
|
-
case
|
|
6171
|
+
case 9:
|
|
6103
6172
|
if (!this.mediaProperties.videoStream) {
|
|
6104
|
-
_context21.next =
|
|
6173
|
+
_context21.next = 12;
|
|
6105
6174
|
break;
|
|
6106
6175
|
}
|
|
6107
|
-
_context21.next =
|
|
6176
|
+
_context21.next = 12;
|
|
6108
6177
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
6109
|
-
case
|
|
6178
|
+
case 12:
|
|
6110
6179
|
if (!this.mediaProperties.shareVideoStream) {
|
|
6111
|
-
_context21.next =
|
|
6180
|
+
_context21.next = 15;
|
|
6112
6181
|
break;
|
|
6113
6182
|
}
|
|
6114
|
-
_context21.next =
|
|
6183
|
+
_context21.next = 15;
|
|
6115
6184
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
6116
|
-
case
|
|
6185
|
+
case 15:
|
|
6117
6186
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
6118
|
-
_context21.next =
|
|
6187
|
+
_context21.next = 18;
|
|
6119
6188
|
break;
|
|
6120
6189
|
}
|
|
6121
|
-
_context21.next =
|
|
6190
|
+
_context21.next = 18;
|
|
6122
6191
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
6123
|
-
case 17:
|
|
6124
|
-
return _context21.abrupt("return", mc);
|
|
6125
6192
|
case 18:
|
|
6193
|
+
return _context21.abrupt("return", mc);
|
|
6194
|
+
case 19:
|
|
6126
6195
|
case "end":
|
|
6127
6196
|
return _context21.stop();
|
|
6128
6197
|
}
|
|
@@ -6302,7 +6371,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6302
6371
|
// @ts-ignore - config coming from registerPlugin
|
|
6303
6372
|
if (this.config.stats.enableStatsAnalyzer) {
|
|
6304
6373
|
// @ts-ignore - config coming from registerPlugin
|
|
6305
|
-
this.networkQualityMonitor = new
|
|
6374
|
+
this.networkQualityMonitor = new _internalMediaCore.NetworkQualityMonitor(this.config.stats);
|
|
6306
6375
|
this.statsAnalyzer = new _internalMediaCore.StatsAnalyzer({
|
|
6307
6376
|
// @ts-ignore - config coming from registerPlugin
|
|
6308
6377
|
config: this.config.stats,
|
|
@@ -6310,7 +6379,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6310
6379
|
isMultistream: this.isMultistream
|
|
6311
6380
|
});
|
|
6312
6381
|
this.setupStatsAnalyzerEventHandlers();
|
|
6313
|
-
this.networkQualityMonitor.on(
|
|
6382
|
+
this.networkQualityMonitor.on(_internalMediaCore.NetworkQualityEventNames.NETWORK_QUALITY, this.sendNetworkQualityEvent.bind(this));
|
|
6314
6383
|
}
|
|
6315
6384
|
}
|
|
6316
6385
|
|
|
@@ -6319,6 +6388,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6319
6388
|
*
|
|
6320
6389
|
* @private
|
|
6321
6390
|
* @static
|
|
6391
|
+
* @param {boolean} isAudioEnabled
|
|
6392
|
+
* @param {boolean} isVideoEnabled
|
|
6322
6393
|
* @returns {Promise<void>}
|
|
6323
6394
|
*/
|
|
6324
6395
|
}, {
|
|
@@ -6830,6 +6901,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6830
6901
|
selectedCandidatePairChanges,
|
|
6831
6902
|
numTransports,
|
|
6832
6903
|
reachabilityStats,
|
|
6904
|
+
iceCandidateErrors,
|
|
6833
6905
|
_this$mediaProperties13,
|
|
6834
6906
|
_this$mediaProperties14,
|
|
6835
6907
|
_this$mediaProperties15,
|
|
@@ -6855,7 +6927,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6855
6927
|
_yield$this$mediaProp2,
|
|
6856
6928
|
_selectedCandidatePairChanges,
|
|
6857
6929
|
_numTransports,
|
|
6858
|
-
|
|
6930
|
+
_iceCandidateErrors,
|
|
6859
6931
|
_args32 = arguments;
|
|
6860
6932
|
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
6861
6933
|
while (1) switch (_context32.prev = _context32.next) {
|
|
@@ -6941,7 +7013,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6941
7013
|
break;
|
|
6942
7014
|
}
|
|
6943
7015
|
_context32.next = 28;
|
|
6944
|
-
return Meeting.handleDeviceLogging();
|
|
7016
|
+
return Meeting.handleDeviceLogging(audioEnabled, videoEnabled);
|
|
6945
7017
|
case 28:
|
|
6946
7018
|
_context32.next = 31;
|
|
6947
7019
|
break;
|
|
@@ -6966,7 +7038,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6966
7038
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6967
7039
|
case 42:
|
|
6968
7040
|
reachabilityStats = _context32.sent;
|
|
6969
|
-
|
|
7041
|
+
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7042
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
6970
7043
|
correlation_id: this.correlationId,
|
|
6971
7044
|
locus_id: this.locusUrl.split('/').pop(),
|
|
6972
7045
|
connectionType: connectionType,
|
|
@@ -6975,7 +7048,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6975
7048
|
isMultistream: this.isMultistream,
|
|
6976
7049
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer,
|
|
6977
7050
|
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry
|
|
6978
|
-
}, reachabilityStats), {}, {
|
|
7051
|
+
}, reachabilityStats), iceCandidateErrors), {}, {
|
|
6979
7052
|
iceCandidatesCount: this.iceCandidatesCount
|
|
6980
7053
|
}));
|
|
6981
7054
|
// @ts-ignore
|
|
@@ -6989,25 +7062,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6989
7062
|
|
|
6990
7063
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
6991
7064
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
6992
|
-
_context32.next =
|
|
7065
|
+
_context32.next = 68;
|
|
6993
7066
|
break;
|
|
6994
|
-
case
|
|
6995
|
-
_context32.prev =
|
|
7067
|
+
case 50:
|
|
7068
|
+
_context32.prev = 50;
|
|
6996
7069
|
_context32.t0 = _context32["catch"](18);
|
|
6997
7070
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context32.t0);
|
|
6998
7071
|
|
|
6999
7072
|
// @ts-ignore
|
|
7000
|
-
_context32.next =
|
|
7073
|
+
_context32.next = 55;
|
|
7001
7074
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7002
|
-
case
|
|
7075
|
+
case 55:
|
|
7003
7076
|
reachabilityMetrics = _context32.sent;
|
|
7004
|
-
_context32.next =
|
|
7077
|
+
_context32.next = 58;
|
|
7005
7078
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7006
|
-
case
|
|
7079
|
+
case 58:
|
|
7007
7080
|
_yield$this$mediaProp2 = _context32.sent;
|
|
7008
7081
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7009
7082
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
7010
|
-
|
|
7083
|
+
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7011
7084
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
7012
7085
|
correlation_id: this.correlationId,
|
|
7013
7086
|
locus_id: this.locusUrl.split('/').pop(),
|
|
@@ -7024,12 +7097,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7024
7097
|
signalingState: ((_this$mediaProperties13 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties13 === void 0 ? void 0 : (_this$mediaProperties14 = _this$mediaProperties13.multistreamConnection) === null || _this$mediaProperties14 === void 0 ? void 0 : (_this$mediaProperties15 = _this$mediaProperties14.pc) === null || _this$mediaProperties15 === void 0 ? void 0 : (_this$mediaProperties16 = _this$mediaProperties15.pc) === null || _this$mediaProperties16 === void 0 ? void 0 : _this$mediaProperties16.signalingState) || ((_this$mediaProperties17 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties17 === void 0 ? void 0 : (_this$mediaProperties18 = _this$mediaProperties17.mediaConnection) === null || _this$mediaProperties18 === void 0 ? void 0 : (_this$mediaProperties19 = _this$mediaProperties18.pc) === null || _this$mediaProperties19 === void 0 ? void 0 : _this$mediaProperties19.signalingState) || 'unknown',
|
|
7025
7098
|
connectionState: ((_this$mediaProperties20 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties20 === void 0 ? void 0 : (_this$mediaProperties21 = _this$mediaProperties20.multistreamConnection) === null || _this$mediaProperties21 === void 0 ? void 0 : (_this$mediaProperties22 = _this$mediaProperties21.pc) === null || _this$mediaProperties22 === void 0 ? void 0 : (_this$mediaProperties23 = _this$mediaProperties22.pc) === null || _this$mediaProperties23 === void 0 ? void 0 : _this$mediaProperties23.connectionState) || ((_this$mediaProperties24 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties24 === void 0 ? void 0 : (_this$mediaProperties25 = _this$mediaProperties24.mediaConnection) === null || _this$mediaProperties25 === void 0 ? void 0 : (_this$mediaProperties26 = _this$mediaProperties25.pc) === null || _this$mediaProperties26 === void 0 ? void 0 : _this$mediaProperties26.connectionState) || 'unknown',
|
|
7026
7099
|
iceConnectionState: ((_this$mediaProperties27 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties27 === void 0 ? void 0 : (_this$mediaProperties28 = _this$mediaProperties27.multistreamConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.pc) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : _this$mediaProperties30.iceConnectionState) || ((_this$mediaProperties31 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties31 === void 0 ? void 0 : (_this$mediaProperties32 = _this$mediaProperties31.mediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.pc) === null || _this$mediaProperties33 === void 0 ? void 0 : _this$mediaProperties33.iceConnectionState) || 'unknown'
|
|
7027
|
-
}, reachabilityMetrics),
|
|
7100
|
+
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7028
7101
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7029
7102
|
}));
|
|
7030
|
-
_context32.next =
|
|
7103
|
+
_context32.next = 65;
|
|
7031
7104
|
return this.cleanUpOnAddMediaFailure();
|
|
7032
|
-
case
|
|
7105
|
+
case 65:
|
|
7033
7106
|
// Upload logs on error while adding media
|
|
7034
7107
|
_triggerProxy.default.trigger(this, {
|
|
7035
7108
|
file: 'meeting/index',
|
|
@@ -7041,15 +7114,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7041
7114
|
});
|
|
7042
7115
|
}
|
|
7043
7116
|
throw _context32.t0;
|
|
7044
|
-
case
|
|
7045
|
-
_context32.prev =
|
|
7117
|
+
case 68:
|
|
7118
|
+
_context32.prev = 68;
|
|
7046
7119
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7047
|
-
return _context32.finish(
|
|
7048
|
-
case
|
|
7120
|
+
return _context32.finish(68);
|
|
7121
|
+
case 71:
|
|
7049
7122
|
case "end":
|
|
7050
7123
|
return _context32.stop();
|
|
7051
7124
|
}
|
|
7052
|
-
}, _callee32, this, [[18,
|
|
7125
|
+
}, _callee32, this, [[18, 50, 68, 71]]);
|
|
7053
7126
|
}));
|
|
7054
7127
|
function addMediaInternal(_x32, _x33, _x34) {
|
|
7055
7128
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -8543,29 +8616,57 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8543
8616
|
}], [{
|
|
8544
8617
|
key: "handleDeviceLogging",
|
|
8545
8618
|
value: (function () {
|
|
8546
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39() {
|
|
8619
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39(isAudioEnabled, isVideoEnabled) {
|
|
8547
8620
|
var devices;
|
|
8548
8621
|
return _regenerator.default.wrap(function _callee39$(_context39) {
|
|
8549
8622
|
while (1) switch (_context39.prev = _context39.next) {
|
|
8550
8623
|
case 0:
|
|
8551
8624
|
_context39.prev = 0;
|
|
8552
|
-
|
|
8625
|
+
devices = [];
|
|
8626
|
+
if (!(isVideoEnabled && isAudioEnabled)) {
|
|
8627
|
+
_context39.next = 8;
|
|
8628
|
+
break;
|
|
8629
|
+
}
|
|
8630
|
+
_context39.next = 5;
|
|
8553
8631
|
return (0, _mediaHelpers.getDevices)();
|
|
8554
|
-
case
|
|
8632
|
+
case 5:
|
|
8555
8633
|
devices = _context39.sent;
|
|
8634
|
+
_context39.next = 18;
|
|
8635
|
+
break;
|
|
8636
|
+
case 8:
|
|
8637
|
+
if (!isVideoEnabled) {
|
|
8638
|
+
_context39.next = 14;
|
|
8639
|
+
break;
|
|
8640
|
+
}
|
|
8641
|
+
_context39.next = 11;
|
|
8642
|
+
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.VIDEO_INPUT);
|
|
8643
|
+
case 11:
|
|
8644
|
+
devices = _context39.sent;
|
|
8645
|
+
_context39.next = 18;
|
|
8646
|
+
break;
|
|
8647
|
+
case 14:
|
|
8648
|
+
if (!isAudioEnabled) {
|
|
8649
|
+
_context39.next = 18;
|
|
8650
|
+
break;
|
|
8651
|
+
}
|
|
8652
|
+
_context39.next = 17;
|
|
8653
|
+
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.AUDIO_INPUT);
|
|
8654
|
+
case 17:
|
|
8655
|
+
devices = _context39.sent;
|
|
8656
|
+
case 18:
|
|
8556
8657
|
_util2.default.handleDeviceLogging(devices);
|
|
8557
|
-
_context39.next =
|
|
8658
|
+
_context39.next = 23;
|
|
8558
8659
|
break;
|
|
8559
|
-
case
|
|
8560
|
-
_context39.prev =
|
|
8660
|
+
case 21:
|
|
8661
|
+
_context39.prev = 21;
|
|
8561
8662
|
_context39.t0 = _context39["catch"](0);
|
|
8562
|
-
case
|
|
8663
|
+
case 23:
|
|
8563
8664
|
case "end":
|
|
8564
8665
|
return _context39.stop();
|
|
8565
8666
|
}
|
|
8566
|
-
}, _callee39, null, [[0,
|
|
8667
|
+
}, _callee39, null, [[0, 21]]);
|
|
8567
8668
|
}));
|
|
8568
|
-
function handleDeviceLogging() {
|
|
8669
|
+
function handleDeviceLogging(_x43, _x44) {
|
|
8569
8670
|
return _handleDeviceLogging.apply(this, arguments);
|
|
8570
8671
|
}
|
|
8571
8672
|
return handleDeviceLogging;
|