@webex/plugin-meetings 3.11.0-webex-services-ready.1 → 3.12.0-mobius-socket.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/dist/aiEnableRequest/index.js +184 -0
- package/dist/aiEnableRequest/index.js.map +1 -0
- package/dist/aiEnableRequest/utils.js +36 -0
- package/dist/aiEnableRequest/utils.js.map +1 -0
- package/dist/annotation/index.js +14 -5
- package/dist/annotation/index.js.map +1 -1
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/config.js +7 -2
- package/dist/config.js.map +1 -1
- package/dist/constants.js +28 -6
- package/dist/constants.js.map +1 -1
- package/dist/hashTree/constants.js +3 -1
- package/dist/hashTree/constants.js.map +1 -1
- package/dist/hashTree/hashTree.js +18 -0
- package/dist/hashTree/hashTree.js.map +1 -1
- package/dist/hashTree/hashTreeParser.js +868 -419
- package/dist/hashTree/hashTreeParser.js.map +1 -1
- package/dist/hashTree/types.js +4 -2
- package/dist/hashTree/types.js.map +1 -1
- package/dist/hashTree/utils.js +10 -0
- package/dist/hashTree/utils.js.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/interceptors/constant.js +12 -0
- package/dist/interceptors/constant.js.map +1 -0
- package/dist/interceptors/dataChannelAuthToken.js +290 -0
- package/dist/interceptors/dataChannelAuthToken.js.map +1 -0
- package/dist/interceptors/index.js +7 -0
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/utils.js +27 -0
- package/dist/interceptors/utils.js.map +1 -0
- package/dist/interpretation/index.js +2 -2
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +5 -3
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +522 -131
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +1 -0
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/locus-info/types.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.js +57 -1
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/media/properties.js +4 -2
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +7 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +1293 -929
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +50 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +133 -3
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +117 -48
- package/dist/meetings/index.js.map +1 -1
- package/dist/member/index.js +10 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +10 -0
- package/dist/member/util.js.map +1 -1
- package/dist/metrics/constants.js +6 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +9 -60
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +11 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +116 -2
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +0 -1
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/types/aiEnableRequest/index.d.ts +5 -0
- package/dist/types/aiEnableRequest/utils.d.ts +2 -0
- package/dist/types/config.d.ts +4 -0
- package/dist/types/constants.d.ts +23 -1
- package/dist/types/hashTree/constants.d.ts +1 -0
- package/dist/types/hashTree/hashTree.d.ts +7 -0
- package/dist/types/hashTree/hashTreeParser.d.ts +122 -14
- package/dist/types/hashTree/types.d.ts +3 -0
- package/dist/types/hashTree/utils.d.ts +6 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interceptors/constant.d.ts +5 -0
- package/dist/types/interceptors/dataChannelAuthToken.d.ts +43 -0
- package/dist/types/interceptors/index.d.ts +2 -1
- package/dist/types/interceptors/utils.d.ts +1 -0
- package/dist/types/locus-info/index.d.ts +60 -8
- package/dist/types/locus-info/types.d.ts +7 -0
- package/dist/types/media/MediaConnectionAwaiter.d.ts +10 -1
- package/dist/types/media/properties.d.ts +2 -1
- package/dist/types/meeting/in-meeting-actions.d.ts +6 -0
- package/dist/types/meeting/index.d.ts +72 -7
- package/dist/types/meeting/request.d.ts +16 -1
- package/dist/types/meeting/request.type.d.ts +5 -0
- package/dist/types/meeting/util.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +4 -2
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/member/util.d.ts +5 -0
- package/dist/types/metrics/constants.d.ts +5 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +0 -23
- package/dist/types/multistream/sendSlotManager.d.ts +23 -1
- package/dist/types/reactions/reactions.type.d.ts +1 -0
- package/dist/types/webinar/utils.d.ts +6 -0
- package/dist/webinar/index.js +438 -163
- package/dist/webinar/index.js.map +1 -1
- package/dist/webinar/utils.js +25 -0
- package/dist/webinar/utils.js.map +1 -0
- package/package.json +24 -23
- package/src/aiEnableRequest/README.md +84 -0
- package/src/aiEnableRequest/index.ts +170 -0
- package/src/aiEnableRequest/utils.ts +25 -0
- package/src/annotation/index.ts +27 -7
- package/src/config.ts +4 -0
- package/src/constants.ts +29 -1
- package/src/hashTree/constants.ts +1 -0
- package/src/hashTree/hashTree.ts +17 -0
- package/src/hashTree/hashTreeParser.ts +761 -260
- package/src/hashTree/types.ts +4 -0
- package/src/hashTree/utils.ts +9 -0
- package/src/index.ts +8 -1
- package/src/interceptors/constant.ts +6 -0
- package/src/interceptors/dataChannelAuthToken.ts +170 -0
- package/src/interceptors/index.ts +2 -1
- package/src/interceptors/utils.ts +16 -0
- package/src/interpretation/index.ts +2 -2
- package/src/locus-info/controlsUtils.ts +11 -0
- package/src/locus-info/index.ts +579 -113
- package/src/locus-info/selfUtils.ts +1 -0
- package/src/locus-info/types.ts +8 -0
- package/src/media/MediaConnectionAwaiter.ts +41 -1
- package/src/media/properties.ts +3 -1
- package/src/meeting/in-meeting-actions.ts +12 -0
- package/src/meeting/index.ts +372 -86
- package/src/meeting/request.ts +42 -0
- package/src/meeting/request.type.ts +6 -0
- package/src/meeting/util.ts +160 -2
- package/src/meetings/index.ts +157 -44
- package/src/member/index.ts +10 -0
- package/src/member/util.ts +12 -0
- package/src/metrics/constants.ts +6 -0
- package/src/multistream/mediaRequestManager.ts +4 -54
- package/src/multistream/remoteMediaManager.ts +13 -0
- package/src/multistream/sendSlotManager.ts +97 -3
- package/src/reactions/reactions.type.ts +1 -0
- package/src/reconnection-manager/index.ts +0 -1
- package/src/webinar/index.ts +265 -6
- package/src/webinar/utils.ts +16 -0
- package/test/unit/spec/aiEnableRequest/index.ts +981 -0
- package/test/unit/spec/aiEnableRequest/utils.ts +130 -0
- package/test/unit/spec/annotation/index.ts +69 -7
- package/test/unit/spec/hashTree/hashTree.ts +66 -0
- package/test/unit/spec/hashTree/hashTreeParser.ts +2321 -175
- package/test/unit/spec/interceptors/dataChannelAuthToken.ts +210 -0
- package/test/unit/spec/interceptors/utils.ts +75 -0
- package/test/unit/spec/locus-info/controlsUtils.js +29 -0
- package/test/unit/spec/locus-info/index.js +1134 -55
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +41 -1
- package/test/unit/spec/media/properties.ts +12 -3
- package/test/unit/spec/meeting/in-meeting-actions.ts +8 -2
- package/test/unit/spec/meeting/index.js +829 -121
- package/test/unit/spec/meeting/request.js +70 -0
- package/test/unit/spec/meeting/utils.js +438 -26
- package/test/unit/spec/meetings/index.js +653 -32
- package/test/unit/spec/member/index.js +28 -4
- package/test/unit/spec/member/util.js +65 -27
- package/test/unit/spec/multistream/mediaRequestManager.ts +2 -85
- package/test/unit/spec/multistream/remoteMediaManager.ts +30 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +135 -36
- package/test/unit/spec/reconnection-manager/index.js +4 -8
- package/test/unit/spec/webinar/index.ts +534 -37
- package/test/unit/spec/webinar/utils.ts +39 -0
package/dist/meeting/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
4
3
|
var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
5
4
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
6
5
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
7
6
|
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
8
7
|
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
9
8
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
9
|
+
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
10
10
|
var _Array$from = require("@babel/runtime-corejs2/core-js/array/from");
|
|
11
11
|
var _Symbol = require("@babel/runtime-corejs2/core-js/symbol");
|
|
12
12
|
var _Symbol$iterator = require("@babel/runtime-corejs2/core-js/symbol/iterator");
|
|
@@ -16,7 +16,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
16
16
|
value: true
|
|
17
17
|
});
|
|
18
18
|
exports.default = exports.ScreenShareFloorStatus = exports.MEDIA_UPDATE_TYPE = void 0;
|
|
19
|
-
|
|
19
|
+
exports.storeEventForDebugging = storeEventForDebugging;
|
|
20
20
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
21
21
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
22
22
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
@@ -24,6 +24,7 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"))
|
|
|
24
24
|
var _isNan = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/number/is-nan"));
|
|
25
25
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
26
26
|
var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
|
|
27
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
27
28
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
|
|
28
29
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
29
30
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
@@ -40,6 +41,7 @@ var _common = require("@webex/common");
|
|
|
40
41
|
var _commonTimers = require("@webex/common-timers");
|
|
41
42
|
var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
|
|
42
43
|
var _internalMediaCore = require("@webex/internal-media-core");
|
|
44
|
+
var _internalPluginLlm = require("@webex/internal-plugin-llm");
|
|
43
45
|
var _mediaHelpers = require("@webex/media-helpers");
|
|
44
46
|
var _internalPluginVoicea = require("@webex/internal-plugin-voicea");
|
|
45
47
|
var _webCapabilities = require("@webex/web-capabilities");
|
|
@@ -90,18 +92,19 @@ var _joinWebinarError = _interopRequireDefault(require("../common/errors/join-we
|
|
|
90
92
|
var _brbState = require("./brbState");
|
|
91
93
|
var _multistreamNotSupportedError = _interopRequireDefault(require("../common/errors/multistream-not-supported-error"));
|
|
92
94
|
var _joinForbiddenError = _interopRequireDefault(require("../common/errors/join-forbidden-error"));
|
|
95
|
+
var _aiEnableRequest = _interopRequireDefault(require("../aiEnableRequest"));
|
|
93
96
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && r[_Symbol$iterator] || r["@@iterator"]; if (!t) { if (_Array$isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, 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 o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
94
97
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
95
98
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
96
|
-
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; }
|
|
97
|
-
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; }
|
|
98
99
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
99
100
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
100
101
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
101
102
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
102
103
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
103
104
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
104
|
-
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
105
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
106
|
+
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; }
|
|
107
|
+
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; } // @ts-ignore - Fix this
|
|
105
108
|
// @ts-ignore - Types not available for @webex/common
|
|
106
109
|
// default callback so we don't call an undefined function, but in practice it should never be used
|
|
107
110
|
var DEFAULT_ICE_PHASE_CALLBACK = function DEFAULT_ICE_PHASE_CALLBACK() {
|
|
@@ -131,7 +134,6 @@ var ScreenShareFloorStatus = exports.ScreenShareFloorStatus = /*#__PURE__*/funct
|
|
|
131
134
|
ScreenShareFloorStatus["RELEASED"] = "floor_released";
|
|
132
135
|
return ScreenShareFloorStatus;
|
|
133
136
|
}({});
|
|
134
|
-
var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
135
137
|
/**
|
|
136
138
|
* MediaDirection
|
|
137
139
|
* @typedef {Object} MediaDirection
|
|
@@ -143,12 +145,14 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
143
145
|
* @property {boolean} receiveShare
|
|
144
146
|
* @property {boolean} isSharing
|
|
145
147
|
*/
|
|
148
|
+
|
|
146
149
|
/**
|
|
147
150
|
* SharePreferences
|
|
148
151
|
* @typedef {Object} SharePreferences
|
|
149
152
|
* @property {Object} [shareConstraints]
|
|
150
153
|
* @property {Boolean} [highFrameRate]
|
|
151
154
|
*/
|
|
155
|
+
|
|
152
156
|
/**
|
|
153
157
|
* JoinOptions
|
|
154
158
|
* @typedef {Object} JoinOptions
|
|
@@ -160,12 +164,14 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
160
164
|
* @property {Boolean} [rejoin]
|
|
161
165
|
* @property {Boolean} [enableMultistream]
|
|
162
166
|
*/
|
|
167
|
+
|
|
163
168
|
/**
|
|
164
169
|
* Recording
|
|
165
170
|
* @typedef {Object} Recording
|
|
166
171
|
* @property {Object} state
|
|
167
172
|
* @property {String} modifiedBy
|
|
168
173
|
*/
|
|
174
|
+
|
|
169
175
|
/**
|
|
170
176
|
* Meeting State Change Event
|
|
171
177
|
* Emitted when ever there is a meeting state change
|
|
@@ -176,6 +182,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
176
182
|
* @property {String} previousState previous state of the meeting
|
|
177
183
|
* @memberof Meeting
|
|
178
184
|
*/
|
|
185
|
+
|
|
179
186
|
/**
|
|
180
187
|
* Media Ready Event
|
|
181
188
|
* Emitted when a stream is ready to be rendered
|
|
@@ -186,6 +193,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
186
193
|
* @property {String} type what type of stream, remote, local
|
|
187
194
|
* @memberof Meeting
|
|
188
195
|
*/
|
|
196
|
+
|
|
189
197
|
/**
|
|
190
198
|
* Media Stopped Event
|
|
191
199
|
* Emitted when a stream has stopped sending
|
|
@@ -195,6 +203,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
195
203
|
* @property {String} type what type of stream, remote, local
|
|
196
204
|
* @memberof Meeting
|
|
197
205
|
*/
|
|
206
|
+
|
|
198
207
|
/**
|
|
199
208
|
* Meeting Ringing Event
|
|
200
209
|
* Emitted when this client should play a ringing sound, because this member is getting an incoming meeting
|
|
@@ -206,6 +215,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
206
215
|
* @property {String} id
|
|
207
216
|
* @memberof Meeting
|
|
208
217
|
*/
|
|
218
|
+
|
|
209
219
|
/**
|
|
210
220
|
* Meeting Ringing Stop Event
|
|
211
221
|
* Emitted when this client should stop playing a ringing sound
|
|
@@ -218,6 +228,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
218
228
|
* @property {String} id
|
|
219
229
|
* @memberof Meeting
|
|
220
230
|
*/
|
|
231
|
+
|
|
221
232
|
/**
|
|
222
233
|
* Meeting Started Sharing Local Event
|
|
223
234
|
* Emitted when this member starts sharing
|
|
@@ -226,6 +237,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
226
237
|
* @type {Object}
|
|
227
238
|
* @memberof Meeting
|
|
228
239
|
*/
|
|
240
|
+
|
|
229
241
|
/**
|
|
230
242
|
* Meeting Stopped Sharing Local Event
|
|
231
243
|
* Emitted when this member stops sharing
|
|
@@ -234,6 +246,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
234
246
|
* @type {Object}
|
|
235
247
|
* @memberof Meeting
|
|
236
248
|
*/
|
|
249
|
+
|
|
237
250
|
/**
|
|
238
251
|
* Meeting Started Sharing Remote Event
|
|
239
252
|
* Emitted when remote sharing starts
|
|
@@ -247,6 +260,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
247
260
|
* @memberof Meeting
|
|
248
261
|
*
|
|
249
262
|
*/
|
|
263
|
+
|
|
250
264
|
/**
|
|
251
265
|
* Meeting Stopped Sharing Remote Event
|
|
252
266
|
* Emitted when remote screen sharing ends
|
|
@@ -255,6 +269,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
255
269
|
* @type {Object}
|
|
256
270
|
* @memberof Meeting
|
|
257
271
|
*/
|
|
272
|
+
|
|
258
273
|
/**
|
|
259
274
|
* Meeting Locked Event
|
|
260
275
|
* Emitted when a meeting is locked
|
|
@@ -264,6 +279,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
264
279
|
* @property {Object} info
|
|
265
280
|
* @memberof Meeting
|
|
266
281
|
*/
|
|
282
|
+
|
|
267
283
|
/**
|
|
268
284
|
* Meeting Unlocked Event
|
|
269
285
|
* Emitted when a meeting is unlocked
|
|
@@ -273,6 +289,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
273
289
|
* @property {Object} info
|
|
274
290
|
* @memberof Meeting
|
|
275
291
|
*/
|
|
292
|
+
|
|
276
293
|
/**
|
|
277
294
|
* Meeting Actions Update Event
|
|
278
295
|
* Emitted when a user can take actions on a meeting such as lock, unlock, assign host
|
|
@@ -284,6 +301,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
284
301
|
* @property {Boolean} canAssignHost
|
|
285
302
|
* @memberof Meeting
|
|
286
303
|
*/
|
|
304
|
+
|
|
287
305
|
/**
|
|
288
306
|
* Meeting Unmuted By Others Event
|
|
289
307
|
* Emitted when a member is unmuted by another member
|
|
@@ -293,6 +311,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
293
311
|
* @property {Object} payload
|
|
294
312
|
* @memberof Meeting
|
|
295
313
|
*/
|
|
314
|
+
|
|
296
315
|
/**
|
|
297
316
|
* Meeting Muted By Others Event
|
|
298
317
|
* Emitted when a member is muted by another member
|
|
@@ -303,6 +322,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
303
322
|
* @property {Boolean} payload.unmuteAllowed - whether the user is allowed to unmute self
|
|
304
323
|
* @memberof Meeting
|
|
305
324
|
*/
|
|
325
|
+
|
|
306
326
|
/**
|
|
307
327
|
* Meeting Muted By Others Event
|
|
308
328
|
* Emitted when the host(moderator)/co-host requests a user to unmute
|
|
@@ -312,6 +332,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
312
332
|
* @property {Object} payload
|
|
313
333
|
* @memberof Meeting
|
|
314
334
|
*/
|
|
335
|
+
|
|
315
336
|
/**
|
|
316
337
|
* Meeting Self Guest Admitted Event
|
|
317
338
|
* Emitted when a joined user get admitted to the meeting by another member or host
|
|
@@ -321,6 +342,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
321
342
|
* @property {Object} payload
|
|
322
343
|
* @memberof Meeting
|
|
323
344
|
*/
|
|
345
|
+
|
|
324
346
|
/**
|
|
325
347
|
* Meeting Self Lobby Waiting Event
|
|
326
348
|
* Emitted when joined user enters the lobby and is waiting for the webex meeting to begin
|
|
@@ -330,6 +352,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
330
352
|
* @property {Object} reason Reason why user left the meeting
|
|
331
353
|
* @memberof Meeting
|
|
332
354
|
*/
|
|
355
|
+
|
|
333
356
|
/**
|
|
334
357
|
* Meeting Self Left State
|
|
335
358
|
* Emitted when user is inactive for more then 40 seconds, User can rejoin the meeting again
|
|
@@ -339,6 +362,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
339
362
|
* @property {Object} payload
|
|
340
363
|
* @memberof Meeting
|
|
341
364
|
*/
|
|
365
|
+
|
|
342
366
|
/**
|
|
343
367
|
* Reconnection Starting Event
|
|
344
368
|
* Emitted when reconnection of media to the active meeting was successful
|
|
@@ -346,6 +370,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
346
370
|
* @instance
|
|
347
371
|
* @memberof Meeting
|
|
348
372
|
*/
|
|
373
|
+
|
|
349
374
|
/**
|
|
350
375
|
* Reconnection Success Event
|
|
351
376
|
* Emitted when reconnection of media to the active meeting was successful
|
|
@@ -355,6 +380,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
355
380
|
* @property {Object} reconnect
|
|
356
381
|
* @memberof Meeting
|
|
357
382
|
*/
|
|
383
|
+
|
|
358
384
|
/**
|
|
359
385
|
* Reconnection Failure Event
|
|
360
386
|
* Emitted when reconnection of media to the active meeting was successful
|
|
@@ -364,6 +390,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
364
390
|
* @property {Error} error
|
|
365
391
|
* @memberof Meeting
|
|
366
392
|
*/
|
|
393
|
+
|
|
367
394
|
/**
|
|
368
395
|
* Meeting network quality event
|
|
369
396
|
* Emitted on each interval of retrieving stats Analyzer data
|
|
@@ -373,11 +400,33 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
373
400
|
* @property {number} networkQualityScore - {1|0} 1 indicates acceptable uplink 0 indicates unacceptable uplink based on threshold
|
|
374
401
|
* @memberof Meeting
|
|
375
402
|
*/
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Stores an event so all events can be later retrieved via a console command for debugging.
|
|
406
|
+
* @param {string} type
|
|
407
|
+
* @param {Object} data
|
|
408
|
+
* @returns {void}
|
|
409
|
+
*/
|
|
410
|
+
function storeEventForDebugging(type, data) {
|
|
411
|
+
var _window;
|
|
412
|
+
if ((_window = window) !== null && _window !== void 0 && _window.locusEvents) {
|
|
413
|
+
var _data$stateElementsMe;
|
|
414
|
+
// only store non-heartbeat hash tree messages
|
|
415
|
+
if (data.eventType === _constants.LOCUSEVENT.HASH_TREE_DATA_UPDATED && (_data$stateElementsMe = data.stateElementsMessage) !== null && _data$stateElementsMe !== void 0 && _data$stateElementsMe.locusStateElements) {
|
|
416
|
+
window.locusEvents.push(_objectSpread(_objectSpread({}, data), {}, {
|
|
417
|
+
timestamp: new Date().toLocaleString(),
|
|
418
|
+
type: type
|
|
419
|
+
}));
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
|
|
376
424
|
/**
|
|
377
425
|
* @description Meeting is the crux of the plugin
|
|
378
426
|
* @export
|
|
379
427
|
* @class Meeting
|
|
380
428
|
*/
|
|
429
|
+
var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
381
430
|
var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
382
431
|
/**
|
|
383
432
|
* @param {Object} attrs
|
|
@@ -387,7 +436,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
387
436
|
* @memberof Meeting
|
|
388
437
|
*/
|
|
389
438
|
function Meeting(attrs, _options, callback) {
|
|
390
|
-
var _attrs$callStateForMe, _attrs$callStateForMe2, _this$
|
|
439
|
+
var _attrs$callStateForMe, _attrs$callStateForMe2, _this$locusInfo2, _this$locusInfo2$link, _this$locusInfo2$link2, _this$locusInfo2$link3, _this$locusInfo3, _this$locusInfo3$full, _this$locusInfo4, _this$locusInfo5;
|
|
391
440
|
var _this;
|
|
392
441
|
(0, _classCallCheck2.default)(this, Meeting);
|
|
393
442
|
_this = _callSuper(this, Meeting, [{}, _options]);
|
|
@@ -403,6 +452,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
403
452
|
(0, _defineProperty3.default)(_this, "breakouts", void 0);
|
|
404
453
|
(0, _defineProperty3.default)(_this, "simultaneousInterpretation", void 0);
|
|
405
454
|
(0, _defineProperty3.default)(_this, "annotation", void 0);
|
|
455
|
+
(0, _defineProperty3.default)(_this, "aiEnableRequest", void 0);
|
|
406
456
|
(0, _defineProperty3.default)(_this, "webinar", void 0);
|
|
407
457
|
(0, _defineProperty3.default)(_this, "conversationUrl", void 0);
|
|
408
458
|
(0, _defineProperty3.default)(_this, "callStateForMetrics", void 0);
|
|
@@ -452,6 +502,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
452
502
|
(0, _defineProperty3.default)(_this, "keepAliveTimerId", void 0);
|
|
453
503
|
(0, _defineProperty3.default)(_this, "lastVideoLayoutInfo", void 0);
|
|
454
504
|
(0, _defineProperty3.default)(_this, "locusInfo", void 0);
|
|
505
|
+
// this group of properties is populated via updateMeetingObject() that's registered as a callback with LocusInfo
|
|
506
|
+
(0, _defineProperty3.default)(_this, "isUserUnadmitted", void 0);
|
|
507
|
+
(0, _defineProperty3.default)(_this, "joinedWith", void 0);
|
|
508
|
+
(0, _defineProperty3.default)(_this, "selfId", void 0);
|
|
509
|
+
(0, _defineProperty3.default)(_this, "roles", void 0);
|
|
510
|
+
// ... there is more ... see SelfUtils.parse()
|
|
511
|
+
// end of the group
|
|
455
512
|
(0, _defineProperty3.default)(_this, "locusMediaRequest", void 0);
|
|
456
513
|
(0, _defineProperty3.default)(_this, "mediaProperties", void 0);
|
|
457
514
|
(0, _defineProperty3.default)(_this, "mediaRequestManagers", void 0);
|
|
@@ -480,7 +537,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
480
537
|
(0, _defineProperty3.default)(_this, "endCallInitJoinReq", void 0);
|
|
481
538
|
(0, _defineProperty3.default)(_this, "endJoinReqResp", void 0);
|
|
482
539
|
(0, _defineProperty3.default)(_this, "endLocalSDPGenRemoteSDPRecvDelay", void 0);
|
|
483
|
-
(0, _defineProperty3.default)(_this, "joinedWith", void 0);
|
|
484
540
|
(0, _defineProperty3.default)(_this, "locusId", void 0);
|
|
485
541
|
(0, _defineProperty3.default)(_this, "startCallInitJoinReq", void 0);
|
|
486
542
|
(0, _defineProperty3.default)(_this, "startJoinReqResp", void 0);
|
|
@@ -495,12 +551,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
495
551
|
(0, _defineProperty3.default)(_this, "permissionTokenReceivedLocalTime", void 0);
|
|
496
552
|
(0, _defineProperty3.default)(_this, "resourceId", void 0);
|
|
497
553
|
(0, _defineProperty3.default)(_this, "resourceUrl", void 0);
|
|
498
|
-
(0, _defineProperty3.default)(_this, "selfId", void 0);
|
|
499
554
|
(0, _defineProperty3.default)(_this, "state", void 0);
|
|
500
555
|
(0, _defineProperty3.default)(_this, "localAudioStreamMuteStateHandler", void 0);
|
|
501
556
|
(0, _defineProperty3.default)(_this, "localVideoStreamMuteStateHandler", void 0);
|
|
502
557
|
(0, _defineProperty3.default)(_this, "localOutputTrackChangeHandler", void 0);
|
|
503
|
-
(0, _defineProperty3.default)(_this, "
|
|
558
|
+
(0, _defineProperty3.default)(_this, "localConstraintsChangeHandler", void 0);
|
|
504
559
|
(0, _defineProperty3.default)(_this, "environment", void 0);
|
|
505
560
|
(0, _defineProperty3.default)(_this, "namespace", _constants.MEETINGS);
|
|
506
561
|
(0, _defineProperty3.default)(_this, "allowMediaInLobby", void 0);
|
|
@@ -570,6 +625,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
570
625
|
*/
|
|
571
626
|
(0, _defineProperty3.default)(_this, "processLocusLLMEvent", function (event) {
|
|
572
627
|
if (event.data.eventType === _constants.LOCUSEVENT.HASH_TREE_DATA_UPDATED) {
|
|
628
|
+
// @ts-ignore
|
|
629
|
+
if (_this.config.experimental.storeLocusHashTreeEventsForDebugging) {
|
|
630
|
+
storeEventForDebugging('llm', event.data);
|
|
631
|
+
}
|
|
573
632
|
_this.locusInfo.parse(_this, event.data);
|
|
574
633
|
} else {
|
|
575
634
|
_loggerProxy.default.logger.warn("Meeting:index#processLocusLLMEvent --> Unknown event type: ".concat(event.data.eventType));
|
|
@@ -587,13 +646,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
587
646
|
if (
|
|
588
647
|
// @ts-ignore - config coming from registerPlugin
|
|
589
648
|
(_this.config.receiveReactions || options.receiveReactions) && _this.isReactionsSupported()) {
|
|
649
|
+
var _this$locusInfo, _this$locusInfo$info;
|
|
590
650
|
var member = _this.members.membersCollection.get(e.data.sender.participantId);
|
|
591
|
-
if (!member) {
|
|
651
|
+
if (!member && !((_this$locusInfo = _this.locusInfo) !== null && _this$locusInfo !== void 0 && (_this$locusInfo$info = _this$locusInfo.info) !== null && _this$locusInfo$info !== void 0 && _this$locusInfo$info.isWebinar)) {
|
|
592
652
|
// @ts-ignore -- fix type
|
|
593
653
|
_loggerProxy.default.logger.warn("Meeting:index#processRelayEvent --> Skipping handling of ".concat(_constants3.REACTION_RELAY_TYPES.REACTION, " for ").concat(_this.id, ". participantId ").concat(e.data.sender.participantId, " does not exist in membersCollection."));
|
|
594
654
|
break;
|
|
595
655
|
}
|
|
596
|
-
var name = member.name;
|
|
656
|
+
var name = member && member.name || e.data.sender.displayName;
|
|
597
657
|
var processedReaction = {
|
|
598
658
|
reaction: e.data.reaction,
|
|
599
659
|
sender: {
|
|
@@ -619,13 +679,67 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
619
679
|
* @returns {null}
|
|
620
680
|
*/
|
|
621
681
|
(0, _defineProperty3.default)(_this, "handleLLMOnline", function () {
|
|
622
|
-
|
|
623
|
-
_this.webex.internal.llm.off('online', _this.handleLLMOnline);
|
|
682
|
+
_this.restoreLLMSubscriptionsIfNeeded();
|
|
624
683
|
_triggerProxy.default.trigger(_this, {
|
|
625
684
|
file: 'meeting/index',
|
|
626
685
|
function: 'handleLLMOnline'
|
|
627
686
|
}, _constants.EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED, undefined);
|
|
628
687
|
});
|
|
688
|
+
/**
|
|
689
|
+
* Disconnects and cleans up the default LLM session listeners/timers.
|
|
690
|
+
* @param {Object} options
|
|
691
|
+
* @param {boolean} [options.removeOnlineListener=true] removes the one-time online listener
|
|
692
|
+
* @param {boolean} [options.throwOnError=true] rethrows disconnect errors when true
|
|
693
|
+
* @returns {Promise<void>}
|
|
694
|
+
*/
|
|
695
|
+
(0, _defineProperty3.default)(_this, "cleanupLLMConneciton", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
696
|
+
var _ref3,
|
|
697
|
+
_ref3$removeOnlineLis,
|
|
698
|
+
removeOnlineListener,
|
|
699
|
+
_ref3$throwOnError,
|
|
700
|
+
throwOnError,
|
|
701
|
+
_args = arguments,
|
|
702
|
+
_t;
|
|
703
|
+
return _regenerator.default.wrap(function (_context) {
|
|
704
|
+
while (1) switch (_context.prev = _context.next) {
|
|
705
|
+
case 0:
|
|
706
|
+
_ref3 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref3$removeOnlineLis = _ref3.removeOnlineListener, removeOnlineListener = _ref3$removeOnlineLis === void 0 ? true : _ref3$removeOnlineLis, _ref3$throwOnError = _ref3.throwOnError, throwOnError = _ref3$throwOnError === void 0 ? true : _ref3$throwOnError;
|
|
707
|
+
_context.prev = 1;
|
|
708
|
+
_context.next = 2;
|
|
709
|
+
return _this.webex.internal.llm.disconnectLLM({
|
|
710
|
+
code: 3050,
|
|
711
|
+
reason: 'done (permanent)'
|
|
712
|
+
});
|
|
713
|
+
case 2:
|
|
714
|
+
_context.next = 4;
|
|
715
|
+
break;
|
|
716
|
+
case 3:
|
|
717
|
+
_context.prev = 3;
|
|
718
|
+
_t = _context["catch"](1);
|
|
719
|
+
_loggerProxy.default.logger.error('Meeting:index#cleanupLLMConneciton --> Failed to disconnect default LLM session', _t);
|
|
720
|
+
if (!throwOnError) {
|
|
721
|
+
_context.next = 4;
|
|
722
|
+
break;
|
|
723
|
+
}
|
|
724
|
+
throw _t;
|
|
725
|
+
case 4:
|
|
726
|
+
_context.prev = 4;
|
|
727
|
+
if (removeOnlineListener) {
|
|
728
|
+
// @ts-ignore - Fix type
|
|
729
|
+
_this.webex.internal.llm.off('online', _this.handleLLMOnline);
|
|
730
|
+
}
|
|
731
|
+
// @ts-ignore - fix types
|
|
732
|
+
_this.webex.internal.llm.off('event:relay.event', _this.processRelayEvent);
|
|
733
|
+
// @ts-ignore - Fix type
|
|
734
|
+
_this.webex.internal.llm.off(_constants.LOCUS_LLM_EVENT, _this.processLocusLLMEvent);
|
|
735
|
+
_this.clearLLMHealthCheckTimer();
|
|
736
|
+
return _context.finish(4);
|
|
737
|
+
case 5:
|
|
738
|
+
case "end":
|
|
739
|
+
return _context.stop();
|
|
740
|
+
}
|
|
741
|
+
}, _callee, null, [[1, 3, 4, 5]]);
|
|
742
|
+
})));
|
|
629
743
|
/**
|
|
630
744
|
* Handles ROAP_FAILURE event from the webrtc media connection
|
|
631
745
|
*
|
|
@@ -811,8 +925,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
811
925
|
seq: event.roapMessage.seq,
|
|
812
926
|
tieBreaker: event.roapMessage.tieBreaker,
|
|
813
927
|
meeting: _this // or can pass meeting ID
|
|
814
|
-
}).then(function (
|
|
815
|
-
var roapAnswer =
|
|
928
|
+
}).then(function (_ref4) {
|
|
929
|
+
var roapAnswer = _ref4.roapAnswer;
|
|
816
930
|
if (roapAnswer) {
|
|
817
931
|
_loggerProxy.default.logger.log("".concat(LOG_HEADER, " received Roap ANSWER in http response"));
|
|
818
932
|
_this.roapMessageReceived(roapAnswer);
|
|
@@ -1215,32 +1329,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1215
1329
|
* @returns {Promise<void>}
|
|
1216
1330
|
*/
|
|
1217
1331
|
(0, _defineProperty3.default)(_this, "forceSendStatsReport", /*#__PURE__*/function () {
|
|
1218
|
-
var
|
|
1219
|
-
var callFrom, LOG_HEADER, _this$mediaProperties, _this$mediaProperties2,
|
|
1220
|
-
return _regenerator.default.wrap(function (
|
|
1221
|
-
while (1) switch (
|
|
1332
|
+
var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(_ref5) {
|
|
1333
|
+
var callFrom, LOG_HEADER, _this$mediaProperties, _this$mediaProperties2, _t2;
|
|
1334
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
1335
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1222
1336
|
case 0:
|
|
1223
|
-
callFrom =
|
|
1337
|
+
callFrom = _ref5.callFrom;
|
|
1224
1338
|
LOG_HEADER = "Meeting:index#forceSendStatsReport --> called from ".concat(callFrom, " : ");
|
|
1225
|
-
|
|
1226
|
-
|
|
1339
|
+
_context2.prev = 1;
|
|
1340
|
+
_context2.next = 2;
|
|
1227
1341
|
return (_this$mediaProperties = _this.mediaProperties) === null || _this$mediaProperties === void 0 ? void 0 : (_this$mediaProperties2 = _this$mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties2 === void 0 ? void 0 : _this$mediaProperties2.forceRtcMetricsSend();
|
|
1228
1342
|
case 2:
|
|
1229
1343
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " successfully uploaded available webrtc telemetry statistics"));
|
|
1230
|
-
|
|
1344
|
+
_context2.next = 4;
|
|
1231
1345
|
break;
|
|
1232
1346
|
case 3:
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to upload webrtc telemetry statistics: "),
|
|
1347
|
+
_context2.prev = 3;
|
|
1348
|
+
_t2 = _context2["catch"](1);
|
|
1349
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to upload webrtc telemetry statistics: "), _t2);
|
|
1236
1350
|
case 4:
|
|
1237
1351
|
case "end":
|
|
1238
|
-
return
|
|
1352
|
+
return _context2.stop();
|
|
1239
1353
|
}
|
|
1240
|
-
},
|
|
1354
|
+
}, _callee2, null, [[1, 3]]);
|
|
1241
1355
|
}));
|
|
1242
1356
|
return function (_x) {
|
|
1243
|
-
return
|
|
1357
|
+
return _ref6.apply(this, arguments);
|
|
1244
1358
|
};
|
|
1245
1359
|
}());
|
|
1246
1360
|
/**
|
|
@@ -1300,40 +1414,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1300
1414
|
* @memberof Meeting
|
|
1301
1415
|
* @returns {undefined}
|
|
1302
1416
|
*/
|
|
1303
|
-
(0, _defineProperty3.default)(_this, "handleShareAudioStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1304
|
-
var
|
|
1305
|
-
return _regenerator.default.wrap(function (
|
|
1306
|
-
while (1) switch (
|
|
1417
|
+
(0, _defineProperty3.default)(_this, "handleShareAudioStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
1418
|
+
var _t3;
|
|
1419
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
1420
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1307
1421
|
case 0:
|
|
1308
1422
|
_loggerProxy.default.logger.info("Meeting:index#handleShareAudioStreamEnded --> audio share stream ended");
|
|
1309
1423
|
// current share audio stream has ended, but there might be an active
|
|
1310
1424
|
// share video stream. we only leave from wireless share if share has
|
|
1311
1425
|
// completely ended, which means no share audio or video streams active
|
|
1312
1426
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareVideoStream)) {
|
|
1313
|
-
|
|
1427
|
+
_context3.next = 1;
|
|
1314
1428
|
break;
|
|
1315
1429
|
}
|
|
1316
1430
|
_this.leave({
|
|
1317
1431
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1318
1432
|
});
|
|
1319
|
-
|
|
1433
|
+
_context3.next = 4;
|
|
1320
1434
|
break;
|
|
1321
1435
|
case 1:
|
|
1322
|
-
|
|
1323
|
-
|
|
1436
|
+
_context3.prev = 1;
|
|
1437
|
+
_context3.next = 2;
|
|
1324
1438
|
return _this.unpublishStreams([_this.mediaProperties.shareAudioStream]);
|
|
1325
1439
|
case 2:
|
|
1326
|
-
|
|
1440
|
+
_context3.next = 4;
|
|
1327
1441
|
break;
|
|
1328
1442
|
case 3:
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
_loggerProxy.default.logger.log('Meeting:index#handleShareAudioStreamEnded --> Error stopping share: ',
|
|
1443
|
+
_context3.prev = 3;
|
|
1444
|
+
_t3 = _context3["catch"](1);
|
|
1445
|
+
_loggerProxy.default.logger.log('Meeting:index#handleShareAudioStreamEnded --> Error stopping share: ', _t3);
|
|
1332
1446
|
case 4:
|
|
1333
1447
|
case "end":
|
|
1334
|
-
return
|
|
1448
|
+
return _context3.stop();
|
|
1335
1449
|
}
|
|
1336
|
-
},
|
|
1450
|
+
}, _callee3, null, [[1, 3]]);
|
|
1337
1451
|
})));
|
|
1338
1452
|
/**
|
|
1339
1453
|
* Functionality for when a share video is muted or unmuted.
|
|
@@ -1365,42 +1479,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1365
1479
|
* @memberof Meeting
|
|
1366
1480
|
* @returns {undefined}
|
|
1367
1481
|
*/
|
|
1368
|
-
(0, _defineProperty3.default)(_this, "handleShareVideoStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1369
|
-
var
|
|
1370
|
-
return _regenerator.default.wrap(function (
|
|
1371
|
-
while (1) switch (
|
|
1482
|
+
(0, _defineProperty3.default)(_this, "handleShareVideoStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
1483
|
+
var _t4;
|
|
1484
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
1485
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1372
1486
|
case 0:
|
|
1373
1487
|
_loggerProxy.default.logger.info("Meeting:index#handleShareVideoStreamEnded --> video share stream ended");
|
|
1374
1488
|
// current share video stream has ended, but there might be an active
|
|
1375
1489
|
// share audio stream. we only leave from wireless share if share has
|
|
1376
1490
|
// completely ended, which means no share audio or video streams active
|
|
1377
1491
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareAudioStream)) {
|
|
1378
|
-
|
|
1492
|
+
_context4.next = 1;
|
|
1379
1493
|
break;
|
|
1380
1494
|
}
|
|
1381
1495
|
_this.leave({
|
|
1382
1496
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1383
1497
|
});
|
|
1384
|
-
|
|
1498
|
+
_context4.next = 4;
|
|
1385
1499
|
break;
|
|
1386
1500
|
case 1:
|
|
1387
|
-
|
|
1388
|
-
|
|
1501
|
+
_context4.prev = 1;
|
|
1502
|
+
_context4.next = 2;
|
|
1389
1503
|
return _this.unpublishStreams([_this.mediaProperties.shareVideoStream]);
|
|
1390
1504
|
case 2:
|
|
1391
|
-
|
|
1505
|
+
_context4.next = 4;
|
|
1392
1506
|
break;
|
|
1393
1507
|
case 3:
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
_loggerProxy.default.logger.log('Meeting:index#handleShareVideoStreamEnded --> Error stopping share: ',
|
|
1508
|
+
_context4.prev = 3;
|
|
1509
|
+
_t4 = _context4["catch"](1);
|
|
1510
|
+
_loggerProxy.default.logger.log('Meeting:index#handleShareVideoStreamEnded --> Error stopping share: ', _t4);
|
|
1397
1511
|
case 4:
|
|
1398
1512
|
_this.triggerStoppedSharing();
|
|
1399
1513
|
case 5:
|
|
1400
1514
|
case "end":
|
|
1401
|
-
return
|
|
1515
|
+
return _context4.stop();
|
|
1402
1516
|
}
|
|
1403
|
-
},
|
|
1517
|
+
}, _callee4, null, [[1, 3]]);
|
|
1404
1518
|
})));
|
|
1405
1519
|
/**
|
|
1406
1520
|
* Emits meeting:stoppedSharingLocal
|
|
@@ -1424,26 +1538,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1424
1538
|
* @public
|
|
1425
1539
|
* @memberof Meeting
|
|
1426
1540
|
*/
|
|
1427
|
-
(0, _defineProperty3.default)(_this, "clearMeetingData", function () {
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1541
|
+
(0, _defineProperty3.default)(_this, "clearMeetingData", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
1542
|
+
return _regenerator.default.wrap(function (_context5) {
|
|
1543
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1544
|
+
case 0:
|
|
1545
|
+
_this.audio = null;
|
|
1546
|
+
_this.video = null;
|
|
1547
|
+
_this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
1548
|
+
if (_this.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
|
|
1549
|
+
_this.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
|
|
1550
|
+
}
|
|
1551
|
+
_this.queuedMediaUpdates = [];
|
|
1552
|
+
_this.stopTranscription();
|
|
1553
|
+
_this.transcription = undefined;
|
|
1554
|
+
_this.annotation.deregisterEvents();
|
|
1555
|
+
_this.clearDataChannelToken();
|
|
1556
|
+
_context5.next = 1;
|
|
1557
|
+
return _this.cleanupLLMConneciton({
|
|
1558
|
+
throwOnError: false
|
|
1559
|
+
});
|
|
1560
|
+
case 1:
|
|
1561
|
+
case "end":
|
|
1562
|
+
return _context5.stop();
|
|
1563
|
+
}
|
|
1564
|
+
}, _callee5);
|
|
1565
|
+
})));
|
|
1447
1566
|
/**
|
|
1448
1567
|
* starts keepAlives being sent
|
|
1449
1568
|
* @returns {void}
|
|
@@ -1606,6 +1725,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1606
1725
|
_this.simultaneousInterpretation = new _interpretation.default({}, {
|
|
1607
1726
|
parent: _this.webex
|
|
1608
1727
|
});
|
|
1728
|
+
|
|
1729
|
+
// @ts-ignore
|
|
1730
|
+
_this.aiEnableRequest = new _aiEnableRequest.default({}, {
|
|
1731
|
+
parent: _this.webex
|
|
1732
|
+
});
|
|
1733
|
+
|
|
1609
1734
|
/**
|
|
1610
1735
|
* @instance
|
|
1611
1736
|
* @type {Annotation}
|
|
@@ -2185,9 +2310,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2185
2310
|
* @memberof Meeting
|
|
2186
2311
|
*/
|
|
2187
2312
|
_this.recordingController = new _recordingController.default(_this.meetingRequest, {
|
|
2188
|
-
serviceUrl: (_this$
|
|
2189
|
-
sessionId: (_this$
|
|
2190
|
-
locusUrl: (_this$
|
|
2313
|
+
serviceUrl: (_this$locusInfo2 = _this.locusInfo) === null || _this$locusInfo2 === void 0 ? void 0 : (_this$locusInfo2$link = _this$locusInfo2.links) === null || _this$locusInfo2$link === void 0 ? void 0 : (_this$locusInfo2$link2 = _this$locusInfo2$link.services) === null || _this$locusInfo2$link2 === void 0 ? void 0 : (_this$locusInfo2$link3 = _this$locusInfo2$link2.record) === null || _this$locusInfo2$link3 === void 0 ? void 0 : _this$locusInfo2$link3.url,
|
|
2314
|
+
sessionId: (_this$locusInfo3 = _this.locusInfo) === null || _this$locusInfo3 === void 0 ? void 0 : (_this$locusInfo3$full = _this$locusInfo3.fullState) === null || _this$locusInfo3$full === void 0 ? void 0 : _this$locusInfo3$full.sessionId,
|
|
2315
|
+
locusUrl: (_this$locusInfo4 = _this.locusInfo) === null || _this$locusInfo4 === void 0 ? void 0 : _this$locusInfo4.url,
|
|
2191
2316
|
displayHints: []
|
|
2192
2317
|
});
|
|
2193
2318
|
|
|
@@ -2199,7 +2324,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2199
2324
|
* @memberof Meeting
|
|
2200
2325
|
*/
|
|
2201
2326
|
_this.controlsOptionsManager = new _controlsOptionsManager.default(_this.meetingRequest, {
|
|
2202
|
-
locusUrl: (_this$
|
|
2327
|
+
locusUrl: (_this$locusInfo5 = _this.locusInfo) === null || _this$locusInfo5 === void 0 ? void 0 : _this$locusInfo5.url,
|
|
2203
2328
|
displayHints: []
|
|
2204
2329
|
});
|
|
2205
2330
|
_this.setUpLocusInfoListeners();
|
|
@@ -2228,6 +2353,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2228
2353
|
_this.updateTranscodedMediaConnection();
|
|
2229
2354
|
}
|
|
2230
2355
|
};
|
|
2356
|
+
_this.localConstraintsChangeHandler = function () {
|
|
2357
|
+
if (!_this.isMultistream) {
|
|
2358
|
+
var _this$mediaProperties6;
|
|
2359
|
+
(_this$mediaProperties6 = _this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties6 === void 0 ? void 0 : _this$mediaProperties6.updatePreferredBitrateKbps();
|
|
2360
|
+
}
|
|
2361
|
+
};
|
|
2231
2362
|
|
|
2232
2363
|
/**
|
|
2233
2364
|
* Promise that exists if SDP offer has been generated, and resolves once sdp answer is received.
|
|
@@ -2564,20 +2695,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2564
2695
|
}, {
|
|
2565
2696
|
key: "injectMeetingInfo",
|
|
2566
2697
|
value: (function () {
|
|
2567
|
-
var _injectMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2568
|
-
return _regenerator.default.wrap(function (
|
|
2569
|
-
while (1) switch (
|
|
2698
|
+
var _injectMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(meetingInfo, fetchParams, meetingLookupUrl) {
|
|
2699
|
+
return _regenerator.default.wrap(function (_context6) {
|
|
2700
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
2570
2701
|
case 0:
|
|
2571
|
-
|
|
2702
|
+
_context6.next = 1;
|
|
2572
2703
|
return this.prepForFetchMeetingInfo(fetchParams, 'injectMeetingInfo');
|
|
2573
2704
|
case 1:
|
|
2574
2705
|
this.parseMeetingInfo(meetingInfo, this.destination);
|
|
2575
2706
|
this.setMeetingInfo(meetingInfo, meetingLookupUrl);
|
|
2576
2707
|
case 2:
|
|
2577
2708
|
case "end":
|
|
2578
|
-
return
|
|
2709
|
+
return _context6.stop();
|
|
2579
2710
|
}
|
|
2580
|
-
},
|
|
2711
|
+
}, _callee6, this);
|
|
2581
2712
|
}));
|
|
2582
2713
|
function injectMeetingInfo(_x2, _x3, _x4) {
|
|
2583
2714
|
return _injectMeetingInfo.apply(this, arguments);
|
|
@@ -2596,15 +2727,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2596
2727
|
)
|
|
2597
2728
|
}, {
|
|
2598
2729
|
key: "prepForFetchMeetingInfo",
|
|
2599
|
-
value: function prepForFetchMeetingInfo(
|
|
2600
|
-
var
|
|
2601
|
-
password =
|
|
2602
|
-
|
|
2603
|
-
registrationId =
|
|
2604
|
-
|
|
2605
|
-
captchaCode =
|
|
2606
|
-
|
|
2607
|
-
extraParams =
|
|
2730
|
+
value: function prepForFetchMeetingInfo(_ref0, caller) {
|
|
2731
|
+
var _ref0$password = _ref0.password,
|
|
2732
|
+
password = _ref0$password === void 0 ? null : _ref0$password,
|
|
2733
|
+
_ref0$registrationId = _ref0.registrationId,
|
|
2734
|
+
registrationId = _ref0$registrationId === void 0 ? null : _ref0$registrationId,
|
|
2735
|
+
_ref0$captchaCode = _ref0.captchaCode,
|
|
2736
|
+
captchaCode = _ref0$captchaCode === void 0 ? null : _ref0$captchaCode,
|
|
2737
|
+
_ref0$extraParams = _ref0.extraParams,
|
|
2738
|
+
extraParams = _ref0$extraParams === void 0 ? {} : _ref0$extraParams;
|
|
2608
2739
|
// when fetch meeting info is called directly by the client, we want to clear out the random timer for sdk to do it
|
|
2609
2740
|
if (this.fetchMeetingInfoTimeoutId) {
|
|
2610
2741
|
clearTimeout(this.fetchMeetingInfoTimeoutId);
|
|
@@ -2628,18 +2759,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2628
2759
|
}, {
|
|
2629
2760
|
key: "fetchMeetingInfoInternal",
|
|
2630
2761
|
value: (function () {
|
|
2631
|
-
var _fetchMeetingInfoInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2632
|
-
var destination, destinationType,
|
|
2633
|
-
return _regenerator.default.wrap(function (
|
|
2634
|
-
while (1) switch (
|
|
2762
|
+
var _fetchMeetingInfoInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(_ref1) {
|
|
2763
|
+
var destination, destinationType, _ref1$password, password, _ref1$captchaCode, captchaCode, _ref1$extraParams, extraParams, _ref1$sendCAevents, sendCAevents, _ref1$registrationId, registrationId, _ref1$classificationI, classificationId, captchaInfo, info, _err$body, _err$body2, _t5;
|
|
2764
|
+
return _regenerator.default.wrap(function (_context7) {
|
|
2765
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
2635
2766
|
case 0:
|
|
2636
|
-
destination =
|
|
2637
|
-
|
|
2767
|
+
destination = _ref1.destination, destinationType = _ref1.destinationType, _ref1$password = _ref1.password, password = _ref1$password === void 0 ? null : _ref1$password, _ref1$captchaCode = _ref1.captchaCode, captchaCode = _ref1$captchaCode === void 0 ? null : _ref1$captchaCode, _ref1$extraParams = _ref1.extraParams, extraParams = _ref1$extraParams === void 0 ? {} : _ref1$extraParams, _ref1$sendCAevents = _ref1.sendCAevents, sendCAevents = _ref1$sendCAevents === void 0 ? false : _ref1$sendCAevents, _ref1$registrationId = _ref1.registrationId, registrationId = _ref1$registrationId === void 0 ? null : _ref1$registrationId, _ref1$classificationI = _ref1.classificationId, classificationId = _ref1$classificationI === void 0 ? null : _ref1$classificationI;
|
|
2768
|
+
_context7.prev = 1;
|
|
2638
2769
|
captchaInfo = captchaCode ? {
|
|
2639
2770
|
code: captchaCode,
|
|
2640
2771
|
id: this.requiredCaptcha.captchaId
|
|
2641
2772
|
} : null;
|
|
2642
|
-
|
|
2773
|
+
_context7.next = 2;
|
|
2643
2774
|
return this.attrs.meetingInfoProvider.fetchMeetingInfo(destination, destinationType, password, captchaInfo,
|
|
2644
2775
|
// @ts-ignore - config coming from registerPlugin
|
|
2645
2776
|
this.config.installedOrgID, this.locusId, extraParams, {
|
|
@@ -2647,112 +2778,112 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2647
2778
|
sendCAevents: sendCAevents
|
|
2648
2779
|
}, registrationId, null, classificationId);
|
|
2649
2780
|
case 2:
|
|
2650
|
-
info =
|
|
2781
|
+
info = _context7.sent;
|
|
2651
2782
|
this.parseMeetingInfo(info === null || info === void 0 ? void 0 : info.body, this.destination, info === null || info === void 0 ? void 0 : info.errors);
|
|
2652
2783
|
this.setMeetingInfo(info === null || info === void 0 ? void 0 : info.body, info === null || info === void 0 ? void 0 : info.url);
|
|
2653
|
-
return
|
|
2784
|
+
return _context7.abrupt("return", _promise.default.resolve());
|
|
2654
2785
|
case 3:
|
|
2655
|
-
|
|
2656
|
-
|
|
2786
|
+
_context7.prev = 3;
|
|
2787
|
+
_t5 = _context7["catch"](1);
|
|
2657
2788
|
this.updateMeetingActions();
|
|
2658
|
-
if (!(
|
|
2659
|
-
|
|
2789
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2PolicyError)) {
|
|
2790
|
+
_context7.next = 4;
|
|
2660
2791
|
break;
|
|
2661
2792
|
}
|
|
2662
2793
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.POLICY;
|
|
2663
|
-
this.meetingInfoFailureCode =
|
|
2664
|
-
if (
|
|
2665
|
-
this.meetingInfo =
|
|
2794
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2795
|
+
if (_t5.meetingInfo) {
|
|
2796
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2666
2797
|
}
|
|
2667
2798
|
throw new _permission.default();
|
|
2668
2799
|
case 4:
|
|
2669
|
-
if (!(
|
|
2670
|
-
|
|
2800
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2JoinWebinarError)) {
|
|
2801
|
+
_context7.next = 5;
|
|
2671
2802
|
break;
|
|
2672
2803
|
}
|
|
2673
2804
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_REGISTRATION;
|
|
2674
|
-
if (_constants.WEBINAR_ERROR_WEBCAST.includes(
|
|
2805
|
+
if (_constants.WEBINAR_ERROR_WEBCAST.includes(_t5.wbxAppApiCode)) {
|
|
2675
2806
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NEED_JOIN_WITH_WEBCAST;
|
|
2676
|
-
} else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(
|
|
2807
|
+
} else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(_t5.wbxAppApiCode)) {
|
|
2677
2808
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_NEED_REGISTRATION_ID;
|
|
2678
2809
|
}
|
|
2679
|
-
this.meetingInfoFailureCode =
|
|
2680
|
-
if (
|
|
2681
|
-
this.meetingInfo =
|
|
2810
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2811
|
+
if (_t5.meetingInfo) {
|
|
2812
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2682
2813
|
}
|
|
2683
2814
|
this.requiredCaptcha = null;
|
|
2684
2815
|
throw new _joinWebinarError.default();
|
|
2685
2816
|
case 5:
|
|
2686
|
-
if (!(
|
|
2687
|
-
|
|
2817
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2JoinForbiddenError)) {
|
|
2818
|
+
_context7.next = 6;
|
|
2688
2819
|
break;
|
|
2689
2820
|
}
|
|
2690
2821
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.JOIN_FORBIDDEN;
|
|
2691
|
-
this.meetingInfoFailureCode =
|
|
2692
|
-
if (
|
|
2693
|
-
this.meetingInfo =
|
|
2822
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2823
|
+
if (_t5.meetingInfo) {
|
|
2824
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2694
2825
|
}
|
|
2695
2826
|
|
|
2696
2827
|
// Handle the case where user hasn't reached Join Before Host (JBH) time (error code 403003)
|
|
2697
|
-
if (_constants.JOIN_BEFORE_HOST ===
|
|
2828
|
+
if (_constants.JOIN_BEFORE_HOST === _t5.wbxAppApiCode) {
|
|
2698
2829
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NOT_REACH_JBH;
|
|
2699
2830
|
}
|
|
2700
|
-
throw new _joinForbiddenError.default(this.meetingInfoFailureReason,
|
|
2831
|
+
throw new _joinForbiddenError.default(this.meetingInfoFailureReason, _t5);
|
|
2701
2832
|
case 6:
|
|
2702
|
-
if (!(
|
|
2703
|
-
|
|
2833
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
|
|
2834
|
+
_context7.next = 8;
|
|
2704
2835
|
break;
|
|
2705
2836
|
}
|
|
2706
2837
|
_loggerProxy.default.logger.info(// @ts-ignore
|
|
2707
|
-
"Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - password required (code=").concat(
|
|
2838
|
+
"Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - password required (code=").concat(_t5 === null || _t5 === void 0 ? void 0 : (_err$body = _t5.body) === null || _err$body === void 0 ? void 0 : _err$body.code, ")."));
|
|
2708
2839
|
|
|
2709
2840
|
// when wbxappapi requires password it still populates partial meeting info in the response
|
|
2710
|
-
if (
|
|
2711
|
-
this.meetingInfo =
|
|
2712
|
-
this.meetingNumber =
|
|
2841
|
+
if (_t5.meetingInfo) {
|
|
2842
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2843
|
+
this.meetingNumber = _t5.meetingInfo.meetingNumber;
|
|
2713
2844
|
}
|
|
2714
|
-
this.meetingInfoFailureCode =
|
|
2845
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2715
2846
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2716
2847
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2717
2848
|
if (!this.requiredCaptcha) {
|
|
2718
|
-
|
|
2849
|
+
_context7.next = 7;
|
|
2719
2850
|
break;
|
|
2720
2851
|
}
|
|
2721
|
-
|
|
2852
|
+
_context7.next = 7;
|
|
2722
2853
|
return this.refreshCaptcha();
|
|
2723
2854
|
case 7:
|
|
2724
2855
|
throw new _passwordError.default();
|
|
2725
2856
|
case 8:
|
|
2726
|
-
if (!(
|
|
2727
|
-
|
|
2857
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
|
|
2858
|
+
_context7.next = 9;
|
|
2728
2859
|
break;
|
|
2729
2860
|
}
|
|
2730
2861
|
_loggerProxy.default.logger.info(// @ts-ignore
|
|
2731
|
-
"Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - captcha required (code=").concat(
|
|
2862
|
+
"Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - captcha required (code=").concat(_t5 === null || _t5 === void 0 ? void 0 : (_err$body2 = _t5.body) === null || _err$body2 === void 0 ? void 0 : _err$body2.code, ")."));
|
|
2732
2863
|
if (this.requiredCaptcha) {
|
|
2733
2864
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_CAPTCHA;
|
|
2734
|
-
} else if (
|
|
2865
|
+
} else if (_t5.isRegistrationIdRequired) {
|
|
2735
2866
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_REGISTRATION_ID;
|
|
2736
2867
|
} else {
|
|
2737
2868
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2738
2869
|
}
|
|
2739
|
-
this.meetingInfoFailureCode =
|
|
2740
|
-
if (
|
|
2870
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2871
|
+
if (_t5.isPasswordRequired) {
|
|
2741
2872
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2742
2873
|
}
|
|
2743
|
-
if (
|
|
2874
|
+
if (_t5.isRegistrationIdRequired) {
|
|
2744
2875
|
this.registrationIdStatus = _constants.REGISTRATION_ID_STATUS.REQUIRED;
|
|
2745
2876
|
}
|
|
2746
|
-
this.requiredCaptcha =
|
|
2877
|
+
this.requiredCaptcha = _t5.captchaInfo;
|
|
2747
2878
|
throw new _captchaError.default();
|
|
2748
2879
|
case 9:
|
|
2749
2880
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
|
|
2750
|
-
throw
|
|
2881
|
+
throw _t5;
|
|
2751
2882
|
case 10:
|
|
2752
2883
|
case "end":
|
|
2753
|
-
return
|
|
2884
|
+
return _context7.stop();
|
|
2754
2885
|
}
|
|
2755
|
-
},
|
|
2886
|
+
}, _callee7, this, [[1, 3]]);
|
|
2756
2887
|
}));
|
|
2757
2888
|
function fetchMeetingInfoInternal(_x5) {
|
|
2758
2889
|
return _fetchMeetingInfoInternal.apply(this, arguments);
|
|
@@ -2769,18 +2900,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2769
2900
|
}, {
|
|
2770
2901
|
key: "refreshPermissionToken",
|
|
2771
2902
|
value: (function () {
|
|
2772
|
-
var _refreshPermissionToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2903
|
+
var _refreshPermissionToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(reason) {
|
|
2773
2904
|
var _this$meetingInfo;
|
|
2774
|
-
var isStartingSpaceInstantV2Meeting, destination, destinationType, permissionTokenExpiryInfo, timeLeft, expiryTime, currentTime,
|
|
2775
|
-
return _regenerator.default.wrap(function (
|
|
2776
|
-
while (1) switch (
|
|
2905
|
+
var isStartingSpaceInstantV2Meeting, destination, destinationType, permissionTokenExpiryInfo, timeLeft, expiryTime, currentTime, _t6;
|
|
2906
|
+
return _regenerator.default.wrap(function (_context8) {
|
|
2907
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
2777
2908
|
case 0:
|
|
2778
2909
|
if ((_this$meetingInfo = this.meetingInfo) !== null && _this$meetingInfo !== void 0 && _this$meetingInfo.permissionToken) {
|
|
2779
|
-
|
|
2910
|
+
_context8.next = 1;
|
|
2780
2911
|
break;
|
|
2781
2912
|
}
|
|
2782
2913
|
_loggerProxy.default.logger.info("Meeting:index#refreshPermissionToken --> cannot refresh the permission token, because we don't have it (reason=".concat(reason, ")"));
|
|
2783
|
-
return
|
|
2914
|
+
return _context8.abrupt("return");
|
|
2784
2915
|
case 1:
|
|
2785
2916
|
isStartingSpaceInstantV2Meeting = this.destinationType === _constants.DESTINATION_TYPE.CONVERSATION_URL &&
|
|
2786
2917
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -2802,8 +2933,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2802
2933
|
reason: reason,
|
|
2803
2934
|
destinationType: destinationType
|
|
2804
2935
|
});
|
|
2805
|
-
|
|
2806
|
-
|
|
2936
|
+
_context8.prev = 2;
|
|
2937
|
+
_context8.next = 3;
|
|
2807
2938
|
return this.fetchMeetingInfoInternal({
|
|
2808
2939
|
destination: destination,
|
|
2809
2940
|
destinationType: destinationType,
|
|
@@ -2813,23 +2944,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2813
2944
|
sendCAevents: true // because if we're refreshing the permissionToken, it means that user is intending to join that meeting, so we want CA events
|
|
2814
2945
|
});
|
|
2815
2946
|
case 3:
|
|
2816
|
-
|
|
2947
|
+
_context8.next = 5;
|
|
2817
2948
|
break;
|
|
2818
2949
|
case 4:
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
_loggerProxy.default.logger.info('Meeting:index#refreshPermissionToken --> failed to refresh the permission token:',
|
|
2950
|
+
_context8.prev = 4;
|
|
2951
|
+
_t6 = _context8["catch"](2);
|
|
2952
|
+
_loggerProxy.default.logger.info('Meeting:index#refreshPermissionToken --> failed to refresh the permission token:', _t6);
|
|
2822
2953
|
_metrics.default.sendBehavioralMetric(_constants2.default.PERMISSION_TOKEN_REFRESH_ERROR, {
|
|
2823
2954
|
correlationId: this.correlationId,
|
|
2824
|
-
reason:
|
|
2825
|
-
stack:
|
|
2955
|
+
reason: _t6.message,
|
|
2956
|
+
stack: _t6.stack
|
|
2826
2957
|
});
|
|
2827
|
-
throw
|
|
2958
|
+
throw _t6;
|
|
2828
2959
|
case 5:
|
|
2829
2960
|
case "end":
|
|
2830
|
-
return
|
|
2961
|
+
return _context8.stop();
|
|
2831
2962
|
}
|
|
2832
|
-
},
|
|
2963
|
+
}, _callee8, this, [[2, 4]]);
|
|
2833
2964
|
}));
|
|
2834
2965
|
function refreshPermissionToken(_x6) {
|
|
2835
2966
|
return _refreshPermissionToken.apply(this, arguments);
|
|
@@ -2850,22 +2981,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2850
2981
|
}, {
|
|
2851
2982
|
key: "fetchMeetingInfo",
|
|
2852
2983
|
value: (function () {
|
|
2853
|
-
var _fetchMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2854
|
-
return _regenerator.default.wrap(function (
|
|
2855
|
-
while (1) switch (
|
|
2984
|
+
var _fetchMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(options) {
|
|
2985
|
+
return _regenerator.default.wrap(function (_context9) {
|
|
2986
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
2856
2987
|
case 0:
|
|
2857
|
-
|
|
2988
|
+
_context9.next = 1;
|
|
2858
2989
|
return this.prepForFetchMeetingInfo(options, 'fetchMeetingInfo');
|
|
2859
2990
|
case 1:
|
|
2860
|
-
return
|
|
2991
|
+
return _context9.abrupt("return", this.fetchMeetingInfoInternal(_objectSpread({
|
|
2861
2992
|
destination: this.destination,
|
|
2862
2993
|
destinationType: this.destinationType
|
|
2863
2994
|
}, options)));
|
|
2864
2995
|
case 2:
|
|
2865
2996
|
case "end":
|
|
2866
|
-
return
|
|
2997
|
+
return _context9.stop();
|
|
2867
2998
|
}
|
|
2868
|
-
},
|
|
2999
|
+
}, _callee9, this);
|
|
2869
3000
|
}));
|
|
2870
3001
|
function fetchMeetingInfo(_x7) {
|
|
2871
3002
|
return _fetchMeetingInfo.apply(this, arguments);
|
|
@@ -3391,10 +3522,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3391
3522
|
key: "setupLocusControlsListener",
|
|
3392
3523
|
value: function setupLocusControlsListener() {
|
|
3393
3524
|
var _this12 = this;
|
|
3394
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (
|
|
3395
|
-
var state =
|
|
3396
|
-
modifiedBy =
|
|
3397
|
-
lastModified =
|
|
3525
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (_ref10) {
|
|
3526
|
+
var state = _ref10.state,
|
|
3527
|
+
modifiedBy = _ref10.modifiedBy,
|
|
3528
|
+
lastModified = _ref10.lastModified;
|
|
3398
3529
|
var event;
|
|
3399
3530
|
switch (state) {
|
|
3400
3531
|
case _constants.RECORDING_STATE.RECORDING:
|
|
@@ -3425,8 +3556,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3425
3556
|
function: 'setupLocusControlsListener'
|
|
3426
3557
|
}, event, _this12.recording);
|
|
3427
3558
|
});
|
|
3428
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (
|
|
3429
|
-
var meetingContainerUrl =
|
|
3559
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (_ref11) {
|
|
3560
|
+
var meetingContainerUrl = _ref11.meetingContainerUrl;
|
|
3430
3561
|
_triggerProxy.default.trigger(_this12, {
|
|
3431
3562
|
file: 'meeting/index',
|
|
3432
3563
|
function: 'setupLocusControlsListener'
|
|
@@ -3434,9 +3565,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3434
3565
|
meetingContainerUrl: meetingContainerUrl
|
|
3435
3566
|
});
|
|
3436
3567
|
});
|
|
3437
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (
|
|
3438
|
-
var caption =
|
|
3439
|
-
transcribing =
|
|
3568
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (_ref12) {
|
|
3569
|
+
var caption = _ref12.caption,
|
|
3570
|
+
transcribing = _ref12.transcribing;
|
|
3440
3571
|
// user need to be joined to start the llm and receive transcription
|
|
3441
3572
|
if (_this12.isJoined()) {
|
|
3442
3573
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -3453,8 +3584,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3453
3584
|
}
|
|
3454
3585
|
}
|
|
3455
3586
|
});
|
|
3456
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (
|
|
3457
|
-
var spokenLanguage =
|
|
3587
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (_ref13) {
|
|
3588
|
+
var spokenLanguage = _ref13.spokenLanguage;
|
|
3458
3589
|
if (spokenLanguage) {
|
|
3459
3590
|
var _this12$transcription;
|
|
3460
3591
|
if ((_this12$transcription = _this12.transcription) !== null && _this12$transcription !== void 0 && _this12$transcription.languageOptions) {
|
|
@@ -3471,8 +3602,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3471
3602
|
});
|
|
3472
3603
|
}
|
|
3473
3604
|
});
|
|
3474
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (
|
|
3475
|
-
var enable =
|
|
3605
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (_ref14) {
|
|
3606
|
+
var enable = _ref14.enable;
|
|
3476
3607
|
_triggerProxy.default.trigger(_this12, {
|
|
3477
3608
|
file: 'meeting/index',
|
|
3478
3609
|
function: 'setupLocusControlsListener'
|
|
@@ -3480,31 +3611,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3480
3611
|
enable: enable
|
|
3481
3612
|
});
|
|
3482
3613
|
});
|
|
3483
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED, function (
|
|
3484
|
-
var hesiodLlmId =
|
|
3614
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED, function (_ref15) {
|
|
3615
|
+
var hesiodLlmId = _ref15.hesiodLlmId;
|
|
3485
3616
|
if (hesiodLlmId) {
|
|
3486
3617
|
// @ts-ignore
|
|
3487
3618
|
_this12.webex.internal.voicea.onCaptionServiceIdUpdate(hesiodLlmId);
|
|
3488
3619
|
}
|
|
3489
3620
|
});
|
|
3490
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (
|
|
3491
|
-
var breakout =
|
|
3621
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref16) {
|
|
3622
|
+
var breakout = _ref16.breakout;
|
|
3492
3623
|
_this12.breakouts.updateBreakout(breakout);
|
|
3493
3624
|
_triggerProxy.default.trigger(_this12, {
|
|
3494
3625
|
file: 'meeting/index',
|
|
3495
3626
|
function: 'setupLocusControlsListener'
|
|
3496
3627
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
3497
3628
|
});
|
|
3498
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (
|
|
3499
|
-
var interpretation =
|
|
3629
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref17) {
|
|
3630
|
+
var interpretation = _ref17.interpretation;
|
|
3500
3631
|
_this12.simultaneousInterpretation.updateInterpretation(interpretation);
|
|
3501
3632
|
_triggerProxy.default.trigger(_this12, {
|
|
3502
3633
|
file: 'meeting/index',
|
|
3503
3634
|
function: 'setupLocusControlsListener'
|
|
3504
3635
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
3505
3636
|
});
|
|
3506
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (
|
|
3507
|
-
var entryExitTone =
|
|
3637
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref18) {
|
|
3638
|
+
var entryExitTone = _ref18.entryExitTone;
|
|
3508
3639
|
_triggerProxy.default.trigger(_this12, {
|
|
3509
3640
|
file: 'meeting/index',
|
|
3510
3641
|
function: 'setupLocusControlsListener'
|
|
@@ -3512,8 +3643,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3512
3643
|
entryExitTone: entryExitTone
|
|
3513
3644
|
});
|
|
3514
3645
|
});
|
|
3515
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (
|
|
3516
|
-
var state =
|
|
3646
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref19) {
|
|
3647
|
+
var state = _ref19.state;
|
|
3517
3648
|
_triggerProxy.default.trigger(_this12, {
|
|
3518
3649
|
file: 'meeting/index',
|
|
3519
3650
|
function: 'setupLocusControlsListener'
|
|
@@ -3521,8 +3652,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3521
3652
|
state: state
|
|
3522
3653
|
});
|
|
3523
3654
|
});
|
|
3524
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (
|
|
3525
|
-
var state =
|
|
3655
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref20) {
|
|
3656
|
+
var state = _ref20.state;
|
|
3526
3657
|
_triggerProxy.default.trigger(_this12, {
|
|
3527
3658
|
file: 'meeting/index',
|
|
3528
3659
|
function: 'setupLocusControlsListener'
|
|
@@ -3530,8 +3661,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3530
3661
|
state: state
|
|
3531
3662
|
});
|
|
3532
3663
|
});
|
|
3533
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (
|
|
3534
|
-
var state =
|
|
3664
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref21) {
|
|
3665
|
+
var state = _ref21.state;
|
|
3535
3666
|
_triggerProxy.default.trigger(_this12, {
|
|
3536
3667
|
file: 'meeting/index',
|
|
3537
3668
|
function: 'setupLocusControlsListener'
|
|
@@ -3539,8 +3670,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3539
3670
|
state: state
|
|
3540
3671
|
});
|
|
3541
3672
|
});
|
|
3542
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (
|
|
3543
|
-
var state =
|
|
3673
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref22) {
|
|
3674
|
+
var state = _ref22.state;
|
|
3544
3675
|
_triggerProxy.default.trigger(_this12, {
|
|
3545
3676
|
file: 'meeting/index',
|
|
3546
3677
|
function: 'setupLocusControlsListener'
|
|
@@ -3548,8 +3679,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3548
3679
|
state: state
|
|
3549
3680
|
});
|
|
3550
3681
|
});
|
|
3551
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (
|
|
3552
|
-
var state =
|
|
3682
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref23) {
|
|
3683
|
+
var state = _ref23.state;
|
|
3553
3684
|
_triggerProxy.default.trigger(_this12, {
|
|
3554
3685
|
file: 'meeting/index',
|
|
3555
3686
|
function: 'setupLocusControlsListener'
|
|
@@ -3557,8 +3688,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3557
3688
|
state: state
|
|
3558
3689
|
});
|
|
3559
3690
|
});
|
|
3560
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (
|
|
3561
|
-
var state =
|
|
3691
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref24) {
|
|
3692
|
+
var state = _ref24.state;
|
|
3562
3693
|
_triggerProxy.default.trigger(_this12, {
|
|
3563
3694
|
file: 'meeting/index',
|
|
3564
3695
|
function: 'setupLocusControlsListener'
|
|
@@ -3566,8 +3697,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3566
3697
|
state: state
|
|
3567
3698
|
});
|
|
3568
3699
|
});
|
|
3569
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.
|
|
3570
|
-
var
|
|
3700
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED, function (_ref25) {
|
|
3701
|
+
var aiSummaryNotification = _ref25.aiSummaryNotification;
|
|
3702
|
+
_triggerProxy.default.trigger(_this12, {
|
|
3703
|
+
file: 'meeting/index',
|
|
3704
|
+
function: 'setupLocusControlsListener'
|
|
3705
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED, {
|
|
3706
|
+
aiSummaryNotification: aiSummaryNotification
|
|
3707
|
+
});
|
|
3708
|
+
});
|
|
3709
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref26) {
|
|
3710
|
+
var state = _ref26.state;
|
|
3571
3711
|
_triggerProxy.default.trigger(_this12, {
|
|
3572
3712
|
file: 'meeting/index',
|
|
3573
3713
|
function: 'setupLocusControlsListener'
|
|
@@ -3575,8 +3715,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3575
3715
|
state: state
|
|
3576
3716
|
});
|
|
3577
3717
|
});
|
|
3578
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (
|
|
3579
|
-
var state =
|
|
3718
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref27) {
|
|
3719
|
+
var state = _ref27.state;
|
|
3580
3720
|
_triggerProxy.default.trigger(_this12, {
|
|
3581
3721
|
file: 'meeting/index',
|
|
3582
3722
|
function: 'setupLocusControlsListener'
|
|
@@ -3584,8 +3724,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3584
3724
|
state: state
|
|
3585
3725
|
});
|
|
3586
3726
|
});
|
|
3587
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (
|
|
3588
|
-
var state =
|
|
3727
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref28) {
|
|
3728
|
+
var state = _ref28.state;
|
|
3589
3729
|
_this12.webinar.updatePracticeSessionStatus(state);
|
|
3590
3730
|
_triggerProxy.default.trigger(_this12, {
|
|
3591
3731
|
file: 'meeting/index',
|
|
@@ -3594,8 +3734,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3594
3734
|
state: state
|
|
3595
3735
|
});
|
|
3596
3736
|
});
|
|
3597
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (
|
|
3598
|
-
var state =
|
|
3737
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref29) {
|
|
3738
|
+
var state = _ref29.state;
|
|
3599
3739
|
_triggerProxy.default.trigger(_this12, {
|
|
3600
3740
|
file: 'meeting/index',
|
|
3601
3741
|
function: 'setupLocusControlsListener'
|
|
@@ -3603,8 +3743,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3603
3743
|
state: state
|
|
3604
3744
|
});
|
|
3605
3745
|
});
|
|
3606
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (
|
|
3607
|
-
var state =
|
|
3746
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref30) {
|
|
3747
|
+
var state = _ref30.state;
|
|
3608
3748
|
_triggerProxy.default.trigger(_this12, {
|
|
3609
3749
|
file: 'meeting/index',
|
|
3610
3750
|
function: 'setupLocusControlsListener'
|
|
@@ -3612,8 +3752,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3612
3752
|
state: state
|
|
3613
3753
|
});
|
|
3614
3754
|
});
|
|
3615
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (
|
|
3616
|
-
var state =
|
|
3755
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (_ref31) {
|
|
3756
|
+
var state = _ref31.state;
|
|
3617
3757
|
_triggerProxy.default.trigger(_this12, {
|
|
3618
3758
|
file: 'meeting/index',
|
|
3619
3759
|
function: 'setupLocusControlsListener'
|
|
@@ -3621,8 +3761,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3621
3761
|
state: state
|
|
3622
3762
|
});
|
|
3623
3763
|
});
|
|
3624
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (
|
|
3625
|
-
var state =
|
|
3764
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (_ref32) {
|
|
3765
|
+
var state = _ref32.state;
|
|
3626
3766
|
_triggerProxy.default.trigger(_this12, {
|
|
3627
3767
|
file: 'meeting/index',
|
|
3628
3768
|
function: 'setupLocusControlsListener'
|
|
@@ -3630,8 +3770,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3630
3770
|
state: state
|
|
3631
3771
|
});
|
|
3632
3772
|
});
|
|
3633
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (
|
|
3634
|
-
var state =
|
|
3773
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (_ref33) {
|
|
3774
|
+
var state = _ref33.state;
|
|
3635
3775
|
_triggerProxy.default.trigger(_this12, {
|
|
3636
3776
|
file: 'meeting/index',
|
|
3637
3777
|
function: 'setupLocusControlsListener'
|
|
@@ -3639,8 +3779,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3639
3779
|
state: state
|
|
3640
3780
|
});
|
|
3641
3781
|
});
|
|
3642
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (
|
|
3643
|
-
var state =
|
|
3782
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (_ref34) {
|
|
3783
|
+
var state = _ref34.state;
|
|
3644
3784
|
_triggerProxy.default.trigger(_this12, {
|
|
3645
3785
|
file: 'meeting/index',
|
|
3646
3786
|
function: 'setupLocusControlsListener'
|
|
@@ -3687,21 +3827,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3687
3827
|
var _this13 = this;
|
|
3688
3828
|
// Will get triggered on local and remote share
|
|
3689
3829
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
|
3690
|
-
var
|
|
3830
|
+
var _ref35 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(payload) {
|
|
3691
3831
|
var _payload$previous, _payload$previous2;
|
|
3692
|
-
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this13$locusInfo, _this13$locusInfo$inf, _this13$webinar, oldShareStatus, sendStartedSharingRemote, _this13$mediaProperti,
|
|
3693
|
-
return _regenerator.default.wrap(function (
|
|
3694
|
-
while (1) switch (
|
|
3832
|
+
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this13$locusInfo, _this13$locusInfo$inf, _this13$webinar, oldShareStatus, sendStartedSharingRemote, _this13$mediaProperti, _t7, _t8;
|
|
3833
|
+
return _regenerator.default.wrap(function (_context0) {
|
|
3834
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
3695
3835
|
case 0:
|
|
3696
3836
|
_payload$current = payload.current, contentShare = _payload$current.content, whiteboardShare = _payload$current.whiteboard;
|
|
3697
3837
|
previousContentShare = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
|
|
3698
3838
|
previousWhiteboardShare = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
|
|
3699
3839
|
_this13.triggerAnnotationInfoEvent(contentShare, previousContentShare);
|
|
3700
3840
|
if (!(!payload.forceUpdate && contentShare.beneficiaryId === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.beneficiaryId) && contentShare.disposition === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.disposition) && contentShare.deviceUrlSharing === previousContentShare.deviceUrlSharing && whiteboardShare.beneficiaryId === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.beneficiaryId) && whiteboardShare.disposition === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.disposition) && whiteboardShare.resourceUrl === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.resourceUrl) && contentShare.resourceType === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.resourceType))) {
|
|
3701
|
-
|
|
3841
|
+
_context0.next = 1;
|
|
3702
3842
|
break;
|
|
3703
3843
|
}
|
|
3704
|
-
return
|
|
3844
|
+
return _context0.abrupt("return");
|
|
3705
3845
|
case 1:
|
|
3706
3846
|
newShareStatus = _this13.shareStatus; // REMOTE - check if remote started sharing
|
|
3707
3847
|
if (_this13.selfId !== contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
|
|
@@ -3739,22 +3879,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3739
3879
|
}
|
|
3740
3880
|
_loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this13.shareStatus, " newShareStatus=").concat(newShareStatus));
|
|
3741
3881
|
if (!(newShareStatus !== _this13.shareStatus)) {
|
|
3742
|
-
|
|
3882
|
+
_context0.next = 17;
|
|
3743
3883
|
break;
|
|
3744
3884
|
}
|
|
3745
3885
|
oldShareStatus = _this13.shareStatus; // update our state before we send out any notifications
|
|
3746
3886
|
_this13.shareStatus = newShareStatus;
|
|
3747
3887
|
|
|
3748
3888
|
// send out "stop" notifications for the old state
|
|
3749
|
-
|
|
3750
|
-
|
|
3889
|
+
_t7 = oldShareStatus;
|
|
3890
|
+
_context0.next = _t7 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 2 : _t7 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 3 : _t7 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 4 : _t7 === _constants.SHARE_STATUS.NO_SHARE ? 5 : 6;
|
|
3751
3891
|
break;
|
|
3752
3892
|
case 2:
|
|
3753
3893
|
_triggerProxy.default.trigger(_this13, {
|
|
3754
3894
|
file: 'meetings/index',
|
|
3755
3895
|
function: 'remoteShare'
|
|
3756
3896
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
|
|
3757
|
-
return
|
|
3897
|
+
return _context0.abrupt("continue", 7);
|
|
3758
3898
|
case 3:
|
|
3759
3899
|
_triggerProxy.default.trigger(_this13, {
|
|
3760
3900
|
file: 'meeting/index',
|
|
@@ -3762,7 +3902,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3762
3902
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
3763
3903
|
reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
|
|
3764
3904
|
});
|
|
3765
|
-
return
|
|
3905
|
+
return _context0.abrupt("continue", 7);
|
|
3766
3906
|
case 4:
|
|
3767
3907
|
_triggerProxy.default.trigger(_this13, {
|
|
3768
3908
|
file: 'meeting/index',
|
|
@@ -3785,14 +3925,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3785
3925
|
meetingId: _this13.id
|
|
3786
3926
|
}
|
|
3787
3927
|
});
|
|
3788
|
-
return
|
|
3928
|
+
return _context0.abrupt("continue", 7);
|
|
3789
3929
|
case 5:
|
|
3790
|
-
return
|
|
3930
|
+
return _context0.abrupt("continue", 7);
|
|
3791
3931
|
case 6:
|
|
3792
|
-
return
|
|
3932
|
+
return _context0.abrupt("continue", 7);
|
|
3793
3933
|
case 7:
|
|
3794
|
-
|
|
3795
|
-
|
|
3934
|
+
_t8 = newShareStatus;
|
|
3935
|
+
_context0.next = _t8 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 8 : _t8 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 12 : _t8 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 13 : _t8 === _constants.SHARE_STATUS.NO_SHARE ? 14 : 15;
|
|
3796
3936
|
break;
|
|
3797
3937
|
case 8:
|
|
3798
3938
|
sendStartedSharingRemote = function sendStartedSharingRemote() {
|
|
@@ -3818,19 +3958,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3818
3958
|
resourceType: contentShare.resourceType
|
|
3819
3959
|
});
|
|
3820
3960
|
};
|
|
3821
|
-
|
|
3961
|
+
_context0.prev = 9;
|
|
3822
3962
|
if (!((_this13$mediaProperti = _this13.mediaProperties.mediaDirection) !== null && _this13$mediaProperti !== void 0 && _this13$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
|
|
3823
|
-
|
|
3963
|
+
_context0.next = 10;
|
|
3824
3964
|
break;
|
|
3825
3965
|
}
|
|
3826
|
-
|
|
3966
|
+
_context0.next = 10;
|
|
3827
3967
|
return _this13.unpublishStreams([_this13.mediaProperties.shareVideoStream, _this13.mediaProperties.shareAudioStream]);
|
|
3828
3968
|
case 10:
|
|
3829
|
-
|
|
3969
|
+
_context0.prev = 10;
|
|
3830
3970
|
sendStartedSharingRemote();
|
|
3831
|
-
return
|
|
3971
|
+
return _context0.finish(10);
|
|
3832
3972
|
case 11:
|
|
3833
|
-
return
|
|
3973
|
+
return _context0.abrupt("continue", 16);
|
|
3834
3974
|
case 12:
|
|
3835
3975
|
_triggerProxy.default.trigger(_this13, {
|
|
3836
3976
|
file: 'meeting/index',
|
|
@@ -3847,7 +3987,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3847
3987
|
meetingId: _this13.id
|
|
3848
3988
|
}
|
|
3849
3989
|
});
|
|
3850
|
-
return
|
|
3990
|
+
return _context0.abrupt("continue", 16);
|
|
3851
3991
|
case 13:
|
|
3852
3992
|
_triggerProxy.default.trigger(_this13, {
|
|
3853
3993
|
file: 'meeting/index',
|
|
@@ -3866,14 +4006,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3866
4006
|
meetingId: _this13.id
|
|
3867
4007
|
}
|
|
3868
4008
|
});
|
|
3869
|
-
return
|
|
4009
|
+
return _context0.abrupt("continue", 16);
|
|
3870
4010
|
case 14:
|
|
3871
|
-
return
|
|
4011
|
+
return _context0.abrupt("continue", 16);
|
|
3872
4012
|
case 15:
|
|
3873
|
-
return
|
|
4013
|
+
return _context0.abrupt("continue", 16);
|
|
3874
4014
|
case 16:
|
|
3875
4015
|
_this13.members.locusMediaSharesUpdate(payload);
|
|
3876
|
-
|
|
4016
|
+
_context0.next = 18;
|
|
3877
4017
|
break;
|
|
3878
4018
|
case 17:
|
|
3879
4019
|
if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
|
|
@@ -3917,12 +4057,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3917
4057
|
}
|
|
3918
4058
|
case 18:
|
|
3919
4059
|
case "end":
|
|
3920
|
-
return
|
|
4060
|
+
return _context0.stop();
|
|
3921
4061
|
}
|
|
3922
|
-
},
|
|
4062
|
+
}, _callee0, null, [[9,, 10, 11]]);
|
|
3923
4063
|
}));
|
|
3924
4064
|
return function (_x8) {
|
|
3925
|
-
return
|
|
4065
|
+
return _ref35.apply(this, arguments);
|
|
3926
4066
|
};
|
|
3927
4067
|
}());
|
|
3928
4068
|
}
|
|
@@ -3951,6 +4091,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3951
4091
|
_this14.recordingController.setLocusUrl(_this14.locusUrl);
|
|
3952
4092
|
_this14.controlsOptionsManager.setLocusUrl(_this14.locusUrl, !!isMainLocus);
|
|
3953
4093
|
_this14.webinar.locusUrlUpdate(url);
|
|
4094
|
+
// @ts-ignore
|
|
4095
|
+
_this14.webex.internal.llm.setRefreshHandler(function () {
|
|
4096
|
+
return _this14.refreshDataChannelToken();
|
|
4097
|
+
});
|
|
3954
4098
|
_triggerProxy.default.trigger(_this14, {
|
|
3955
4099
|
file: 'meeting/index',
|
|
3956
4100
|
function: 'setUpLocusSelfListener'
|
|
@@ -3974,12 +4118,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3974
4118
|
value: function setUpLocusServicesListener() {
|
|
3975
4119
|
var _this15 = this;
|
|
3976
4120
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_SERVICES, function (payload) {
|
|
3977
|
-
var _payload$services, _payload$services$rec, _this15$locusInfo, _this15$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap, _payload$services4, _payload$services4$ap;
|
|
4121
|
+
var _payload$services, _payload$services$rec, _this15$locusInfo, _this15$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap, _payload$services4, _payload$services4$ap, _payload$services5, _payload$services5$ap;
|
|
3978
4122
|
_this15.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);
|
|
3979
4123
|
_this15.recordingController.setSessionId((_this15$locusInfo = _this15.locusInfo) === null || _this15$locusInfo === void 0 ? void 0 : (_this15$locusInfo$ful = _this15$locusInfo.fullState) === null || _this15$locusInfo$ful === void 0 ? void 0 : _this15$locusInfo$ful.sessionId);
|
|
3980
4124
|
_this15.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);
|
|
3981
4125
|
_this15.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);
|
|
3982
4126
|
_this15.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);
|
|
4127
|
+
_this15.aiEnableRequest.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services5 = payload.services) === null || _payload$services5 === void 0 ? void 0 : (_payload$services5$ap = _payload$services5.approval) === null || _payload$services5$ap === void 0 ? void 0 : _payload$services5$ap.url);
|
|
3983
4128
|
});
|
|
3984
4129
|
}
|
|
3985
4130
|
|
|
@@ -4038,8 +4183,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4038
4183
|
});
|
|
4039
4184
|
}
|
|
4040
4185
|
});
|
|
4041
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
|
4042
|
-
var isInitializing =
|
|
4186
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref36) {
|
|
4187
|
+
var isInitializing = _ref36.isInitializing;
|
|
4043
4188
|
_this17.updateMeetingActions();
|
|
4044
4189
|
_this17.recordingController.setDisplayHints(_this17.userDisplayHints);
|
|
4045
4190
|
_this17.recordingController.setUserPolicy(_this17.selfUserPolicies);
|
|
@@ -4066,6 +4211,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4066
4211
|
// @ts-ignore - config coming from registerPlugin
|
|
4067
4212
|
if (datachannelUrl && this.config.enableAutomaticLLM) {
|
|
4068
4213
|
this.updateLLMConnection();
|
|
4214
|
+
if (this.webinar.isJoinPracticeSessionDataChannel()) {
|
|
4215
|
+
this.webinar.updatePSDataChannel();
|
|
4216
|
+
}
|
|
4069
4217
|
}
|
|
4070
4218
|
}
|
|
4071
4219
|
|
|
@@ -4176,44 +4324,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4176
4324
|
});
|
|
4177
4325
|
_this19.updateLLMConnection();
|
|
4178
4326
|
});
|
|
4179
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST,
|
|
4180
|
-
var
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
function: 'setUpLocusInfoSelfListener'
|
|
4190
|
-
}, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
|
|
4191
|
-
payload: payload
|
|
4192
|
-
});
|
|
4327
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, function (payload) {
|
|
4328
|
+
var _this19$rtcMetrics;
|
|
4329
|
+
_this19.stopKeepAlive();
|
|
4330
|
+
if (payload) {
|
|
4331
|
+
_triggerProxy.default.trigger(_this19, {
|
|
4332
|
+
file: 'meeting/index',
|
|
4333
|
+
function: 'setUpLocusInfoSelfListener'
|
|
4334
|
+
}, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
|
|
4335
|
+
payload: payload
|
|
4336
|
+
});
|
|
4193
4337
|
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
}
|
|
4200
|
-
});
|
|
4201
|
-
_metrics.default.sendBehavioralMetric(_constants2.default.GUEST_EXITED_LOBBY, {
|
|
4202
|
-
correlation_id: _this19.correlationId
|
|
4203
|
-
});
|
|
4204
|
-
}
|
|
4205
|
-
(_this19$rtcMetrics = _this19.rtcMetrics) === null || _this19$rtcMetrics === void 0 ? void 0 : _this19$rtcMetrics.sendNextMetrics();
|
|
4206
|
-
_this19.updateLLMConnection();
|
|
4207
|
-
case 1:
|
|
4208
|
-
case "end":
|
|
4209
|
-
return _context9.stop();
|
|
4338
|
+
// @ts-ignore
|
|
4339
|
+
_this19.webex.internal.newMetrics.submitClientEvent({
|
|
4340
|
+
name: 'client.lobby.exited',
|
|
4341
|
+
options: {
|
|
4342
|
+
meetingId: _this19.id
|
|
4210
4343
|
}
|
|
4211
|
-
}
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
}
|
|
4216
|
-
|
|
4344
|
+
});
|
|
4345
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.GUEST_EXITED_LOBBY, {
|
|
4346
|
+
correlation_id: _this19.correlationId
|
|
4347
|
+
});
|
|
4348
|
+
}
|
|
4349
|
+
(_this19$rtcMetrics = _this19.rtcMetrics) === null || _this19$rtcMetrics === void 0 ? void 0 : _this19$rtcMetrics.sendNextMetrics();
|
|
4350
|
+
_this19.ensureDefaultDatachannelTokenAfterAdmit().catch(function (error) {
|
|
4351
|
+
_loggerProxy.default.logger.warn("Meeting:index#setUpLocusInfoSelfListener --> failed post-admit token prefetch flow: ".concat((error === null || error === void 0 ? void 0 : error.message) || String(error)));
|
|
4352
|
+
});
|
|
4353
|
+
_this19.updateLLMConnection();
|
|
4354
|
+
});
|
|
4217
4355
|
|
|
4218
4356
|
// @ts-ignore - check if MEDIA_INACTIVITY exists
|
|
4219
4357
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, function () {
|
|
@@ -4263,6 +4401,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4263
4401
|
function: 'setUpLocusInfoSelfListener'
|
|
4264
4402
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
4265
4403
|
});
|
|
4404
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ID_CHANGED, function (payload) {
|
|
4405
|
+
_this19.aiEnableRequest.selfParticipantIdUpdate(payload.selfId);
|
|
4406
|
+
});
|
|
4266
4407
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
|
|
4267
4408
|
var targetChanged = _this19.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
4268
4409
|
_triggerProxy.default.trigger(_this19, {
|
|
@@ -4330,49 +4471,49 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4330
4471
|
}
|
|
4331
4472
|
});
|
|
4332
4473
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
4333
|
-
var
|
|
4334
|
-
var
|
|
4335
|
-
return _regenerator.default.wrap(function (
|
|
4336
|
-
while (1) switch (
|
|
4474
|
+
var _ref37 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(payload) {
|
|
4475
|
+
var _t9;
|
|
4476
|
+
return _regenerator.default.wrap(function (_context1) {
|
|
4477
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
4337
4478
|
case 0:
|
|
4338
4479
|
if (!_this20.wirelessShare) {
|
|
4339
|
-
|
|
4480
|
+
_context1.next = 2;
|
|
4340
4481
|
break;
|
|
4341
4482
|
}
|
|
4342
4483
|
if (!_this20.mediaProperties.shareVideoStream) {
|
|
4343
|
-
|
|
4484
|
+
_context1.next = 1;
|
|
4344
4485
|
break;
|
|
4345
4486
|
}
|
|
4346
|
-
|
|
4487
|
+
_context1.next = 1;
|
|
4347
4488
|
return _this20.setLocalShareVideoStream(undefined);
|
|
4348
4489
|
case 1:
|
|
4349
4490
|
if (!_this20.mediaProperties.shareAudioStream) {
|
|
4350
|
-
|
|
4491
|
+
_context1.next = 2;
|
|
4351
4492
|
break;
|
|
4352
4493
|
}
|
|
4353
|
-
|
|
4494
|
+
_context1.next = 2;
|
|
4354
4495
|
return _this20.setLocalShareAudioStream(undefined);
|
|
4355
4496
|
case 2:
|
|
4356
4497
|
if (!payload.shouldLeave) {
|
|
4357
|
-
|
|
4498
|
+
_context1.next = 7;
|
|
4358
4499
|
break;
|
|
4359
4500
|
}
|
|
4360
|
-
|
|
4361
|
-
|
|
4501
|
+
_context1.prev = 3;
|
|
4502
|
+
_context1.next = 4;
|
|
4362
4503
|
return _this20.leave({
|
|
4363
4504
|
reason: payload.reason
|
|
4364
4505
|
});
|
|
4365
4506
|
case 4:
|
|
4366
4507
|
_loggerProxy.default.logger.warn('Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. The meeting has been left, but has not been destroyed, you should see a later event for leave.');
|
|
4367
|
-
|
|
4508
|
+
_context1.next = 6;
|
|
4368
4509
|
break;
|
|
4369
4510
|
case 5:
|
|
4370
|
-
|
|
4371
|
-
|
|
4511
|
+
_context1.prev = 5;
|
|
4512
|
+
_t9 = _context1["catch"](3);
|
|
4372
4513
|
// @ts-ignore
|
|
4373
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(
|
|
4514
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(_t9));
|
|
4374
4515
|
case 6:
|
|
4375
|
-
|
|
4516
|
+
_context1.next = 8;
|
|
4376
4517
|
break;
|
|
4377
4518
|
case 7:
|
|
4378
4519
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
@@ -4386,12 +4527,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4386
4527
|
});
|
|
4387
4528
|
case 8:
|
|
4388
4529
|
case "end":
|
|
4389
|
-
return
|
|
4530
|
+
return _context1.stop();
|
|
4390
4531
|
}
|
|
4391
|
-
},
|
|
4532
|
+
}, _callee1, null, [[3, 5]]);
|
|
4392
4533
|
}));
|
|
4393
|
-
return function (
|
|
4394
|
-
return
|
|
4534
|
+
return function (_x9) {
|
|
4535
|
+
return _ref37.apply(this, arguments);
|
|
4395
4536
|
};
|
|
4396
4537
|
}());
|
|
4397
4538
|
}
|
|
@@ -4509,31 +4650,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4509
4650
|
}, {
|
|
4510
4651
|
key: "beRightBack",
|
|
4511
4652
|
value: (function () {
|
|
4512
|
-
var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
4653
|
+
var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(enabled) {
|
|
4513
4654
|
var _this22 = this;
|
|
4514
4655
|
var errorMessage, error, _errorMessage, _error;
|
|
4515
|
-
return _regenerator.default.wrap(function (
|
|
4516
|
-
while (1) switch (
|
|
4656
|
+
return _regenerator.default.wrap(function (_context10) {
|
|
4657
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
4517
4658
|
case 0:
|
|
4518
4659
|
if (this.isMultistream) {
|
|
4519
|
-
|
|
4660
|
+
_context10.next = 1;
|
|
4520
4661
|
break;
|
|
4521
4662
|
}
|
|
4522
4663
|
errorMessage = 'Meeting:index#beRightBack --> Not a multistream meeting';
|
|
4523
4664
|
error = new Error(errorMessage);
|
|
4524
4665
|
_loggerProxy.default.logger.error(error);
|
|
4525
|
-
return
|
|
4666
|
+
return _context10.abrupt("return", _promise.default.reject(error));
|
|
4526
4667
|
case 1:
|
|
4527
4668
|
if (this.mediaProperties.webrtcMediaConnection) {
|
|
4528
|
-
|
|
4669
|
+
_context10.next = 2;
|
|
4529
4670
|
break;
|
|
4530
4671
|
}
|
|
4531
4672
|
_errorMessage = 'Meeting:index#beRightBack --> WebRTC media connection is not defined';
|
|
4532
4673
|
_error = new Error(_errorMessage);
|
|
4533
4674
|
_loggerProxy.default.logger.error(_error);
|
|
4534
|
-
return
|
|
4675
|
+
return _context10.abrupt("return", _promise.default.reject(_error));
|
|
4535
4676
|
case 2:
|
|
4536
|
-
return
|
|
4677
|
+
return _context10.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager).then(function () {
|
|
4537
4678
|
if (_this22.audio && enabled) {
|
|
4538
4679
|
// locus mutes the participant with brb enabled request,
|
|
4539
4680
|
// so we need to explicitly update remote mute for correct logic flow
|
|
@@ -4544,11 +4685,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4544
4685
|
}));
|
|
4545
4686
|
case 3:
|
|
4546
4687
|
case "end":
|
|
4547
|
-
return
|
|
4688
|
+
return _context10.stop();
|
|
4548
4689
|
}
|
|
4549
|
-
},
|
|
4690
|
+
}, _callee10, this);
|
|
4550
4691
|
}));
|
|
4551
|
-
function beRightBack(
|
|
4692
|
+
function beRightBack(_x0) {
|
|
4552
4693
|
return _beRightBack.apply(this, arguments);
|
|
4553
4694
|
}
|
|
4554
4695
|
return beRightBack;
|
|
@@ -4744,6 +4885,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4744
4885
|
canLowerAllHands: _util2.default.canUserLowerAllHands(this.userDisplayHints),
|
|
4745
4886
|
canLowerSomeoneElsesHand: _util2.default.canUserLowerSomeoneElsesHand(this.userDisplayHints),
|
|
4746
4887
|
bothLeaveAndEndMeetingAvailable: _util2.default.bothLeaveAndEndMeetingAvailable(this.userDisplayHints),
|
|
4888
|
+
requireHostEndMeetingBeforeLeave: _util2.default.requireHostEndMeetingBeforeLeave(this.userDisplayHints),
|
|
4747
4889
|
canEnableClosedCaption: _util2.default.canEnableClosedCaption(this.userDisplayHints),
|
|
4748
4890
|
canStartTranscribing: _util2.default.canStartTranscribing(this.userDisplayHints),
|
|
4749
4891
|
canStopTranscribing: _util2.default.canStopTranscribing(this.userDisplayHints),
|
|
@@ -4973,7 +5115,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4973
5115
|
canDisablePollingQA: _util5.default.hasHints({
|
|
4974
5116
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_ATTENDEE_START_POLLING_QA],
|
|
4975
5117
|
displayHints: this.userDisplayHints
|
|
4976
|
-
})
|
|
5118
|
+
}),
|
|
5119
|
+
canAttendeeRequestAiAssistantEnabled: _util2.default.canAttendeeRequestAiAssistantEnabled(this.userDisplayHints, this.roles),
|
|
5120
|
+
isAttendeeRequestAiAssistantDeclinedAll: _util2.default.attendeeRequestAiAssistantDeclinedAll(this.userDisplayHints)
|
|
4977
5121
|
}) || changed;
|
|
4978
5122
|
}
|
|
4979
5123
|
if (changed) {
|
|
@@ -5055,7 +5199,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5055
5199
|
this.locusInfo.initialSetup({
|
|
5056
5200
|
trigger: 'join-response',
|
|
5057
5201
|
locus: mtgLocus,
|
|
5058
|
-
dataSets: data.dataSets
|
|
5202
|
+
dataSets: data.dataSets,
|
|
5203
|
+
metadata: data.metadata
|
|
5059
5204
|
});
|
|
5060
5205
|
}
|
|
5061
5206
|
|
|
@@ -5170,10 +5315,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5170
5315
|
key: "closeRemoteStreams",
|
|
5171
5316
|
value: function closeRemoteStreams() {
|
|
5172
5317
|
var _this24 = this;
|
|
5173
|
-
var _this$
|
|
5174
|
-
remoteAudioStream = _this$
|
|
5175
|
-
remoteVideoStream = _this$
|
|
5176
|
-
remoteShareStream = _this$
|
|
5318
|
+
var _this$mediaProperties7 = this.mediaProperties,
|
|
5319
|
+
remoteAudioStream = _this$mediaProperties7.remoteAudioStream,
|
|
5320
|
+
remoteVideoStream = _this$mediaProperties7.remoteVideoStream,
|
|
5321
|
+
remoteShareStream = _this$mediaProperties7.remoteShareStream;
|
|
5177
5322
|
|
|
5178
5323
|
/**
|
|
5179
5324
|
* Triggers an event to the developer
|
|
@@ -5217,11 +5362,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5217
5362
|
}, {
|
|
5218
5363
|
key: "setLocalAudioStream",
|
|
5219
5364
|
value: (function () {
|
|
5220
|
-
var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5365
|
+
var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(localStream) {
|
|
5221
5366
|
var _this$audio2;
|
|
5222
5367
|
var oldStream;
|
|
5223
|
-
return _regenerator.default.wrap(function (
|
|
5224
|
-
while (1) switch (
|
|
5368
|
+
return _regenerator.default.wrap(function (_context11) {
|
|
5369
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
5225
5370
|
case 0:
|
|
5226
5371
|
oldStream = this.mediaProperties.audioStream;
|
|
5227
5372
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
@@ -5235,21 +5380,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5235
5380
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5236
5381
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5237
5382
|
if (!(!this.isMultistream || !localStream)) {
|
|
5238
|
-
|
|
5383
|
+
_context11.next = 1;
|
|
5239
5384
|
break;
|
|
5240
5385
|
}
|
|
5241
|
-
|
|
5386
|
+
_context11.next = 1;
|
|
5242
5387
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
|
|
5243
5388
|
case 1:
|
|
5244
|
-
|
|
5389
|
+
_context11.next = 2;
|
|
5245
5390
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
5246
5391
|
case 2:
|
|
5247
5392
|
case "end":
|
|
5248
|
-
return
|
|
5393
|
+
return _context11.stop();
|
|
5249
5394
|
}
|
|
5250
|
-
},
|
|
5395
|
+
}, _callee11, this);
|
|
5251
5396
|
}));
|
|
5252
|
-
function setLocalAudioStream(
|
|
5397
|
+
function setLocalAudioStream(_x1) {
|
|
5253
5398
|
return _setLocalAudioStream.apply(this, arguments);
|
|
5254
5399
|
}
|
|
5255
5400
|
return setLocalAudioStream;
|
|
@@ -5265,16 +5410,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5265
5410
|
}, {
|
|
5266
5411
|
key: "setLocalVideoStream",
|
|
5267
5412
|
value: (function () {
|
|
5268
|
-
var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5413
|
+
var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
|
|
5269
5414
|
var _this$video2;
|
|
5270
5415
|
var oldStream;
|
|
5271
|
-
return _regenerator.default.wrap(function (
|
|
5272
|
-
while (1) switch (
|
|
5416
|
+
return _regenerator.default.wrap(function (_context12) {
|
|
5417
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
5273
5418
|
case 0:
|
|
5274
5419
|
oldStream = this.mediaProperties.videoStream;
|
|
5275
5420
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5276
5421
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5277
5422
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5423
|
+
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
|
|
5278
5424
|
|
|
5279
5425
|
// we don't update this.mediaProperties.mediaDirection.sendVideo, because we always keep it as true to avoid extra SDP exchanges
|
|
5280
5426
|
this.mediaProperties.setLocalVideoStream(localStream);
|
|
@@ -5282,22 +5428,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5282
5428
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5283
5429
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5284
5430
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5431
|
+
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
|
|
5285
5432
|
if (!(!this.isMultistream || !localStream)) {
|
|
5286
|
-
|
|
5433
|
+
_context12.next = 1;
|
|
5287
5434
|
break;
|
|
5288
5435
|
}
|
|
5289
|
-
|
|
5436
|
+
_context12.next = 1;
|
|
5290
5437
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
|
|
5291
5438
|
case 1:
|
|
5292
|
-
|
|
5439
|
+
_context12.next = 2;
|
|
5293
5440
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
5294
5441
|
case 2:
|
|
5295
5442
|
case "end":
|
|
5296
|
-
return
|
|
5443
|
+
return _context12.stop();
|
|
5297
5444
|
}
|
|
5298
|
-
},
|
|
5445
|
+
}, _callee12, this);
|
|
5299
5446
|
}));
|
|
5300
|
-
function setLocalVideoStream(
|
|
5447
|
+
function setLocalVideoStream(_x10) {
|
|
5301
5448
|
return _setLocalVideoStream.apply(this, arguments);
|
|
5302
5449
|
}
|
|
5303
5450
|
return setLocalVideoStream;
|
|
@@ -5314,10 +5461,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5314
5461
|
}, {
|
|
5315
5462
|
key: "setLocalShareVideoStream",
|
|
5316
5463
|
value: (function () {
|
|
5317
|
-
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5464
|
+
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(localDisplayStream) {
|
|
5318
5465
|
var oldStream;
|
|
5319
|
-
return _regenerator.default.wrap(function (
|
|
5320
|
-
while (1) switch (
|
|
5466
|
+
return _regenerator.default.wrap(function (_context13) {
|
|
5467
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
5321
5468
|
case 0:
|
|
5322
5469
|
oldStream = this.mediaProperties.shareVideoStream;
|
|
5323
5470
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
@@ -5329,21 +5476,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5329
5476
|
localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5330
5477
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
5331
5478
|
if (!(!this.isMultistream || !localDisplayStream)) {
|
|
5332
|
-
|
|
5479
|
+
_context13.next = 1;
|
|
5333
5480
|
break;
|
|
5334
5481
|
}
|
|
5335
|
-
|
|
5482
|
+
_context13.next = 1;
|
|
5336
5483
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
|
|
5337
5484
|
case 1:
|
|
5338
|
-
|
|
5485
|
+
_context13.next = 2;
|
|
5339
5486
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
5340
5487
|
case 2:
|
|
5341
5488
|
case "end":
|
|
5342
|
-
return
|
|
5489
|
+
return _context13.stop();
|
|
5343
5490
|
}
|
|
5344
|
-
},
|
|
5491
|
+
}, _callee13, this);
|
|
5345
5492
|
}));
|
|
5346
|
-
function setLocalShareVideoStream(
|
|
5493
|
+
function setLocalShareVideoStream(_x11) {
|
|
5347
5494
|
return _setLocalShareVideoStream.apply(this, arguments);
|
|
5348
5495
|
}
|
|
5349
5496
|
return setLocalShareVideoStream;
|
|
@@ -5359,11 +5506,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5359
5506
|
}, {
|
|
5360
5507
|
key: "setLocalShareAudioStream",
|
|
5361
5508
|
value: (function () {
|
|
5362
|
-
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5509
|
+
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(localSystemAudioStream) {
|
|
5363
5510
|
var oldStream;
|
|
5364
|
-
return _regenerator.default.wrap(function (
|
|
5365
|
-
while (1) switch (
|
|
5366
|
-
case 0:
|
|
5511
|
+
return _regenerator.default.wrap(function (_context14) {
|
|
5512
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
5513
|
+
case 0:
|
|
5367
5514
|
oldStream = this.mediaProperties.shareAudioStream;
|
|
5368
5515
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
|
|
5369
5516
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
@@ -5372,21 +5519,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5372
5519
|
localSystemAudioStream === null || localSystemAudioStream === void 0 ? void 0 : localSystemAudioStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5373
5520
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
5374
5521
|
if (!(!this.isMultistream || !localSystemAudioStream)) {
|
|
5375
|
-
|
|
5522
|
+
_context14.next = 1;
|
|
5376
5523
|
break;
|
|
5377
5524
|
}
|
|
5378
|
-
|
|
5525
|
+
_context14.next = 1;
|
|
5379
5526
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioSlides, oldStream);
|
|
5380
5527
|
case 1:
|
|
5381
|
-
|
|
5528
|
+
_context14.next = 2;
|
|
5382
5529
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
5383
5530
|
case 2:
|
|
5384
5531
|
case "end":
|
|
5385
|
-
return
|
|
5532
|
+
return _context14.stop();
|
|
5386
5533
|
}
|
|
5387
|
-
},
|
|
5534
|
+
}, _callee14, this);
|
|
5388
5535
|
}));
|
|
5389
|
-
function setLocalShareAudioStream(
|
|
5536
|
+
function setLocalShareAudioStream(_x12) {
|
|
5390
5537
|
return _setLocalShareAudioStream.apply(this, arguments);
|
|
5391
5538
|
}
|
|
5392
5539
|
return setLocalShareAudioStream;
|
|
@@ -5425,17 +5572,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5425
5572
|
}, {
|
|
5426
5573
|
key: "cleanupLocalStreams",
|
|
5427
5574
|
value: function cleanupLocalStreams() {
|
|
5428
|
-
var _this$
|
|
5429
|
-
audioStream = _this$
|
|
5430
|
-
videoStream = _this$
|
|
5431
|
-
shareAudioStream = _this$
|
|
5432
|
-
shareVideoStream = _this$
|
|
5575
|
+
var _this$mediaProperties8 = this.mediaProperties,
|
|
5576
|
+
audioStream = _this$mediaProperties8.audioStream,
|
|
5577
|
+
videoStream = _this$mediaProperties8.videoStream,
|
|
5578
|
+
shareAudioStream = _this$mediaProperties8.shareAudioStream,
|
|
5579
|
+
shareVideoStream = _this$mediaProperties8.shareVideoStream;
|
|
5433
5580
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5434
5581
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5435
5582
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5436
5583
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5437
5584
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5438
5585
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5586
|
+
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
|
|
5439
5587
|
shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
|
|
5440
5588
|
shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5441
5589
|
shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
@@ -5824,7 +5972,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5824
5972
|
}, {
|
|
5825
5973
|
key: "joinWithMedia",
|
|
5826
5974
|
value: (function () {
|
|
5827
|
-
var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5975
|
+
var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
5828
5976
|
var _this30 = this;
|
|
5829
5977
|
var options,
|
|
5830
5978
|
mediaOptions,
|
|
@@ -5847,20 +5995,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5847
5995
|
shouldRetry,
|
|
5848
5996
|
_error2,
|
|
5849
5997
|
_error3,
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
|
|
5853
|
-
return _regenerator.default.wrap(function (
|
|
5854
|
-
while (1) switch (
|
|
5998
|
+
_args15 = arguments,
|
|
5999
|
+
_t0,
|
|
6000
|
+
_t1;
|
|
6001
|
+
return _regenerator.default.wrap(function (_context15) {
|
|
6002
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
5855
6003
|
case 0:
|
|
5856
|
-
options =
|
|
6004
|
+
options = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : {};
|
|
5857
6005
|
mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
|
|
5858
6006
|
_this$joinWithMediaRe = this.joinWithMediaRetryInfo, isRetry = _this$joinWithMediaRe.isRetry, prevJoinResponse = _this$joinWithMediaRe.prevJoinResponse;
|
|
5859
6007
|
if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
|
|
5860
|
-
|
|
6008
|
+
_context15.next = 1;
|
|
5861
6009
|
break;
|
|
5862
6010
|
}
|
|
5863
|
-
return
|
|
6011
|
+
return _context15.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
|
|
5864
6012
|
case 1:
|
|
5865
6013
|
this.allowMediaInLobby = true;
|
|
5866
6014
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
|
|
@@ -5872,39 +6020,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5872
6020
|
in case WebRTC is not available at all.
|
|
5873
6021
|
*/
|
|
5874
6022
|
if (!(_webCapabilities.WebCapabilities.supportsRTCPeerConnection() === _webCapabilities.CapabilityState.NOT_CAPABLE)) {
|
|
5875
|
-
|
|
6023
|
+
_context15.next = 2;
|
|
5876
6024
|
break;
|
|
5877
6025
|
}
|
|
5878
6026
|
throw new _internalMediaCore.Errors.WebrtcApiNotAvailableError('RTCPeerConnection API is not available in this environment');
|
|
5879
6027
|
case 2:
|
|
5880
|
-
|
|
6028
|
+
_context15.prev = 2;
|
|
5881
6029
|
forceTurnDiscovery = false;
|
|
5882
6030
|
if (joinResponse) {
|
|
5883
|
-
|
|
6031
|
+
_context15.next = 7;
|
|
5884
6032
|
break;
|
|
5885
6033
|
}
|
|
5886
|
-
|
|
6034
|
+
_context15.next = 3;
|
|
5887
6035
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
5888
6036
|
case 3:
|
|
5889
|
-
turnDiscoveryRequest =
|
|
6037
|
+
turnDiscoveryRequest = _context15.sent;
|
|
5890
6038
|
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
5891
6039
|
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
5892
6040
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
|
|
5893
|
-
|
|
6041
|
+
_context15.next = 4;
|
|
5894
6042
|
return this.join(joinOptions);
|
|
5895
6043
|
case 4:
|
|
5896
|
-
joinResponse =
|
|
6044
|
+
joinResponse = _context15.sent;
|
|
5897
6045
|
joined = true;
|
|
5898
6046
|
|
|
5899
6047
|
// if we sent out TURN discovery Roap message with join, process the TURN discovery response
|
|
5900
6048
|
if (!joinOptions.roapMessage) {
|
|
5901
|
-
|
|
6049
|
+
_context15.next = 6;
|
|
5902
6050
|
break;
|
|
5903
6051
|
}
|
|
5904
|
-
|
|
6052
|
+
_context15.next = 5;
|
|
5905
6053
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
5906
6054
|
case 5:
|
|
5907
|
-
_yield$this$roap$hand =
|
|
6055
|
+
_yield$this$roap$hand = _context15.sent;
|
|
5908
6056
|
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
5909
6057
|
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
5910
6058
|
this.turnDiscoverySkippedReason = turnDiscoverySkippedReason;
|
|
@@ -5913,7 +6061,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5913
6061
|
this.roap.abortTurnDiscovery();
|
|
5914
6062
|
}
|
|
5915
6063
|
case 6:
|
|
5916
|
-
|
|
6064
|
+
_context15.next = 8;
|
|
5917
6065
|
break;
|
|
5918
6066
|
case 7:
|
|
5919
6067
|
// This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
|
|
@@ -5921,43 +6069,43 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5921
6069
|
forceTurnDiscovery = true;
|
|
5922
6070
|
joined = true;
|
|
5923
6071
|
case 8:
|
|
5924
|
-
|
|
6072
|
+
_context15.next = 9;
|
|
5925
6073
|
return this.addMediaInternal(function () {
|
|
5926
6074
|
return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5927
6075
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5928
6076
|
case 9:
|
|
5929
|
-
mediaResponse =
|
|
6077
|
+
mediaResponse = _context15.sent;
|
|
5930
6078
|
this.joinWithMediaRetryInfo = {
|
|
5931
6079
|
isRetry: false,
|
|
5932
6080
|
prevJoinResponse: undefined
|
|
5933
6081
|
};
|
|
5934
|
-
return
|
|
6082
|
+
return _context15.abrupt("return", {
|
|
5935
6083
|
join: joinResponse,
|
|
5936
6084
|
media: mediaResponse,
|
|
5937
6085
|
multistreamEnabled: this.isMultistream
|
|
5938
6086
|
});
|
|
5939
6087
|
case 10:
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ',
|
|
6088
|
+
_context15.prev = 10;
|
|
6089
|
+
_t0 = _context15["catch"](2);
|
|
6090
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _t0);
|
|
5943
6091
|
this.roap.abortTurnDiscovery();
|
|
5944
6092
|
|
|
5945
6093
|
// if this was the first attempt, let's do a retry
|
|
5946
6094
|
shouldRetry = !isRetry;
|
|
5947
|
-
if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(
|
|
6095
|
+
if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(_t0) || _internalPluginMetrics.CallDiagnosticUtils.isWebrtcApiNotAvailableError(_t0)) {
|
|
5948
6096
|
// errors related to offer creation (for example missing H264 codec) will happen again no matter how many times we try,
|
|
5949
6097
|
// so there is no point doing a retry
|
|
5950
6098
|
shouldRetry = false;
|
|
5951
6099
|
}
|
|
5952
|
-
if (_internalPluginMetrics.CallDiagnosticUtils.isBrowserMediaError(
|
|
6100
|
+
if (_internalPluginMetrics.CallDiagnosticUtils.isBrowserMediaError(_t0)) {
|
|
5953
6101
|
shouldRetry = false;
|
|
5954
6102
|
// eslint-disable-next-line no-ex-assign
|
|
5955
|
-
|
|
6103
|
+
_t0 = (0, _lodash.merge)({
|
|
5956
6104
|
error: {
|
|
5957
6105
|
body: {
|
|
5958
|
-
errorCode: _internalPluginMetrics.CallDiagnosticUtils.getBrowserMediaErrorCode(
|
|
5959
|
-
message: (_error2 =
|
|
5960
|
-
name: (_error3 =
|
|
6106
|
+
errorCode: _internalPluginMetrics.CallDiagnosticUtils.getBrowserMediaErrorCode(_t0),
|
|
6107
|
+
message: (_error2 = _t0) === null || _error2 === void 0 ? void 0 : _error2.message,
|
|
6108
|
+
name: (_error3 = _t0) === null || _error3 === void 0 ? void 0 : _error3.name
|
|
5961
6109
|
}
|
|
5962
6110
|
}
|
|
5963
6111
|
});
|
|
@@ -5965,54 +6113,54 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5965
6113
|
|
|
5966
6114
|
// we only want to call leave if join was successful and this was a retry or we won't be doing any more retries
|
|
5967
6115
|
if (!(joined && (isRetry || !shouldRetry))) {
|
|
5968
|
-
|
|
6116
|
+
_context15.next = 14;
|
|
5969
6117
|
break;
|
|
5970
6118
|
}
|
|
5971
|
-
|
|
5972
|
-
|
|
6119
|
+
_context15.prev = 11;
|
|
6120
|
+
_context15.next = 12;
|
|
5973
6121
|
return this.leave({
|
|
5974
6122
|
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
5975
6123
|
reason: 'joinWithMedia failure'
|
|
5976
6124
|
});
|
|
5977
6125
|
case 12:
|
|
5978
|
-
|
|
6126
|
+
_context15.next = 14;
|
|
5979
6127
|
break;
|
|
5980
6128
|
case 13:
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error',
|
|
5984
|
-
leaveError =
|
|
6129
|
+
_context15.prev = 13;
|
|
6130
|
+
_t1 = _context15["catch"](11);
|
|
6131
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _t1);
|
|
6132
|
+
leaveError = _t1;
|
|
5985
6133
|
case 14:
|
|
5986
6134
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
5987
6135
|
correlation_id: this.correlationId,
|
|
5988
6136
|
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
5989
6137
|
// if join fails, we may end up with no locusUrl
|
|
5990
|
-
reason:
|
|
5991
|
-
stack:
|
|
6138
|
+
reason: _t0.message,
|
|
6139
|
+
stack: _t0.stack,
|
|
5992
6140
|
leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message,
|
|
5993
6141
|
isRetry: isRetry
|
|
5994
6142
|
}, {
|
|
5995
|
-
type:
|
|
6143
|
+
type: _t0.name
|
|
5996
6144
|
});
|
|
5997
6145
|
if (!shouldRetry) {
|
|
5998
|
-
|
|
6146
|
+
_context15.next = 15;
|
|
5999
6147
|
break;
|
|
6000
6148
|
}
|
|
6001
6149
|
_loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
|
|
6002
6150
|
this.joinWithMediaRetryInfo.isRetry = true;
|
|
6003
6151
|
this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
|
|
6004
|
-
return
|
|
6152
|
+
return _context15.abrupt("return", this.joinWithMedia(options));
|
|
6005
6153
|
case 15:
|
|
6006
6154
|
this.joinWithMediaRetryInfo = {
|
|
6007
6155
|
isRetry: false,
|
|
6008
6156
|
prevJoinResponse: undefined
|
|
6009
6157
|
};
|
|
6010
|
-
throw
|
|
6158
|
+
throw _t0;
|
|
6011
6159
|
case 16:
|
|
6012
6160
|
case "end":
|
|
6013
|
-
return
|
|
6161
|
+
return _context15.stop();
|
|
6014
6162
|
}
|
|
6015
|
-
},
|
|
6163
|
+
}, _callee15, this, [[2, 10], [11, 13]]);
|
|
6016
6164
|
}));
|
|
6017
6165
|
function joinWithMedia() {
|
|
6018
6166
|
return _joinWithMedia.apply(this, arguments);
|
|
@@ -6042,20 +6190,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6042
6190
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
6043
6191
|
}
|
|
6044
6192
|
this.cleanUpBeforeReconnection();
|
|
6045
|
-
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6046
|
-
return _regenerator.default.wrap(function (
|
|
6047
|
-
while (1) switch (
|
|
6193
|
+
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
6194
|
+
return _regenerator.default.wrap(function (_context16) {
|
|
6195
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
6048
6196
|
case 0:
|
|
6049
|
-
|
|
6197
|
+
_context16.next = 1;
|
|
6050
6198
|
return _this31.waitForRemoteSDPAnswer();
|
|
6051
6199
|
case 1:
|
|
6052
|
-
|
|
6200
|
+
_context16.next = 2;
|
|
6053
6201
|
return _this31.waitForMediaConnectionConnected();
|
|
6054
6202
|
case 2:
|
|
6055
6203
|
case "end":
|
|
6056
|
-
return
|
|
6204
|
+
return _context16.stop();
|
|
6057
6205
|
}
|
|
6058
|
-
},
|
|
6206
|
+
}, _callee16);
|
|
6059
6207
|
}))).then(function () {
|
|
6060
6208
|
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
6061
6209
|
}).catch(function (error) {
|
|
@@ -6095,8 +6243,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6095
6243
|
}, {
|
|
6096
6244
|
key: "isReactionsSupported",
|
|
6097
6245
|
value: function isReactionsSupported() {
|
|
6098
|
-
var _this$
|
|
6099
|
-
if ((_this$
|
|
6246
|
+
var _this$locusInfo6, _this$locusInfo6$cont;
|
|
6247
|
+
if ((_this$locusInfo6 = this.locusInfo) !== null && _this$locusInfo6 !== void 0 && (_this$locusInfo6$cont = _this$locusInfo6.controls) !== null && _this$locusInfo6$cont !== void 0 && _this$locusInfo6$cont.reactions.enabled) {
|
|
6100
6248
|
return true;
|
|
6101
6249
|
}
|
|
6102
6250
|
_loggerProxy.default.logger.error('Meeting:index#isReactionsSupported --> Reactions is not supported');
|
|
@@ -6196,49 +6344,49 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6196
6344
|
}, {
|
|
6197
6345
|
key: "startTranscription",
|
|
6198
6346
|
value: (function () {
|
|
6199
|
-
var _startTranscription = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6200
|
-
var
|
|
6201
|
-
return _regenerator.default.wrap(function (
|
|
6202
|
-
while (1) switch (
|
|
6347
|
+
var _startTranscription = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(options) {
|
|
6348
|
+
var _t10;
|
|
6349
|
+
return _regenerator.default.wrap(function (_context17) {
|
|
6350
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
6203
6351
|
case 0:
|
|
6204
6352
|
if (!this.isJoined()) {
|
|
6205
|
-
|
|
6353
|
+
_context17.next = 5;
|
|
6206
6354
|
break;
|
|
6207
6355
|
}
|
|
6208
6356
|
_loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
|
|
6209
|
-
|
|
6357
|
+
_context17.prev = 1;
|
|
6210
6358
|
if (!this.areVoiceaEventsSetup) {
|
|
6211
6359
|
this.setUpVoiceaListeners();
|
|
6212
6360
|
}
|
|
6213
6361
|
|
|
6214
6362
|
// @ts-ignore
|
|
6215
|
-
|
|
6363
|
+
_context17.next = 2;
|
|
6216
6364
|
return this.webex.internal.voicea.turnOnCaptions(options === null || options === void 0 ? void 0 : options.spokenLanguage);
|
|
6217
6365
|
case 2:
|
|
6218
|
-
|
|
6366
|
+
_context17.next = 4;
|
|
6219
6367
|
break;
|
|
6220
6368
|
case 3:
|
|
6221
|
-
|
|
6222
|
-
|
|
6223
|
-
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(
|
|
6369
|
+
_context17.prev = 3;
|
|
6370
|
+
_t10 = _context17["catch"](1);
|
|
6371
|
+
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_t10));
|
|
6224
6372
|
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
|
|
6225
6373
|
correlation_id: this.correlationId,
|
|
6226
|
-
reason:
|
|
6227
|
-
stack:
|
|
6374
|
+
reason: _t10.message,
|
|
6375
|
+
stack: _t10.stack
|
|
6228
6376
|
});
|
|
6229
6377
|
case 4:
|
|
6230
|
-
|
|
6378
|
+
_context17.next = 6;
|
|
6231
6379
|
break;
|
|
6232
6380
|
case 5:
|
|
6233
6381
|
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
|
|
6234
6382
|
throw new Error('Meeting is not joined');
|
|
6235
6383
|
case 6:
|
|
6236
6384
|
case "end":
|
|
6237
|
-
return
|
|
6385
|
+
return _context17.stop();
|
|
6238
6386
|
}
|
|
6239
|
-
},
|
|
6387
|
+
}, _callee17, this, [[1, 3]]);
|
|
6240
6388
|
}));
|
|
6241
|
-
function startTranscription(
|
|
6389
|
+
function startTranscription(_x13) {
|
|
6242
6390
|
return _startTranscription.apply(this, arguments);
|
|
6243
6391
|
}
|
|
6244
6392
|
return startTranscription;
|
|
@@ -6251,24 +6399,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6251
6399
|
* @returns {void}
|
|
6252
6400
|
*/
|
|
6253
6401
|
function stopTranscription() {
|
|
6254
|
-
|
|
6255
|
-
|
|
6256
|
-
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT]);
|
|
6402
|
+
// @ts-ignore
|
|
6403
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT]);
|
|
6257
6404
|
|
|
6258
|
-
|
|
6259
|
-
|
|
6405
|
+
// @ts-ignore
|
|
6406
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON]);
|
|
6260
6407
|
|
|
6261
|
-
|
|
6262
|
-
|
|
6408
|
+
// @ts-ignore
|
|
6409
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND]);
|
|
6263
6410
|
|
|
6264
|
-
|
|
6265
|
-
|
|
6411
|
+
// @ts-ignore
|
|
6412
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION]);
|
|
6266
6413
|
|
|
6267
|
-
|
|
6268
|
-
|
|
6269
|
-
|
|
6270
|
-
|
|
6271
|
-
}
|
|
6414
|
+
// @ts-ignore
|
|
6415
|
+
this.webex.internal.voicea.deregisterEvents();
|
|
6416
|
+
this.areVoiceaEventsSetup = false;
|
|
6417
|
+
this.triggerStopReceivingTranscriptionEvent();
|
|
6272
6418
|
}
|
|
6273
6419
|
|
|
6274
6420
|
/**
|
|
@@ -6286,6 +6432,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6286
6432
|
function: 'triggerStopReceivingTranscriptionEvent'
|
|
6287
6433
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_RECEIVING_TRANSCRIPTION);
|
|
6288
6434
|
}
|
|
6435
|
+
|
|
6436
|
+
/**
|
|
6437
|
+
* Restores LLM subchannel subscriptions after reconnect when captions are active.
|
|
6438
|
+
* @returns {void}
|
|
6439
|
+
*/
|
|
6440
|
+
}, {
|
|
6441
|
+
key: "restoreLLMSubscriptionsIfNeeded",
|
|
6442
|
+
value: function restoreLLMSubscriptionsIfNeeded() {
|
|
6443
|
+
try {
|
|
6444
|
+
var _this$webex$internal$, _this$webex$internal$2;
|
|
6445
|
+
// @ts-ignore
|
|
6446
|
+
var isCaptionBoxOn = (_this$webex$internal$ = this.webex.internal.voicea) === null || _this$webex$internal$ === void 0 ? void 0 : (_this$webex$internal$2 = _this$webex$internal$.getIsCaptionBoxOn) === null || _this$webex$internal$2 === void 0 ? void 0 : _this$webex$internal$2.call(_this$webex$internal$);
|
|
6447
|
+
if (!isCaptionBoxOn) {
|
|
6448
|
+
return;
|
|
6449
|
+
}
|
|
6450
|
+
|
|
6451
|
+
// @ts-ignore
|
|
6452
|
+
this.webex.internal.voicea.updateSubchannelSubscriptions({
|
|
6453
|
+
subscribe: ['transcription']
|
|
6454
|
+
});
|
|
6455
|
+
} catch (error) {
|
|
6456
|
+
var msg = (error === null || error === void 0 ? void 0 : error.message) || String(error);
|
|
6457
|
+
_loggerProxy.default.logger.warn("Meeting:index#restoreLLMSubscriptionsIfNeeded --> failed to restore subscriptions after LLM online: ".concat(msg));
|
|
6458
|
+
}
|
|
6459
|
+
}
|
|
6289
6460
|
}, {
|
|
6290
6461
|
key: "join",
|
|
6291
6462
|
value: (
|
|
@@ -6302,7 +6473,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6302
6473
|
* Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
|
|
6303
6474
|
*/
|
|
6304
6475
|
function () {
|
|
6305
|
-
var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6476
|
+
var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
6306
6477
|
var _this34 = this;
|
|
6307
6478
|
var options,
|
|
6308
6479
|
errorMessage,
|
|
@@ -6313,26 +6484,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6313
6484
|
_error4,
|
|
6314
6485
|
_errorMessage3,
|
|
6315
6486
|
_error5,
|
|
6316
|
-
|
|
6317
|
-
|
|
6318
|
-
return _regenerator.default.wrap(function (
|
|
6319
|
-
while (1) switch (
|
|
6487
|
+
_args18 = arguments,
|
|
6488
|
+
_t11;
|
|
6489
|
+
return _regenerator.default.wrap(function (_context18) {
|
|
6490
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
6320
6491
|
case 0:
|
|
6321
|
-
options =
|
|
6492
|
+
options = _args18.length > 0 && _args18[0] !== undefined ? _args18[0] : {};
|
|
6322
6493
|
if (this.webex.meetings.registered) {
|
|
6323
|
-
|
|
6494
|
+
_context18.next = 1;
|
|
6324
6495
|
break;
|
|
6325
6496
|
}
|
|
6326
6497
|
errorMessage = 'Meeting:index#join --> Device not registered';
|
|
6327
6498
|
error = new Error(errorMessage);
|
|
6328
6499
|
_loggerProxy.default.logger.error(errorMessage);
|
|
6329
|
-
return
|
|
6500
|
+
return _context18.abrupt("return", _promise.default.reject(error));
|
|
6330
6501
|
case 1:
|
|
6331
6502
|
if (!this.deferJoin) {
|
|
6332
|
-
|
|
6503
|
+
_context18.next = 2;
|
|
6333
6504
|
break;
|
|
6334
6505
|
}
|
|
6335
|
-
return
|
|
6506
|
+
return _context18.abrupt("return", this.deferJoin);
|
|
6336
6507
|
case 2:
|
|
6337
6508
|
// Create a deferred promise for a consistent resolve value from utils.
|
|
6338
6509
|
// This also prevents redundant API calls.
|
|
@@ -6384,15 +6555,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6384
6555
|
this.wirelessShare = true;
|
|
6385
6556
|
}
|
|
6386
6557
|
if (!options.meetingQuality) {
|
|
6387
|
-
|
|
6558
|
+
_context18.next = 6;
|
|
6388
6559
|
break;
|
|
6389
6560
|
}
|
|
6390
6561
|
if (!(typeof options.meetingQuality === 'string')) {
|
|
6391
|
-
|
|
6562
|
+
_context18.next = 4;
|
|
6392
6563
|
break;
|
|
6393
6564
|
}
|
|
6394
6565
|
if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
|
|
6395
|
-
|
|
6566
|
+
_context18.next = 3;
|
|
6396
6567
|
break;
|
|
6397
6568
|
}
|
|
6398
6569
|
_errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
|
|
@@ -6400,16 +6571,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6400
6571
|
_loggerProxy.default.logger.error(_errorMessage2);
|
|
6401
6572
|
joinFailed(_error4);
|
|
6402
6573
|
this.deferJoin = undefined;
|
|
6403
|
-
return
|
|
6574
|
+
return _context18.abrupt("return", _promise.default.reject(_error4));
|
|
6404
6575
|
case 3:
|
|
6405
6576
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
|
|
6406
6577
|
case 4:
|
|
6407
6578
|
if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
|
|
6408
|
-
|
|
6579
|
+
_context18.next = 6;
|
|
6409
6580
|
break;
|
|
6410
6581
|
}
|
|
6411
6582
|
if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
|
|
6412
|
-
|
|
6583
|
+
_context18.next = 5;
|
|
6413
6584
|
break;
|
|
6414
6585
|
}
|
|
6415
6586
|
_errorMessage3 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
|
|
@@ -6417,42 +6588,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6417
6588
|
_error5 = new Error(_errorMessage3);
|
|
6418
6589
|
joinFailed(_error5);
|
|
6419
6590
|
this.deferJoin = undefined;
|
|
6420
|
-
return
|
|
6591
|
+
return _context18.abrupt("return", _promise.default.reject(new Error(_errorMessage3)));
|
|
6421
6592
|
case 5:
|
|
6422
6593
|
if (options.meetingQuality.remote) {
|
|
6423
6594
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
|
|
6424
6595
|
}
|
|
6425
6596
|
case 6:
|
|
6426
6597
|
this.isMultistream = !!options.enableMultistream;
|
|
6427
|
-
|
|
6428
|
-
|
|
6598
|
+
_context18.prev = 7;
|
|
6599
|
+
_context18.next = 8;
|
|
6429
6600
|
return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
|
|
6430
6601
|
case 8:
|
|
6431
|
-
|
|
6602
|
+
_context18.next = 10;
|
|
6432
6603
|
break;
|
|
6433
6604
|
case 9:
|
|
6434
|
-
|
|
6435
|
-
|
|
6436
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:',
|
|
6437
|
-
if (!(
|
|
6438
|
-
|
|
6605
|
+
_context18.prev = 9;
|
|
6606
|
+
_t11 = _context18["catch"](7);
|
|
6607
|
+
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _t11);
|
|
6608
|
+
if (!(_t11 instanceof _captchaError.default || _t11 instanceof _passwordError.default || _t11 instanceof _permission.default)) {
|
|
6609
|
+
_context18.next = 10;
|
|
6439
6610
|
break;
|
|
6440
6611
|
}
|
|
6441
|
-
this.meetingFiniteStateMachine.fail(
|
|
6612
|
+
this.meetingFiniteStateMachine.fail(_t11);
|
|
6442
6613
|
|
|
6443
6614
|
// Upload logs on refreshpermissionToken refresh Failure
|
|
6444
6615
|
_triggerProxy.default.trigger(this, {
|
|
6445
6616
|
file: 'meeting/index',
|
|
6446
6617
|
function: 'join'
|
|
6447
6618
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
6448
|
-
joinFailed(
|
|
6619
|
+
joinFailed(_t11);
|
|
6449
6620
|
this.deferJoin = undefined;
|
|
6450
6621
|
|
|
6451
6622
|
// if refresh permission token requires captcha, password or permission, we are throwing the errors
|
|
6452
6623
|
// and bubble it up to client
|
|
6453
|
-
return
|
|
6624
|
+
return _context18.abrupt("return", _promise.default.reject(_t11));
|
|
6454
6625
|
case 10:
|
|
6455
|
-
return
|
|
6626
|
+
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
6456
6627
|
_this34.meetingFiniteStateMachine.join();
|
|
6457
6628
|
_this34.setupLocusMediaRequest();
|
|
6458
6629
|
|
|
@@ -6486,8 +6657,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6486
6657
|
_this34.deferJoin = undefined;
|
|
6487
6658
|
return _promise.default.reject(error);
|
|
6488
6659
|
}).then(function (join) {
|
|
6660
|
+
_this34.saveDataChannelToken(join);
|
|
6489
6661
|
// @ts-ignore - config coming from registerPlugin
|
|
6490
6662
|
if (_this34.config.enableAutomaticLLM) {
|
|
6663
|
+
// @ts-ignore
|
|
6664
|
+
_this34.webex.internal.llm.off('online', _this34.handleLLMOnline);
|
|
6491
6665
|
// @ts-ignore
|
|
6492
6666
|
_this34.webex.internal.llm.on('online', _this34.handleLLMOnline);
|
|
6493
6667
|
_this34.updateLLMConnection().catch(function (error) {
|
|
@@ -6505,9 +6679,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6505
6679
|
}));
|
|
6506
6680
|
case 11:
|
|
6507
6681
|
case "end":
|
|
6508
|
-
return
|
|
6682
|
+
return _context18.stop();
|
|
6509
6683
|
}
|
|
6510
|
-
},
|
|
6684
|
+
}, _callee18, this, [[7, 9]]);
|
|
6511
6685
|
}));
|
|
6512
6686
|
function join() {
|
|
6513
6687
|
return _join.apply(this, arguments);
|
|
@@ -6556,28 +6730,126 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6556
6730
|
this.llmHealthCheckTimer = undefined;
|
|
6557
6731
|
}
|
|
6558
6732
|
}
|
|
6733
|
+
}, {
|
|
6734
|
+
key: "clearDataChannelToken",
|
|
6735
|
+
value:
|
|
6736
|
+
/**
|
|
6737
|
+
* Clears all data channel tokens stored in LLM.
|
|
6738
|
+
* Called during meeting cleanup to ensure stale tokens are not reused.
|
|
6739
|
+
* @returns {void}
|
|
6740
|
+
*/
|
|
6741
|
+
function clearDataChannelToken() {
|
|
6742
|
+
// @ts-ignore
|
|
6743
|
+
this.webex.internal.llm.resetDatachannelTokens();
|
|
6744
|
+
}
|
|
6559
6745
|
|
|
6746
|
+
/**
|
|
6747
|
+
* Saves the data channel tokens from the join response into LLM so that
|
|
6748
|
+
* updateLLMConnection / updatePSDataChannel don't need to fetch them from locusInfo.
|
|
6749
|
+
* @param {Object} join - The parsed join response (from MeetingUtil.parseLocusJoin)
|
|
6750
|
+
* @returns {void}
|
|
6751
|
+
*/
|
|
6752
|
+
}, {
|
|
6753
|
+
key: "saveDataChannelToken",
|
|
6754
|
+
value: function saveDataChannelToken(join) {
|
|
6755
|
+
var _join$locus, _join$locus$self, _join$locus2, _join$locus2$self;
|
|
6756
|
+
var datachannelToken = join === null || join === void 0 ? void 0 : (_join$locus = join.locus) === null || _join$locus === void 0 ? void 0 : (_join$locus$self = _join$locus.self) === null || _join$locus$self === void 0 ? void 0 : _join$locus$self.datachannelToken;
|
|
6757
|
+
var practiceSessionDatachannelToken = join === null || join === void 0 ? void 0 : (_join$locus2 = join.locus) === null || _join$locus2 === void 0 ? void 0 : (_join$locus2$self = _join$locus2.self) === null || _join$locus2$self === void 0 ? void 0 : _join$locus2$self.practiceSessionDatachannelToken;
|
|
6758
|
+
if (datachannelToken) {
|
|
6759
|
+
// @ts-ignore
|
|
6760
|
+
this.webex.internal.llm.setDatachannelToken(datachannelToken, _internalPluginLlm.DataChannelTokenType.Default);
|
|
6761
|
+
}
|
|
6762
|
+
if (practiceSessionDatachannelToken) {
|
|
6763
|
+
// @ts-ignore
|
|
6764
|
+
this.webex.internal.llm.setDatachannelToken(practiceSessionDatachannelToken, _internalPluginLlm.DataChannelTokenType.PracticeSession);
|
|
6765
|
+
}
|
|
6766
|
+
}
|
|
6767
|
+
|
|
6768
|
+
/**
|
|
6769
|
+
* Ensures default-session data channel token exists after lobby admission.
|
|
6770
|
+
* Some lobby users do not receive a token until they are admitted.
|
|
6771
|
+
* @returns {Promise<boolean>} true when a new token is fetched and cached
|
|
6772
|
+
*/
|
|
6773
|
+
}, {
|
|
6774
|
+
key: "ensureDefaultDatachannelTokenAfterAdmit",
|
|
6775
|
+
value: (function () {
|
|
6776
|
+
var _ensureDefaultDatachannelTokenAfterAdmit = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
6777
|
+
var _response$body, datachannelToken, isDataChannelTokenEnabled, response, fetchedDatachannelToken, msg, _t12;
|
|
6778
|
+
return _regenerator.default.wrap(function (_context19) {
|
|
6779
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
6780
|
+
case 0:
|
|
6781
|
+
_context19.prev = 0;
|
|
6782
|
+
// @ts-ignore
|
|
6783
|
+
datachannelToken = this.webex.internal.llm.getDatachannelToken(); // @ts-ignore
|
|
6784
|
+
_context19.next = 1;
|
|
6785
|
+
return this.webex.internal.llm.isDataChannelTokenEnabled();
|
|
6786
|
+
case 1:
|
|
6787
|
+
isDataChannelTokenEnabled = _context19.sent;
|
|
6788
|
+
if (!(!isDataChannelTokenEnabled || datachannelToken)) {
|
|
6789
|
+
_context19.next = 2;
|
|
6790
|
+
break;
|
|
6791
|
+
}
|
|
6792
|
+
return _context19.abrupt("return", false);
|
|
6793
|
+
case 2:
|
|
6794
|
+
_context19.next = 3;
|
|
6795
|
+
return this.meetingRequest.fetchDatachannelToken({
|
|
6796
|
+
locusUrl: this.locusUrl,
|
|
6797
|
+
requestingParticipantId: this.members.selfId,
|
|
6798
|
+
isPracticeSession: false
|
|
6799
|
+
});
|
|
6800
|
+
case 3:
|
|
6801
|
+
response = _context19.sent;
|
|
6802
|
+
fetchedDatachannelToken = response === null || response === void 0 ? void 0 : (_response$body = response.body) === null || _response$body === void 0 ? void 0 : _response$body.datachannelToken;
|
|
6803
|
+
if (fetchedDatachannelToken) {
|
|
6804
|
+
_context19.next = 4;
|
|
6805
|
+
break;
|
|
6806
|
+
}
|
|
6807
|
+
return _context19.abrupt("return", false);
|
|
6808
|
+
case 4:
|
|
6809
|
+
// @ts-ignore
|
|
6810
|
+
this.webex.internal.llm.setDatachannelToken(fetchedDatachannelToken, _internalPluginLlm.DataChannelTokenType.Default);
|
|
6811
|
+
return _context19.abrupt("return", true);
|
|
6812
|
+
case 5:
|
|
6813
|
+
_context19.prev = 5;
|
|
6814
|
+
_t12 = _context19["catch"](0);
|
|
6815
|
+
msg = (_t12 === null || _t12 === void 0 ? void 0 : _t12.message) || String(_t12);
|
|
6816
|
+
_loggerProxy.default.logger.warn("Meeting:index#ensureDefaultDatachannelTokenAfterAdmit --> failed to proactively fetch default data channel token after admit: ".concat(msg), {
|
|
6817
|
+
statusCode: _t12 === null || _t12 === void 0 ? void 0 : _t12.statusCode
|
|
6818
|
+
});
|
|
6819
|
+
return _context19.abrupt("return", false);
|
|
6820
|
+
case 6:
|
|
6821
|
+
case "end":
|
|
6822
|
+
return _context19.stop();
|
|
6823
|
+
}
|
|
6824
|
+
}, _callee19, this, [[0, 5]]);
|
|
6825
|
+
}));
|
|
6826
|
+
function ensureDefaultDatachannelTokenAfterAdmit() {
|
|
6827
|
+
return _ensureDefaultDatachannelTokenAfterAdmit.apply(this, arguments);
|
|
6828
|
+
}
|
|
6829
|
+
return ensureDefaultDatachannelTokenAfterAdmit;
|
|
6830
|
+
}()
|
|
6560
6831
|
/**
|
|
6561
6832
|
* Connects to low latency mercury and reconnects if the address has changed
|
|
6562
6833
|
* It will also disconnect if called when the meeting has ended
|
|
6563
|
-
* @param {String} datachannelUrl
|
|
6564
6834
|
* @returns {Promise}
|
|
6565
6835
|
*/
|
|
6836
|
+
)
|
|
6566
6837
|
}, {
|
|
6567
6838
|
key: "updateLLMConnection",
|
|
6568
6839
|
value: (function () {
|
|
6569
|
-
var _updateLLMConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6840
|
+
var _updateLLMConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20() {
|
|
6570
6841
|
var _this36 = this;
|
|
6571
|
-
var
|
|
6572
|
-
return _regenerator.default.wrap(function (
|
|
6573
|
-
while (1) switch (
|
|
6842
|
+
var _ref39, _ref39$url, url, _ref39$info, _ref39$info2, _ref39$info2$datachan, datachannelUrl, isJoined, datachannelToken, dataChannelUrl;
|
|
6843
|
+
return _regenerator.default.wrap(function (_context20) {
|
|
6844
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
6574
6845
|
case 0:
|
|
6575
6846
|
// @ts-ignore - Fix type
|
|
6576
|
-
|
|
6577
|
-
isJoined = this.isJoined(); //
|
|
6578
|
-
|
|
6847
|
+
_ref39 = this.locusInfo || {}, _ref39$url = _ref39.url, url = _ref39$url === void 0 ? undefined : _ref39$url, _ref39$info = _ref39.info, _ref39$info2 = _ref39$info === void 0 ? {} : _ref39$info, _ref39$info2$datachan = _ref39$info2.datachannelUrl, datachannelUrl = _ref39$info2$datachan === void 0 ? undefined : _ref39$info2$datachan;
|
|
6848
|
+
isJoined = this.isJoined(); // @ts-ignore
|
|
6849
|
+
datachannelToken = this.webex.internal.llm.getDatachannelToken(_internalPluginLlm.DataChannelTokenType.Default);
|
|
6850
|
+
dataChannelUrl = datachannelUrl; // @ts-ignore - Fix type
|
|
6579
6851
|
if (!this.webex.internal.llm.isConnected()) {
|
|
6580
|
-
|
|
6852
|
+
_context20.next = 2;
|
|
6581
6853
|
break;
|
|
6582
6854
|
}
|
|
6583
6855
|
if (!(
|
|
@@ -6585,30 +6857,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6585
6857
|
url === this.webex.internal.llm.getLocusUrl() &&
|
|
6586
6858
|
// @ts-ignore - Fix type
|
|
6587
6859
|
dataChannelUrl === this.webex.internal.llm.getDatachannelUrl() && isJoined)) {
|
|
6588
|
-
|
|
6860
|
+
_context20.next = 1;
|
|
6589
6861
|
break;
|
|
6590
6862
|
}
|
|
6591
|
-
return
|
|
6863
|
+
return _context20.abrupt("return", undefined);
|
|
6592
6864
|
case 1:
|
|
6593
|
-
|
|
6594
|
-
return this.
|
|
6595
|
-
|
|
6596
|
-
|
|
6597
|
-
} : undefined);
|
|
6865
|
+
_context20.next = 2;
|
|
6866
|
+
return this.cleanupLLMConneciton({
|
|
6867
|
+
removeOnlineListener: false
|
|
6868
|
+
});
|
|
6598
6869
|
case 2:
|
|
6599
|
-
// @ts-ignore - Fix type
|
|
6600
|
-
this.webex.internal.llm.off('event:relay.event', this.processRelayEvent);
|
|
6601
|
-
// @ts-ignore - Fix type
|
|
6602
|
-
this.webex.internal.llm.off(_constants.LOCUS_LLM_EVENT, this.processLocusLLMEvent);
|
|
6603
|
-
this.clearLLMHealthCheckTimer();
|
|
6604
|
-
case 3:
|
|
6605
6870
|
if (isJoined) {
|
|
6606
|
-
|
|
6871
|
+
_context20.next = 3;
|
|
6607
6872
|
break;
|
|
6608
6873
|
}
|
|
6609
|
-
return
|
|
6610
|
-
case
|
|
6611
|
-
return
|
|
6874
|
+
return _context20.abrupt("return", undefined);
|
|
6875
|
+
case 3:
|
|
6876
|
+
return _context20.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl, datachannelToken).then(function (registerAndConnectResult) {
|
|
6612
6877
|
// @ts-ignore - Fix type
|
|
6613
6878
|
_this36.webex.internal.llm.off('event:relay.event', _this36.processRelayEvent);
|
|
6614
6879
|
// @ts-ignore - Fix type
|
|
@@ -6621,11 +6886,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6621
6886
|
_this36.startLLMHealthCheckTimer();
|
|
6622
6887
|
return _promise.default.resolve(registerAndConnectResult);
|
|
6623
6888
|
}));
|
|
6624
|
-
case
|
|
6889
|
+
case 4:
|
|
6625
6890
|
case "end":
|
|
6626
|
-
return
|
|
6891
|
+
return _context20.stop();
|
|
6627
6892
|
}
|
|
6628
|
-
},
|
|
6893
|
+
}, _callee20, this);
|
|
6629
6894
|
}));
|
|
6630
6895
|
function updateLLMConnection() {
|
|
6631
6896
|
return _updateLLMConnection.apply(this, arguments);
|
|
@@ -6811,17 +7076,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6811
7076
|
meetingId: this.id
|
|
6812
7077
|
}
|
|
6813
7078
|
});
|
|
6814
|
-
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6815
|
-
var mediaSettings,
|
|
6816
|
-
return _regenerator.default.wrap(function (
|
|
6817
|
-
while (1) switch (
|
|
7079
|
+
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
|
|
7080
|
+
var mediaSettings, _t13;
|
|
7081
|
+
return _regenerator.default.wrap(function (_context21) {
|
|
7082
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
6818
7083
|
case 0:
|
|
6819
|
-
|
|
7084
|
+
_context21.prev = 0;
|
|
6820
7085
|
if (!(_this40.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
6821
|
-
|
|
7086
|
+
_context21.next = 1;
|
|
6822
7087
|
break;
|
|
6823
7088
|
}
|
|
6824
|
-
|
|
7089
|
+
_context21.next = 1;
|
|
6825
7090
|
return _this40.releaseScreenShareFloor();
|
|
6826
7091
|
case 1:
|
|
6827
7092
|
mediaSettings = {
|
|
@@ -6840,23 +7105,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6840
7105
|
// 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
|
|
6841
7106
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6842
7107
|
if (!_this40.statsAnalyzer) {
|
|
6843
|
-
|
|
7108
|
+
_context21.next = 2;
|
|
6844
7109
|
break;
|
|
6845
7110
|
}
|
|
6846
|
-
|
|
7111
|
+
_context21.next = 2;
|
|
6847
7112
|
return _this40.statsAnalyzer.stopAnalyzer();
|
|
6848
7113
|
case 2:
|
|
6849
|
-
|
|
7114
|
+
_context21.next = 3;
|
|
6850
7115
|
return _this40.closeRemoteStreams();
|
|
6851
7116
|
case 3:
|
|
6852
|
-
|
|
7117
|
+
_context21.next = 4;
|
|
6853
7118
|
return _this40.closePeerConnections();
|
|
6854
7119
|
case 4:
|
|
6855
7120
|
_this40.cleanupLocalStreams();
|
|
6856
7121
|
_this40.unsetRemoteStreams();
|
|
6857
7122
|
_this40.unsetPeerConnections();
|
|
6858
7123
|
_this40.reconnectionManager.cleanUp();
|
|
6859
|
-
|
|
7124
|
+
_context21.next = 5;
|
|
6860
7125
|
return _this40.addMedia({
|
|
6861
7126
|
audioEnabled: false,
|
|
6862
7127
|
videoEnabled: false,
|
|
@@ -6865,24 +7130,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6865
7130
|
case 5:
|
|
6866
7131
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6867
7132
|
_this40.isMoveToInProgress = false;
|
|
6868
|
-
|
|
7133
|
+
_context21.next = 7;
|
|
6869
7134
|
break;
|
|
6870
7135
|
case 6:
|
|
6871
|
-
|
|
6872
|
-
|
|
6873
|
-
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId',
|
|
7136
|
+
_context21.prev = 6;
|
|
7137
|
+
_t13 = _context21["catch"](0);
|
|
7138
|
+
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _t13);
|
|
6874
7139
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6875
7140
|
correlation_id: _this40.correlationId,
|
|
6876
7141
|
locus_id: _this40.locusUrl.split('/').pop(),
|
|
6877
|
-
reason:
|
|
6878
|
-
stack:
|
|
7142
|
+
reason: _t13.message,
|
|
7143
|
+
stack: _t13.stack
|
|
6879
7144
|
});
|
|
6880
7145
|
_this40.isMoveToInProgress = false;
|
|
6881
7146
|
case 7:
|
|
6882
7147
|
case "end":
|
|
6883
|
-
return
|
|
7148
|
+
return _context21.stop();
|
|
6884
7149
|
}
|
|
6885
|
-
},
|
|
7150
|
+
}, _callee21, null, [[0, 6]]);
|
|
6886
7151
|
})));
|
|
6887
7152
|
_loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
|
|
6888
7153
|
|
|
@@ -6970,10 +7235,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6970
7235
|
}, {
|
|
6971
7236
|
key: "createMediaConnection",
|
|
6972
7237
|
value: (function () {
|
|
6973
|
-
var _createMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7238
|
+
var _createMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(turnServerInfo, bundlePolicy) {
|
|
6974
7239
|
var mc, audioEnabled, videoEnabled, shareEnabled;
|
|
6975
|
-
return _regenerator.default.wrap(function (
|
|
6976
|
-
while (1) switch (
|
|
7240
|
+
return _regenerator.default.wrap(function (_context22) {
|
|
7241
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
6977
7242
|
case 0:
|
|
6978
7243
|
this.rtcMetrics = this.isMultistream ?
|
|
6979
7244
|
// @ts-ignore
|
|
@@ -7015,42 +7280,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7015
7280
|
|
|
7016
7281
|
// publish the streams
|
|
7017
7282
|
if (!this.mediaProperties.audioStream) {
|
|
7018
|
-
|
|
7283
|
+
_context22.next = 1;
|
|
7019
7284
|
break;
|
|
7020
7285
|
}
|
|
7021
7286
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
7022
|
-
|
|
7287
|
+
_context22.next = 1;
|
|
7023
7288
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
7024
7289
|
case 1:
|
|
7025
7290
|
if (!this.mediaProperties.videoStream) {
|
|
7026
|
-
|
|
7291
|
+
_context22.next = 2;
|
|
7027
7292
|
break;
|
|
7028
7293
|
}
|
|
7029
|
-
|
|
7294
|
+
_context22.next = 2;
|
|
7030
7295
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
7031
7296
|
case 2:
|
|
7032
7297
|
if (!this.mediaProperties.shareVideoStream) {
|
|
7033
|
-
|
|
7298
|
+
_context22.next = 3;
|
|
7034
7299
|
break;
|
|
7035
7300
|
}
|
|
7036
|
-
|
|
7301
|
+
_context22.next = 3;
|
|
7037
7302
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
7038
7303
|
case 3:
|
|
7039
7304
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
7040
|
-
|
|
7305
|
+
_context22.next = 4;
|
|
7041
7306
|
break;
|
|
7042
7307
|
}
|
|
7043
|
-
|
|
7308
|
+
_context22.next = 4;
|
|
7044
7309
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
7045
7310
|
case 4:
|
|
7046
|
-
return
|
|
7311
|
+
return _context22.abrupt("return", mc);
|
|
7047
7312
|
case 5:
|
|
7048
7313
|
case "end":
|
|
7049
|
-
return
|
|
7314
|
+
return _context22.stop();
|
|
7050
7315
|
}
|
|
7051
|
-
},
|
|
7316
|
+
}, _callee22, this);
|
|
7052
7317
|
}));
|
|
7053
|
-
function createMediaConnection(
|
|
7318
|
+
function createMediaConnection(_x14, _x15) {
|
|
7054
7319
|
return _createMediaConnection.apply(this, arguments);
|
|
7055
7320
|
}
|
|
7056
7321
|
return createMediaConnection;
|
|
@@ -7088,11 +7353,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7088
7353
|
}, {
|
|
7089
7354
|
key: "setUpLocalStreamReferences",
|
|
7090
7355
|
value: (function () {
|
|
7091
|
-
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7356
|
+
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(localStreams) {
|
|
7092
7357
|
var _localStreams$microph, _localStreams$camera, _localStreams$screenS, _localStreams$screenS2, _localStreams$screenS3, _localStreams$screenS4, _localStreams$screenS5, _localStreams$screenS6;
|
|
7093
|
-
var setUpStreamPromises,
|
|
7094
|
-
return _regenerator.default.wrap(function (
|
|
7095
|
-
while (1) switch (
|
|
7358
|
+
var setUpStreamPromises, _t14;
|
|
7359
|
+
return _regenerator.default.wrap(function (_context23) {
|
|
7360
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
7096
7361
|
case 0:
|
|
7097
7362
|
setUpStreamPromises = [];
|
|
7098
7363
|
if (localStreams !== null && localStreams !== void 0 && localStreams.microphone && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$microph = localStreams.microphone) === null || _localStreams$microph === void 0 ? void 0 : _localStreams$microph.readyState) !== 'ended') {
|
|
@@ -7107,24 +7372,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7107
7372
|
if (localStreams !== null && localStreams !== void 0 && (_localStreams$screenS4 = localStreams.screenShare) !== null && _localStreams$screenS4 !== void 0 && _localStreams$screenS4.audio && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$screenS5 = localStreams.screenShare) === null || _localStreams$screenS5 === void 0 ? void 0 : (_localStreams$screenS6 = _localStreams$screenS5.audio) === null || _localStreams$screenS6 === void 0 ? void 0 : _localStreams$screenS6.readyState) !== 'ended') {
|
|
7108
7373
|
setUpStreamPromises.push(this.setLocalShareAudioStream(localStreams.screenShare.audio));
|
|
7109
7374
|
}
|
|
7110
|
-
|
|
7111
|
-
|
|
7375
|
+
_context23.prev = 1;
|
|
7376
|
+
_context23.next = 2;
|
|
7112
7377
|
return _promise.default.all(setUpStreamPromises);
|
|
7113
7378
|
case 2:
|
|
7114
|
-
|
|
7379
|
+
_context23.next = 4;
|
|
7115
7380
|
break;
|
|
7116
7381
|
case 3:
|
|
7117
|
-
|
|
7118
|
-
|
|
7119
|
-
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ",
|
|
7120
|
-
throw
|
|
7382
|
+
_context23.prev = 3;
|
|
7383
|
+
_t14 = _context23["catch"](1);
|
|
7384
|
+
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _t14);
|
|
7385
|
+
throw _t14;
|
|
7121
7386
|
case 4:
|
|
7122
7387
|
case "end":
|
|
7123
|
-
return
|
|
7388
|
+
return _context23.stop();
|
|
7124
7389
|
}
|
|
7125
|
-
},
|
|
7390
|
+
}, _callee23, this, [[1, 3]]);
|
|
7126
7391
|
}));
|
|
7127
|
-
function setUpLocalStreamReferences(
|
|
7392
|
+
function setUpLocalStreamReferences(_x16) {
|
|
7128
7393
|
return _setUpLocalStreamReferences.apply(this, arguments);
|
|
7129
7394
|
}
|
|
7130
7395
|
return setUpLocalStreamReferences;
|
|
@@ -7139,72 +7404,72 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7139
7404
|
}, {
|
|
7140
7405
|
key: "waitForMediaConnectionConnected",
|
|
7141
7406
|
value: (function () {
|
|
7142
|
-
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7143
|
-
var iceConnected, _this$
|
|
7144
|
-
return _regenerator.default.wrap(function (
|
|
7145
|
-
while (1) switch (
|
|
7407
|
+
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
7408
|
+
var iceConnected, _this$mediaProperties9, _this$mediaProperties0, _this$mediaProperties1, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12, _this$mediaProperties13, timedOutError, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
7409
|
+
return _regenerator.default.wrap(function (_context24) {
|
|
7410
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
7146
7411
|
case 0:
|
|
7147
|
-
|
|
7148
|
-
|
|
7149
|
-
return this.mediaProperties.waitForMediaConnectionConnected();
|
|
7412
|
+
_context24.prev = 0;
|
|
7413
|
+
_context24.next = 1;
|
|
7414
|
+
return this.mediaProperties.waitForMediaConnectionConnected(this.correlationId);
|
|
7150
7415
|
case 1:
|
|
7151
|
-
|
|
7416
|
+
_context24.next = 5;
|
|
7152
7417
|
break;
|
|
7153
7418
|
case 2:
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
iceConnected =
|
|
7419
|
+
_context24.prev = 2;
|
|
7420
|
+
_t15 = _context24["catch"](0);
|
|
7421
|
+
iceConnected = _t15.iceConnected;
|
|
7157
7422
|
if (this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
7158
|
-
|
|
7423
|
+
_context24.next = 4;
|
|
7159
7424
|
break;
|
|
7160
7425
|
}
|
|
7161
|
-
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
|
|
7166
|
-
|
|
7167
|
-
|
|
7168
|
-
|
|
7169
|
-
|
|
7426
|
+
_t16 = this.webex.internal.newMetrics;
|
|
7427
|
+
_t17 = !this.turnServerUsed;
|
|
7428
|
+
_t18 = this.addMediaData.icePhaseCallback();
|
|
7429
|
+
_t19 = this.webex.internal.newMetrics.callDiagnosticMetrics;
|
|
7430
|
+
_t20 = _internalPluginMetrics.CallDiagnosticUtils;
|
|
7431
|
+
_t21 = ((_this$mediaProperties9 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties9 === void 0 ? void 0 : (_this$mediaProperties0 = _this$mediaProperties9.multistreamConnection) === null || _this$mediaProperties0 === void 0 ? void 0 : (_this$mediaProperties1 = _this$mediaProperties0.pc) === null || _this$mediaProperties1 === void 0 ? void 0 : (_this$mediaProperties10 = _this$mediaProperties1.pc) === null || _this$mediaProperties10 === void 0 ? void 0 : _this$mediaProperties10.signalingState) || ((_this$mediaProperties11 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties11 === void 0 ? void 0 : (_this$mediaProperties12 = _this$mediaProperties11.mediaConnection) === null || _this$mediaProperties12 === void 0 ? void 0 : (_this$mediaProperties13 = _this$mediaProperties12.pc) === null || _this$mediaProperties13 === void 0 ? void 0 : _this$mediaProperties13.signalingState) || 'unknown';
|
|
7432
|
+
_t22 = iceConnected;
|
|
7433
|
+
_t23 = this.turnServerUsed;
|
|
7434
|
+
_context24.next = 3;
|
|
7170
7435
|
return this.webex.meetings.reachability.isWebexMediaBackendUnreachable().catch(function () {
|
|
7171
7436
|
return false;
|
|
7172
7437
|
});
|
|
7173
7438
|
case 3:
|
|
7174
|
-
|
|
7175
|
-
|
|
7176
|
-
signalingState:
|
|
7177
|
-
iceConnected:
|
|
7178
|
-
turnServerUsed:
|
|
7179
|
-
unreachable:
|
|
7439
|
+
_t24 = _context24.sent;
|
|
7440
|
+
_t25 = _t20.generateClientErrorCodeForIceFailure.call(_t20, {
|
|
7441
|
+
signalingState: _t21,
|
|
7442
|
+
iceConnected: _t22,
|
|
7443
|
+
turnServerUsed: _t23,
|
|
7444
|
+
unreachable: _t24
|
|
7180
7445
|
});
|
|
7181
|
-
|
|
7182
|
-
clientErrorCode:
|
|
7446
|
+
_t26 = _t19.getErrorPayloadForClientErrorCode.call(_t19, {
|
|
7447
|
+
clientErrorCode: _t25
|
|
7183
7448
|
});
|
|
7184
|
-
|
|
7185
|
-
|
|
7186
|
-
canProceed:
|
|
7187
|
-
icePhase:
|
|
7188
|
-
errors:
|
|
7449
|
+
_t27 = [_t26];
|
|
7450
|
+
_t28 = {
|
|
7451
|
+
canProceed: _t17,
|
|
7452
|
+
icePhase: _t18,
|
|
7453
|
+
errors: _t27
|
|
7189
7454
|
};
|
|
7190
|
-
|
|
7455
|
+
_t29 = {
|
|
7191
7456
|
meetingId: this.id,
|
|
7192
|
-
rawError:
|
|
7457
|
+
rawError: _t15
|
|
7193
7458
|
};
|
|
7194
|
-
|
|
7459
|
+
_t16.submitClientEvent.call(_t16, {
|
|
7195
7460
|
name: 'client.ice.end',
|
|
7196
|
-
payload:
|
|
7197
|
-
options:
|
|
7461
|
+
payload: _t28,
|
|
7462
|
+
options: _t29
|
|
7198
7463
|
});
|
|
7199
7464
|
case 4:
|
|
7200
7465
|
timedOutError = new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
|
|
7201
|
-
timedOutError.cause =
|
|
7466
|
+
timedOutError.cause = _t15;
|
|
7202
7467
|
throw timedOutError;
|
|
7203
7468
|
case 5:
|
|
7204
7469
|
case "end":
|
|
7205
|
-
return
|
|
7470
|
+
return _context24.stop();
|
|
7206
7471
|
}
|
|
7207
|
-
},
|
|
7472
|
+
}, _callee24, this, [[0, 2]]);
|
|
7208
7473
|
}));
|
|
7209
7474
|
function waitForMediaConnectionConnected() {
|
|
7210
7475
|
return _waitForMediaConnectionConnected.apply(this, arguments);
|
|
@@ -7271,19 +7536,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7271
7536
|
}, {
|
|
7272
7537
|
key: "waitForRemoteSDPAnswer",
|
|
7273
7538
|
value: (function () {
|
|
7274
|
-
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7539
|
+
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25() {
|
|
7275
7540
|
var _this44 = this;
|
|
7276
7541
|
var LOG_HEADER, deferSDPAnswer;
|
|
7277
|
-
return _regenerator.default.wrap(function (
|
|
7278
|
-
while (1) switch (
|
|
7542
|
+
return _regenerator.default.wrap(function (_context25) {
|
|
7543
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
7279
7544
|
case 0:
|
|
7280
7545
|
LOG_HEADER = 'Meeting:index#addMedia():waitForRemoteSDPAnswer -->';
|
|
7281
7546
|
if (this.deferSDPAnswer) {
|
|
7282
|
-
|
|
7547
|
+
_context25.next = 1;
|
|
7283
7548
|
break;
|
|
7284
7549
|
}
|
|
7285
7550
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
|
|
7286
|
-
return
|
|
7551
|
+
return _context25.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
|
|
7287
7552
|
case 1:
|
|
7288
7553
|
deferSDPAnswer = this.deferSDPAnswer;
|
|
7289
7554
|
this.sdpResponseTimer = setTimeout(function () {
|
|
@@ -7309,12 +7574,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7309
7574
|
deferSDPAnswer.reject(error);
|
|
7310
7575
|
}, _constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT);
|
|
7311
7576
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " waiting for REMOTE SDP ANSWER..."));
|
|
7312
|
-
return
|
|
7577
|
+
return _context25.abrupt("return", deferSDPAnswer.promise);
|
|
7313
7578
|
case 2:
|
|
7314
7579
|
case "end":
|
|
7315
|
-
return
|
|
7580
|
+
return _context25.stop();
|
|
7316
7581
|
}
|
|
7317
|
-
},
|
|
7582
|
+
}, _callee25, this);
|
|
7318
7583
|
}));
|
|
7319
7584
|
function waitForRemoteSDPAnswer() {
|
|
7320
7585
|
return _waitForRemoteSDPAnswer.apply(this, arguments);
|
|
@@ -7333,30 +7598,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7333
7598
|
}, {
|
|
7334
7599
|
key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
|
|
7335
7600
|
value: (function () {
|
|
7336
|
-
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7337
|
-
var LOG_HEADER,
|
|
7338
|
-
return _regenerator.default.wrap(function (
|
|
7339
|
-
while (1) switch (
|
|
7601
|
+
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(remoteMediaManagerConfig, bundlePolicy) {
|
|
7602
|
+
var LOG_HEADER, _t30;
|
|
7603
|
+
return _regenerator.default.wrap(function (_context26) {
|
|
7604
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
7340
7605
|
case 0:
|
|
7341
7606
|
LOG_HEADER = 'Meeting:index#addMedia():retryEstablishMediaConnectionWithForcedTurnDiscovery -->';
|
|
7342
|
-
|
|
7343
|
-
|
|
7607
|
+
_context26.prev = 1;
|
|
7608
|
+
_context26.next = 2;
|
|
7344
7609
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
|
|
7345
7610
|
case 2:
|
|
7346
|
-
|
|
7611
|
+
_context26.next = 4;
|
|
7347
7612
|
break;
|
|
7348
7613
|
case 3:
|
|
7349
|
-
|
|
7350
|
-
|
|
7351
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "),
|
|
7352
|
-
throw
|
|
7614
|
+
_context26.prev = 3;
|
|
7615
|
+
_t30 = _context26["catch"](1);
|
|
7616
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _t30);
|
|
7617
|
+
throw _t30;
|
|
7353
7618
|
case 4:
|
|
7354
7619
|
case "end":
|
|
7355
|
-
return
|
|
7620
|
+
return _context26.stop();
|
|
7356
7621
|
}
|
|
7357
|
-
},
|
|
7622
|
+
}, _callee26, this, [[1, 3]]);
|
|
7358
7623
|
}));
|
|
7359
|
-
function retryEstablishMediaConnectionWithForcedTurnDiscovery(
|
|
7624
|
+
function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x17, _x18) {
|
|
7360
7625
|
return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
|
|
7361
7626
|
}
|
|
7362
7627
|
return retryEstablishMediaConnectionWithForcedTurnDiscovery;
|
|
@@ -7374,14 +7639,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7374
7639
|
}, {
|
|
7375
7640
|
key: "retryWithForcedTurnDiscovery",
|
|
7376
7641
|
value: (function () {
|
|
7377
|
-
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7642
|
+
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27(remoteMediaManagerConfig, bundlePolicy) {
|
|
7378
7643
|
var LOG_HEADER;
|
|
7379
|
-
return _regenerator.default.wrap(function (
|
|
7380
|
-
while (1) switch (
|
|
7644
|
+
return _regenerator.default.wrap(function (_context27) {
|
|
7645
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
7381
7646
|
case 0:
|
|
7382
7647
|
this.addMediaData.retriedWithTurnServer = true;
|
|
7383
7648
|
LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
|
|
7384
|
-
|
|
7649
|
+
_context27.next = 1;
|
|
7385
7650
|
return this.cleanUpBeforeRetryWithTurnServer();
|
|
7386
7651
|
case 1:
|
|
7387
7652
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
|
|
@@ -7391,24 +7656,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7391
7656
|
reason: 'forcingTurnTls'
|
|
7392
7657
|
});
|
|
7393
7658
|
if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
|
|
7394
|
-
|
|
7659
|
+
_context27.next = 2;
|
|
7395
7660
|
break;
|
|
7396
7661
|
}
|
|
7397
7662
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
|
|
7398
|
-
|
|
7663
|
+
_context27.next = 2;
|
|
7399
7664
|
return this.join({
|
|
7400
7665
|
rejoin: true
|
|
7401
7666
|
});
|
|
7402
7667
|
case 2:
|
|
7403
|
-
|
|
7668
|
+
_context27.next = 3;
|
|
7404
7669
|
return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
7405
7670
|
case 3:
|
|
7406
7671
|
case "end":
|
|
7407
|
-
return
|
|
7672
|
+
return _context27.stop();
|
|
7408
7673
|
}
|
|
7409
|
-
},
|
|
7674
|
+
}, _callee27, this);
|
|
7410
7675
|
}));
|
|
7411
|
-
function retryWithForcedTurnDiscovery(
|
|
7676
|
+
function retryWithForcedTurnDiscovery(_x19, _x20) {
|
|
7412
7677
|
return _retryWithForcedTurnDiscovery.apply(this, arguments);
|
|
7413
7678
|
}
|
|
7414
7679
|
return retryWithForcedTurnDiscovery;
|
|
@@ -7428,32 +7693,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7428
7693
|
}, {
|
|
7429
7694
|
key: "handleWaitForMediaConnectionConnectedError",
|
|
7430
7695
|
value: (function () {
|
|
7431
|
-
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7696
|
+
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee28(error, remoteMediaManagerConfig, bundlePolicy) {
|
|
7432
7697
|
var LOG_HEADER;
|
|
7433
|
-
return _regenerator.default.wrap(function (
|
|
7434
|
-
while (1) switch (
|
|
7698
|
+
return _regenerator.default.wrap(function (_context28) {
|
|
7699
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
7435
7700
|
case 0:
|
|
7436
7701
|
LOG_HEADER = 'Meeting:index#addMedia():handleWaitForMediaConnectionConnectedError -->'; // @ts-ignore - config coming from registerPlugin
|
|
7437
7702
|
if (this.turnServerUsed) {
|
|
7438
|
-
|
|
7703
|
+
_context28.next = 2;
|
|
7439
7704
|
break;
|
|
7440
7705
|
}
|
|
7441
7706
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " error waiting for media to connect on UDP, TCP, retrying using TURN-TLS, "), error);
|
|
7442
|
-
|
|
7707
|
+
_context28.next = 1;
|
|
7443
7708
|
return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
7444
7709
|
case 1:
|
|
7445
|
-
|
|
7710
|
+
_context28.next = 3;
|
|
7446
7711
|
break;
|
|
7447
7712
|
case 2:
|
|
7448
7713
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error waiting for media to connect using UDP, TCP and TURN-TLS"), error);
|
|
7449
7714
|
throw new _webexErrors.AddMediaFailed(error);
|
|
7450
7715
|
case 3:
|
|
7451
7716
|
case "end":
|
|
7452
|
-
return
|
|
7717
|
+
return _context28.stop();
|
|
7453
7718
|
}
|
|
7454
|
-
},
|
|
7719
|
+
}, _callee28, this);
|
|
7455
7720
|
}));
|
|
7456
|
-
function handleWaitForMediaConnectionConnectedError(_x22, _x23
|
|
7721
|
+
function handleWaitForMediaConnectionConnectedError(_x21, _x22, _x23) {
|
|
7457
7722
|
return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
|
|
7458
7723
|
}
|
|
7459
7724
|
return handleWaitForMediaConnectionConnectedError;
|
|
@@ -7469,20 +7734,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7469
7734
|
}, {
|
|
7470
7735
|
key: "doTurnDiscovery",
|
|
7471
7736
|
value: (function () {
|
|
7472
|
-
var _doTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7737
|
+
var _doTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee29(isReconnecting, isForced) {
|
|
7473
7738
|
var cdl, turnDiscoveryResult;
|
|
7474
|
-
return _regenerator.default.wrap(function (
|
|
7475
|
-
while (1) switch (
|
|
7739
|
+
return _regenerator.default.wrap(function (_context29) {
|
|
7740
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
7476
7741
|
case 0:
|
|
7477
7742
|
// @ts-ignore
|
|
7478
7743
|
cdl = this.webex.internal.newMetrics.callDiagnosticLatencies; // @ts-ignore
|
|
7479
7744
|
this.webex.internal.newMetrics.submitInternalEvent({
|
|
7480
7745
|
name: 'internal.client.add-media.turn-discovery.start'
|
|
7481
7746
|
});
|
|
7482
|
-
|
|
7747
|
+
_context29.next = 1;
|
|
7483
7748
|
return this.roap.doTurnDiscovery(this, isReconnecting, isForced);
|
|
7484
7749
|
case 1:
|
|
7485
|
-
turnDiscoveryResult =
|
|
7750
|
+
turnDiscoveryResult = _context29.sent;
|
|
7486
7751
|
this.turnDiscoverySkippedReason = turnDiscoveryResult === null || turnDiscoveryResult === void 0 ? void 0 : turnDiscoveryResult.turnDiscoverySkippedReason;
|
|
7487
7752
|
this.turnServerUsed = !this.turnDiscoverySkippedReason;
|
|
7488
7753
|
|
|
@@ -7498,14 +7763,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7498
7763
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer
|
|
7499
7764
|
});
|
|
7500
7765
|
}
|
|
7501
|
-
return
|
|
7766
|
+
return _context29.abrupt("return", turnDiscoveryResult);
|
|
7502
7767
|
case 2:
|
|
7503
7768
|
case "end":
|
|
7504
|
-
return
|
|
7769
|
+
return _context29.stop();
|
|
7505
7770
|
}
|
|
7506
|
-
},
|
|
7771
|
+
}, _callee29, this);
|
|
7507
7772
|
}));
|
|
7508
|
-
function doTurnDiscovery(
|
|
7773
|
+
function doTurnDiscovery(_x24, _x25) {
|
|
7509
7774
|
return _doTurnDiscovery.apply(this, arguments);
|
|
7510
7775
|
}
|
|
7511
7776
|
return doTurnDiscovery;
|
|
@@ -7524,35 +7789,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7524
7789
|
}, {
|
|
7525
7790
|
key: "establishMediaConnection",
|
|
7526
7791
|
value: (function () {
|
|
7527
|
-
var _establishMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7792
|
+
var _establishMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee30(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
|
|
7528
7793
|
var _this$locusMediaReque;
|
|
7529
|
-
var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc,
|
|
7530
|
-
return _regenerator.default.wrap(function (
|
|
7531
|
-
while (1) switch (
|
|
7794
|
+
var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc, _t31, _t32;
|
|
7795
|
+
return _regenerator.default.wrap(function (_context30) {
|
|
7796
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
7532
7797
|
case 0:
|
|
7533
7798
|
LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->';
|
|
7534
7799
|
isReconnecting = this.isMoveToInProgress || !!((_this$locusMediaReque = this.locusMediaRequest) !== null && _this$locusMediaReque !== void 0 && _this$locusMediaReque.isConfluenceCreated()); // We are forcing turn discovery if the case is moveTo and a turn server was used already
|
|
7535
7800
|
if (this.isMoveToInProgress && this.turnServerUsed) {
|
|
7536
7801
|
isForced = true;
|
|
7537
7802
|
}
|
|
7538
|
-
|
|
7803
|
+
_context30.prev = 1;
|
|
7539
7804
|
if (turnServerInfo) {
|
|
7540
|
-
|
|
7805
|
+
_context30.next = 3;
|
|
7541
7806
|
break;
|
|
7542
7807
|
}
|
|
7543
|
-
|
|
7808
|
+
_context30.next = 2;
|
|
7544
7809
|
return this.doTurnDiscovery(isReconnecting, isForced);
|
|
7545
7810
|
case 2:
|
|
7546
|
-
_yield$this$doTurnDis =
|
|
7811
|
+
_yield$this$doTurnDis = _context30.sent;
|
|
7547
7812
|
turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
|
|
7548
7813
|
case 3:
|
|
7549
|
-
|
|
7814
|
+
_context30.next = 4;
|
|
7550
7815
|
return this.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
7551
7816
|
case 4:
|
|
7552
|
-
mc =
|
|
7817
|
+
mc = _context30.sent;
|
|
7553
7818
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created this.isMultistream=").concat(this.isMultistream));
|
|
7554
7819
|
if (!this.isMultistream) {
|
|
7555
|
-
|
|
7820
|
+
_context30.next = 5;
|
|
7556
7821
|
break;
|
|
7557
7822
|
}
|
|
7558
7823
|
this.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(this.receiveSlotManager, this.mediaRequestManagers, remoteMediaManagerConfig);
|
|
@@ -7560,42 +7825,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7560
7825
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.InterpretationAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED);
|
|
7561
7826
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
|
|
7562
7827
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
|
|
7563
|
-
|
|
7828
|
+
_context30.next = 5;
|
|
7564
7829
|
return this.remoteMediaManager.start();
|
|
7565
7830
|
case 5:
|
|
7566
|
-
|
|
7831
|
+
_context30.next = 6;
|
|
7567
7832
|
return mc.initiateOffer();
|
|
7568
7833
|
case 6:
|
|
7569
|
-
|
|
7834
|
+
_context30.next = 7;
|
|
7570
7835
|
return this.waitForRemoteSDPAnswer();
|
|
7571
7836
|
case 7:
|
|
7572
7837
|
this.handleMediaLogging(this.mediaProperties);
|
|
7573
|
-
|
|
7838
|
+
_context30.next = 9;
|
|
7574
7839
|
break;
|
|
7575
7840
|
case 8:
|
|
7576
|
-
|
|
7577
|
-
|
|
7578
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "),
|
|
7579
|
-
throw
|
|
7841
|
+
_context30.prev = 8;
|
|
7842
|
+
_t31 = _context30["catch"](1);
|
|
7843
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _t31);
|
|
7844
|
+
throw _t31;
|
|
7580
7845
|
case 9:
|
|
7581
|
-
|
|
7582
|
-
|
|
7846
|
+
_context30.prev = 9;
|
|
7847
|
+
_context30.next = 10;
|
|
7583
7848
|
return this.waitForMediaConnectionConnected();
|
|
7584
7849
|
case 10:
|
|
7585
|
-
|
|
7850
|
+
_context30.next = 12;
|
|
7586
7851
|
break;
|
|
7587
7852
|
case 11:
|
|
7588
|
-
|
|
7589
|
-
|
|
7590
|
-
|
|
7591
|
-
return this.handleWaitForMediaConnectionConnectedError(
|
|
7853
|
+
_context30.prev = 11;
|
|
7854
|
+
_t32 = _context30["catch"](9);
|
|
7855
|
+
_context30.next = 12;
|
|
7856
|
+
return this.handleWaitForMediaConnectionConnectedError(_t32, remoteMediaManagerConfig, bundlePolicy);
|
|
7592
7857
|
case 12:
|
|
7593
7858
|
case "end":
|
|
7594
|
-
return
|
|
7859
|
+
return _context30.stop();
|
|
7595
7860
|
}
|
|
7596
|
-
},
|
|
7861
|
+
}, _callee30, this, [[1, 8], [9, 11]]);
|
|
7597
7862
|
}));
|
|
7598
|
-
function establishMediaConnection(_x27, _x28, _x29
|
|
7863
|
+
function establishMediaConnection(_x26, _x27, _x28, _x29) {
|
|
7599
7864
|
return _establishMediaConnection.apply(this, arguments);
|
|
7600
7865
|
}
|
|
7601
7866
|
return establishMediaConnection;
|
|
@@ -7610,16 +7875,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7610
7875
|
}, {
|
|
7611
7876
|
key: "cleanUpOnAddMediaFailure",
|
|
7612
7877
|
value: (function () {
|
|
7613
|
-
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7878
|
+
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee31() {
|
|
7614
7879
|
var _this$networkQualityM, _this$statsMonitor;
|
|
7615
|
-
return _regenerator.default.wrap(function (
|
|
7616
|
-
while (1) switch (
|
|
7880
|
+
return _regenerator.default.wrap(function (_context31) {
|
|
7881
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
7617
7882
|
case 0:
|
|
7618
7883
|
if (!this.statsAnalyzer) {
|
|
7619
|
-
|
|
7884
|
+
_context31.next = 1;
|
|
7620
7885
|
break;
|
|
7621
7886
|
}
|
|
7622
|
-
|
|
7887
|
+
_context31.next = 1;
|
|
7623
7888
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7624
7889
|
case 1:
|
|
7625
7890
|
this.statsAnalyzer = null;
|
|
@@ -7630,7 +7895,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7630
7895
|
|
|
7631
7896
|
// when media fails, we want to upload a webrtc dump to see whats going on
|
|
7632
7897
|
// this function is async, but returns once the stats have been gathered
|
|
7633
|
-
|
|
7898
|
+
_context31.next = 2;
|
|
7634
7899
|
return this.forceSendStatsReport({
|
|
7635
7900
|
callFrom: 'addMedia'
|
|
7636
7901
|
});
|
|
@@ -7641,9 +7906,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7641
7906
|
}
|
|
7642
7907
|
case 3:
|
|
7643
7908
|
case "end":
|
|
7644
|
-
return
|
|
7909
|
+
return _context31.stop();
|
|
7645
7910
|
}
|
|
7646
|
-
},
|
|
7911
|
+
}, _callee31, this);
|
|
7647
7912
|
}));
|
|
7648
7913
|
function cleanUpOnAddMediaFailure() {
|
|
7649
7914
|
return _cleanUpOnAddMediaFailure.apply(this, arguments);
|
|
@@ -7661,16 +7926,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7661
7926
|
}, {
|
|
7662
7927
|
key: "downgradeFromMultistreamToTranscoded",
|
|
7663
7928
|
value: (function () {
|
|
7664
|
-
var _downgradeFromMultistreamToTranscoded = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7929
|
+
var _downgradeFromMultistreamToTranscoded = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee32() {
|
|
7665
7930
|
var _this$networkQualityM2, _this$statsMonitor2, _this$locusMediaReque2;
|
|
7666
|
-
return _regenerator.default.wrap(function (
|
|
7667
|
-
while (1) switch (
|
|
7931
|
+
return _regenerator.default.wrap(function (_context32) {
|
|
7932
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
7668
7933
|
case 0:
|
|
7669
7934
|
if (!this.statsAnalyzer) {
|
|
7670
|
-
|
|
7935
|
+
_context32.next = 1;
|
|
7671
7936
|
break;
|
|
7672
7937
|
}
|
|
7673
|
-
|
|
7938
|
+
_context32.next = 1;
|
|
7674
7939
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7675
7940
|
case 1:
|
|
7676
7941
|
this.statsAnalyzer = null;
|
|
@@ -7688,9 +7953,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7688
7953
|
this.createStatsAnalyzer();
|
|
7689
7954
|
case 2:
|
|
7690
7955
|
case "end":
|
|
7691
|
-
return
|
|
7956
|
+
return _context32.stop();
|
|
7692
7957
|
}
|
|
7693
|
-
},
|
|
7958
|
+
}, _callee32, this);
|
|
7694
7959
|
}));
|
|
7695
7960
|
function downgradeFromMultistreamToTranscoded() {
|
|
7696
7961
|
return _downgradeFromMultistreamToTranscoded.apply(this, arguments);
|
|
@@ -7708,11 +7973,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7708
7973
|
}, {
|
|
7709
7974
|
key: "cleanUpBeforeRetryWithTurnServer",
|
|
7710
7975
|
value: (function () {
|
|
7711
|
-
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7712
|
-
return _regenerator.default.wrap(function (
|
|
7713
|
-
while (1) switch (
|
|
7976
|
+
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee33() {
|
|
7977
|
+
return _regenerator.default.wrap(function (_context33) {
|
|
7978
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
7714
7979
|
case 0:
|
|
7715
|
-
|
|
7980
|
+
_context33.next = 1;
|
|
7716
7981
|
return this.forceSendStatsReport({
|
|
7717
7982
|
callFrom: 'cleanUpBeforeRetryWithTurnServer'
|
|
7718
7983
|
});
|
|
@@ -7732,9 +7997,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7732
7997
|
}
|
|
7733
7998
|
case 2:
|
|
7734
7999
|
case "end":
|
|
7735
|
-
return
|
|
8000
|
+
return _context33.stop();
|
|
7736
8001
|
}
|
|
7737
|
-
},
|
|
8002
|
+
}, _callee33, this);
|
|
7738
8003
|
}));
|
|
7739
8004
|
function cleanUpBeforeRetryWithTurnServer() {
|
|
7740
8005
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
@@ -7744,35 +8009,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7744
8009
|
}, {
|
|
7745
8010
|
key: "cleanUpBeforeReconnection",
|
|
7746
8011
|
value: function () {
|
|
7747
|
-
var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7748
|
-
var
|
|
7749
|
-
return _regenerator.default.wrap(function (
|
|
7750
|
-
while (1) switch (
|
|
8012
|
+
var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee34() {
|
|
8013
|
+
var _t33;
|
|
8014
|
+
return _regenerator.default.wrap(function (_context34) {
|
|
8015
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7751
8016
|
case 0:
|
|
7752
|
-
|
|
7753
|
-
|
|
8017
|
+
_context34.prev = 0;
|
|
8018
|
+
_context34.next = 1;
|
|
7754
8019
|
return this.forceSendStatsReport({
|
|
7755
8020
|
callFrom: 'cleanUpBeforeReconnection'
|
|
7756
8021
|
});
|
|
7757
8022
|
case 1:
|
|
7758
8023
|
if (!this.statsAnalyzer) {
|
|
7759
|
-
|
|
8024
|
+
_context34.next = 2;
|
|
7760
8025
|
break;
|
|
7761
8026
|
}
|
|
7762
|
-
|
|
8027
|
+
_context34.next = 2;
|
|
7763
8028
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7764
8029
|
case 2:
|
|
7765
|
-
|
|
8030
|
+
_context34.next = 4;
|
|
7766
8031
|
break;
|
|
7767
8032
|
case 3:
|
|
7768
|
-
|
|
7769
|
-
|
|
7770
|
-
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ',
|
|
8033
|
+
_context34.prev = 3;
|
|
8034
|
+
_t33 = _context34["catch"](0);
|
|
8035
|
+
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _t33);
|
|
7771
8036
|
case 4:
|
|
7772
8037
|
case "end":
|
|
7773
|
-
return
|
|
8038
|
+
return _context34.stop();
|
|
7774
8039
|
}
|
|
7775
|
-
},
|
|
8040
|
+
}, _callee34, this, [[0, 3]]);
|
|
7776
8041
|
}));
|
|
7777
8042
|
function cleanUpBeforeReconnection() {
|
|
7778
8043
|
return _cleanUpBeforeReconnection.apply(this, arguments);
|
|
@@ -7840,7 +8105,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7840
8105
|
}, {
|
|
7841
8106
|
key: "addMediaInternal",
|
|
7842
8107
|
value: (function () {
|
|
7843
|
-
var _addMediaInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
8108
|
+
var _addMediaInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee35(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
|
|
7844
8109
|
var options,
|
|
7845
8110
|
LOG_HEADER,
|
|
7846
8111
|
localStreams,
|
|
@@ -7857,6 +8122,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7857
8122
|
bundlePolicy,
|
|
7858
8123
|
_options$additionalMe,
|
|
7859
8124
|
additionalMediaOptions,
|
|
8125
|
+
_options$allowPublish,
|
|
8126
|
+
allowPublishMediaInLobby,
|
|
7860
8127
|
rawSendVideo,
|
|
7861
8128
|
rawReceiveVideo,
|
|
7862
8129
|
rawSendAudio,
|
|
@@ -7874,7 +8141,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7874
8141
|
numTransports,
|
|
7875
8142
|
iceCandidateErrors,
|
|
7876
8143
|
reachabilityMetrics,
|
|
7877
|
-
_this$mediaProperties13,
|
|
7878
8144
|
_this$mediaProperties14,
|
|
7879
8145
|
_this$mediaProperties15,
|
|
7880
8146
|
_this$mediaProperties16,
|
|
@@ -7895,36 +8161,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7895
8161
|
_this$mediaProperties31,
|
|
7896
8162
|
_this$mediaProperties32,
|
|
7897
8163
|
_this$mediaProperties33,
|
|
8164
|
+
_this$mediaProperties34,
|
|
7898
8165
|
_reachabilityMetrics,
|
|
7899
8166
|
_yield$this$mediaProp2,
|
|
7900
8167
|
_selectedCandidatePairChanges,
|
|
7901
8168
|
_numTransports,
|
|
7902
8169
|
_iceCandidateErrors,
|
|
7903
|
-
|
|
7904
|
-
|
|
7905
|
-
|
|
7906
|
-
return _regenerator.default.wrap(function (
|
|
7907
|
-
while (1) switch (
|
|
8170
|
+
_args35 = arguments,
|
|
8171
|
+
_t34,
|
|
8172
|
+
_t35;
|
|
8173
|
+
return _regenerator.default.wrap(function (_context35) {
|
|
8174
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
7908
8175
|
case 0:
|
|
7909
|
-
options =
|
|
8176
|
+
options = _args35.length > 3 && _args35[3] !== undefined ? _args35[3] : {};
|
|
7910
8177
|
this.addMediaData.retriedWithTurnServer = false;
|
|
7911
8178
|
this.addMediaData.icePhaseCallback = icePhaseCallback;
|
|
7912
8179
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
7913
8180
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
7914
8181
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: options=").concat((0, _stringify.default)(options), ", turnServerInfo=").concat((0, _stringify.default)(turnServerInfo), ", forceTurnDiscovery=").concat(forceTurnDiscovery));
|
|
7915
8182
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
7916
|
-
|
|
8183
|
+
_context35.next = 1;
|
|
7917
8184
|
break;
|
|
7918
8185
|
}
|
|
7919
8186
|
throw new _webexErrors.MeetingNotActiveError();
|
|
7920
8187
|
case 1:
|
|
7921
8188
|
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
7922
|
-
|
|
8189
|
+
_context35.next = 2;
|
|
7923
8190
|
break;
|
|
7924
8191
|
}
|
|
7925
8192
|
throw new _webexErrors.UserNotJoinedError();
|
|
7926
8193
|
case 2:
|
|
7927
|
-
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, _options$additionalMe = options.additionalMediaOptions, additionalMediaOptions = _options$additionalMe === void 0 ? {} : _options$additionalMe;
|
|
8194
|
+
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, _options$additionalMe = options.additionalMediaOptions, additionalMediaOptions = _options$additionalMe === void 0 ? {} : _options$additionalMe, _options$allowPublish = options.allowPublishMediaInLobby, allowPublishMediaInLobby = _options$allowPublish === void 0 ? false : _options$allowPublish;
|
|
7928
8195
|
rawSendVideo = additionalMediaOptions.sendVideo, rawReceiveVideo = additionalMediaOptions.receiveVideo, rawSendAudio = additionalMediaOptions.sendAudio, rawReceiveAudio = additionalMediaOptions.receiveAudio;
|
|
7929
8196
|
sendVideo = videoEnabled && (rawSendVideo !== null && rawSendVideo !== void 0 ? rawSendVideo : true);
|
|
7930
8197
|
receiveVideo = videoEnabled && (rawReceiveVideo !== null && rawReceiveVideo !== void 0 ? rawReceiveVideo : true);
|
|
@@ -7935,9 +8202,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7935
8202
|
// @ts-ignore
|
|
7936
8203
|
ipver = _util2.default.getIpVersion(this.webex); // used just for metrics
|
|
7937
8204
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
7938
|
-
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
7939
8205
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
7940
|
-
|
|
8206
|
+
_context35.next = 3;
|
|
7941
8207
|
break;
|
|
7942
8208
|
}
|
|
7943
8209
|
throw new _webexErrors.UserInLobbyError();
|
|
@@ -7981,58 +8247,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7981
8247
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
7982
8248
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
7983
8249
|
this.brbState = (0, _brbState.createBrbState)(this, false);
|
|
7984
|
-
|
|
7985
|
-
|
|
8250
|
+
_context35.prev = 4;
|
|
8251
|
+
if (!(allowPublishMediaInLobby || !this.isUserUnadmitted)) {
|
|
8252
|
+
_context35.next = 5;
|
|
8253
|
+
break;
|
|
8254
|
+
}
|
|
8255
|
+
_context35.next = 5;
|
|
7986
8256
|
return this.setUpLocalStreamReferences(localStreams);
|
|
7987
8257
|
case 5:
|
|
7988
8258
|
this.setMercuryListener();
|
|
7989
8259
|
this.createStatsAnalyzer();
|
|
7990
|
-
|
|
7991
|
-
|
|
8260
|
+
_context35.prev = 6;
|
|
8261
|
+
_context35.next = 7;
|
|
7992
8262
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7993
8263
|
case 7:
|
|
7994
|
-
|
|
8264
|
+
_context35.next = 12;
|
|
7995
8265
|
break;
|
|
7996
8266
|
case 8:
|
|
7997
|
-
|
|
7998
|
-
|
|
7999
|
-
if (!(
|
|
8000
|
-
|
|
8267
|
+
_context35.prev = 8;
|
|
8268
|
+
_t34 = _context35["catch"](6);
|
|
8269
|
+
if (!(_t34 instanceof _multistreamNotSupportedError.default)) {
|
|
8270
|
+
_context35.next = 11;
|
|
8001
8271
|
break;
|
|
8002
8272
|
}
|
|
8003
8273
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " we asked for multistream backend (Homer), but got transcoded backend, recreating media connection..."));
|
|
8004
|
-
|
|
8274
|
+
_context35.next = 9;
|
|
8005
8275
|
return this.downgradeFromMultistreamToTranscoded();
|
|
8006
8276
|
case 9:
|
|
8007
|
-
|
|
8277
|
+
_context35.next = 10;
|
|
8008
8278
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true, undefined);
|
|
8009
8279
|
case 10:
|
|
8010
|
-
|
|
8280
|
+
_context35.next = 12;
|
|
8011
8281
|
break;
|
|
8012
8282
|
case 11:
|
|
8013
|
-
throw
|
|
8283
|
+
throw _t34;
|
|
8014
8284
|
case 12:
|
|
8015
8285
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connected, finalizing..."));
|
|
8016
8286
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
8017
|
-
|
|
8287
|
+
_context35.next = 13;
|
|
8018
8288
|
break;
|
|
8019
8289
|
}
|
|
8020
|
-
|
|
8290
|
+
_context35.next = 13;
|
|
8021
8291
|
return this.enqueueScreenShareFloorRequest();
|
|
8022
8292
|
case 13:
|
|
8023
|
-
|
|
8293
|
+
_context35.next = 14;
|
|
8024
8294
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
8025
8295
|
case 14:
|
|
8026
|
-
_yield$this$mediaProp =
|
|
8296
|
+
_yield$this$mediaProp = _context35.sent;
|
|
8027
8297
|
connectionType = _yield$this$mediaProp.connectionType;
|
|
8028
8298
|
ipVersion = _yield$this$mediaProp.ipVersion;
|
|
8029
8299
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
8030
8300
|
numTransports = _yield$this$mediaProp.numTransports;
|
|
8031
8301
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
8032
|
-
|
|
8302
|
+
_context35.next = 15;
|
|
8033
8303
|
return this.getMediaReachabilityMetricFields();
|
|
8034
8304
|
case 15:
|
|
8035
|
-
reachabilityMetrics =
|
|
8305
|
+
reachabilityMetrics = _context35.sent;
|
|
8036
8306
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
8037
8307
|
correlation_id: this.correlationId,
|
|
8038
8308
|
locus_id: this.locusUrl.split('/').pop(),
|
|
@@ -8062,31 +8332,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8062
8332
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
8063
8333
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
8064
8334
|
this.startPeriodicLogUpload();
|
|
8065
|
-
|
|
8335
|
+
_context35.next = 20;
|
|
8066
8336
|
break;
|
|
8067
8337
|
case 16:
|
|
8068
|
-
|
|
8069
|
-
|
|
8070
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
8338
|
+
_context35.prev = 16;
|
|
8339
|
+
_t35 = _context35["catch"](4);
|
|
8340
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _t35);
|
|
8071
8341
|
|
|
8072
8342
|
// @ts-ignore
|
|
8073
|
-
|
|
8343
|
+
_context35.next = 17;
|
|
8074
8344
|
return this.getMediaReachabilityMetricFields();
|
|
8075
8345
|
case 17:
|
|
8076
|
-
_reachabilityMetrics =
|
|
8077
|
-
|
|
8346
|
+
_reachabilityMetrics = _context35.sent;
|
|
8347
|
+
_context35.next = 18;
|
|
8078
8348
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
8079
8349
|
case 18:
|
|
8080
|
-
_yield$this$mediaProp2 =
|
|
8350
|
+
_yield$this$mediaProp2 = _context35.sent;
|
|
8081
8351
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
8082
8352
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
8083
8353
|
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
8084
8354
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
8085
8355
|
correlation_id: this.correlationId,
|
|
8086
8356
|
locus_id: this.locusUrl.split('/').pop(),
|
|
8087
|
-
reason:
|
|
8088
|
-
stack:
|
|
8089
|
-
code:
|
|
8357
|
+
reason: _t35.message,
|
|
8358
|
+
stack: _t35.stack,
|
|
8359
|
+
code: _t35.code,
|
|
8090
8360
|
selectedCandidatePairChanges: _selectedCandidatePairChanges,
|
|
8091
8361
|
numTransports: _numTransports,
|
|
8092
8362
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
@@ -8094,14 +8364,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8094
8364
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer,
|
|
8095
8365
|
isMultistream: this.isMultistream,
|
|
8096
8366
|
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry,
|
|
8097
|
-
signalingState: ((_this$
|
|
8098
|
-
connectionState: ((_this$
|
|
8099
|
-
iceConnectionState: ((_this$
|
|
8367
|
+
signalingState: ((_this$mediaProperties14 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties14 === void 0 ? void 0 : (_this$mediaProperties15 = _this$mediaProperties14.multistreamConnection) === null || _this$mediaProperties15 === void 0 ? void 0 : (_this$mediaProperties16 = _this$mediaProperties15.pc) === null || _this$mediaProperties16 === void 0 ? void 0 : (_this$mediaProperties17 = _this$mediaProperties16.pc) === null || _this$mediaProperties17 === void 0 ? void 0 : _this$mediaProperties17.signalingState) || ((_this$mediaProperties18 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties18 === void 0 ? void 0 : (_this$mediaProperties19 = _this$mediaProperties18.mediaConnection) === null || _this$mediaProperties19 === void 0 ? void 0 : (_this$mediaProperties20 = _this$mediaProperties19.pc) === null || _this$mediaProperties20 === void 0 ? void 0 : _this$mediaProperties20.signalingState) || 'unknown',
|
|
8368
|
+
connectionState: ((_this$mediaProperties21 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties21 === void 0 ? void 0 : (_this$mediaProperties22 = _this$mediaProperties21.multistreamConnection) === null || _this$mediaProperties22 === void 0 ? void 0 : (_this$mediaProperties23 = _this$mediaProperties22.pc) === null || _this$mediaProperties23 === void 0 ? void 0 : (_this$mediaProperties24 = _this$mediaProperties23.pc) === null || _this$mediaProperties24 === void 0 ? void 0 : _this$mediaProperties24.connectionState) || ((_this$mediaProperties25 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties25 === void 0 ? void 0 : (_this$mediaProperties26 = _this$mediaProperties25.mediaConnection) === null || _this$mediaProperties26 === void 0 ? void 0 : (_this$mediaProperties27 = _this$mediaProperties26.pc) === null || _this$mediaProperties27 === void 0 ? void 0 : _this$mediaProperties27.connectionState) || 'unknown',
|
|
8369
|
+
iceConnectionState: ((_this$mediaProperties28 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.multistreamConnection) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : (_this$mediaProperties31 = _this$mediaProperties30.pc) === null || _this$mediaProperties31 === void 0 ? void 0 : _this$mediaProperties31.iceConnectionState) || ((_this$mediaProperties32 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.mediaConnection) === null || _this$mediaProperties33 === void 0 ? void 0 : (_this$mediaProperties34 = _this$mediaProperties33.pc) === null || _this$mediaProperties34 === void 0 ? void 0 : _this$mediaProperties34.iceConnectionState) || 'unknown'
|
|
8100
8370
|
}, _reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
8101
8371
|
iceCandidatesCount: this.iceCandidatesCount,
|
|
8102
8372
|
ipver: ipver
|
|
8103
8373
|
}));
|
|
8104
|
-
|
|
8374
|
+
_context35.next = 19;
|
|
8105
8375
|
return this.cleanUpOnAddMediaFailure();
|
|
8106
8376
|
case 19:
|
|
8107
8377
|
// Upload logs on error while adding media
|
|
@@ -8109,23 +8379,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8109
8379
|
file: 'meeting/index',
|
|
8110
8380
|
function: 'addMedia'
|
|
8111
8381
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
8112
|
-
if (
|
|
8382
|
+
if (_t35 instanceof _internalMediaCore.Errors.SdpError) {
|
|
8113
8383
|
this.leave({
|
|
8114
8384
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
8115
8385
|
});
|
|
8116
8386
|
}
|
|
8117
|
-
throw
|
|
8387
|
+
throw _t35;
|
|
8118
8388
|
case 20:
|
|
8119
|
-
|
|
8389
|
+
_context35.prev = 20;
|
|
8120
8390
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
8121
|
-
return
|
|
8391
|
+
return _context35.finish(20);
|
|
8122
8392
|
case 21:
|
|
8123
8393
|
case "end":
|
|
8124
|
-
return
|
|
8394
|
+
return _context35.stop();
|
|
8125
8395
|
}
|
|
8126
|
-
},
|
|
8396
|
+
}, _callee35, this, [[4, 16, 20, 21], [6, 8]]);
|
|
8127
8397
|
}));
|
|
8128
|
-
function addMediaInternal(_x31, _x32
|
|
8398
|
+
function addMediaInternal(_x30, _x31, _x32) {
|
|
8129
8399
|
return _addMediaInternal.apply(this, arguments);
|
|
8130
8400
|
}
|
|
8131
8401
|
return addMediaInternal;
|
|
@@ -8191,35 +8461,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8191
8461
|
* @memberof Meeting
|
|
8192
8462
|
*/
|
|
8193
8463
|
function () {
|
|
8194
|
-
var _updateMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
8464
|
+
var _updateMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee36(options) {
|
|
8195
8465
|
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
|
|
8196
|
-
return _regenerator.default.wrap(function (
|
|
8197
|
-
while (1) switch (
|
|
8466
|
+
return _regenerator.default.wrap(function (_context36) {
|
|
8467
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
8198
8468
|
case 0:
|
|
8199
8469
|
this.checkMediaConnection();
|
|
8200
8470
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
8201
8471
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
8202
8472
|
if (this.canUpdateMedia()) {
|
|
8203
|
-
|
|
8473
|
+
_context36.next = 1;
|
|
8204
8474
|
break;
|
|
8205
8475
|
}
|
|
8206
|
-
return
|
|
8476
|
+
return _context36.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
8207
8477
|
case 1:
|
|
8208
8478
|
if (!this.isMultistream) {
|
|
8209
|
-
|
|
8479
|
+
_context36.next = 3;
|
|
8210
8480
|
break;
|
|
8211
8481
|
}
|
|
8212
8482
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
8213
|
-
|
|
8483
|
+
_context36.next = 2;
|
|
8214
8484
|
break;
|
|
8215
8485
|
}
|
|
8216
8486
|
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');
|
|
8217
8487
|
case 2:
|
|
8218
|
-
|
|
8488
|
+
_context36.next = 4;
|
|
8219
8489
|
break;
|
|
8220
8490
|
case 3:
|
|
8221
8491
|
if (!(shareAudioEnabled !== undefined)) {
|
|
8222
|
-
|
|
8492
|
+
_context36.next = 4;
|
|
8223
8493
|
break;
|
|
8224
8494
|
}
|
|
8225
8495
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -8244,20 +8514,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8244
8514
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
8245
8515
|
}
|
|
8246
8516
|
if (this.isMultistream) {
|
|
8247
|
-
|
|
8517
|
+
_context36.next = 5;
|
|
8248
8518
|
break;
|
|
8249
8519
|
}
|
|
8250
|
-
|
|
8520
|
+
_context36.next = 5;
|
|
8251
8521
|
return this.updateTranscodedMediaConnection();
|
|
8252
8522
|
case 5:
|
|
8253
|
-
return
|
|
8523
|
+
return _context36.abrupt("return", undefined);
|
|
8254
8524
|
case 6:
|
|
8255
8525
|
case "end":
|
|
8256
|
-
return
|
|
8526
|
+
return _context36.stop();
|
|
8257
8527
|
}
|
|
8258
|
-
},
|
|
8528
|
+
}, _callee36, this);
|
|
8259
8529
|
}));
|
|
8260
|
-
function updateMedia(
|
|
8530
|
+
function updateMedia(_x33) {
|
|
8261
8531
|
return _updateMedia.apply(this, arguments);
|
|
8262
8532
|
}
|
|
8263
8533
|
return updateMedia;
|
|
@@ -8397,32 +8667,46 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8397
8667
|
);
|
|
8398
8668
|
};
|
|
8399
8669
|
_loggerProxy.default.logger.log('Meeting:index#leave --> Leaving a meeting');
|
|
8400
|
-
return _util2.default.leaveMeeting(this, options).then(function (
|
|
8401
|
-
|
|
8402
|
-
|
|
8403
|
-
|
|
8404
|
-
|
|
8405
|
-
|
|
8406
|
-
|
|
8407
|
-
|
|
8408
|
-
|
|
8409
|
-
|
|
8410
|
-
|
|
8670
|
+
return _util2.default.leaveMeeting(this, options).then(/*#__PURE__*/function () {
|
|
8671
|
+
var _ref41 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee37(leave) {
|
|
8672
|
+
return _regenerator.default.wrap(function (_context37) {
|
|
8673
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
8674
|
+
case 0:
|
|
8675
|
+
// CA team recommends submitting this *after* locus /leave
|
|
8676
|
+
submitLeaveMetric();
|
|
8677
|
+
_this49.meetingFiniteStateMachine.leave();
|
|
8678
|
+
_context37.next = 1;
|
|
8679
|
+
return _this49.clearMeetingData();
|
|
8680
|
+
case 1:
|
|
8681
|
+
// upload logs on leave irrespective of meeting delete
|
|
8682
|
+
_triggerProxy.default.trigger(_this49, {
|
|
8683
|
+
file: 'meeting/index',
|
|
8684
|
+
function: 'leave'
|
|
8685
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
|
|
8411
8686
|
|
|
8412
|
-
|
|
8413
|
-
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
|
|
8418
|
-
|
|
8419
|
-
|
|
8420
|
-
|
|
8421
|
-
|
|
8422
|
-
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
|
|
8687
|
+
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
8688
|
+
if (_this49.wirelessShare || _this49.guest) {
|
|
8689
|
+
// If screen sharing clean the meeting object
|
|
8690
|
+
_triggerProxy.default.trigger(_this49, {
|
|
8691
|
+
file: 'meeting/index',
|
|
8692
|
+
function: 'leave'
|
|
8693
|
+
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
8694
|
+
reason: options.reason,
|
|
8695
|
+
meetingId: _this49.id
|
|
8696
|
+
});
|
|
8697
|
+
}
|
|
8698
|
+
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
8699
|
+
return _context37.abrupt("return", leave);
|
|
8700
|
+
case 2:
|
|
8701
|
+
case "end":
|
|
8702
|
+
return _context37.stop();
|
|
8703
|
+
}
|
|
8704
|
+
}, _callee37);
|
|
8705
|
+
}));
|
|
8706
|
+
return function (_x34) {
|
|
8707
|
+
return _ref41.apply(this, arguments);
|
|
8708
|
+
};
|
|
8709
|
+
}()).catch(function (error) {
|
|
8426
8710
|
// CA team recommends submitting this *after* locus /leave
|
|
8427
8711
|
submitLeaveMetric({
|
|
8428
8712
|
errors: [{
|
|
@@ -8901,10 +9185,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8901
9185
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
8902
9186
|
var main = renderInfo.main,
|
|
8903
9187
|
content = renderInfo.content;
|
|
8904
|
-
var _this$
|
|
8905
|
-
mediaDirection = _this$
|
|
8906
|
-
remoteShareStream = _this$
|
|
8907
|
-
remoteVideoStream = _this$
|
|
9188
|
+
var _this$mediaProperties35 = this.mediaProperties,
|
|
9189
|
+
mediaDirection = _this$mediaProperties35.mediaDirection,
|
|
9190
|
+
remoteShareStream = _this$mediaProperties35.remoteShareStream,
|
|
9191
|
+
remoteVideoStream = _this$mediaProperties35.remoteVideoStream;
|
|
8908
9192
|
var layoutInfo = (0, _lodash.cloneDeep)(this.lastVideoLayoutInfo);
|
|
8909
9193
|
|
|
8910
9194
|
// TODO: We need a real time value for Audio, Video and Share send indicator
|
|
@@ -9084,16 +9368,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9084
9368
|
correlation_id: this.correlationId,
|
|
9085
9369
|
locus_id: this.locusId
|
|
9086
9370
|
});
|
|
9087
|
-
return _util2.default.endMeetingForAll(this).then(function (
|
|
9088
|
-
|
|
9089
|
-
|
|
9090
|
-
|
|
9091
|
-
|
|
9092
|
-
|
|
9093
|
-
|
|
9094
|
-
|
|
9095
|
-
|
|
9096
|
-
|
|
9371
|
+
return _util2.default.endMeetingForAll(this).then(/*#__PURE__*/function () {
|
|
9372
|
+
var _ref42 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee38(end) {
|
|
9373
|
+
return _regenerator.default.wrap(function (_context38) {
|
|
9374
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
9375
|
+
case 0:
|
|
9376
|
+
_this56.meetingFiniteStateMachine.end();
|
|
9377
|
+
_context38.next = 1;
|
|
9378
|
+
return _this56.clearMeetingData();
|
|
9379
|
+
case 1:
|
|
9380
|
+
// upload logs on leave irrespective of meeting delete
|
|
9381
|
+
_triggerProxy.default.trigger(_this56, {
|
|
9382
|
+
file: 'meeting/index',
|
|
9383
|
+
function: 'endMeetingForAll'
|
|
9384
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this56);
|
|
9385
|
+
return _context38.abrupt("return", end);
|
|
9386
|
+
case 2:
|
|
9387
|
+
case "end":
|
|
9388
|
+
return _context38.stop();
|
|
9389
|
+
}
|
|
9390
|
+
}, _callee38);
|
|
9391
|
+
}));
|
|
9392
|
+
return function (_x35) {
|
|
9393
|
+
return _ref42.apply(this, arguments);
|
|
9394
|
+
};
|
|
9395
|
+
}()).catch(function (error) {
|
|
9097
9396
|
_this56.meetingFiniteStateMachine.fail(error);
|
|
9098
9397
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
9099
9398
|
// upload logs on leave irrespective of meeting delete
|
|
@@ -9155,12 +9454,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9155
9454
|
*/
|
|
9156
9455
|
}, {
|
|
9157
9456
|
key: "extendMeeting",
|
|
9158
|
-
value: function extendMeeting(
|
|
9159
|
-
var meetingPolicyUrl =
|
|
9160
|
-
meetingInstanceId =
|
|
9161
|
-
participantId =
|
|
9162
|
-
|
|
9163
|
-
extensionMinutes =
|
|
9457
|
+
value: function extendMeeting(_ref43) {
|
|
9458
|
+
var meetingPolicyUrl = _ref43.meetingPolicyUrl,
|
|
9459
|
+
meetingInstanceId = _ref43.meetingInstanceId,
|
|
9460
|
+
participantId = _ref43.participantId,
|
|
9461
|
+
_ref43$extensionMinut = _ref43.extensionMinutes,
|
|
9462
|
+
extensionMinutes = _ref43$extensionMinut === void 0 ? 30 : _ref43$extensionMinut;
|
|
9164
9463
|
if (!meetingInstanceId || !participantId) {
|
|
9165
9464
|
return _promise.default.reject(new Error('Missing meetingInstanceId or participantId'));
|
|
9166
9465
|
}
|
|
@@ -9225,8 +9524,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9225
9524
|
}, {
|
|
9226
9525
|
key: "checkMediaConnection",
|
|
9227
9526
|
value: function checkMediaConnection() {
|
|
9228
|
-
var _this$
|
|
9229
|
-
if ((_this$
|
|
9527
|
+
var _this$mediaProperties36;
|
|
9528
|
+
if ((_this$mediaProperties36 = this.mediaProperties) !== null && _this$mediaProperties36 !== void 0 && _this$mediaProperties36.webrtcMediaConnection) {
|
|
9230
9529
|
return;
|
|
9231
9530
|
}
|
|
9232
9531
|
throw new _webexErrors.NoMediaEstablishedYetError();
|
|
@@ -9241,39 +9540,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9241
9540
|
}, {
|
|
9242
9541
|
key: "enableMusicMode",
|
|
9243
9542
|
value: (function () {
|
|
9244
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9245
|
-
return _regenerator.default.wrap(function (
|
|
9246
|
-
while (1) switch (
|
|
9543
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee39(shouldEnableMusicMode) {
|
|
9544
|
+
return _regenerator.default.wrap(function (_context39) {
|
|
9545
|
+
while (1) switch (_context39.prev = _context39.next) {
|
|
9247
9546
|
case 0:
|
|
9248
9547
|
this.checkMediaConnection();
|
|
9249
9548
|
if (this.isMultistream) {
|
|
9250
|
-
|
|
9549
|
+
_context39.next = 1;
|
|
9251
9550
|
break;
|
|
9252
9551
|
}
|
|
9253
9552
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
9254
9553
|
case 1:
|
|
9255
9554
|
if (!shouldEnableMusicMode) {
|
|
9256
|
-
|
|
9555
|
+
_context39.next = 3;
|
|
9257
9556
|
break;
|
|
9258
9557
|
}
|
|
9259
|
-
|
|
9260
|
-
return this.sendSlotManager.
|
|
9558
|
+
_context39.next = 2;
|
|
9559
|
+
return this.sendSlotManager.setCustomCodecParameters(_internalMediaCore.MediaType.AudioMain, _internalMediaCore.MediaCodecMimeType.OPUS, {
|
|
9261
9560
|
maxaveragebitrate: '64000',
|
|
9262
9561
|
maxplaybackrate: '48000'
|
|
9263
9562
|
});
|
|
9264
9563
|
case 2:
|
|
9265
|
-
|
|
9564
|
+
_context39.next = 4;
|
|
9266
9565
|
break;
|
|
9267
9566
|
case 3:
|
|
9268
|
-
|
|
9269
|
-
return this.sendSlotManager.
|
|
9567
|
+
_context39.next = 4;
|
|
9568
|
+
return this.sendSlotManager.markCustomCodecParametersForDeletion(_internalMediaCore.MediaType.AudioMain, _internalMediaCore.MediaCodecMimeType.OPUS, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
9270
9569
|
case 4:
|
|
9271
9570
|
case "end":
|
|
9272
|
-
return
|
|
9571
|
+
return _context39.stop();
|
|
9273
9572
|
}
|
|
9274
|
-
},
|
|
9573
|
+
}, _callee39, this);
|
|
9275
9574
|
}));
|
|
9276
|
-
function enableMusicMode(
|
|
9575
|
+
function enableMusicMode(_x36) {
|
|
9277
9576
|
return _enableMusicMode.apply(this, arguments);
|
|
9278
9577
|
}
|
|
9279
9578
|
return enableMusicMode;
|
|
@@ -9286,14 +9585,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9286
9585
|
}, {
|
|
9287
9586
|
key: "updateTranscodedMediaConnection",
|
|
9288
9587
|
value: function updateTranscodedMediaConnection() {
|
|
9289
|
-
var _this$
|
|
9290
|
-
_this$mediaProperties37,
|
|
9588
|
+
var _this$mediaProperties37,
|
|
9291
9589
|
_this$mediaProperties38,
|
|
9292
9590
|
_this$mediaProperties39,
|
|
9293
9591
|
_this$mediaProperties40,
|
|
9294
9592
|
_this$mediaProperties41,
|
|
9295
9593
|
_this$mediaProperties42,
|
|
9296
9594
|
_this$mediaProperties43,
|
|
9595
|
+
_this$mediaProperties44,
|
|
9297
9596
|
_this57 = this;
|
|
9298
9597
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
9299
9598
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
@@ -9303,10 +9602,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9303
9602
|
return this.mediaProperties.webrtcMediaConnection.update({
|
|
9304
9603
|
// TODO: RoapMediaConnection is not ready to use stream classes yet, so we pass the raw MediaStreamTrack for now
|
|
9305
9604
|
localTracks: {
|
|
9306
|
-
audio: ((_this$
|
|
9307
|
-
video: ((_this$
|
|
9308
|
-
screenShareVideo: ((_this$
|
|
9309
|
-
screenShareAudio: ((_this$
|
|
9605
|
+
audio: ((_this$mediaProperties37 = this.mediaProperties.audioStream) === null || _this$mediaProperties37 === void 0 ? void 0 : (_this$mediaProperties38 = _this$mediaProperties37.outputStream) === null || _this$mediaProperties38 === void 0 ? void 0 : _this$mediaProperties38.getTracks()[0]) || null,
|
|
9606
|
+
video: ((_this$mediaProperties39 = this.mediaProperties.videoStream) === null || _this$mediaProperties39 === void 0 ? void 0 : (_this$mediaProperties40 = _this$mediaProperties39.outputStream) === null || _this$mediaProperties40 === void 0 ? void 0 : _this$mediaProperties40.getTracks()[0]) || null,
|
|
9607
|
+
screenShareVideo: ((_this$mediaProperties41 = this.mediaProperties.shareVideoStream) === null || _this$mediaProperties41 === void 0 ? void 0 : (_this$mediaProperties42 = _this$mediaProperties41.outputStream) === null || _this$mediaProperties42 === void 0 ? void 0 : _this$mediaProperties42.getTracks()[0]) || null,
|
|
9608
|
+
screenShareAudio: ((_this$mediaProperties43 = this.mediaProperties.shareAudioStream) === null || _this$mediaProperties43 === void 0 ? void 0 : (_this$mediaProperties44 = _this$mediaProperties43.outputStream) === null || _this$mediaProperties44 === void 0 ? void 0 : _this$mediaProperties44.getTracks()[0]) || null
|
|
9310
9609
|
},
|
|
9311
9610
|
direction: {
|
|
9312
9611
|
audio: _media.default.getDirection(true, this.mediaProperties.mediaDirection.receiveAudio, this.mediaProperties.mediaDirection.sendAudio),
|
|
@@ -9364,25 +9663,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9364
9663
|
}, {
|
|
9365
9664
|
key: "publishStream",
|
|
9366
9665
|
value: (function () {
|
|
9367
|
-
var _publishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9368
|
-
return _regenerator.default.wrap(function (
|
|
9369
|
-
while (1) switch (
|
|
9666
|
+
var _publishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee40(mediaType, stream) {
|
|
9667
|
+
return _regenerator.default.wrap(function (_context40) {
|
|
9668
|
+
while (1) switch (_context40.prev = _context40.next) {
|
|
9370
9669
|
case 0:
|
|
9371
9670
|
if (stream) {
|
|
9372
|
-
|
|
9671
|
+
_context40.next = 1;
|
|
9373
9672
|
break;
|
|
9374
9673
|
}
|
|
9375
|
-
return
|
|
9674
|
+
return _context40.abrupt("return");
|
|
9376
9675
|
case 1:
|
|
9377
9676
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
9378
|
-
|
|
9677
|
+
_context40.next = 3;
|
|
9379
9678
|
break;
|
|
9380
9679
|
}
|
|
9381
9680
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
9382
|
-
|
|
9681
|
+
_context40.next = 2;
|
|
9383
9682
|
break;
|
|
9384
9683
|
}
|
|
9385
|
-
|
|
9684
|
+
_context40.next = 2;
|
|
9386
9685
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
9387
9686
|
case 2:
|
|
9388
9687
|
this.emitPublishStateChangeEvent({
|
|
@@ -9393,11 +9692,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9393
9692
|
});
|
|
9394
9693
|
case 3:
|
|
9395
9694
|
case "end":
|
|
9396
|
-
return
|
|
9695
|
+
return _context40.stop();
|
|
9397
9696
|
}
|
|
9398
|
-
},
|
|
9697
|
+
}, _callee40, this);
|
|
9399
9698
|
}));
|
|
9400
|
-
function publishStream(
|
|
9699
|
+
function publishStream(_x37, _x38) {
|
|
9401
9700
|
return _publishStream.apply(this, arguments);
|
|
9402
9701
|
}
|
|
9403
9702
|
return publishStream;
|
|
@@ -9413,21 +9712,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9413
9712
|
}, {
|
|
9414
9713
|
key: "unpublishStream",
|
|
9415
9714
|
value: (function () {
|
|
9416
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9417
|
-
return _regenerator.default.wrap(function (
|
|
9418
|
-
while (1) switch (
|
|
9715
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee41(mediaType, stream) {
|
|
9716
|
+
return _regenerator.default.wrap(function (_context41) {
|
|
9717
|
+
while (1) switch (_context41.prev = _context41.next) {
|
|
9419
9718
|
case 0:
|
|
9420
9719
|
if (stream) {
|
|
9421
|
-
|
|
9720
|
+
_context41.next = 1;
|
|
9422
9721
|
break;
|
|
9423
9722
|
}
|
|
9424
|
-
return
|
|
9723
|
+
return _context41.abrupt("return");
|
|
9425
9724
|
case 1:
|
|
9426
9725
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
9427
|
-
|
|
9726
|
+
_context41.next = 2;
|
|
9428
9727
|
break;
|
|
9429
9728
|
}
|
|
9430
|
-
|
|
9729
|
+
_context41.next = 2;
|
|
9431
9730
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
9432
9731
|
case 2:
|
|
9433
9732
|
this.emitPublishStateChangeEvent({
|
|
@@ -9438,11 +9737,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9438
9737
|
});
|
|
9439
9738
|
case 3:
|
|
9440
9739
|
case "end":
|
|
9441
|
-
return
|
|
9740
|
+
return _context41.stop();
|
|
9442
9741
|
}
|
|
9443
|
-
},
|
|
9742
|
+
}, _callee41, this);
|
|
9444
9743
|
}));
|
|
9445
|
-
function unpublishStream(
|
|
9744
|
+
function unpublishStream(_x39, _x40) {
|
|
9446
9745
|
return _unpublishStream.apply(this, arguments);
|
|
9447
9746
|
}
|
|
9448
9747
|
return unpublishStream;
|
|
@@ -9457,19 +9756,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9457
9756
|
}, {
|
|
9458
9757
|
key: "publishStreams",
|
|
9459
9758
|
value: (function () {
|
|
9460
|
-
var _publishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9759
|
+
var _publishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee42(streams) {
|
|
9461
9760
|
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
|
|
9462
9761
|
var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
|
|
9463
|
-
return _regenerator.default.wrap(function (
|
|
9464
|
-
while (1) switch (
|
|
9762
|
+
return _regenerator.default.wrap(function (_context42) {
|
|
9763
|
+
while (1) switch (_context42.prev = _context42.next) {
|
|
9465
9764
|
case 0:
|
|
9466
9765
|
_loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
9467
9766
|
this.checkMediaConnection();
|
|
9468
9767
|
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))) {
|
|
9469
|
-
|
|
9768
|
+
_context42.next = 1;
|
|
9470
9769
|
break;
|
|
9471
9770
|
}
|
|
9472
|
-
return
|
|
9771
|
+
return _context42.abrupt("return");
|
|
9473
9772
|
case 1:
|
|
9474
9773
|
streamChecks = [{
|
|
9475
9774
|
stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
|
|
@@ -9487,62 +9786,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9487
9786
|
_i = 0, _streamChecks = streamChecks;
|
|
9488
9787
|
case 2:
|
|
9489
9788
|
if (!(_i < _streamChecks.length)) {
|
|
9490
|
-
|
|
9789
|
+
_context42.next = 4;
|
|
9491
9790
|
break;
|
|
9492
9791
|
}
|
|
9493
9792
|
_streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
|
|
9494
9793
|
if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
|
|
9495
|
-
|
|
9794
|
+
_context42.next = 3;
|
|
9496
9795
|
break;
|
|
9497
9796
|
}
|
|
9498
9797
|
throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
|
|
9499
9798
|
case 3:
|
|
9500
9799
|
_i++;
|
|
9501
|
-
|
|
9800
|
+
_context42.next = 2;
|
|
9502
9801
|
break;
|
|
9503
9802
|
case 4:
|
|
9504
9803
|
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
|
|
9505
9804
|
if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
|
|
9506
|
-
|
|
9805
|
+
_context42.next = 6;
|
|
9507
9806
|
break;
|
|
9508
9807
|
}
|
|
9509
|
-
|
|
9808
|
+
_context42.next = 5;
|
|
9510
9809
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
9511
9810
|
case 5:
|
|
9512
9811
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
9513
9812
|
case 6:
|
|
9514
9813
|
if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
|
|
9515
|
-
|
|
9814
|
+
_context42.next = 8;
|
|
9516
9815
|
break;
|
|
9517
9816
|
}
|
|
9518
|
-
|
|
9817
|
+
_context42.next = 7;
|
|
9519
9818
|
return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
|
|
9520
9819
|
case 7:
|
|
9521
9820
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
9522
9821
|
case 8:
|
|
9523
9822
|
if (!streams.microphone) {
|
|
9524
|
-
|
|
9823
|
+
_context42.next = 9;
|
|
9525
9824
|
break;
|
|
9526
9825
|
}
|
|
9527
|
-
|
|
9826
|
+
_context42.next = 9;
|
|
9528
9827
|
return this.setLocalAudioStream(streams.microphone);
|
|
9529
9828
|
case 9:
|
|
9530
9829
|
if (!streams.camera) {
|
|
9531
|
-
|
|
9830
|
+
_context42.next = 10;
|
|
9532
9831
|
break;
|
|
9533
9832
|
}
|
|
9534
|
-
|
|
9833
|
+
_context42.next = 10;
|
|
9535
9834
|
return this.setLocalVideoStream(streams.camera);
|
|
9536
9835
|
case 10:
|
|
9537
9836
|
if (this.isMultistream) {
|
|
9538
|
-
|
|
9837
|
+
_context42.next = 11;
|
|
9539
9838
|
break;
|
|
9540
9839
|
}
|
|
9541
|
-
|
|
9840
|
+
_context42.next = 11;
|
|
9542
9841
|
return this.updateTranscodedMediaConnection();
|
|
9543
9842
|
case 11:
|
|
9544
9843
|
if (!floorRequestNeeded) {
|
|
9545
|
-
|
|
9844
|
+
_context42.next = 12;
|
|
9546
9845
|
break;
|
|
9547
9846
|
}
|
|
9548
9847
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -9573,15 +9872,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9573
9872
|
// we're sending the http request to Locus to request the screen share floor
|
|
9574
9873
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
9575
9874
|
// and also if sharing from the start, we need confluence to have been created
|
|
9576
|
-
|
|
9875
|
+
_context42.next = 12;
|
|
9577
9876
|
return this.enqueueScreenShareFloorRequest();
|
|
9578
9877
|
case 12:
|
|
9579
9878
|
case "end":
|
|
9580
|
-
return
|
|
9879
|
+
return _context42.stop();
|
|
9581
9880
|
}
|
|
9582
|
-
},
|
|
9881
|
+
}, _callee42, this);
|
|
9583
9882
|
}));
|
|
9584
|
-
function publishStreams(
|
|
9883
|
+
function publishStreams(_x41) {
|
|
9585
9884
|
return _publishStreams.apply(this, arguments);
|
|
9586
9885
|
}
|
|
9587
9886
|
return publishStreams;
|
|
@@ -9596,10 +9895,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9596
9895
|
}, {
|
|
9597
9896
|
key: "unpublishStreams",
|
|
9598
9897
|
value: (function () {
|
|
9599
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9898
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee43(streams) {
|
|
9600
9899
|
var promises, _iterator, _step, stream;
|
|
9601
|
-
return _regenerator.default.wrap(function (
|
|
9602
|
-
while (1) switch (
|
|
9900
|
+
return _regenerator.default.wrap(function (_context43) {
|
|
9901
|
+
while (1) switch (_context43.prev = _context43.next) {
|
|
9603
9902
|
case 0:
|
|
9604
9903
|
_loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
9605
9904
|
this.checkMediaConnection();
|
|
@@ -9631,7 +9930,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9631
9930
|
if (!this.isMultistream) {
|
|
9632
9931
|
promises.push(this.updateTranscodedMediaConnection());
|
|
9633
9932
|
}
|
|
9634
|
-
|
|
9933
|
+
_context43.next = 1;
|
|
9635
9934
|
return _promise.default.all(promises);
|
|
9636
9935
|
case 1:
|
|
9637
9936
|
// we're allowing for the SDK to support just audio share as well
|
|
@@ -9652,11 +9951,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9652
9951
|
}
|
|
9653
9952
|
case 2:
|
|
9654
9953
|
case "end":
|
|
9655
|
-
return
|
|
9954
|
+
return _context43.stop();
|
|
9656
9955
|
}
|
|
9657
|
-
},
|
|
9956
|
+
}, _callee43, this);
|
|
9658
9957
|
}));
|
|
9659
|
-
function unpublishStreams(
|
|
9958
|
+
function unpublishStreams(_x42) {
|
|
9660
9959
|
return _unpublishStreams.apply(this, arguments);
|
|
9661
9960
|
}
|
|
9662
9961
|
return unpublishStreams;
|
|
@@ -9722,16 +10021,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9722
10021
|
}, {
|
|
9723
10022
|
key: "getMediaReachabilityMetricFields",
|
|
9724
10023
|
value: (function () {
|
|
9725
|
-
var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
10024
|
+
var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee44() {
|
|
9726
10025
|
var _this$mediaServerIp, _this$mediaConnection, _this$mediaConnection2, _this$mediaConnection3;
|
|
9727
10026
|
var reachabilityMetrics, successKeys, totalSuccessCases, selectedSubnetFirstOctet, isSubnetReachable, selectedCluster;
|
|
9728
|
-
return _regenerator.default.wrap(function (
|
|
9729
|
-
while (1) switch (
|
|
10027
|
+
return _regenerator.default.wrap(function (_context44) {
|
|
10028
|
+
while (1) switch (_context44.prev = _context44.next) {
|
|
9730
10029
|
case 0:
|
|
9731
|
-
|
|
10030
|
+
_context44.next = 1;
|
|
9732
10031
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
9733
10032
|
case 1:
|
|
9734
|
-
reachabilityMetrics =
|
|
10033
|
+
reachabilityMetrics = _context44.sent;
|
|
9735
10034
|
successKeys = ['reachability_public_udp_success', 'reachability_public_tcp_success', 'reachability_public_xtls_success', 'reachability_vmn_udp_success', 'reachability_vmn_tcp_success', 'reachability_vmn_xtls_success'];
|
|
9736
10035
|
totalSuccessCases = successKeys.reduce(function (total, key) {
|
|
9737
10036
|
var value = reachabilityMetrics[key];
|
|
@@ -9748,16 +10047,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9748
10047
|
this.webex.meetings.reachability.isSubnetReachable(selectedSubnetFirstOctet);
|
|
9749
10048
|
}
|
|
9750
10049
|
selectedCluster = (_this$mediaConnection = (_this$mediaConnection2 = this.mediaConnections) === null || _this$mediaConnection2 === void 0 ? void 0 : (_this$mediaConnection3 = _this$mediaConnection2[0]) === null || _this$mediaConnection3 === void 0 ? void 0 : _this$mediaConnection3.mediaAgentCluster) !== null && _this$mediaConnection !== void 0 ? _this$mediaConnection : null;
|
|
9751
|
-
return
|
|
10050
|
+
return _context44.abrupt("return", _objectSpread(_objectSpread({}, reachabilityMetrics), {}, {
|
|
9752
10051
|
subnet_reachable: isSubnetReachable,
|
|
9753
10052
|
selected_cluster: selectedCluster,
|
|
9754
10053
|
selected_subnet: selectedSubnetFirstOctet ? "".concat(selectedSubnetFirstOctet, ".X.X.X") : null
|
|
9755
10054
|
}));
|
|
9756
10055
|
case 2:
|
|
9757
10056
|
case "end":
|
|
9758
|
-
return
|
|
10057
|
+
return _context44.stop();
|
|
9759
10058
|
}
|
|
9760
|
-
},
|
|
10059
|
+
}, _callee44, this);
|
|
9761
10060
|
}));
|
|
9762
10061
|
function getMediaReachabilityMetricFields() {
|
|
9763
10062
|
return _getMediaReachabilityMetricFields.apply(this, arguments);
|
|
@@ -9774,17 +10073,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9774
10073
|
}, {
|
|
9775
10074
|
key: "setStage",
|
|
9776
10075
|
value: function setStage() {
|
|
9777
|
-
var
|
|
9778
|
-
|
|
9779
|
-
activeSpeakerProportion =
|
|
9780
|
-
customBackground =
|
|
9781
|
-
customLogo =
|
|
9782
|
-
customNameLabel =
|
|
9783
|
-
importantParticipants =
|
|
9784
|
-
|
|
9785
|
-
lockAttendeeViewOnStage =
|
|
9786
|
-
|
|
9787
|
-
showActiveSpeaker =
|
|
10076
|
+
var _ref44 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
10077
|
+
_ref44$activeSpeakerP = _ref44.activeSpeakerProportion,
|
|
10078
|
+
activeSpeakerProportion = _ref44$activeSpeakerP === void 0 ? 0.5 : _ref44$activeSpeakerP,
|
|
10079
|
+
customBackground = _ref44.customBackground,
|
|
10080
|
+
customLogo = _ref44.customLogo,
|
|
10081
|
+
customNameLabel = _ref44.customNameLabel,
|
|
10082
|
+
importantParticipants = _ref44.importantParticipants,
|
|
10083
|
+
_ref44$lockAttendeeVi = _ref44.lockAttendeeViewOnStage,
|
|
10084
|
+
lockAttendeeViewOnStage = _ref44$lockAttendeeVi === void 0 ? false : _ref44$lockAttendeeVi,
|
|
10085
|
+
_ref44$showActiveSpea = _ref44.showActiveSpeaker,
|
|
10086
|
+
showActiveSpeaker = _ref44$showActiveSpea === void 0 ? false : _ref44$showActiveSpea;
|
|
9788
10087
|
var videoLayout = {
|
|
9789
10088
|
overrideDefault: true,
|
|
9790
10089
|
lockAttendeeViewOnStageOnly: lockAttendeeViewOnStage,
|
|
@@ -9880,6 +10179,71 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9880
10179
|
value: function cancelSipCallOut(participantId) {
|
|
9881
10180
|
return this.meetingRequest.cancelSipCallOut(participantId);
|
|
9882
10181
|
}
|
|
10182
|
+
|
|
10183
|
+
/**
|
|
10184
|
+
* Method to get new data
|
|
10185
|
+
* @returns {Promise}
|
|
10186
|
+
*/
|
|
10187
|
+
}, {
|
|
10188
|
+
key: "refreshDataChannelToken",
|
|
10189
|
+
value: (function () {
|
|
10190
|
+
var _refreshDataChannelToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee45() {
|
|
10191
|
+
var isPracticeSession, dataChannelTokenType, res, msg, _t36;
|
|
10192
|
+
return _regenerator.default.wrap(function (_context45) {
|
|
10193
|
+
while (1) switch (_context45.prev = _context45.next) {
|
|
10194
|
+
case 0:
|
|
10195
|
+
isPracticeSession = this.webinar.isJoinPracticeSessionDataChannel();
|
|
10196
|
+
dataChannelTokenType = this.getDataChannelTokenType();
|
|
10197
|
+
_context45.prev = 1;
|
|
10198
|
+
_context45.next = 2;
|
|
10199
|
+
return this.meetingRequest.fetchDatachannelToken({
|
|
10200
|
+
locusUrl: this.locusUrl,
|
|
10201
|
+
requestingParticipantId: this.members.selfId,
|
|
10202
|
+
isPracticeSession: isPracticeSession
|
|
10203
|
+
});
|
|
10204
|
+
case 2:
|
|
10205
|
+
res = _context45.sent;
|
|
10206
|
+
return _context45.abrupt("return", {
|
|
10207
|
+
body: {
|
|
10208
|
+
datachannelToken: res.body.datachannelToken,
|
|
10209
|
+
dataChannelTokenType: dataChannelTokenType
|
|
10210
|
+
}
|
|
10211
|
+
});
|
|
10212
|
+
case 3:
|
|
10213
|
+
_context45.prev = 3;
|
|
10214
|
+
_t36 = _context45["catch"](1);
|
|
10215
|
+
msg = (_t36 === null || _t36 === void 0 ? void 0 : _t36.message) || String(_t36);
|
|
10216
|
+
_loggerProxy.default.logger.warn("Meeting:index#refreshDataChannelToken --> DataChannel token refresh failed (likely locus changed or participant left): ".concat(msg), {
|
|
10217
|
+
statusCode: _t36 === null || _t36 === void 0 ? void 0 : _t36.statusCode
|
|
10218
|
+
});
|
|
10219
|
+
return _context45.abrupt("return", null);
|
|
10220
|
+
case 4:
|
|
10221
|
+
case "end":
|
|
10222
|
+
return _context45.stop();
|
|
10223
|
+
}
|
|
10224
|
+
}, _callee45, this, [[1, 3]]);
|
|
10225
|
+
}));
|
|
10226
|
+
function refreshDataChannelToken() {
|
|
10227
|
+
return _refreshDataChannelToken.apply(this, arguments);
|
|
10228
|
+
}
|
|
10229
|
+
return refreshDataChannelToken;
|
|
10230
|
+
}()
|
|
10231
|
+
/**
|
|
10232
|
+
* Determines the current data channel token type based on the meeting state.
|
|
10233
|
+
*
|
|
10234
|
+
* variant should be used when connecting to the LLM data channel.
|
|
10235
|
+
*
|
|
10236
|
+
* @returns {DataChannelTokenType} The token type representing the current session mode.
|
|
10237
|
+
*/
|
|
10238
|
+
)
|
|
10239
|
+
}, {
|
|
10240
|
+
key: "getDataChannelTokenType",
|
|
10241
|
+
value: function getDataChannelTokenType() {
|
|
10242
|
+
if (this.webinar.isJoinPracticeSessionDataChannel()) {
|
|
10243
|
+
return _internalPluginLlm.DataChannelTokenType.PracticeSession;
|
|
10244
|
+
}
|
|
10245
|
+
return _internalPluginLlm.DataChannelTokenType.Default;
|
|
10246
|
+
}
|
|
9883
10247
|
}]);
|
|
9884
10248
|
}(_webexCore.StatelessWebexPlugin);
|
|
9885
10249
|
//# sourceMappingURL=index.js.map
|