@webex/plugin-meetings 3.11.0-webex-services-ready.1 → 3.12.0-next.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 +850 -410
- 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 +1128 -868
- 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 +2 -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/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 +48 -6
- 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 +1 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +0 -23
- package/dist/types/reactions/reactions.type.d.ts +1 -0
- package/dist/types/webinar/utils.d.ts +6 -0
- package/dist/webinar/index.js +260 -90
- 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 +745 -252
- 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 +221 -43
- 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 +1 -0
- package/src/multistream/mediaRequestManager.ts +4 -54
- package/src/multistream/remoteMediaManager.ts +13 -0
- package/src/reactions/reactions.type.ts +1 -0
- package/src/reconnection-manager/index.ts +0 -1
- package/src/webinar/index.ts +162 -5
- 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 +2225 -189
- 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 +662 -85
- 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/reconnection-manager/index.js +4 -8
- package/test/unit/spec/webinar/index.ts +348 -36
- 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: {
|
|
@@ -626,6 +686,61 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
626
686
|
function: 'handleLLMOnline'
|
|
627
687
|
}, _constants.EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED, undefined);
|
|
628
688
|
});
|
|
689
|
+
/**
|
|
690
|
+
* Disconnects and cleans up the default LLM session listeners/timers.
|
|
691
|
+
* @param {Object} options
|
|
692
|
+
* @param {boolean} [options.removeOnlineListener=true] removes the one-time online listener
|
|
693
|
+
* @param {boolean} [options.throwOnError=true] rethrows disconnect errors when true
|
|
694
|
+
* @returns {Promise<void>}
|
|
695
|
+
*/
|
|
696
|
+
(0, _defineProperty3.default)(_this, "cleanupLLMConneciton", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
697
|
+
var _ref3,
|
|
698
|
+
_ref3$removeOnlineLis,
|
|
699
|
+
removeOnlineListener,
|
|
700
|
+
_ref3$throwOnError,
|
|
701
|
+
throwOnError,
|
|
702
|
+
_args = arguments,
|
|
703
|
+
_t;
|
|
704
|
+
return _regenerator.default.wrap(function (_context) {
|
|
705
|
+
while (1) switch (_context.prev = _context.next) {
|
|
706
|
+
case 0:
|
|
707
|
+
_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;
|
|
708
|
+
_context.prev = 1;
|
|
709
|
+
_context.next = 2;
|
|
710
|
+
return _this.webex.internal.llm.disconnectLLM({
|
|
711
|
+
code: 3050,
|
|
712
|
+
reason: 'done (permanent)'
|
|
713
|
+
});
|
|
714
|
+
case 2:
|
|
715
|
+
_context.next = 4;
|
|
716
|
+
break;
|
|
717
|
+
case 3:
|
|
718
|
+
_context.prev = 3;
|
|
719
|
+
_t = _context["catch"](1);
|
|
720
|
+
_loggerProxy.default.logger.error('Meeting:index#cleanupLLMConneciton --> Failed to disconnect default LLM session', _t);
|
|
721
|
+
if (!throwOnError) {
|
|
722
|
+
_context.next = 4;
|
|
723
|
+
break;
|
|
724
|
+
}
|
|
725
|
+
throw _t;
|
|
726
|
+
case 4:
|
|
727
|
+
_context.prev = 4;
|
|
728
|
+
if (removeOnlineListener) {
|
|
729
|
+
// @ts-ignore - Fix type
|
|
730
|
+
_this.webex.internal.llm.off('online', _this.handleLLMOnline);
|
|
731
|
+
}
|
|
732
|
+
// @ts-ignore - fix types
|
|
733
|
+
_this.webex.internal.llm.off('event:relay.event', _this.processRelayEvent);
|
|
734
|
+
// @ts-ignore - Fix type
|
|
735
|
+
_this.webex.internal.llm.off(_constants.LOCUS_LLM_EVENT, _this.processLocusLLMEvent);
|
|
736
|
+
_this.clearLLMHealthCheckTimer();
|
|
737
|
+
return _context.finish(4);
|
|
738
|
+
case 5:
|
|
739
|
+
case "end":
|
|
740
|
+
return _context.stop();
|
|
741
|
+
}
|
|
742
|
+
}, _callee, null, [[1, 3, 4, 5]]);
|
|
743
|
+
})));
|
|
629
744
|
/**
|
|
630
745
|
* Handles ROAP_FAILURE event from the webrtc media connection
|
|
631
746
|
*
|
|
@@ -811,8 +926,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
811
926
|
seq: event.roapMessage.seq,
|
|
812
927
|
tieBreaker: event.roapMessage.tieBreaker,
|
|
813
928
|
meeting: _this // or can pass meeting ID
|
|
814
|
-
}).then(function (
|
|
815
|
-
var roapAnswer =
|
|
929
|
+
}).then(function (_ref4) {
|
|
930
|
+
var roapAnswer = _ref4.roapAnswer;
|
|
816
931
|
if (roapAnswer) {
|
|
817
932
|
_loggerProxy.default.logger.log("".concat(LOG_HEADER, " received Roap ANSWER in http response"));
|
|
818
933
|
_this.roapMessageReceived(roapAnswer);
|
|
@@ -1215,32 +1330,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1215
1330
|
* @returns {Promise<void>}
|
|
1216
1331
|
*/
|
|
1217
1332
|
(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 (
|
|
1333
|
+
var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(_ref5) {
|
|
1334
|
+
var callFrom, LOG_HEADER, _this$mediaProperties, _this$mediaProperties2, _t2;
|
|
1335
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
1336
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1222
1337
|
case 0:
|
|
1223
|
-
callFrom =
|
|
1338
|
+
callFrom = _ref5.callFrom;
|
|
1224
1339
|
LOG_HEADER = "Meeting:index#forceSendStatsReport --> called from ".concat(callFrom, " : ");
|
|
1225
|
-
|
|
1226
|
-
|
|
1340
|
+
_context2.prev = 1;
|
|
1341
|
+
_context2.next = 2;
|
|
1227
1342
|
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
1343
|
case 2:
|
|
1229
1344
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " successfully uploaded available webrtc telemetry statistics"));
|
|
1230
|
-
|
|
1345
|
+
_context2.next = 4;
|
|
1231
1346
|
break;
|
|
1232
1347
|
case 3:
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to upload webrtc telemetry statistics: "),
|
|
1348
|
+
_context2.prev = 3;
|
|
1349
|
+
_t2 = _context2["catch"](1);
|
|
1350
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to upload webrtc telemetry statistics: "), _t2);
|
|
1236
1351
|
case 4:
|
|
1237
1352
|
case "end":
|
|
1238
|
-
return
|
|
1353
|
+
return _context2.stop();
|
|
1239
1354
|
}
|
|
1240
|
-
},
|
|
1355
|
+
}, _callee2, null, [[1, 3]]);
|
|
1241
1356
|
}));
|
|
1242
1357
|
return function (_x) {
|
|
1243
|
-
return
|
|
1358
|
+
return _ref6.apply(this, arguments);
|
|
1244
1359
|
};
|
|
1245
1360
|
}());
|
|
1246
1361
|
/**
|
|
@@ -1300,40 +1415,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1300
1415
|
* @memberof Meeting
|
|
1301
1416
|
* @returns {undefined}
|
|
1302
1417
|
*/
|
|
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 (
|
|
1418
|
+
(0, _defineProperty3.default)(_this, "handleShareAudioStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
1419
|
+
var _t3;
|
|
1420
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
1421
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1307
1422
|
case 0:
|
|
1308
1423
|
_loggerProxy.default.logger.info("Meeting:index#handleShareAudioStreamEnded --> audio share stream ended");
|
|
1309
1424
|
// current share audio stream has ended, but there might be an active
|
|
1310
1425
|
// share video stream. we only leave from wireless share if share has
|
|
1311
1426
|
// completely ended, which means no share audio or video streams active
|
|
1312
1427
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareVideoStream)) {
|
|
1313
|
-
|
|
1428
|
+
_context3.next = 1;
|
|
1314
1429
|
break;
|
|
1315
1430
|
}
|
|
1316
1431
|
_this.leave({
|
|
1317
1432
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1318
1433
|
});
|
|
1319
|
-
|
|
1434
|
+
_context3.next = 4;
|
|
1320
1435
|
break;
|
|
1321
1436
|
case 1:
|
|
1322
|
-
|
|
1323
|
-
|
|
1437
|
+
_context3.prev = 1;
|
|
1438
|
+
_context3.next = 2;
|
|
1324
1439
|
return _this.unpublishStreams([_this.mediaProperties.shareAudioStream]);
|
|
1325
1440
|
case 2:
|
|
1326
|
-
|
|
1441
|
+
_context3.next = 4;
|
|
1327
1442
|
break;
|
|
1328
1443
|
case 3:
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
_loggerProxy.default.logger.log('Meeting:index#handleShareAudioStreamEnded --> Error stopping share: ',
|
|
1444
|
+
_context3.prev = 3;
|
|
1445
|
+
_t3 = _context3["catch"](1);
|
|
1446
|
+
_loggerProxy.default.logger.log('Meeting:index#handleShareAudioStreamEnded --> Error stopping share: ', _t3);
|
|
1332
1447
|
case 4:
|
|
1333
1448
|
case "end":
|
|
1334
|
-
return
|
|
1449
|
+
return _context3.stop();
|
|
1335
1450
|
}
|
|
1336
|
-
},
|
|
1451
|
+
}, _callee3, null, [[1, 3]]);
|
|
1337
1452
|
})));
|
|
1338
1453
|
/**
|
|
1339
1454
|
* Functionality for when a share video is muted or unmuted.
|
|
@@ -1365,42 +1480,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1365
1480
|
* @memberof Meeting
|
|
1366
1481
|
* @returns {undefined}
|
|
1367
1482
|
*/
|
|
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 (
|
|
1483
|
+
(0, _defineProperty3.default)(_this, "handleShareVideoStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
1484
|
+
var _t4;
|
|
1485
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
1486
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1372
1487
|
case 0:
|
|
1373
1488
|
_loggerProxy.default.logger.info("Meeting:index#handleShareVideoStreamEnded --> video share stream ended");
|
|
1374
1489
|
// current share video stream has ended, but there might be an active
|
|
1375
1490
|
// share audio stream. we only leave from wireless share if share has
|
|
1376
1491
|
// completely ended, which means no share audio or video streams active
|
|
1377
1492
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareAudioStream)) {
|
|
1378
|
-
|
|
1493
|
+
_context4.next = 1;
|
|
1379
1494
|
break;
|
|
1380
1495
|
}
|
|
1381
1496
|
_this.leave({
|
|
1382
1497
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1383
1498
|
});
|
|
1384
|
-
|
|
1499
|
+
_context4.next = 4;
|
|
1385
1500
|
break;
|
|
1386
1501
|
case 1:
|
|
1387
|
-
|
|
1388
|
-
|
|
1502
|
+
_context4.prev = 1;
|
|
1503
|
+
_context4.next = 2;
|
|
1389
1504
|
return _this.unpublishStreams([_this.mediaProperties.shareVideoStream]);
|
|
1390
1505
|
case 2:
|
|
1391
|
-
|
|
1506
|
+
_context4.next = 4;
|
|
1392
1507
|
break;
|
|
1393
1508
|
case 3:
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
_loggerProxy.default.logger.log('Meeting:index#handleShareVideoStreamEnded --> Error stopping share: ',
|
|
1509
|
+
_context4.prev = 3;
|
|
1510
|
+
_t4 = _context4["catch"](1);
|
|
1511
|
+
_loggerProxy.default.logger.log('Meeting:index#handleShareVideoStreamEnded --> Error stopping share: ', _t4);
|
|
1397
1512
|
case 4:
|
|
1398
1513
|
_this.triggerStoppedSharing();
|
|
1399
1514
|
case 5:
|
|
1400
1515
|
case "end":
|
|
1401
|
-
return
|
|
1516
|
+
return _context4.stop();
|
|
1402
1517
|
}
|
|
1403
|
-
},
|
|
1518
|
+
}, _callee4, null, [[1, 3]]);
|
|
1404
1519
|
})));
|
|
1405
1520
|
/**
|
|
1406
1521
|
* Emits meeting:stoppedSharingLocal
|
|
@@ -1424,26 +1539,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1424
1539
|
* @public
|
|
1425
1540
|
* @memberof Meeting
|
|
1426
1541
|
*/
|
|
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
|
-
|
|
1542
|
+
(0, _defineProperty3.default)(_this, "clearMeetingData", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
1543
|
+
return _regenerator.default.wrap(function (_context5) {
|
|
1544
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1545
|
+
case 0:
|
|
1546
|
+
_this.audio = null;
|
|
1547
|
+
_this.video = null;
|
|
1548
|
+
_this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
1549
|
+
if (_this.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
|
|
1550
|
+
_this.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
|
|
1551
|
+
}
|
|
1552
|
+
_this.queuedMediaUpdates = [];
|
|
1553
|
+
if (_this.transcription) {
|
|
1554
|
+
_this.stopTranscription();
|
|
1555
|
+
_this.transcription = undefined;
|
|
1556
|
+
}
|
|
1557
|
+
_this.annotation.deregisterEvents();
|
|
1558
|
+
_context5.next = 1;
|
|
1559
|
+
return _this.cleanupLLMConneciton({
|
|
1560
|
+
throwOnError: false
|
|
1561
|
+
});
|
|
1562
|
+
case 1:
|
|
1563
|
+
case "end":
|
|
1564
|
+
return _context5.stop();
|
|
1565
|
+
}
|
|
1566
|
+
}, _callee5);
|
|
1567
|
+
})));
|
|
1447
1568
|
/**
|
|
1448
1569
|
* starts keepAlives being sent
|
|
1449
1570
|
* @returns {void}
|
|
@@ -1606,6 +1727,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1606
1727
|
_this.simultaneousInterpretation = new _interpretation.default({}, {
|
|
1607
1728
|
parent: _this.webex
|
|
1608
1729
|
});
|
|
1730
|
+
|
|
1731
|
+
// @ts-ignore
|
|
1732
|
+
_this.aiEnableRequest = new _aiEnableRequest.default({}, {
|
|
1733
|
+
parent: _this.webex
|
|
1734
|
+
});
|
|
1735
|
+
|
|
1609
1736
|
/**
|
|
1610
1737
|
* @instance
|
|
1611
1738
|
* @type {Annotation}
|
|
@@ -2185,9 +2312,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2185
2312
|
* @memberof Meeting
|
|
2186
2313
|
*/
|
|
2187
2314
|
_this.recordingController = new _recordingController.default(_this.meetingRequest, {
|
|
2188
|
-
serviceUrl: (_this$
|
|
2189
|
-
sessionId: (_this$
|
|
2190
|
-
locusUrl: (_this$
|
|
2315
|
+
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,
|
|
2316
|
+
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,
|
|
2317
|
+
locusUrl: (_this$locusInfo4 = _this.locusInfo) === null || _this$locusInfo4 === void 0 ? void 0 : _this$locusInfo4.url,
|
|
2191
2318
|
displayHints: []
|
|
2192
2319
|
});
|
|
2193
2320
|
|
|
@@ -2199,7 +2326,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2199
2326
|
* @memberof Meeting
|
|
2200
2327
|
*/
|
|
2201
2328
|
_this.controlsOptionsManager = new _controlsOptionsManager.default(_this.meetingRequest, {
|
|
2202
|
-
locusUrl: (_this$
|
|
2329
|
+
locusUrl: (_this$locusInfo5 = _this.locusInfo) === null || _this$locusInfo5 === void 0 ? void 0 : _this$locusInfo5.url,
|
|
2203
2330
|
displayHints: []
|
|
2204
2331
|
});
|
|
2205
2332
|
_this.setUpLocusInfoListeners();
|
|
@@ -2228,6 +2355,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2228
2355
|
_this.updateTranscodedMediaConnection();
|
|
2229
2356
|
}
|
|
2230
2357
|
};
|
|
2358
|
+
_this.localConstraintsChangeHandler = function () {
|
|
2359
|
+
if (!_this.isMultistream) {
|
|
2360
|
+
var _this$mediaProperties6;
|
|
2361
|
+
(_this$mediaProperties6 = _this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties6 === void 0 ? void 0 : _this$mediaProperties6.updatePreferredBitrateKbps();
|
|
2362
|
+
}
|
|
2363
|
+
};
|
|
2231
2364
|
|
|
2232
2365
|
/**
|
|
2233
2366
|
* Promise that exists if SDP offer has been generated, and resolves once sdp answer is received.
|
|
@@ -2564,20 +2697,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2564
2697
|
}, {
|
|
2565
2698
|
key: "injectMeetingInfo",
|
|
2566
2699
|
value: (function () {
|
|
2567
|
-
var _injectMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2568
|
-
return _regenerator.default.wrap(function (
|
|
2569
|
-
while (1) switch (
|
|
2700
|
+
var _injectMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(meetingInfo, fetchParams, meetingLookupUrl) {
|
|
2701
|
+
return _regenerator.default.wrap(function (_context6) {
|
|
2702
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
2570
2703
|
case 0:
|
|
2571
|
-
|
|
2704
|
+
_context6.next = 1;
|
|
2572
2705
|
return this.prepForFetchMeetingInfo(fetchParams, 'injectMeetingInfo');
|
|
2573
2706
|
case 1:
|
|
2574
2707
|
this.parseMeetingInfo(meetingInfo, this.destination);
|
|
2575
2708
|
this.setMeetingInfo(meetingInfo, meetingLookupUrl);
|
|
2576
2709
|
case 2:
|
|
2577
2710
|
case "end":
|
|
2578
|
-
return
|
|
2711
|
+
return _context6.stop();
|
|
2579
2712
|
}
|
|
2580
|
-
},
|
|
2713
|
+
}, _callee6, this);
|
|
2581
2714
|
}));
|
|
2582
2715
|
function injectMeetingInfo(_x2, _x3, _x4) {
|
|
2583
2716
|
return _injectMeetingInfo.apply(this, arguments);
|
|
@@ -2596,15 +2729,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2596
2729
|
)
|
|
2597
2730
|
}, {
|
|
2598
2731
|
key: "prepForFetchMeetingInfo",
|
|
2599
|
-
value: function prepForFetchMeetingInfo(
|
|
2600
|
-
var
|
|
2601
|
-
password =
|
|
2602
|
-
|
|
2603
|
-
registrationId =
|
|
2604
|
-
|
|
2605
|
-
captchaCode =
|
|
2606
|
-
|
|
2607
|
-
extraParams =
|
|
2732
|
+
value: function prepForFetchMeetingInfo(_ref0, caller) {
|
|
2733
|
+
var _ref0$password = _ref0.password,
|
|
2734
|
+
password = _ref0$password === void 0 ? null : _ref0$password,
|
|
2735
|
+
_ref0$registrationId = _ref0.registrationId,
|
|
2736
|
+
registrationId = _ref0$registrationId === void 0 ? null : _ref0$registrationId,
|
|
2737
|
+
_ref0$captchaCode = _ref0.captchaCode,
|
|
2738
|
+
captchaCode = _ref0$captchaCode === void 0 ? null : _ref0$captchaCode,
|
|
2739
|
+
_ref0$extraParams = _ref0.extraParams,
|
|
2740
|
+
extraParams = _ref0$extraParams === void 0 ? {} : _ref0$extraParams;
|
|
2608
2741
|
// when fetch meeting info is called directly by the client, we want to clear out the random timer for sdk to do it
|
|
2609
2742
|
if (this.fetchMeetingInfoTimeoutId) {
|
|
2610
2743
|
clearTimeout(this.fetchMeetingInfoTimeoutId);
|
|
@@ -2628,18 +2761,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2628
2761
|
}, {
|
|
2629
2762
|
key: "fetchMeetingInfoInternal",
|
|
2630
2763
|
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 (
|
|
2764
|
+
var _fetchMeetingInfoInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(_ref1) {
|
|
2765
|
+
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;
|
|
2766
|
+
return _regenerator.default.wrap(function (_context7) {
|
|
2767
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
2635
2768
|
case 0:
|
|
2636
|
-
destination =
|
|
2637
|
-
|
|
2769
|
+
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;
|
|
2770
|
+
_context7.prev = 1;
|
|
2638
2771
|
captchaInfo = captchaCode ? {
|
|
2639
2772
|
code: captchaCode,
|
|
2640
2773
|
id: this.requiredCaptcha.captchaId
|
|
2641
2774
|
} : null;
|
|
2642
|
-
|
|
2775
|
+
_context7.next = 2;
|
|
2643
2776
|
return this.attrs.meetingInfoProvider.fetchMeetingInfo(destination, destinationType, password, captchaInfo,
|
|
2644
2777
|
// @ts-ignore - config coming from registerPlugin
|
|
2645
2778
|
this.config.installedOrgID, this.locusId, extraParams, {
|
|
@@ -2647,112 +2780,112 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2647
2780
|
sendCAevents: sendCAevents
|
|
2648
2781
|
}, registrationId, null, classificationId);
|
|
2649
2782
|
case 2:
|
|
2650
|
-
info =
|
|
2783
|
+
info = _context7.sent;
|
|
2651
2784
|
this.parseMeetingInfo(info === null || info === void 0 ? void 0 : info.body, this.destination, info === null || info === void 0 ? void 0 : info.errors);
|
|
2652
2785
|
this.setMeetingInfo(info === null || info === void 0 ? void 0 : info.body, info === null || info === void 0 ? void 0 : info.url);
|
|
2653
|
-
return
|
|
2786
|
+
return _context7.abrupt("return", _promise.default.resolve());
|
|
2654
2787
|
case 3:
|
|
2655
|
-
|
|
2656
|
-
|
|
2788
|
+
_context7.prev = 3;
|
|
2789
|
+
_t5 = _context7["catch"](1);
|
|
2657
2790
|
this.updateMeetingActions();
|
|
2658
|
-
if (!(
|
|
2659
|
-
|
|
2791
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2PolicyError)) {
|
|
2792
|
+
_context7.next = 4;
|
|
2660
2793
|
break;
|
|
2661
2794
|
}
|
|
2662
2795
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.POLICY;
|
|
2663
|
-
this.meetingInfoFailureCode =
|
|
2664
|
-
if (
|
|
2665
|
-
this.meetingInfo =
|
|
2796
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2797
|
+
if (_t5.meetingInfo) {
|
|
2798
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2666
2799
|
}
|
|
2667
2800
|
throw new _permission.default();
|
|
2668
2801
|
case 4:
|
|
2669
|
-
if (!(
|
|
2670
|
-
|
|
2802
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2JoinWebinarError)) {
|
|
2803
|
+
_context7.next = 5;
|
|
2671
2804
|
break;
|
|
2672
2805
|
}
|
|
2673
2806
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_REGISTRATION;
|
|
2674
|
-
if (_constants.WEBINAR_ERROR_WEBCAST.includes(
|
|
2807
|
+
if (_constants.WEBINAR_ERROR_WEBCAST.includes(_t5.wbxAppApiCode)) {
|
|
2675
2808
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NEED_JOIN_WITH_WEBCAST;
|
|
2676
|
-
} else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(
|
|
2809
|
+
} else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(_t5.wbxAppApiCode)) {
|
|
2677
2810
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_NEED_REGISTRATION_ID;
|
|
2678
2811
|
}
|
|
2679
|
-
this.meetingInfoFailureCode =
|
|
2680
|
-
if (
|
|
2681
|
-
this.meetingInfo =
|
|
2812
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2813
|
+
if (_t5.meetingInfo) {
|
|
2814
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2682
2815
|
}
|
|
2683
2816
|
this.requiredCaptcha = null;
|
|
2684
2817
|
throw new _joinWebinarError.default();
|
|
2685
2818
|
case 5:
|
|
2686
|
-
if (!(
|
|
2687
|
-
|
|
2819
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2JoinForbiddenError)) {
|
|
2820
|
+
_context7.next = 6;
|
|
2688
2821
|
break;
|
|
2689
2822
|
}
|
|
2690
2823
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.JOIN_FORBIDDEN;
|
|
2691
|
-
this.meetingInfoFailureCode =
|
|
2692
|
-
if (
|
|
2693
|
-
this.meetingInfo =
|
|
2824
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2825
|
+
if (_t5.meetingInfo) {
|
|
2826
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2694
2827
|
}
|
|
2695
2828
|
|
|
2696
2829
|
// Handle the case where user hasn't reached Join Before Host (JBH) time (error code 403003)
|
|
2697
|
-
if (_constants.JOIN_BEFORE_HOST ===
|
|
2830
|
+
if (_constants.JOIN_BEFORE_HOST === _t5.wbxAppApiCode) {
|
|
2698
2831
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NOT_REACH_JBH;
|
|
2699
2832
|
}
|
|
2700
|
-
throw new _joinForbiddenError.default(this.meetingInfoFailureReason,
|
|
2833
|
+
throw new _joinForbiddenError.default(this.meetingInfoFailureReason, _t5);
|
|
2701
2834
|
case 6:
|
|
2702
|
-
if (!(
|
|
2703
|
-
|
|
2835
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
|
|
2836
|
+
_context7.next = 8;
|
|
2704
2837
|
break;
|
|
2705
2838
|
}
|
|
2706
2839
|
_loggerProxy.default.logger.info(// @ts-ignore
|
|
2707
|
-
"Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - password required (code=").concat(
|
|
2840
|
+
"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
2841
|
|
|
2709
2842
|
// when wbxappapi requires password it still populates partial meeting info in the response
|
|
2710
|
-
if (
|
|
2711
|
-
this.meetingInfo =
|
|
2712
|
-
this.meetingNumber =
|
|
2843
|
+
if (_t5.meetingInfo) {
|
|
2844
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2845
|
+
this.meetingNumber = _t5.meetingInfo.meetingNumber;
|
|
2713
2846
|
}
|
|
2714
|
-
this.meetingInfoFailureCode =
|
|
2847
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2715
2848
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2716
2849
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2717
2850
|
if (!this.requiredCaptcha) {
|
|
2718
|
-
|
|
2851
|
+
_context7.next = 7;
|
|
2719
2852
|
break;
|
|
2720
2853
|
}
|
|
2721
|
-
|
|
2854
|
+
_context7.next = 7;
|
|
2722
2855
|
return this.refreshCaptcha();
|
|
2723
2856
|
case 7:
|
|
2724
2857
|
throw new _passwordError.default();
|
|
2725
2858
|
case 8:
|
|
2726
|
-
if (!(
|
|
2727
|
-
|
|
2859
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
|
|
2860
|
+
_context7.next = 9;
|
|
2728
2861
|
break;
|
|
2729
2862
|
}
|
|
2730
2863
|
_loggerProxy.default.logger.info(// @ts-ignore
|
|
2731
|
-
"Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - captcha required (code=").concat(
|
|
2864
|
+
"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
2865
|
if (this.requiredCaptcha) {
|
|
2733
2866
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_CAPTCHA;
|
|
2734
|
-
} else if (
|
|
2867
|
+
} else if (_t5.isRegistrationIdRequired) {
|
|
2735
2868
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_REGISTRATION_ID;
|
|
2736
2869
|
} else {
|
|
2737
2870
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2738
2871
|
}
|
|
2739
|
-
this.meetingInfoFailureCode =
|
|
2740
|
-
if (
|
|
2872
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2873
|
+
if (_t5.isPasswordRequired) {
|
|
2741
2874
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2742
2875
|
}
|
|
2743
|
-
if (
|
|
2876
|
+
if (_t5.isRegistrationIdRequired) {
|
|
2744
2877
|
this.registrationIdStatus = _constants.REGISTRATION_ID_STATUS.REQUIRED;
|
|
2745
2878
|
}
|
|
2746
|
-
this.requiredCaptcha =
|
|
2879
|
+
this.requiredCaptcha = _t5.captchaInfo;
|
|
2747
2880
|
throw new _captchaError.default();
|
|
2748
2881
|
case 9:
|
|
2749
2882
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
|
|
2750
|
-
throw
|
|
2883
|
+
throw _t5;
|
|
2751
2884
|
case 10:
|
|
2752
2885
|
case "end":
|
|
2753
|
-
return
|
|
2886
|
+
return _context7.stop();
|
|
2754
2887
|
}
|
|
2755
|
-
},
|
|
2888
|
+
}, _callee7, this, [[1, 3]]);
|
|
2756
2889
|
}));
|
|
2757
2890
|
function fetchMeetingInfoInternal(_x5) {
|
|
2758
2891
|
return _fetchMeetingInfoInternal.apply(this, arguments);
|
|
@@ -2769,18 +2902,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2769
2902
|
}, {
|
|
2770
2903
|
key: "refreshPermissionToken",
|
|
2771
2904
|
value: (function () {
|
|
2772
|
-
var _refreshPermissionToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2905
|
+
var _refreshPermissionToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(reason) {
|
|
2773
2906
|
var _this$meetingInfo;
|
|
2774
|
-
var isStartingSpaceInstantV2Meeting, destination, destinationType, permissionTokenExpiryInfo, timeLeft, expiryTime, currentTime,
|
|
2775
|
-
return _regenerator.default.wrap(function (
|
|
2776
|
-
while (1) switch (
|
|
2907
|
+
var isStartingSpaceInstantV2Meeting, destination, destinationType, permissionTokenExpiryInfo, timeLeft, expiryTime, currentTime, _t6;
|
|
2908
|
+
return _regenerator.default.wrap(function (_context8) {
|
|
2909
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
2777
2910
|
case 0:
|
|
2778
2911
|
if ((_this$meetingInfo = this.meetingInfo) !== null && _this$meetingInfo !== void 0 && _this$meetingInfo.permissionToken) {
|
|
2779
|
-
|
|
2912
|
+
_context8.next = 1;
|
|
2780
2913
|
break;
|
|
2781
2914
|
}
|
|
2782
2915
|
_loggerProxy.default.logger.info("Meeting:index#refreshPermissionToken --> cannot refresh the permission token, because we don't have it (reason=".concat(reason, ")"));
|
|
2783
|
-
return
|
|
2916
|
+
return _context8.abrupt("return");
|
|
2784
2917
|
case 1:
|
|
2785
2918
|
isStartingSpaceInstantV2Meeting = this.destinationType === _constants.DESTINATION_TYPE.CONVERSATION_URL &&
|
|
2786
2919
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -2802,8 +2935,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2802
2935
|
reason: reason,
|
|
2803
2936
|
destinationType: destinationType
|
|
2804
2937
|
});
|
|
2805
|
-
|
|
2806
|
-
|
|
2938
|
+
_context8.prev = 2;
|
|
2939
|
+
_context8.next = 3;
|
|
2807
2940
|
return this.fetchMeetingInfoInternal({
|
|
2808
2941
|
destination: destination,
|
|
2809
2942
|
destinationType: destinationType,
|
|
@@ -2813,23 +2946,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2813
2946
|
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
2947
|
});
|
|
2815
2948
|
case 3:
|
|
2816
|
-
|
|
2949
|
+
_context8.next = 5;
|
|
2817
2950
|
break;
|
|
2818
2951
|
case 4:
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
_loggerProxy.default.logger.info('Meeting:index#refreshPermissionToken --> failed to refresh the permission token:',
|
|
2952
|
+
_context8.prev = 4;
|
|
2953
|
+
_t6 = _context8["catch"](2);
|
|
2954
|
+
_loggerProxy.default.logger.info('Meeting:index#refreshPermissionToken --> failed to refresh the permission token:', _t6);
|
|
2822
2955
|
_metrics.default.sendBehavioralMetric(_constants2.default.PERMISSION_TOKEN_REFRESH_ERROR, {
|
|
2823
2956
|
correlationId: this.correlationId,
|
|
2824
|
-
reason:
|
|
2825
|
-
stack:
|
|
2957
|
+
reason: _t6.message,
|
|
2958
|
+
stack: _t6.stack
|
|
2826
2959
|
});
|
|
2827
|
-
throw
|
|
2960
|
+
throw _t6;
|
|
2828
2961
|
case 5:
|
|
2829
2962
|
case "end":
|
|
2830
|
-
return
|
|
2963
|
+
return _context8.stop();
|
|
2831
2964
|
}
|
|
2832
|
-
},
|
|
2965
|
+
}, _callee8, this, [[2, 4]]);
|
|
2833
2966
|
}));
|
|
2834
2967
|
function refreshPermissionToken(_x6) {
|
|
2835
2968
|
return _refreshPermissionToken.apply(this, arguments);
|
|
@@ -2850,22 +2983,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2850
2983
|
}, {
|
|
2851
2984
|
key: "fetchMeetingInfo",
|
|
2852
2985
|
value: (function () {
|
|
2853
|
-
var _fetchMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2854
|
-
return _regenerator.default.wrap(function (
|
|
2855
|
-
while (1) switch (
|
|
2986
|
+
var _fetchMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(options) {
|
|
2987
|
+
return _regenerator.default.wrap(function (_context9) {
|
|
2988
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
2856
2989
|
case 0:
|
|
2857
|
-
|
|
2990
|
+
_context9.next = 1;
|
|
2858
2991
|
return this.prepForFetchMeetingInfo(options, 'fetchMeetingInfo');
|
|
2859
2992
|
case 1:
|
|
2860
|
-
return
|
|
2993
|
+
return _context9.abrupt("return", this.fetchMeetingInfoInternal(_objectSpread({
|
|
2861
2994
|
destination: this.destination,
|
|
2862
2995
|
destinationType: this.destinationType
|
|
2863
2996
|
}, options)));
|
|
2864
2997
|
case 2:
|
|
2865
2998
|
case "end":
|
|
2866
|
-
return
|
|
2999
|
+
return _context9.stop();
|
|
2867
3000
|
}
|
|
2868
|
-
},
|
|
3001
|
+
}, _callee9, this);
|
|
2869
3002
|
}));
|
|
2870
3003
|
function fetchMeetingInfo(_x7) {
|
|
2871
3004
|
return _fetchMeetingInfo.apply(this, arguments);
|
|
@@ -3391,10 +3524,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3391
3524
|
key: "setupLocusControlsListener",
|
|
3392
3525
|
value: function setupLocusControlsListener() {
|
|
3393
3526
|
var _this12 = this;
|
|
3394
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (
|
|
3395
|
-
var state =
|
|
3396
|
-
modifiedBy =
|
|
3397
|
-
lastModified =
|
|
3527
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (_ref10) {
|
|
3528
|
+
var state = _ref10.state,
|
|
3529
|
+
modifiedBy = _ref10.modifiedBy,
|
|
3530
|
+
lastModified = _ref10.lastModified;
|
|
3398
3531
|
var event;
|
|
3399
3532
|
switch (state) {
|
|
3400
3533
|
case _constants.RECORDING_STATE.RECORDING:
|
|
@@ -3425,8 +3558,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3425
3558
|
function: 'setupLocusControlsListener'
|
|
3426
3559
|
}, event, _this12.recording);
|
|
3427
3560
|
});
|
|
3428
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (
|
|
3429
|
-
var meetingContainerUrl =
|
|
3561
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (_ref11) {
|
|
3562
|
+
var meetingContainerUrl = _ref11.meetingContainerUrl;
|
|
3430
3563
|
_triggerProxy.default.trigger(_this12, {
|
|
3431
3564
|
file: 'meeting/index',
|
|
3432
3565
|
function: 'setupLocusControlsListener'
|
|
@@ -3434,9 +3567,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3434
3567
|
meetingContainerUrl: meetingContainerUrl
|
|
3435
3568
|
});
|
|
3436
3569
|
});
|
|
3437
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (
|
|
3438
|
-
var caption =
|
|
3439
|
-
transcribing =
|
|
3570
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (_ref12) {
|
|
3571
|
+
var caption = _ref12.caption,
|
|
3572
|
+
transcribing = _ref12.transcribing;
|
|
3440
3573
|
// user need to be joined to start the llm and receive transcription
|
|
3441
3574
|
if (_this12.isJoined()) {
|
|
3442
3575
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -3453,8 +3586,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3453
3586
|
}
|
|
3454
3587
|
}
|
|
3455
3588
|
});
|
|
3456
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (
|
|
3457
|
-
var spokenLanguage =
|
|
3589
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (_ref13) {
|
|
3590
|
+
var spokenLanguage = _ref13.spokenLanguage;
|
|
3458
3591
|
if (spokenLanguage) {
|
|
3459
3592
|
var _this12$transcription;
|
|
3460
3593
|
if ((_this12$transcription = _this12.transcription) !== null && _this12$transcription !== void 0 && _this12$transcription.languageOptions) {
|
|
@@ -3471,8 +3604,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3471
3604
|
});
|
|
3472
3605
|
}
|
|
3473
3606
|
});
|
|
3474
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (
|
|
3475
|
-
var enable =
|
|
3607
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (_ref14) {
|
|
3608
|
+
var enable = _ref14.enable;
|
|
3476
3609
|
_triggerProxy.default.trigger(_this12, {
|
|
3477
3610
|
file: 'meeting/index',
|
|
3478
3611
|
function: 'setupLocusControlsListener'
|
|
@@ -3480,31 +3613,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3480
3613
|
enable: enable
|
|
3481
3614
|
});
|
|
3482
3615
|
});
|
|
3483
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED, function (
|
|
3484
|
-
var hesiodLlmId =
|
|
3616
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED, function (_ref15) {
|
|
3617
|
+
var hesiodLlmId = _ref15.hesiodLlmId;
|
|
3485
3618
|
if (hesiodLlmId) {
|
|
3486
3619
|
// @ts-ignore
|
|
3487
3620
|
_this12.webex.internal.voicea.onCaptionServiceIdUpdate(hesiodLlmId);
|
|
3488
3621
|
}
|
|
3489
3622
|
});
|
|
3490
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (
|
|
3491
|
-
var breakout =
|
|
3623
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref16) {
|
|
3624
|
+
var breakout = _ref16.breakout;
|
|
3492
3625
|
_this12.breakouts.updateBreakout(breakout);
|
|
3493
3626
|
_triggerProxy.default.trigger(_this12, {
|
|
3494
3627
|
file: 'meeting/index',
|
|
3495
3628
|
function: 'setupLocusControlsListener'
|
|
3496
3629
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
3497
3630
|
});
|
|
3498
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (
|
|
3499
|
-
var interpretation =
|
|
3631
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref17) {
|
|
3632
|
+
var interpretation = _ref17.interpretation;
|
|
3500
3633
|
_this12.simultaneousInterpretation.updateInterpretation(interpretation);
|
|
3501
3634
|
_triggerProxy.default.trigger(_this12, {
|
|
3502
3635
|
file: 'meeting/index',
|
|
3503
3636
|
function: 'setupLocusControlsListener'
|
|
3504
3637
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
3505
3638
|
});
|
|
3506
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (
|
|
3507
|
-
var entryExitTone =
|
|
3639
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref18) {
|
|
3640
|
+
var entryExitTone = _ref18.entryExitTone;
|
|
3508
3641
|
_triggerProxy.default.trigger(_this12, {
|
|
3509
3642
|
file: 'meeting/index',
|
|
3510
3643
|
function: 'setupLocusControlsListener'
|
|
@@ -3512,8 +3645,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3512
3645
|
entryExitTone: entryExitTone
|
|
3513
3646
|
});
|
|
3514
3647
|
});
|
|
3515
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (
|
|
3516
|
-
var state =
|
|
3648
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref19) {
|
|
3649
|
+
var state = _ref19.state;
|
|
3517
3650
|
_triggerProxy.default.trigger(_this12, {
|
|
3518
3651
|
file: 'meeting/index',
|
|
3519
3652
|
function: 'setupLocusControlsListener'
|
|
@@ -3521,8 +3654,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3521
3654
|
state: state
|
|
3522
3655
|
});
|
|
3523
3656
|
});
|
|
3524
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (
|
|
3525
|
-
var state =
|
|
3657
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref20) {
|
|
3658
|
+
var state = _ref20.state;
|
|
3526
3659
|
_triggerProxy.default.trigger(_this12, {
|
|
3527
3660
|
file: 'meeting/index',
|
|
3528
3661
|
function: 'setupLocusControlsListener'
|
|
@@ -3530,8 +3663,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3530
3663
|
state: state
|
|
3531
3664
|
});
|
|
3532
3665
|
});
|
|
3533
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (
|
|
3534
|
-
var state =
|
|
3666
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref21) {
|
|
3667
|
+
var state = _ref21.state;
|
|
3535
3668
|
_triggerProxy.default.trigger(_this12, {
|
|
3536
3669
|
file: 'meeting/index',
|
|
3537
3670
|
function: 'setupLocusControlsListener'
|
|
@@ -3539,8 +3672,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3539
3672
|
state: state
|
|
3540
3673
|
});
|
|
3541
3674
|
});
|
|
3542
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (
|
|
3543
|
-
var state =
|
|
3675
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref22) {
|
|
3676
|
+
var state = _ref22.state;
|
|
3544
3677
|
_triggerProxy.default.trigger(_this12, {
|
|
3545
3678
|
file: 'meeting/index',
|
|
3546
3679
|
function: 'setupLocusControlsListener'
|
|
@@ -3548,8 +3681,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3548
3681
|
state: state
|
|
3549
3682
|
});
|
|
3550
3683
|
});
|
|
3551
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (
|
|
3552
|
-
var state =
|
|
3684
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref23) {
|
|
3685
|
+
var state = _ref23.state;
|
|
3553
3686
|
_triggerProxy.default.trigger(_this12, {
|
|
3554
3687
|
file: 'meeting/index',
|
|
3555
3688
|
function: 'setupLocusControlsListener'
|
|
@@ -3557,8 +3690,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3557
3690
|
state: state
|
|
3558
3691
|
});
|
|
3559
3692
|
});
|
|
3560
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (
|
|
3561
|
-
var state =
|
|
3693
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref24) {
|
|
3694
|
+
var state = _ref24.state;
|
|
3562
3695
|
_triggerProxy.default.trigger(_this12, {
|
|
3563
3696
|
file: 'meeting/index',
|
|
3564
3697
|
function: 'setupLocusControlsListener'
|
|
@@ -3566,8 +3699,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3566
3699
|
state: state
|
|
3567
3700
|
});
|
|
3568
3701
|
});
|
|
3569
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.
|
|
3570
|
-
var
|
|
3702
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED, function (_ref25) {
|
|
3703
|
+
var aiSummaryNotification = _ref25.aiSummaryNotification;
|
|
3704
|
+
_triggerProxy.default.trigger(_this12, {
|
|
3705
|
+
file: 'meeting/index',
|
|
3706
|
+
function: 'setupLocusControlsListener'
|
|
3707
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED, {
|
|
3708
|
+
aiSummaryNotification: aiSummaryNotification
|
|
3709
|
+
});
|
|
3710
|
+
});
|
|
3711
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref26) {
|
|
3712
|
+
var state = _ref26.state;
|
|
3571
3713
|
_triggerProxy.default.trigger(_this12, {
|
|
3572
3714
|
file: 'meeting/index',
|
|
3573
3715
|
function: 'setupLocusControlsListener'
|
|
@@ -3575,8 +3717,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3575
3717
|
state: state
|
|
3576
3718
|
});
|
|
3577
3719
|
});
|
|
3578
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (
|
|
3579
|
-
var state =
|
|
3720
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref27) {
|
|
3721
|
+
var state = _ref27.state;
|
|
3580
3722
|
_triggerProxy.default.trigger(_this12, {
|
|
3581
3723
|
file: 'meeting/index',
|
|
3582
3724
|
function: 'setupLocusControlsListener'
|
|
@@ -3584,8 +3726,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3584
3726
|
state: state
|
|
3585
3727
|
});
|
|
3586
3728
|
});
|
|
3587
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (
|
|
3588
|
-
var state =
|
|
3729
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref28) {
|
|
3730
|
+
var state = _ref28.state;
|
|
3589
3731
|
_this12.webinar.updatePracticeSessionStatus(state);
|
|
3590
3732
|
_triggerProxy.default.trigger(_this12, {
|
|
3591
3733
|
file: 'meeting/index',
|
|
@@ -3594,8 +3736,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3594
3736
|
state: state
|
|
3595
3737
|
});
|
|
3596
3738
|
});
|
|
3597
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (
|
|
3598
|
-
var state =
|
|
3739
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref29) {
|
|
3740
|
+
var state = _ref29.state;
|
|
3599
3741
|
_triggerProxy.default.trigger(_this12, {
|
|
3600
3742
|
file: 'meeting/index',
|
|
3601
3743
|
function: 'setupLocusControlsListener'
|
|
@@ -3603,8 +3745,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3603
3745
|
state: state
|
|
3604
3746
|
});
|
|
3605
3747
|
});
|
|
3606
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (
|
|
3607
|
-
var state =
|
|
3748
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref30) {
|
|
3749
|
+
var state = _ref30.state;
|
|
3608
3750
|
_triggerProxy.default.trigger(_this12, {
|
|
3609
3751
|
file: 'meeting/index',
|
|
3610
3752
|
function: 'setupLocusControlsListener'
|
|
@@ -3612,8 +3754,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3612
3754
|
state: state
|
|
3613
3755
|
});
|
|
3614
3756
|
});
|
|
3615
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (
|
|
3616
|
-
var state =
|
|
3757
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (_ref31) {
|
|
3758
|
+
var state = _ref31.state;
|
|
3617
3759
|
_triggerProxy.default.trigger(_this12, {
|
|
3618
3760
|
file: 'meeting/index',
|
|
3619
3761
|
function: 'setupLocusControlsListener'
|
|
@@ -3621,8 +3763,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3621
3763
|
state: state
|
|
3622
3764
|
});
|
|
3623
3765
|
});
|
|
3624
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (
|
|
3625
|
-
var state =
|
|
3766
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (_ref32) {
|
|
3767
|
+
var state = _ref32.state;
|
|
3626
3768
|
_triggerProxy.default.trigger(_this12, {
|
|
3627
3769
|
file: 'meeting/index',
|
|
3628
3770
|
function: 'setupLocusControlsListener'
|
|
@@ -3630,8 +3772,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3630
3772
|
state: state
|
|
3631
3773
|
});
|
|
3632
3774
|
});
|
|
3633
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (
|
|
3634
|
-
var state =
|
|
3775
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (_ref33) {
|
|
3776
|
+
var state = _ref33.state;
|
|
3635
3777
|
_triggerProxy.default.trigger(_this12, {
|
|
3636
3778
|
file: 'meeting/index',
|
|
3637
3779
|
function: 'setupLocusControlsListener'
|
|
@@ -3639,8 +3781,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3639
3781
|
state: state
|
|
3640
3782
|
});
|
|
3641
3783
|
});
|
|
3642
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (
|
|
3643
|
-
var state =
|
|
3784
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (_ref34) {
|
|
3785
|
+
var state = _ref34.state;
|
|
3644
3786
|
_triggerProxy.default.trigger(_this12, {
|
|
3645
3787
|
file: 'meeting/index',
|
|
3646
3788
|
function: 'setupLocusControlsListener'
|
|
@@ -3687,21 +3829,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3687
3829
|
var _this13 = this;
|
|
3688
3830
|
// Will get triggered on local and remote share
|
|
3689
3831
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
|
3690
|
-
var
|
|
3832
|
+
var _ref35 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(payload) {
|
|
3691
3833
|
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 (
|
|
3834
|
+
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this13$locusInfo, _this13$locusInfo$inf, _this13$webinar, oldShareStatus, sendStartedSharingRemote, _this13$mediaProperti, _t7, _t8;
|
|
3835
|
+
return _regenerator.default.wrap(function (_context0) {
|
|
3836
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
3695
3837
|
case 0:
|
|
3696
3838
|
_payload$current = payload.current, contentShare = _payload$current.content, whiteboardShare = _payload$current.whiteboard;
|
|
3697
3839
|
previousContentShare = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
|
|
3698
3840
|
previousWhiteboardShare = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
|
|
3699
3841
|
_this13.triggerAnnotationInfoEvent(contentShare, previousContentShare);
|
|
3700
3842
|
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
|
-
|
|
3843
|
+
_context0.next = 1;
|
|
3702
3844
|
break;
|
|
3703
3845
|
}
|
|
3704
|
-
return
|
|
3846
|
+
return _context0.abrupt("return");
|
|
3705
3847
|
case 1:
|
|
3706
3848
|
newShareStatus = _this13.shareStatus; // REMOTE - check if remote started sharing
|
|
3707
3849
|
if (_this13.selfId !== contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
|
|
@@ -3739,22 +3881,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3739
3881
|
}
|
|
3740
3882
|
_loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this13.shareStatus, " newShareStatus=").concat(newShareStatus));
|
|
3741
3883
|
if (!(newShareStatus !== _this13.shareStatus)) {
|
|
3742
|
-
|
|
3884
|
+
_context0.next = 17;
|
|
3743
3885
|
break;
|
|
3744
3886
|
}
|
|
3745
3887
|
oldShareStatus = _this13.shareStatus; // update our state before we send out any notifications
|
|
3746
3888
|
_this13.shareStatus = newShareStatus;
|
|
3747
3889
|
|
|
3748
3890
|
// send out "stop" notifications for the old state
|
|
3749
|
-
|
|
3750
|
-
|
|
3891
|
+
_t7 = oldShareStatus;
|
|
3892
|
+
_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
3893
|
break;
|
|
3752
3894
|
case 2:
|
|
3753
3895
|
_triggerProxy.default.trigger(_this13, {
|
|
3754
3896
|
file: 'meetings/index',
|
|
3755
3897
|
function: 'remoteShare'
|
|
3756
3898
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
|
|
3757
|
-
return
|
|
3899
|
+
return _context0.abrupt("continue", 7);
|
|
3758
3900
|
case 3:
|
|
3759
3901
|
_triggerProxy.default.trigger(_this13, {
|
|
3760
3902
|
file: 'meeting/index',
|
|
@@ -3762,7 +3904,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3762
3904
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
3763
3905
|
reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
|
|
3764
3906
|
});
|
|
3765
|
-
return
|
|
3907
|
+
return _context0.abrupt("continue", 7);
|
|
3766
3908
|
case 4:
|
|
3767
3909
|
_triggerProxy.default.trigger(_this13, {
|
|
3768
3910
|
file: 'meeting/index',
|
|
@@ -3785,14 +3927,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3785
3927
|
meetingId: _this13.id
|
|
3786
3928
|
}
|
|
3787
3929
|
});
|
|
3788
|
-
return
|
|
3930
|
+
return _context0.abrupt("continue", 7);
|
|
3789
3931
|
case 5:
|
|
3790
|
-
return
|
|
3932
|
+
return _context0.abrupt("continue", 7);
|
|
3791
3933
|
case 6:
|
|
3792
|
-
return
|
|
3934
|
+
return _context0.abrupt("continue", 7);
|
|
3793
3935
|
case 7:
|
|
3794
|
-
|
|
3795
|
-
|
|
3936
|
+
_t8 = newShareStatus;
|
|
3937
|
+
_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
3938
|
break;
|
|
3797
3939
|
case 8:
|
|
3798
3940
|
sendStartedSharingRemote = function sendStartedSharingRemote() {
|
|
@@ -3818,19 +3960,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3818
3960
|
resourceType: contentShare.resourceType
|
|
3819
3961
|
});
|
|
3820
3962
|
};
|
|
3821
|
-
|
|
3963
|
+
_context0.prev = 9;
|
|
3822
3964
|
if (!((_this13$mediaProperti = _this13.mediaProperties.mediaDirection) !== null && _this13$mediaProperti !== void 0 && _this13$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
|
|
3823
|
-
|
|
3965
|
+
_context0.next = 10;
|
|
3824
3966
|
break;
|
|
3825
3967
|
}
|
|
3826
|
-
|
|
3968
|
+
_context0.next = 10;
|
|
3827
3969
|
return _this13.unpublishStreams([_this13.mediaProperties.shareVideoStream, _this13.mediaProperties.shareAudioStream]);
|
|
3828
3970
|
case 10:
|
|
3829
|
-
|
|
3971
|
+
_context0.prev = 10;
|
|
3830
3972
|
sendStartedSharingRemote();
|
|
3831
|
-
return
|
|
3973
|
+
return _context0.finish(10);
|
|
3832
3974
|
case 11:
|
|
3833
|
-
return
|
|
3975
|
+
return _context0.abrupt("continue", 16);
|
|
3834
3976
|
case 12:
|
|
3835
3977
|
_triggerProxy.default.trigger(_this13, {
|
|
3836
3978
|
file: 'meeting/index',
|
|
@@ -3847,7 +3989,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3847
3989
|
meetingId: _this13.id
|
|
3848
3990
|
}
|
|
3849
3991
|
});
|
|
3850
|
-
return
|
|
3992
|
+
return _context0.abrupt("continue", 16);
|
|
3851
3993
|
case 13:
|
|
3852
3994
|
_triggerProxy.default.trigger(_this13, {
|
|
3853
3995
|
file: 'meeting/index',
|
|
@@ -3866,14 +4008,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3866
4008
|
meetingId: _this13.id
|
|
3867
4009
|
}
|
|
3868
4010
|
});
|
|
3869
|
-
return
|
|
4011
|
+
return _context0.abrupt("continue", 16);
|
|
3870
4012
|
case 14:
|
|
3871
|
-
return
|
|
4013
|
+
return _context0.abrupt("continue", 16);
|
|
3872
4014
|
case 15:
|
|
3873
|
-
return
|
|
4015
|
+
return _context0.abrupt("continue", 16);
|
|
3874
4016
|
case 16:
|
|
3875
4017
|
_this13.members.locusMediaSharesUpdate(payload);
|
|
3876
|
-
|
|
4018
|
+
_context0.next = 18;
|
|
3877
4019
|
break;
|
|
3878
4020
|
case 17:
|
|
3879
4021
|
if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
|
|
@@ -3917,12 +4059,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3917
4059
|
}
|
|
3918
4060
|
case 18:
|
|
3919
4061
|
case "end":
|
|
3920
|
-
return
|
|
4062
|
+
return _context0.stop();
|
|
3921
4063
|
}
|
|
3922
|
-
},
|
|
4064
|
+
}, _callee0, null, [[9,, 10, 11]]);
|
|
3923
4065
|
}));
|
|
3924
4066
|
return function (_x8) {
|
|
3925
|
-
return
|
|
4067
|
+
return _ref35.apply(this, arguments);
|
|
3926
4068
|
};
|
|
3927
4069
|
}());
|
|
3928
4070
|
}
|
|
@@ -3951,6 +4093,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3951
4093
|
_this14.recordingController.setLocusUrl(_this14.locusUrl);
|
|
3952
4094
|
_this14.controlsOptionsManager.setLocusUrl(_this14.locusUrl, !!isMainLocus);
|
|
3953
4095
|
_this14.webinar.locusUrlUpdate(url);
|
|
4096
|
+
// @ts-ignore
|
|
4097
|
+
_this14.webex.internal.llm.setRefreshHandler(function () {
|
|
4098
|
+
return _this14.refreshDataChannelToken();
|
|
4099
|
+
});
|
|
3954
4100
|
_triggerProxy.default.trigger(_this14, {
|
|
3955
4101
|
file: 'meeting/index',
|
|
3956
4102
|
function: 'setUpLocusSelfListener'
|
|
@@ -3974,12 +4120,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3974
4120
|
value: function setUpLocusServicesListener() {
|
|
3975
4121
|
var _this15 = this;
|
|
3976
4122
|
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;
|
|
4123
|
+
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
4124
|
_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
4125
|
_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
4126
|
_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
4127
|
_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
4128
|
_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);
|
|
4129
|
+
_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
4130
|
});
|
|
3984
4131
|
}
|
|
3985
4132
|
|
|
@@ -4038,8 +4185,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4038
4185
|
});
|
|
4039
4186
|
}
|
|
4040
4187
|
});
|
|
4041
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
|
4042
|
-
var isInitializing =
|
|
4188
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref36) {
|
|
4189
|
+
var isInitializing = _ref36.isInitializing;
|
|
4043
4190
|
_this17.updateMeetingActions();
|
|
4044
4191
|
_this17.recordingController.setDisplayHints(_this17.userDisplayHints);
|
|
4045
4192
|
_this17.recordingController.setUserPolicy(_this17.selfUserPolicies);
|
|
@@ -4066,6 +4213,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4066
4213
|
// @ts-ignore - config coming from registerPlugin
|
|
4067
4214
|
if (datachannelUrl && this.config.enableAutomaticLLM) {
|
|
4068
4215
|
this.updateLLMConnection();
|
|
4216
|
+
if (this.webinar.isJoinPracticeSessionDataChannel()) {
|
|
4217
|
+
this.webinar.updatePSDataChannel();
|
|
4218
|
+
}
|
|
4069
4219
|
}
|
|
4070
4220
|
}
|
|
4071
4221
|
|
|
@@ -4177,10 +4327,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4177
4327
|
_this19.updateLLMConnection();
|
|
4178
4328
|
});
|
|
4179
4329
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
4180
|
-
var
|
|
4330
|
+
var _ref37 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(payload) {
|
|
4181
4331
|
var _this19$rtcMetrics;
|
|
4182
|
-
return _regenerator.default.wrap(function (
|
|
4183
|
-
while (1) switch (
|
|
4332
|
+
return _regenerator.default.wrap(function (_context1) {
|
|
4333
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
4184
4334
|
case 0:
|
|
4185
4335
|
_this19.stopKeepAlive();
|
|
4186
4336
|
if (payload) {
|
|
@@ -4206,12 +4356,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4206
4356
|
_this19.updateLLMConnection();
|
|
4207
4357
|
case 1:
|
|
4208
4358
|
case "end":
|
|
4209
|
-
return
|
|
4359
|
+
return _context1.stop();
|
|
4210
4360
|
}
|
|
4211
|
-
},
|
|
4361
|
+
}, _callee1);
|
|
4212
4362
|
}));
|
|
4213
4363
|
return function (_x9) {
|
|
4214
|
-
return
|
|
4364
|
+
return _ref37.apply(this, arguments);
|
|
4215
4365
|
};
|
|
4216
4366
|
}());
|
|
4217
4367
|
|
|
@@ -4263,6 +4413,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4263
4413
|
function: 'setUpLocusInfoSelfListener'
|
|
4264
4414
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
4265
4415
|
});
|
|
4416
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ID_CHANGED, function (payload) {
|
|
4417
|
+
_this19.aiEnableRequest.selfParticipantIdUpdate(payload.selfId);
|
|
4418
|
+
});
|
|
4266
4419
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
|
|
4267
4420
|
var targetChanged = _this19.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
4268
4421
|
_triggerProxy.default.trigger(_this19, {
|
|
@@ -4330,49 +4483,49 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4330
4483
|
}
|
|
4331
4484
|
});
|
|
4332
4485
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
4333
|
-
var
|
|
4334
|
-
var
|
|
4335
|
-
return _regenerator.default.wrap(function (
|
|
4336
|
-
while (1) switch (
|
|
4486
|
+
var _ref38 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
|
|
4487
|
+
var _t9;
|
|
4488
|
+
return _regenerator.default.wrap(function (_context10) {
|
|
4489
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
4337
4490
|
case 0:
|
|
4338
4491
|
if (!_this20.wirelessShare) {
|
|
4339
|
-
|
|
4492
|
+
_context10.next = 2;
|
|
4340
4493
|
break;
|
|
4341
4494
|
}
|
|
4342
4495
|
if (!_this20.mediaProperties.shareVideoStream) {
|
|
4343
|
-
|
|
4496
|
+
_context10.next = 1;
|
|
4344
4497
|
break;
|
|
4345
4498
|
}
|
|
4346
|
-
|
|
4499
|
+
_context10.next = 1;
|
|
4347
4500
|
return _this20.setLocalShareVideoStream(undefined);
|
|
4348
4501
|
case 1:
|
|
4349
4502
|
if (!_this20.mediaProperties.shareAudioStream) {
|
|
4350
|
-
|
|
4503
|
+
_context10.next = 2;
|
|
4351
4504
|
break;
|
|
4352
4505
|
}
|
|
4353
|
-
|
|
4506
|
+
_context10.next = 2;
|
|
4354
4507
|
return _this20.setLocalShareAudioStream(undefined);
|
|
4355
4508
|
case 2:
|
|
4356
4509
|
if (!payload.shouldLeave) {
|
|
4357
|
-
|
|
4510
|
+
_context10.next = 7;
|
|
4358
4511
|
break;
|
|
4359
4512
|
}
|
|
4360
|
-
|
|
4361
|
-
|
|
4513
|
+
_context10.prev = 3;
|
|
4514
|
+
_context10.next = 4;
|
|
4362
4515
|
return _this20.leave({
|
|
4363
4516
|
reason: payload.reason
|
|
4364
4517
|
});
|
|
4365
4518
|
case 4:
|
|
4366
4519
|
_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
|
-
|
|
4520
|
+
_context10.next = 6;
|
|
4368
4521
|
break;
|
|
4369
4522
|
case 5:
|
|
4370
|
-
|
|
4371
|
-
|
|
4523
|
+
_context10.prev = 5;
|
|
4524
|
+
_t9 = _context10["catch"](3);
|
|
4372
4525
|
// @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(
|
|
4526
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(_t9));
|
|
4374
4527
|
case 6:
|
|
4375
|
-
|
|
4528
|
+
_context10.next = 8;
|
|
4376
4529
|
break;
|
|
4377
4530
|
case 7:
|
|
4378
4531
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
@@ -4386,12 +4539,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4386
4539
|
});
|
|
4387
4540
|
case 8:
|
|
4388
4541
|
case "end":
|
|
4389
|
-
return
|
|
4542
|
+
return _context10.stop();
|
|
4390
4543
|
}
|
|
4391
|
-
},
|
|
4544
|
+
}, _callee10, null, [[3, 5]]);
|
|
4392
4545
|
}));
|
|
4393
4546
|
return function (_x0) {
|
|
4394
|
-
return
|
|
4547
|
+
return _ref38.apply(this, arguments);
|
|
4395
4548
|
};
|
|
4396
4549
|
}());
|
|
4397
4550
|
}
|
|
@@ -4509,31 +4662,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4509
4662
|
}, {
|
|
4510
4663
|
key: "beRightBack",
|
|
4511
4664
|
value: (function () {
|
|
4512
|
-
var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
4665
|
+
var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(enabled) {
|
|
4513
4666
|
var _this22 = this;
|
|
4514
4667
|
var errorMessage, error, _errorMessage, _error;
|
|
4515
|
-
return _regenerator.default.wrap(function (
|
|
4516
|
-
while (1) switch (
|
|
4668
|
+
return _regenerator.default.wrap(function (_context11) {
|
|
4669
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
4517
4670
|
case 0:
|
|
4518
4671
|
if (this.isMultistream) {
|
|
4519
|
-
|
|
4672
|
+
_context11.next = 1;
|
|
4520
4673
|
break;
|
|
4521
4674
|
}
|
|
4522
4675
|
errorMessage = 'Meeting:index#beRightBack --> Not a multistream meeting';
|
|
4523
4676
|
error = new Error(errorMessage);
|
|
4524
4677
|
_loggerProxy.default.logger.error(error);
|
|
4525
|
-
return
|
|
4678
|
+
return _context11.abrupt("return", _promise.default.reject(error));
|
|
4526
4679
|
case 1:
|
|
4527
4680
|
if (this.mediaProperties.webrtcMediaConnection) {
|
|
4528
|
-
|
|
4681
|
+
_context11.next = 2;
|
|
4529
4682
|
break;
|
|
4530
4683
|
}
|
|
4531
4684
|
_errorMessage = 'Meeting:index#beRightBack --> WebRTC media connection is not defined';
|
|
4532
4685
|
_error = new Error(_errorMessage);
|
|
4533
4686
|
_loggerProxy.default.logger.error(_error);
|
|
4534
|
-
return
|
|
4687
|
+
return _context11.abrupt("return", _promise.default.reject(_error));
|
|
4535
4688
|
case 2:
|
|
4536
|
-
return
|
|
4689
|
+
return _context11.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager).then(function () {
|
|
4537
4690
|
if (_this22.audio && enabled) {
|
|
4538
4691
|
// locus mutes the participant with brb enabled request,
|
|
4539
4692
|
// so we need to explicitly update remote mute for correct logic flow
|
|
@@ -4544,9 +4697,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4544
4697
|
}));
|
|
4545
4698
|
case 3:
|
|
4546
4699
|
case "end":
|
|
4547
|
-
return
|
|
4700
|
+
return _context11.stop();
|
|
4548
4701
|
}
|
|
4549
|
-
},
|
|
4702
|
+
}, _callee11, this);
|
|
4550
4703
|
}));
|
|
4551
4704
|
function beRightBack(_x1) {
|
|
4552
4705
|
return _beRightBack.apply(this, arguments);
|
|
@@ -4744,6 +4897,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4744
4897
|
canLowerAllHands: _util2.default.canUserLowerAllHands(this.userDisplayHints),
|
|
4745
4898
|
canLowerSomeoneElsesHand: _util2.default.canUserLowerSomeoneElsesHand(this.userDisplayHints),
|
|
4746
4899
|
bothLeaveAndEndMeetingAvailable: _util2.default.bothLeaveAndEndMeetingAvailable(this.userDisplayHints),
|
|
4900
|
+
requireHostEndMeetingBeforeLeave: _util2.default.requireHostEndMeetingBeforeLeave(this.userDisplayHints),
|
|
4747
4901
|
canEnableClosedCaption: _util2.default.canEnableClosedCaption(this.userDisplayHints),
|
|
4748
4902
|
canStartTranscribing: _util2.default.canStartTranscribing(this.userDisplayHints),
|
|
4749
4903
|
canStopTranscribing: _util2.default.canStopTranscribing(this.userDisplayHints),
|
|
@@ -4973,7 +5127,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4973
5127
|
canDisablePollingQA: _util5.default.hasHints({
|
|
4974
5128
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_ATTENDEE_START_POLLING_QA],
|
|
4975
5129
|
displayHints: this.userDisplayHints
|
|
4976
|
-
})
|
|
5130
|
+
}),
|
|
5131
|
+
canAttendeeRequestAiAssistantEnabled: _util2.default.canAttendeeRequestAiAssistantEnabled(this.userDisplayHints, this.roles),
|
|
5132
|
+
isAttendeeRequestAiAssistantDeclinedAll: _util2.default.attendeeRequestAiAssistantDeclinedAll(this.userDisplayHints)
|
|
4977
5133
|
}) || changed;
|
|
4978
5134
|
}
|
|
4979
5135
|
if (changed) {
|
|
@@ -5055,7 +5211,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5055
5211
|
this.locusInfo.initialSetup({
|
|
5056
5212
|
trigger: 'join-response',
|
|
5057
5213
|
locus: mtgLocus,
|
|
5058
|
-
dataSets: data.dataSets
|
|
5214
|
+
dataSets: data.dataSets,
|
|
5215
|
+
metadata: data.metadata
|
|
5059
5216
|
});
|
|
5060
5217
|
}
|
|
5061
5218
|
|
|
@@ -5170,10 +5327,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5170
5327
|
key: "closeRemoteStreams",
|
|
5171
5328
|
value: function closeRemoteStreams() {
|
|
5172
5329
|
var _this24 = this;
|
|
5173
|
-
var _this$
|
|
5174
|
-
remoteAudioStream = _this$
|
|
5175
|
-
remoteVideoStream = _this$
|
|
5176
|
-
remoteShareStream = _this$
|
|
5330
|
+
var _this$mediaProperties7 = this.mediaProperties,
|
|
5331
|
+
remoteAudioStream = _this$mediaProperties7.remoteAudioStream,
|
|
5332
|
+
remoteVideoStream = _this$mediaProperties7.remoteVideoStream,
|
|
5333
|
+
remoteShareStream = _this$mediaProperties7.remoteShareStream;
|
|
5177
5334
|
|
|
5178
5335
|
/**
|
|
5179
5336
|
* Triggers an event to the developer
|
|
@@ -5217,11 +5374,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5217
5374
|
}, {
|
|
5218
5375
|
key: "setLocalAudioStream",
|
|
5219
5376
|
value: (function () {
|
|
5220
|
-
var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5377
|
+
var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
|
|
5221
5378
|
var _this$audio2;
|
|
5222
5379
|
var oldStream;
|
|
5223
|
-
return _regenerator.default.wrap(function (
|
|
5224
|
-
while (1) switch (
|
|
5380
|
+
return _regenerator.default.wrap(function (_context12) {
|
|
5381
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
5225
5382
|
case 0:
|
|
5226
5383
|
oldStream = this.mediaProperties.audioStream;
|
|
5227
5384
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
@@ -5235,19 +5392,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5235
5392
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5236
5393
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5237
5394
|
if (!(!this.isMultistream || !localStream)) {
|
|
5238
|
-
|
|
5395
|
+
_context12.next = 1;
|
|
5239
5396
|
break;
|
|
5240
5397
|
}
|
|
5241
|
-
|
|
5398
|
+
_context12.next = 1;
|
|
5242
5399
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
|
|
5243
5400
|
case 1:
|
|
5244
|
-
|
|
5401
|
+
_context12.next = 2;
|
|
5245
5402
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
5246
5403
|
case 2:
|
|
5247
5404
|
case "end":
|
|
5248
|
-
return
|
|
5405
|
+
return _context12.stop();
|
|
5249
5406
|
}
|
|
5250
|
-
},
|
|
5407
|
+
}, _callee12, this);
|
|
5251
5408
|
}));
|
|
5252
5409
|
function setLocalAudioStream(_x10) {
|
|
5253
5410
|
return _setLocalAudioStream.apply(this, arguments);
|
|
@@ -5265,16 +5422,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5265
5422
|
}, {
|
|
5266
5423
|
key: "setLocalVideoStream",
|
|
5267
5424
|
value: (function () {
|
|
5268
|
-
var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5425
|
+
var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(localStream) {
|
|
5269
5426
|
var _this$video2;
|
|
5270
5427
|
var oldStream;
|
|
5271
|
-
return _regenerator.default.wrap(function (
|
|
5272
|
-
while (1) switch (
|
|
5428
|
+
return _regenerator.default.wrap(function (_context13) {
|
|
5429
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
5273
5430
|
case 0:
|
|
5274
5431
|
oldStream = this.mediaProperties.videoStream;
|
|
5275
5432
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5276
5433
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5277
5434
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5435
|
+
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
|
|
5278
5436
|
|
|
5279
5437
|
// we don't update this.mediaProperties.mediaDirection.sendVideo, because we always keep it as true to avoid extra SDP exchanges
|
|
5280
5438
|
this.mediaProperties.setLocalVideoStream(localStream);
|
|
@@ -5282,20 +5440,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5282
5440
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5283
5441
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5284
5442
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5443
|
+
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
|
|
5285
5444
|
if (!(!this.isMultistream || !localStream)) {
|
|
5286
|
-
|
|
5445
|
+
_context13.next = 1;
|
|
5287
5446
|
break;
|
|
5288
5447
|
}
|
|
5289
|
-
|
|
5448
|
+
_context13.next = 1;
|
|
5290
5449
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
|
|
5291
5450
|
case 1:
|
|
5292
|
-
|
|
5451
|
+
_context13.next = 2;
|
|
5293
5452
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
5294
5453
|
case 2:
|
|
5295
5454
|
case "end":
|
|
5296
|
-
return
|
|
5455
|
+
return _context13.stop();
|
|
5297
5456
|
}
|
|
5298
|
-
},
|
|
5457
|
+
}, _callee13, this);
|
|
5299
5458
|
}));
|
|
5300
5459
|
function setLocalVideoStream(_x11) {
|
|
5301
5460
|
return _setLocalVideoStream.apply(this, arguments);
|
|
@@ -5314,10 +5473,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5314
5473
|
}, {
|
|
5315
5474
|
key: "setLocalShareVideoStream",
|
|
5316
5475
|
value: (function () {
|
|
5317
|
-
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5476
|
+
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(localDisplayStream) {
|
|
5318
5477
|
var oldStream;
|
|
5319
|
-
return _regenerator.default.wrap(function (
|
|
5320
|
-
while (1) switch (
|
|
5478
|
+
return _regenerator.default.wrap(function (_context14) {
|
|
5479
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
5321
5480
|
case 0:
|
|
5322
5481
|
oldStream = this.mediaProperties.shareVideoStream;
|
|
5323
5482
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
@@ -5329,19 +5488,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5329
5488
|
localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5330
5489
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
5331
5490
|
if (!(!this.isMultistream || !localDisplayStream)) {
|
|
5332
|
-
|
|
5491
|
+
_context14.next = 1;
|
|
5333
5492
|
break;
|
|
5334
5493
|
}
|
|
5335
|
-
|
|
5494
|
+
_context14.next = 1;
|
|
5336
5495
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
|
|
5337
5496
|
case 1:
|
|
5338
|
-
|
|
5497
|
+
_context14.next = 2;
|
|
5339
5498
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
5340
5499
|
case 2:
|
|
5341
5500
|
case "end":
|
|
5342
|
-
return
|
|
5501
|
+
return _context14.stop();
|
|
5343
5502
|
}
|
|
5344
|
-
},
|
|
5503
|
+
}, _callee14, this);
|
|
5345
5504
|
}));
|
|
5346
5505
|
function setLocalShareVideoStream(_x12) {
|
|
5347
5506
|
return _setLocalShareVideoStream.apply(this, arguments);
|
|
@@ -5359,10 +5518,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5359
5518
|
}, {
|
|
5360
5519
|
key: "setLocalShareAudioStream",
|
|
5361
5520
|
value: (function () {
|
|
5362
|
-
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5521
|
+
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(localSystemAudioStream) {
|
|
5363
5522
|
var oldStream;
|
|
5364
|
-
return _regenerator.default.wrap(function (
|
|
5365
|
-
while (1) switch (
|
|
5523
|
+
return _regenerator.default.wrap(function (_context15) {
|
|
5524
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
5366
5525
|
case 0:
|
|
5367
5526
|
oldStream = this.mediaProperties.shareAudioStream;
|
|
5368
5527
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
|
|
@@ -5372,19 +5531,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5372
5531
|
localSystemAudioStream === null || localSystemAudioStream === void 0 ? void 0 : localSystemAudioStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5373
5532
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
5374
5533
|
if (!(!this.isMultistream || !localSystemAudioStream)) {
|
|
5375
|
-
|
|
5534
|
+
_context15.next = 1;
|
|
5376
5535
|
break;
|
|
5377
5536
|
}
|
|
5378
|
-
|
|
5537
|
+
_context15.next = 1;
|
|
5379
5538
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioSlides, oldStream);
|
|
5380
5539
|
case 1:
|
|
5381
|
-
|
|
5540
|
+
_context15.next = 2;
|
|
5382
5541
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
5383
5542
|
case 2:
|
|
5384
5543
|
case "end":
|
|
5385
|
-
return
|
|
5544
|
+
return _context15.stop();
|
|
5386
5545
|
}
|
|
5387
|
-
},
|
|
5546
|
+
}, _callee15, this);
|
|
5388
5547
|
}));
|
|
5389
5548
|
function setLocalShareAudioStream(_x13) {
|
|
5390
5549
|
return _setLocalShareAudioStream.apply(this, arguments);
|
|
@@ -5425,17 +5584,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5425
5584
|
}, {
|
|
5426
5585
|
key: "cleanupLocalStreams",
|
|
5427
5586
|
value: function cleanupLocalStreams() {
|
|
5428
|
-
var _this$
|
|
5429
|
-
audioStream = _this$
|
|
5430
|
-
videoStream = _this$
|
|
5431
|
-
shareAudioStream = _this$
|
|
5432
|
-
shareVideoStream = _this$
|
|
5587
|
+
var _this$mediaProperties8 = this.mediaProperties,
|
|
5588
|
+
audioStream = _this$mediaProperties8.audioStream,
|
|
5589
|
+
videoStream = _this$mediaProperties8.videoStream,
|
|
5590
|
+
shareAudioStream = _this$mediaProperties8.shareAudioStream,
|
|
5591
|
+
shareVideoStream = _this$mediaProperties8.shareVideoStream;
|
|
5433
5592
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5434
5593
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5435
5594
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5436
5595
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5437
5596
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5438
5597
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5598
|
+
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
|
|
5439
5599
|
shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
|
|
5440
5600
|
shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5441
5601
|
shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
@@ -5824,7 +5984,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5824
5984
|
}, {
|
|
5825
5985
|
key: "joinWithMedia",
|
|
5826
5986
|
value: (function () {
|
|
5827
|
-
var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5987
|
+
var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
5828
5988
|
var _this30 = this;
|
|
5829
5989
|
var options,
|
|
5830
5990
|
mediaOptions,
|
|
@@ -5847,20 +6007,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5847
6007
|
shouldRetry,
|
|
5848
6008
|
_error2,
|
|
5849
6009
|
_error3,
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
|
|
5853
|
-
return _regenerator.default.wrap(function (
|
|
5854
|
-
while (1) switch (
|
|
6010
|
+
_args16 = arguments,
|
|
6011
|
+
_t0,
|
|
6012
|
+
_t1;
|
|
6013
|
+
return _regenerator.default.wrap(function (_context16) {
|
|
6014
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
5855
6015
|
case 0:
|
|
5856
|
-
options =
|
|
6016
|
+
options = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : {};
|
|
5857
6017
|
mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
|
|
5858
6018
|
_this$joinWithMediaRe = this.joinWithMediaRetryInfo, isRetry = _this$joinWithMediaRe.isRetry, prevJoinResponse = _this$joinWithMediaRe.prevJoinResponse;
|
|
5859
6019
|
if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
|
|
5860
|
-
|
|
6020
|
+
_context16.next = 1;
|
|
5861
6021
|
break;
|
|
5862
6022
|
}
|
|
5863
|
-
return
|
|
6023
|
+
return _context16.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
|
|
5864
6024
|
case 1:
|
|
5865
6025
|
this.allowMediaInLobby = true;
|
|
5866
6026
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
|
|
@@ -5872,39 +6032,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5872
6032
|
in case WebRTC is not available at all.
|
|
5873
6033
|
*/
|
|
5874
6034
|
if (!(_webCapabilities.WebCapabilities.supportsRTCPeerConnection() === _webCapabilities.CapabilityState.NOT_CAPABLE)) {
|
|
5875
|
-
|
|
6035
|
+
_context16.next = 2;
|
|
5876
6036
|
break;
|
|
5877
6037
|
}
|
|
5878
6038
|
throw new _internalMediaCore.Errors.WebrtcApiNotAvailableError('RTCPeerConnection API is not available in this environment');
|
|
5879
6039
|
case 2:
|
|
5880
|
-
|
|
6040
|
+
_context16.prev = 2;
|
|
5881
6041
|
forceTurnDiscovery = false;
|
|
5882
6042
|
if (joinResponse) {
|
|
5883
|
-
|
|
6043
|
+
_context16.next = 7;
|
|
5884
6044
|
break;
|
|
5885
6045
|
}
|
|
5886
|
-
|
|
6046
|
+
_context16.next = 3;
|
|
5887
6047
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
5888
6048
|
case 3:
|
|
5889
|
-
turnDiscoveryRequest =
|
|
6049
|
+
turnDiscoveryRequest = _context16.sent;
|
|
5890
6050
|
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
5891
6051
|
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
5892
6052
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
|
|
5893
|
-
|
|
6053
|
+
_context16.next = 4;
|
|
5894
6054
|
return this.join(joinOptions);
|
|
5895
6055
|
case 4:
|
|
5896
|
-
joinResponse =
|
|
6056
|
+
joinResponse = _context16.sent;
|
|
5897
6057
|
joined = true;
|
|
5898
6058
|
|
|
5899
6059
|
// if we sent out TURN discovery Roap message with join, process the TURN discovery response
|
|
5900
6060
|
if (!joinOptions.roapMessage) {
|
|
5901
|
-
|
|
6061
|
+
_context16.next = 6;
|
|
5902
6062
|
break;
|
|
5903
6063
|
}
|
|
5904
|
-
|
|
6064
|
+
_context16.next = 5;
|
|
5905
6065
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
5906
6066
|
case 5:
|
|
5907
|
-
_yield$this$roap$hand =
|
|
6067
|
+
_yield$this$roap$hand = _context16.sent;
|
|
5908
6068
|
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
5909
6069
|
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
5910
6070
|
this.turnDiscoverySkippedReason = turnDiscoverySkippedReason;
|
|
@@ -5913,7 +6073,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5913
6073
|
this.roap.abortTurnDiscovery();
|
|
5914
6074
|
}
|
|
5915
6075
|
case 6:
|
|
5916
|
-
|
|
6076
|
+
_context16.next = 8;
|
|
5917
6077
|
break;
|
|
5918
6078
|
case 7:
|
|
5919
6079
|
// This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
|
|
@@ -5921,43 +6081,43 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5921
6081
|
forceTurnDiscovery = true;
|
|
5922
6082
|
joined = true;
|
|
5923
6083
|
case 8:
|
|
5924
|
-
|
|
6084
|
+
_context16.next = 9;
|
|
5925
6085
|
return this.addMediaInternal(function () {
|
|
5926
6086
|
return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5927
6087
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5928
6088
|
case 9:
|
|
5929
|
-
mediaResponse =
|
|
6089
|
+
mediaResponse = _context16.sent;
|
|
5930
6090
|
this.joinWithMediaRetryInfo = {
|
|
5931
6091
|
isRetry: false,
|
|
5932
6092
|
prevJoinResponse: undefined
|
|
5933
6093
|
};
|
|
5934
|
-
return
|
|
6094
|
+
return _context16.abrupt("return", {
|
|
5935
6095
|
join: joinResponse,
|
|
5936
6096
|
media: mediaResponse,
|
|
5937
6097
|
multistreamEnabled: this.isMultistream
|
|
5938
6098
|
});
|
|
5939
6099
|
case 10:
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ',
|
|
6100
|
+
_context16.prev = 10;
|
|
6101
|
+
_t0 = _context16["catch"](2);
|
|
6102
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _t0);
|
|
5943
6103
|
this.roap.abortTurnDiscovery();
|
|
5944
6104
|
|
|
5945
6105
|
// if this was the first attempt, let's do a retry
|
|
5946
6106
|
shouldRetry = !isRetry;
|
|
5947
|
-
if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(
|
|
6107
|
+
if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(_t0) || _internalPluginMetrics.CallDiagnosticUtils.isWebrtcApiNotAvailableError(_t0)) {
|
|
5948
6108
|
// errors related to offer creation (for example missing H264 codec) will happen again no matter how many times we try,
|
|
5949
6109
|
// so there is no point doing a retry
|
|
5950
6110
|
shouldRetry = false;
|
|
5951
6111
|
}
|
|
5952
|
-
if (_internalPluginMetrics.CallDiagnosticUtils.isBrowserMediaError(
|
|
6112
|
+
if (_internalPluginMetrics.CallDiagnosticUtils.isBrowserMediaError(_t0)) {
|
|
5953
6113
|
shouldRetry = false;
|
|
5954
6114
|
// eslint-disable-next-line no-ex-assign
|
|
5955
|
-
|
|
6115
|
+
_t0 = (0, _lodash.merge)({
|
|
5956
6116
|
error: {
|
|
5957
6117
|
body: {
|
|
5958
|
-
errorCode: _internalPluginMetrics.CallDiagnosticUtils.getBrowserMediaErrorCode(
|
|
5959
|
-
message: (_error2 =
|
|
5960
|
-
name: (_error3 =
|
|
6118
|
+
errorCode: _internalPluginMetrics.CallDiagnosticUtils.getBrowserMediaErrorCode(_t0),
|
|
6119
|
+
message: (_error2 = _t0) === null || _error2 === void 0 ? void 0 : _error2.message,
|
|
6120
|
+
name: (_error3 = _t0) === null || _error3 === void 0 ? void 0 : _error3.name
|
|
5961
6121
|
}
|
|
5962
6122
|
}
|
|
5963
6123
|
});
|
|
@@ -5965,54 +6125,54 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5965
6125
|
|
|
5966
6126
|
// 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
6127
|
if (!(joined && (isRetry || !shouldRetry))) {
|
|
5968
|
-
|
|
6128
|
+
_context16.next = 14;
|
|
5969
6129
|
break;
|
|
5970
6130
|
}
|
|
5971
|
-
|
|
5972
|
-
|
|
6131
|
+
_context16.prev = 11;
|
|
6132
|
+
_context16.next = 12;
|
|
5973
6133
|
return this.leave({
|
|
5974
6134
|
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
5975
6135
|
reason: 'joinWithMedia failure'
|
|
5976
6136
|
});
|
|
5977
6137
|
case 12:
|
|
5978
|
-
|
|
6138
|
+
_context16.next = 14;
|
|
5979
6139
|
break;
|
|
5980
6140
|
case 13:
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error',
|
|
5984
|
-
leaveError =
|
|
6141
|
+
_context16.prev = 13;
|
|
6142
|
+
_t1 = _context16["catch"](11);
|
|
6143
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _t1);
|
|
6144
|
+
leaveError = _t1;
|
|
5985
6145
|
case 14:
|
|
5986
6146
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
5987
6147
|
correlation_id: this.correlationId,
|
|
5988
6148
|
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
5989
6149
|
// if join fails, we may end up with no locusUrl
|
|
5990
|
-
reason:
|
|
5991
|
-
stack:
|
|
6150
|
+
reason: _t0.message,
|
|
6151
|
+
stack: _t0.stack,
|
|
5992
6152
|
leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message,
|
|
5993
6153
|
isRetry: isRetry
|
|
5994
6154
|
}, {
|
|
5995
|
-
type:
|
|
6155
|
+
type: _t0.name
|
|
5996
6156
|
});
|
|
5997
6157
|
if (!shouldRetry) {
|
|
5998
|
-
|
|
6158
|
+
_context16.next = 15;
|
|
5999
6159
|
break;
|
|
6000
6160
|
}
|
|
6001
6161
|
_loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
|
|
6002
6162
|
this.joinWithMediaRetryInfo.isRetry = true;
|
|
6003
6163
|
this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
|
|
6004
|
-
return
|
|
6164
|
+
return _context16.abrupt("return", this.joinWithMedia(options));
|
|
6005
6165
|
case 15:
|
|
6006
6166
|
this.joinWithMediaRetryInfo = {
|
|
6007
6167
|
isRetry: false,
|
|
6008
6168
|
prevJoinResponse: undefined
|
|
6009
6169
|
};
|
|
6010
|
-
throw
|
|
6170
|
+
throw _t0;
|
|
6011
6171
|
case 16:
|
|
6012
6172
|
case "end":
|
|
6013
|
-
return
|
|
6173
|
+
return _context16.stop();
|
|
6014
6174
|
}
|
|
6015
|
-
},
|
|
6175
|
+
}, _callee16, this, [[2, 10], [11, 13]]);
|
|
6016
6176
|
}));
|
|
6017
6177
|
function joinWithMedia() {
|
|
6018
6178
|
return _joinWithMedia.apply(this, arguments);
|
|
@@ -6042,20 +6202,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6042
6202
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
6043
6203
|
}
|
|
6044
6204
|
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 (
|
|
6205
|
+
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17() {
|
|
6206
|
+
return _regenerator.default.wrap(function (_context17) {
|
|
6207
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
6048
6208
|
case 0:
|
|
6049
|
-
|
|
6209
|
+
_context17.next = 1;
|
|
6050
6210
|
return _this31.waitForRemoteSDPAnswer();
|
|
6051
6211
|
case 1:
|
|
6052
|
-
|
|
6212
|
+
_context17.next = 2;
|
|
6053
6213
|
return _this31.waitForMediaConnectionConnected();
|
|
6054
6214
|
case 2:
|
|
6055
6215
|
case "end":
|
|
6056
|
-
return
|
|
6216
|
+
return _context17.stop();
|
|
6057
6217
|
}
|
|
6058
|
-
},
|
|
6218
|
+
}, _callee17);
|
|
6059
6219
|
}))).then(function () {
|
|
6060
6220
|
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
6061
6221
|
}).catch(function (error) {
|
|
@@ -6095,8 +6255,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6095
6255
|
}, {
|
|
6096
6256
|
key: "isReactionsSupported",
|
|
6097
6257
|
value: function isReactionsSupported() {
|
|
6098
|
-
var _this$
|
|
6099
|
-
if ((_this$
|
|
6258
|
+
var _this$locusInfo6, _this$locusInfo6$cont;
|
|
6259
|
+
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
6260
|
return true;
|
|
6101
6261
|
}
|
|
6102
6262
|
_loggerProxy.default.logger.error('Meeting:index#isReactionsSupported --> Reactions is not supported');
|
|
@@ -6196,47 +6356,47 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6196
6356
|
}, {
|
|
6197
6357
|
key: "startTranscription",
|
|
6198
6358
|
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 (
|
|
6359
|
+
var _startTranscription = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(options) {
|
|
6360
|
+
var _t10;
|
|
6361
|
+
return _regenerator.default.wrap(function (_context18) {
|
|
6362
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
6203
6363
|
case 0:
|
|
6204
6364
|
if (!this.isJoined()) {
|
|
6205
|
-
|
|
6365
|
+
_context18.next = 5;
|
|
6206
6366
|
break;
|
|
6207
6367
|
}
|
|
6208
6368
|
_loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
|
|
6209
|
-
|
|
6369
|
+
_context18.prev = 1;
|
|
6210
6370
|
if (!this.areVoiceaEventsSetup) {
|
|
6211
6371
|
this.setUpVoiceaListeners();
|
|
6212
6372
|
}
|
|
6213
6373
|
|
|
6214
6374
|
// @ts-ignore
|
|
6215
|
-
|
|
6375
|
+
_context18.next = 2;
|
|
6216
6376
|
return this.webex.internal.voicea.turnOnCaptions(options === null || options === void 0 ? void 0 : options.spokenLanguage);
|
|
6217
6377
|
case 2:
|
|
6218
|
-
|
|
6378
|
+
_context18.next = 4;
|
|
6219
6379
|
break;
|
|
6220
6380
|
case 3:
|
|
6221
|
-
|
|
6222
|
-
|
|
6223
|
-
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(
|
|
6381
|
+
_context18.prev = 3;
|
|
6382
|
+
_t10 = _context18["catch"](1);
|
|
6383
|
+
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_t10));
|
|
6224
6384
|
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
|
|
6225
6385
|
correlation_id: this.correlationId,
|
|
6226
|
-
reason:
|
|
6227
|
-
stack:
|
|
6386
|
+
reason: _t10.message,
|
|
6387
|
+
stack: _t10.stack
|
|
6228
6388
|
});
|
|
6229
6389
|
case 4:
|
|
6230
|
-
|
|
6390
|
+
_context18.next = 6;
|
|
6231
6391
|
break;
|
|
6232
6392
|
case 5:
|
|
6233
6393
|
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
|
|
6234
6394
|
throw new Error('Meeting is not joined');
|
|
6235
6395
|
case 6:
|
|
6236
6396
|
case "end":
|
|
6237
|
-
return
|
|
6397
|
+
return _context18.stop();
|
|
6238
6398
|
}
|
|
6239
|
-
},
|
|
6399
|
+
}, _callee18, this, [[1, 3]]);
|
|
6240
6400
|
}));
|
|
6241
6401
|
function startTranscription(_x14) {
|
|
6242
6402
|
return _startTranscription.apply(this, arguments);
|
|
@@ -6302,7 +6462,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6302
6462
|
* Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
|
|
6303
6463
|
*/
|
|
6304
6464
|
function () {
|
|
6305
|
-
var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6465
|
+
var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
6306
6466
|
var _this34 = this;
|
|
6307
6467
|
var options,
|
|
6308
6468
|
errorMessage,
|
|
@@ -6313,26 +6473,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6313
6473
|
_error4,
|
|
6314
6474
|
_errorMessage3,
|
|
6315
6475
|
_error5,
|
|
6316
|
-
|
|
6317
|
-
|
|
6318
|
-
return _regenerator.default.wrap(function (
|
|
6319
|
-
while (1) switch (
|
|
6476
|
+
_args19 = arguments,
|
|
6477
|
+
_t11;
|
|
6478
|
+
return _regenerator.default.wrap(function (_context19) {
|
|
6479
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
6320
6480
|
case 0:
|
|
6321
|
-
options =
|
|
6481
|
+
options = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : {};
|
|
6322
6482
|
if (this.webex.meetings.registered) {
|
|
6323
|
-
|
|
6483
|
+
_context19.next = 1;
|
|
6324
6484
|
break;
|
|
6325
6485
|
}
|
|
6326
6486
|
errorMessage = 'Meeting:index#join --> Device not registered';
|
|
6327
6487
|
error = new Error(errorMessage);
|
|
6328
6488
|
_loggerProxy.default.logger.error(errorMessage);
|
|
6329
|
-
return
|
|
6489
|
+
return _context19.abrupt("return", _promise.default.reject(error));
|
|
6330
6490
|
case 1:
|
|
6331
6491
|
if (!this.deferJoin) {
|
|
6332
|
-
|
|
6492
|
+
_context19.next = 2;
|
|
6333
6493
|
break;
|
|
6334
6494
|
}
|
|
6335
|
-
return
|
|
6495
|
+
return _context19.abrupt("return", this.deferJoin);
|
|
6336
6496
|
case 2:
|
|
6337
6497
|
// Create a deferred promise for a consistent resolve value from utils.
|
|
6338
6498
|
// This also prevents redundant API calls.
|
|
@@ -6384,15 +6544,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6384
6544
|
this.wirelessShare = true;
|
|
6385
6545
|
}
|
|
6386
6546
|
if (!options.meetingQuality) {
|
|
6387
|
-
|
|
6547
|
+
_context19.next = 6;
|
|
6388
6548
|
break;
|
|
6389
6549
|
}
|
|
6390
6550
|
if (!(typeof options.meetingQuality === 'string')) {
|
|
6391
|
-
|
|
6551
|
+
_context19.next = 4;
|
|
6392
6552
|
break;
|
|
6393
6553
|
}
|
|
6394
6554
|
if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
|
|
6395
|
-
|
|
6555
|
+
_context19.next = 3;
|
|
6396
6556
|
break;
|
|
6397
6557
|
}
|
|
6398
6558
|
_errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
|
|
@@ -6400,16 +6560,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6400
6560
|
_loggerProxy.default.logger.error(_errorMessage2);
|
|
6401
6561
|
joinFailed(_error4);
|
|
6402
6562
|
this.deferJoin = undefined;
|
|
6403
|
-
return
|
|
6563
|
+
return _context19.abrupt("return", _promise.default.reject(_error4));
|
|
6404
6564
|
case 3:
|
|
6405
6565
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
|
|
6406
6566
|
case 4:
|
|
6407
6567
|
if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
|
|
6408
|
-
|
|
6568
|
+
_context19.next = 6;
|
|
6409
6569
|
break;
|
|
6410
6570
|
}
|
|
6411
6571
|
if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
|
|
6412
|
-
|
|
6572
|
+
_context19.next = 5;
|
|
6413
6573
|
break;
|
|
6414
6574
|
}
|
|
6415
6575
|
_errorMessage3 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
|
|
@@ -6417,42 +6577,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6417
6577
|
_error5 = new Error(_errorMessage3);
|
|
6418
6578
|
joinFailed(_error5);
|
|
6419
6579
|
this.deferJoin = undefined;
|
|
6420
|
-
return
|
|
6580
|
+
return _context19.abrupt("return", _promise.default.reject(new Error(_errorMessage3)));
|
|
6421
6581
|
case 5:
|
|
6422
6582
|
if (options.meetingQuality.remote) {
|
|
6423
6583
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
|
|
6424
6584
|
}
|
|
6425
6585
|
case 6:
|
|
6426
6586
|
this.isMultistream = !!options.enableMultistream;
|
|
6427
|
-
|
|
6428
|
-
|
|
6587
|
+
_context19.prev = 7;
|
|
6588
|
+
_context19.next = 8;
|
|
6429
6589
|
return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
|
|
6430
6590
|
case 8:
|
|
6431
|
-
|
|
6591
|
+
_context19.next = 10;
|
|
6432
6592
|
break;
|
|
6433
6593
|
case 9:
|
|
6434
|
-
|
|
6435
|
-
|
|
6436
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:',
|
|
6437
|
-
if (!(
|
|
6438
|
-
|
|
6594
|
+
_context19.prev = 9;
|
|
6595
|
+
_t11 = _context19["catch"](7);
|
|
6596
|
+
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _t11);
|
|
6597
|
+
if (!(_t11 instanceof _captchaError.default || _t11 instanceof _passwordError.default || _t11 instanceof _permission.default)) {
|
|
6598
|
+
_context19.next = 10;
|
|
6439
6599
|
break;
|
|
6440
6600
|
}
|
|
6441
|
-
this.meetingFiniteStateMachine.fail(
|
|
6601
|
+
this.meetingFiniteStateMachine.fail(_t11);
|
|
6442
6602
|
|
|
6443
6603
|
// Upload logs on refreshpermissionToken refresh Failure
|
|
6444
6604
|
_triggerProxy.default.trigger(this, {
|
|
6445
6605
|
file: 'meeting/index',
|
|
6446
6606
|
function: 'join'
|
|
6447
6607
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
6448
|
-
joinFailed(
|
|
6608
|
+
joinFailed(_t11);
|
|
6449
6609
|
this.deferJoin = undefined;
|
|
6450
6610
|
|
|
6451
6611
|
// if refresh permission token requires captcha, password or permission, we are throwing the errors
|
|
6452
6612
|
// and bubble it up to client
|
|
6453
|
-
return
|
|
6613
|
+
return _context19.abrupt("return", _promise.default.reject(_t11));
|
|
6454
6614
|
case 10:
|
|
6455
|
-
return
|
|
6615
|
+
return _context19.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
6456
6616
|
_this34.meetingFiniteStateMachine.join();
|
|
6457
6617
|
_this34.setupLocusMediaRequest();
|
|
6458
6618
|
|
|
@@ -6505,9 +6665,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6505
6665
|
}));
|
|
6506
6666
|
case 11:
|
|
6507
6667
|
case "end":
|
|
6508
|
-
return
|
|
6668
|
+
return _context19.stop();
|
|
6509
6669
|
}
|
|
6510
|
-
},
|
|
6670
|
+
}, _callee19, this, [[7, 9]]);
|
|
6511
6671
|
}));
|
|
6512
6672
|
function join() {
|
|
6513
6673
|
return _join.apply(this, arguments);
|
|
@@ -6556,28 +6716,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6556
6716
|
this.llmHealthCheckTimer = undefined;
|
|
6557
6717
|
}
|
|
6558
6718
|
}
|
|
6559
|
-
|
|
6560
|
-
|
|
6719
|
+
}, {
|
|
6720
|
+
key: "updateLLMConnection",
|
|
6721
|
+
value: (
|
|
6722
|
+
/**
|
|
6561
6723
|
* Connects to low latency mercury and reconnects if the address has changed
|
|
6562
6724
|
* It will also disconnect if called when the meeting has ended
|
|
6563
6725
|
* @param {String} datachannelUrl
|
|
6564
6726
|
* @returns {Promise}
|
|
6565
6727
|
*/
|
|
6566
|
-
|
|
6567
|
-
|
|
6568
|
-
value: (function () {
|
|
6569
|
-
var _updateLLMConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
6728
|
+
function () {
|
|
6729
|
+
var _updateLLMConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20() {
|
|
6570
6730
|
var _this36 = this;
|
|
6571
|
-
var
|
|
6572
|
-
return _regenerator.default.wrap(function (
|
|
6573
|
-
while (1) switch (
|
|
6731
|
+
var _ref40, _ref40$url, url, _ref40$info, _ref40$info2, _ref40$info2$datachan, datachannelUrl, _ref40$self, _ref40$self2, _ref40$self2$datachan, datachannelToken, isJoined, currentToken, finalToken, dataChannelUrl;
|
|
6732
|
+
return _regenerator.default.wrap(function (_context20) {
|
|
6733
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
6574
6734
|
case 0:
|
|
6575
6735
|
// @ts-ignore - Fix type
|
|
6576
|
-
|
|
6577
|
-
isJoined = this.isJoined(); //
|
|
6578
|
-
|
|
6736
|
+
_ref40 = this.locusInfo || {}, _ref40$url = _ref40.url, url = _ref40$url === void 0 ? undefined : _ref40$url, _ref40$info = _ref40.info, _ref40$info2 = _ref40$info === void 0 ? {} : _ref40$info, _ref40$info2$datachan = _ref40$info2.datachannelUrl, datachannelUrl = _ref40$info2$datachan === void 0 ? undefined : _ref40$info2$datachan, _ref40$self = _ref40.self, _ref40$self2 = _ref40$self === void 0 ? {} : _ref40$self, _ref40$self2$datachan = _ref40$self2.datachannelToken, datachannelToken = _ref40$self2$datachan === void 0 ? undefined : _ref40$self2$datachan;
|
|
6737
|
+
isJoined = this.isJoined(); // @ts-ignore
|
|
6738
|
+
currentToken = this.webex.internal.llm.getDatachannelToken(_internalPluginLlm.DataChannelTokenType.Default);
|
|
6739
|
+
finalToken = currentToken !== null && currentToken !== void 0 ? currentToken : datachannelToken;
|
|
6740
|
+
if (!currentToken && datachannelToken) {
|
|
6741
|
+
// @ts-ignore
|
|
6742
|
+
this.webex.internal.llm.setDatachannelToken(datachannelToken, _internalPluginLlm.DataChannelTokenType.Default);
|
|
6743
|
+
}
|
|
6744
|
+
|
|
6745
|
+
// webinar panelist should use new data channel in practice session
|
|
6746
|
+
dataChannelUrl = datachannelUrl; // @ts-ignore - Fix type
|
|
6579
6747
|
if (!this.webex.internal.llm.isConnected()) {
|
|
6580
|
-
|
|
6748
|
+
_context20.next = 2;
|
|
6581
6749
|
break;
|
|
6582
6750
|
}
|
|
6583
6751
|
if (!(
|
|
@@ -6585,30 +6753,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6585
6753
|
url === this.webex.internal.llm.getLocusUrl() &&
|
|
6586
6754
|
// @ts-ignore - Fix type
|
|
6587
6755
|
dataChannelUrl === this.webex.internal.llm.getDatachannelUrl() && isJoined)) {
|
|
6588
|
-
|
|
6756
|
+
_context20.next = 1;
|
|
6589
6757
|
break;
|
|
6590
6758
|
}
|
|
6591
|
-
return
|
|
6759
|
+
return _context20.abrupt("return", undefined);
|
|
6592
6760
|
case 1:
|
|
6593
|
-
|
|
6594
|
-
return this.
|
|
6595
|
-
|
|
6596
|
-
|
|
6597
|
-
} : undefined);
|
|
6761
|
+
_context20.next = 2;
|
|
6762
|
+
return this.cleanupLLMConneciton({
|
|
6763
|
+
removeOnlineListener: false
|
|
6764
|
+
});
|
|
6598
6765
|
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
6766
|
if (isJoined) {
|
|
6606
|
-
|
|
6767
|
+
_context20.next = 3;
|
|
6607
6768
|
break;
|
|
6608
6769
|
}
|
|
6609
|
-
return
|
|
6610
|
-
case
|
|
6611
|
-
return
|
|
6770
|
+
return _context20.abrupt("return", undefined);
|
|
6771
|
+
case 3:
|
|
6772
|
+
return _context20.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl, finalToken).then(function (registerAndConnectResult) {
|
|
6612
6773
|
// @ts-ignore - Fix type
|
|
6613
6774
|
_this36.webex.internal.llm.off('event:relay.event', _this36.processRelayEvent);
|
|
6614
6775
|
// @ts-ignore - Fix type
|
|
@@ -6621,11 +6782,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6621
6782
|
_this36.startLLMHealthCheckTimer();
|
|
6622
6783
|
return _promise.default.resolve(registerAndConnectResult);
|
|
6623
6784
|
}));
|
|
6624
|
-
case
|
|
6785
|
+
case 4:
|
|
6625
6786
|
case "end":
|
|
6626
|
-
return
|
|
6787
|
+
return _context20.stop();
|
|
6627
6788
|
}
|
|
6628
|
-
},
|
|
6789
|
+
}, _callee20, this);
|
|
6629
6790
|
}));
|
|
6630
6791
|
function updateLLMConnection() {
|
|
6631
6792
|
return _updateLLMConnection.apply(this, arguments);
|
|
@@ -6811,17 +6972,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6811
6972
|
meetingId: this.id
|
|
6812
6973
|
}
|
|
6813
6974
|
});
|
|
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 (
|
|
6975
|
+
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
|
|
6976
|
+
var mediaSettings, _t12;
|
|
6977
|
+
return _regenerator.default.wrap(function (_context21) {
|
|
6978
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
6818
6979
|
case 0:
|
|
6819
|
-
|
|
6980
|
+
_context21.prev = 0;
|
|
6820
6981
|
if (!(_this40.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
6821
|
-
|
|
6982
|
+
_context21.next = 1;
|
|
6822
6983
|
break;
|
|
6823
6984
|
}
|
|
6824
|
-
|
|
6985
|
+
_context21.next = 1;
|
|
6825
6986
|
return _this40.releaseScreenShareFloor();
|
|
6826
6987
|
case 1:
|
|
6827
6988
|
mediaSettings = {
|
|
@@ -6840,23 +7001,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6840
7001
|
// 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
7002
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6842
7003
|
if (!_this40.statsAnalyzer) {
|
|
6843
|
-
|
|
7004
|
+
_context21.next = 2;
|
|
6844
7005
|
break;
|
|
6845
7006
|
}
|
|
6846
|
-
|
|
7007
|
+
_context21.next = 2;
|
|
6847
7008
|
return _this40.statsAnalyzer.stopAnalyzer();
|
|
6848
7009
|
case 2:
|
|
6849
|
-
|
|
7010
|
+
_context21.next = 3;
|
|
6850
7011
|
return _this40.closeRemoteStreams();
|
|
6851
7012
|
case 3:
|
|
6852
|
-
|
|
7013
|
+
_context21.next = 4;
|
|
6853
7014
|
return _this40.closePeerConnections();
|
|
6854
7015
|
case 4:
|
|
6855
7016
|
_this40.cleanupLocalStreams();
|
|
6856
7017
|
_this40.unsetRemoteStreams();
|
|
6857
7018
|
_this40.unsetPeerConnections();
|
|
6858
7019
|
_this40.reconnectionManager.cleanUp();
|
|
6859
|
-
|
|
7020
|
+
_context21.next = 5;
|
|
6860
7021
|
return _this40.addMedia({
|
|
6861
7022
|
audioEnabled: false,
|
|
6862
7023
|
videoEnabled: false,
|
|
@@ -6865,24 +7026,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6865
7026
|
case 5:
|
|
6866
7027
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6867
7028
|
_this40.isMoveToInProgress = false;
|
|
6868
|
-
|
|
7029
|
+
_context21.next = 7;
|
|
6869
7030
|
break;
|
|
6870
7031
|
case 6:
|
|
6871
|
-
|
|
6872
|
-
|
|
6873
|
-
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId',
|
|
7032
|
+
_context21.prev = 6;
|
|
7033
|
+
_t12 = _context21["catch"](0);
|
|
7034
|
+
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _t12);
|
|
6874
7035
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6875
7036
|
correlation_id: _this40.correlationId,
|
|
6876
7037
|
locus_id: _this40.locusUrl.split('/').pop(),
|
|
6877
|
-
reason:
|
|
6878
|
-
stack:
|
|
7038
|
+
reason: _t12.message,
|
|
7039
|
+
stack: _t12.stack
|
|
6879
7040
|
});
|
|
6880
7041
|
_this40.isMoveToInProgress = false;
|
|
6881
7042
|
case 7:
|
|
6882
7043
|
case "end":
|
|
6883
|
-
return
|
|
7044
|
+
return _context21.stop();
|
|
6884
7045
|
}
|
|
6885
|
-
},
|
|
7046
|
+
}, _callee21, null, [[0, 6]]);
|
|
6886
7047
|
})));
|
|
6887
7048
|
_loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
|
|
6888
7049
|
|
|
@@ -6970,10 +7131,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6970
7131
|
}, {
|
|
6971
7132
|
key: "createMediaConnection",
|
|
6972
7133
|
value: (function () {
|
|
6973
|
-
var _createMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7134
|
+
var _createMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(turnServerInfo, bundlePolicy) {
|
|
6974
7135
|
var mc, audioEnabled, videoEnabled, shareEnabled;
|
|
6975
|
-
return _regenerator.default.wrap(function (
|
|
6976
|
-
while (1) switch (
|
|
7136
|
+
return _regenerator.default.wrap(function (_context22) {
|
|
7137
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
6977
7138
|
case 0:
|
|
6978
7139
|
this.rtcMetrics = this.isMultistream ?
|
|
6979
7140
|
// @ts-ignore
|
|
@@ -7015,40 +7176,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7015
7176
|
|
|
7016
7177
|
// publish the streams
|
|
7017
7178
|
if (!this.mediaProperties.audioStream) {
|
|
7018
|
-
|
|
7179
|
+
_context22.next = 1;
|
|
7019
7180
|
break;
|
|
7020
7181
|
}
|
|
7021
7182
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
7022
|
-
|
|
7183
|
+
_context22.next = 1;
|
|
7023
7184
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
7024
7185
|
case 1:
|
|
7025
7186
|
if (!this.mediaProperties.videoStream) {
|
|
7026
|
-
|
|
7187
|
+
_context22.next = 2;
|
|
7027
7188
|
break;
|
|
7028
7189
|
}
|
|
7029
|
-
|
|
7190
|
+
_context22.next = 2;
|
|
7030
7191
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
7031
7192
|
case 2:
|
|
7032
7193
|
if (!this.mediaProperties.shareVideoStream) {
|
|
7033
|
-
|
|
7194
|
+
_context22.next = 3;
|
|
7034
7195
|
break;
|
|
7035
7196
|
}
|
|
7036
|
-
|
|
7197
|
+
_context22.next = 3;
|
|
7037
7198
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
7038
7199
|
case 3:
|
|
7039
7200
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
7040
|
-
|
|
7201
|
+
_context22.next = 4;
|
|
7041
7202
|
break;
|
|
7042
7203
|
}
|
|
7043
|
-
|
|
7204
|
+
_context22.next = 4;
|
|
7044
7205
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
7045
7206
|
case 4:
|
|
7046
|
-
return
|
|
7207
|
+
return _context22.abrupt("return", mc);
|
|
7047
7208
|
case 5:
|
|
7048
7209
|
case "end":
|
|
7049
|
-
return
|
|
7210
|
+
return _context22.stop();
|
|
7050
7211
|
}
|
|
7051
|
-
},
|
|
7212
|
+
}, _callee22, this);
|
|
7052
7213
|
}));
|
|
7053
7214
|
function createMediaConnection(_x15, _x16) {
|
|
7054
7215
|
return _createMediaConnection.apply(this, arguments);
|
|
@@ -7088,11 +7249,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7088
7249
|
}, {
|
|
7089
7250
|
key: "setUpLocalStreamReferences",
|
|
7090
7251
|
value: (function () {
|
|
7091
|
-
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7252
|
+
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(localStreams) {
|
|
7092
7253
|
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 (
|
|
7254
|
+
var setUpStreamPromises, _t13;
|
|
7255
|
+
return _regenerator.default.wrap(function (_context23) {
|
|
7256
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
7096
7257
|
case 0:
|
|
7097
7258
|
setUpStreamPromises = [];
|
|
7098
7259
|
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,22 +7268,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7107
7268
|
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
7269
|
setUpStreamPromises.push(this.setLocalShareAudioStream(localStreams.screenShare.audio));
|
|
7109
7270
|
}
|
|
7110
|
-
|
|
7111
|
-
|
|
7271
|
+
_context23.prev = 1;
|
|
7272
|
+
_context23.next = 2;
|
|
7112
7273
|
return _promise.default.all(setUpStreamPromises);
|
|
7113
7274
|
case 2:
|
|
7114
|
-
|
|
7275
|
+
_context23.next = 4;
|
|
7115
7276
|
break;
|
|
7116
7277
|
case 3:
|
|
7117
|
-
|
|
7118
|
-
|
|
7119
|
-
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ",
|
|
7120
|
-
throw
|
|
7278
|
+
_context23.prev = 3;
|
|
7279
|
+
_t13 = _context23["catch"](1);
|
|
7280
|
+
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _t13);
|
|
7281
|
+
throw _t13;
|
|
7121
7282
|
case 4:
|
|
7122
7283
|
case "end":
|
|
7123
|
-
return
|
|
7284
|
+
return _context23.stop();
|
|
7124
7285
|
}
|
|
7125
|
-
},
|
|
7286
|
+
}, _callee23, this, [[1, 3]]);
|
|
7126
7287
|
}));
|
|
7127
7288
|
function setUpLocalStreamReferences(_x17) {
|
|
7128
7289
|
return _setUpLocalStreamReferences.apply(this, arguments);
|
|
@@ -7139,72 +7300,72 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7139
7300
|
}, {
|
|
7140
7301
|
key: "waitForMediaConnectionConnected",
|
|
7141
7302
|
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 (
|
|
7303
|
+
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
7304
|
+
var iceConnected, _this$mediaProperties9, _this$mediaProperties0, _this$mediaProperties1, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12, _this$mediaProperties13, timedOutError, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
7305
|
+
return _regenerator.default.wrap(function (_context24) {
|
|
7306
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
7146
7307
|
case 0:
|
|
7147
|
-
|
|
7148
|
-
|
|
7149
|
-
return this.mediaProperties.waitForMediaConnectionConnected();
|
|
7308
|
+
_context24.prev = 0;
|
|
7309
|
+
_context24.next = 1;
|
|
7310
|
+
return this.mediaProperties.waitForMediaConnectionConnected(this.correlationId);
|
|
7150
7311
|
case 1:
|
|
7151
|
-
|
|
7312
|
+
_context24.next = 5;
|
|
7152
7313
|
break;
|
|
7153
7314
|
case 2:
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
iceConnected =
|
|
7315
|
+
_context24.prev = 2;
|
|
7316
|
+
_t14 = _context24["catch"](0);
|
|
7317
|
+
iceConnected = _t14.iceConnected;
|
|
7157
7318
|
if (this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
7158
|
-
|
|
7319
|
+
_context24.next = 4;
|
|
7159
7320
|
break;
|
|
7160
7321
|
}
|
|
7161
|
-
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
|
|
7166
|
-
|
|
7167
|
-
|
|
7168
|
-
|
|
7169
|
-
|
|
7322
|
+
_t15 = this.webex.internal.newMetrics;
|
|
7323
|
+
_t16 = !this.turnServerUsed;
|
|
7324
|
+
_t17 = this.addMediaData.icePhaseCallback();
|
|
7325
|
+
_t18 = this.webex.internal.newMetrics.callDiagnosticMetrics;
|
|
7326
|
+
_t19 = _internalPluginMetrics.CallDiagnosticUtils;
|
|
7327
|
+
_t20 = ((_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';
|
|
7328
|
+
_t21 = iceConnected;
|
|
7329
|
+
_t22 = this.turnServerUsed;
|
|
7330
|
+
_context24.next = 3;
|
|
7170
7331
|
return this.webex.meetings.reachability.isWebexMediaBackendUnreachable().catch(function () {
|
|
7171
7332
|
return false;
|
|
7172
7333
|
});
|
|
7173
7334
|
case 3:
|
|
7174
|
-
|
|
7175
|
-
|
|
7176
|
-
signalingState:
|
|
7177
|
-
iceConnected:
|
|
7178
|
-
turnServerUsed:
|
|
7179
|
-
unreachable:
|
|
7335
|
+
_t23 = _context24.sent;
|
|
7336
|
+
_t24 = _t19.generateClientErrorCodeForIceFailure.call(_t19, {
|
|
7337
|
+
signalingState: _t20,
|
|
7338
|
+
iceConnected: _t21,
|
|
7339
|
+
turnServerUsed: _t22,
|
|
7340
|
+
unreachable: _t23
|
|
7180
7341
|
});
|
|
7181
|
-
|
|
7182
|
-
clientErrorCode:
|
|
7342
|
+
_t25 = _t18.getErrorPayloadForClientErrorCode.call(_t18, {
|
|
7343
|
+
clientErrorCode: _t24
|
|
7183
7344
|
});
|
|
7184
|
-
|
|
7185
|
-
_t26 = {
|
|
7186
|
-
canProceed: _t15,
|
|
7187
|
-
icePhase: _t16,
|
|
7188
|
-
errors: _t25
|
|
7189
|
-
};
|
|
7345
|
+
_t26 = [_t25];
|
|
7190
7346
|
_t27 = {
|
|
7347
|
+
canProceed: _t16,
|
|
7348
|
+
icePhase: _t17,
|
|
7349
|
+
errors: _t26
|
|
7350
|
+
};
|
|
7351
|
+
_t28 = {
|
|
7191
7352
|
meetingId: this.id,
|
|
7192
|
-
rawError:
|
|
7353
|
+
rawError: _t14
|
|
7193
7354
|
};
|
|
7194
|
-
|
|
7355
|
+
_t15.submitClientEvent.call(_t15, {
|
|
7195
7356
|
name: 'client.ice.end',
|
|
7196
|
-
payload:
|
|
7197
|
-
options:
|
|
7357
|
+
payload: _t27,
|
|
7358
|
+
options: _t28
|
|
7198
7359
|
});
|
|
7199
7360
|
case 4:
|
|
7200
7361
|
timedOutError = new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
|
|
7201
|
-
timedOutError.cause =
|
|
7362
|
+
timedOutError.cause = _t14;
|
|
7202
7363
|
throw timedOutError;
|
|
7203
7364
|
case 5:
|
|
7204
7365
|
case "end":
|
|
7205
|
-
return
|
|
7366
|
+
return _context24.stop();
|
|
7206
7367
|
}
|
|
7207
|
-
},
|
|
7368
|
+
}, _callee24, this, [[0, 2]]);
|
|
7208
7369
|
}));
|
|
7209
7370
|
function waitForMediaConnectionConnected() {
|
|
7210
7371
|
return _waitForMediaConnectionConnected.apply(this, arguments);
|
|
@@ -7271,19 +7432,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7271
7432
|
}, {
|
|
7272
7433
|
key: "waitForRemoteSDPAnswer",
|
|
7273
7434
|
value: (function () {
|
|
7274
|
-
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7435
|
+
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25() {
|
|
7275
7436
|
var _this44 = this;
|
|
7276
7437
|
var LOG_HEADER, deferSDPAnswer;
|
|
7277
|
-
return _regenerator.default.wrap(function (
|
|
7278
|
-
while (1) switch (
|
|
7438
|
+
return _regenerator.default.wrap(function (_context25) {
|
|
7439
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
7279
7440
|
case 0:
|
|
7280
7441
|
LOG_HEADER = 'Meeting:index#addMedia():waitForRemoteSDPAnswer -->';
|
|
7281
7442
|
if (this.deferSDPAnswer) {
|
|
7282
|
-
|
|
7443
|
+
_context25.next = 1;
|
|
7283
7444
|
break;
|
|
7284
7445
|
}
|
|
7285
7446
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
|
|
7286
|
-
return
|
|
7447
|
+
return _context25.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
|
|
7287
7448
|
case 1:
|
|
7288
7449
|
deferSDPAnswer = this.deferSDPAnswer;
|
|
7289
7450
|
this.sdpResponseTimer = setTimeout(function () {
|
|
@@ -7309,12 +7470,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7309
7470
|
deferSDPAnswer.reject(error);
|
|
7310
7471
|
}, _constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT);
|
|
7311
7472
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " waiting for REMOTE SDP ANSWER..."));
|
|
7312
|
-
return
|
|
7473
|
+
return _context25.abrupt("return", deferSDPAnswer.promise);
|
|
7313
7474
|
case 2:
|
|
7314
7475
|
case "end":
|
|
7315
|
-
return
|
|
7476
|
+
return _context25.stop();
|
|
7316
7477
|
}
|
|
7317
|
-
},
|
|
7478
|
+
}, _callee25, this);
|
|
7318
7479
|
}));
|
|
7319
7480
|
function waitForRemoteSDPAnswer() {
|
|
7320
7481
|
return _waitForRemoteSDPAnswer.apply(this, arguments);
|
|
@@ -7333,28 +7494,28 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7333
7494
|
}, {
|
|
7334
7495
|
key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
|
|
7335
7496
|
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 (
|
|
7497
|
+
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(remoteMediaManagerConfig, bundlePolicy) {
|
|
7498
|
+
var LOG_HEADER, _t29;
|
|
7499
|
+
return _regenerator.default.wrap(function (_context26) {
|
|
7500
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
7340
7501
|
case 0:
|
|
7341
7502
|
LOG_HEADER = 'Meeting:index#addMedia():retryEstablishMediaConnectionWithForcedTurnDiscovery -->';
|
|
7342
|
-
|
|
7343
|
-
|
|
7503
|
+
_context26.prev = 1;
|
|
7504
|
+
_context26.next = 2;
|
|
7344
7505
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
|
|
7345
7506
|
case 2:
|
|
7346
|
-
|
|
7507
|
+
_context26.next = 4;
|
|
7347
7508
|
break;
|
|
7348
7509
|
case 3:
|
|
7349
|
-
|
|
7350
|
-
|
|
7351
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "),
|
|
7352
|
-
throw
|
|
7510
|
+
_context26.prev = 3;
|
|
7511
|
+
_t29 = _context26["catch"](1);
|
|
7512
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _t29);
|
|
7513
|
+
throw _t29;
|
|
7353
7514
|
case 4:
|
|
7354
7515
|
case "end":
|
|
7355
|
-
return
|
|
7516
|
+
return _context26.stop();
|
|
7356
7517
|
}
|
|
7357
|
-
},
|
|
7518
|
+
}, _callee26, this, [[1, 3]]);
|
|
7358
7519
|
}));
|
|
7359
7520
|
function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x18, _x19) {
|
|
7360
7521
|
return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -7374,14 +7535,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7374
7535
|
}, {
|
|
7375
7536
|
key: "retryWithForcedTurnDiscovery",
|
|
7376
7537
|
value: (function () {
|
|
7377
|
-
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7538
|
+
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27(remoteMediaManagerConfig, bundlePolicy) {
|
|
7378
7539
|
var LOG_HEADER;
|
|
7379
|
-
return _regenerator.default.wrap(function (
|
|
7380
|
-
while (1) switch (
|
|
7540
|
+
return _regenerator.default.wrap(function (_context27) {
|
|
7541
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
7381
7542
|
case 0:
|
|
7382
7543
|
this.addMediaData.retriedWithTurnServer = true;
|
|
7383
7544
|
LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
|
|
7384
|
-
|
|
7545
|
+
_context27.next = 1;
|
|
7385
7546
|
return this.cleanUpBeforeRetryWithTurnServer();
|
|
7386
7547
|
case 1:
|
|
7387
7548
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
|
|
@@ -7391,22 +7552,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7391
7552
|
reason: 'forcingTurnTls'
|
|
7392
7553
|
});
|
|
7393
7554
|
if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
|
|
7394
|
-
|
|
7555
|
+
_context27.next = 2;
|
|
7395
7556
|
break;
|
|
7396
7557
|
}
|
|
7397
7558
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
|
|
7398
|
-
|
|
7559
|
+
_context27.next = 2;
|
|
7399
7560
|
return this.join({
|
|
7400
7561
|
rejoin: true
|
|
7401
7562
|
});
|
|
7402
7563
|
case 2:
|
|
7403
|
-
|
|
7564
|
+
_context27.next = 3;
|
|
7404
7565
|
return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
7405
7566
|
case 3:
|
|
7406
7567
|
case "end":
|
|
7407
|
-
return
|
|
7568
|
+
return _context27.stop();
|
|
7408
7569
|
}
|
|
7409
|
-
},
|
|
7570
|
+
}, _callee27, this);
|
|
7410
7571
|
}));
|
|
7411
7572
|
function retryWithForcedTurnDiscovery(_x20, _x21) {
|
|
7412
7573
|
return _retryWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -7428,30 +7589,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7428
7589
|
}, {
|
|
7429
7590
|
key: "handleWaitForMediaConnectionConnectedError",
|
|
7430
7591
|
value: (function () {
|
|
7431
|
-
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7592
|
+
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee28(error, remoteMediaManagerConfig, bundlePolicy) {
|
|
7432
7593
|
var LOG_HEADER;
|
|
7433
|
-
return _regenerator.default.wrap(function (
|
|
7434
|
-
while (1) switch (
|
|
7594
|
+
return _regenerator.default.wrap(function (_context28) {
|
|
7595
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
7435
7596
|
case 0:
|
|
7436
7597
|
LOG_HEADER = 'Meeting:index#addMedia():handleWaitForMediaConnectionConnectedError -->'; // @ts-ignore - config coming from registerPlugin
|
|
7437
7598
|
if (this.turnServerUsed) {
|
|
7438
|
-
|
|
7599
|
+
_context28.next = 2;
|
|
7439
7600
|
break;
|
|
7440
7601
|
}
|
|
7441
7602
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " error waiting for media to connect on UDP, TCP, retrying using TURN-TLS, "), error);
|
|
7442
|
-
|
|
7603
|
+
_context28.next = 1;
|
|
7443
7604
|
return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
7444
7605
|
case 1:
|
|
7445
|
-
|
|
7606
|
+
_context28.next = 3;
|
|
7446
7607
|
break;
|
|
7447
7608
|
case 2:
|
|
7448
7609
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error waiting for media to connect using UDP, TCP and TURN-TLS"), error);
|
|
7449
7610
|
throw new _webexErrors.AddMediaFailed(error);
|
|
7450
7611
|
case 3:
|
|
7451
7612
|
case "end":
|
|
7452
|
-
return
|
|
7613
|
+
return _context28.stop();
|
|
7453
7614
|
}
|
|
7454
|
-
},
|
|
7615
|
+
}, _callee28, this);
|
|
7455
7616
|
}));
|
|
7456
7617
|
function handleWaitForMediaConnectionConnectedError(_x22, _x23, _x24) {
|
|
7457
7618
|
return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
|
|
@@ -7469,20 +7630,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7469
7630
|
}, {
|
|
7470
7631
|
key: "doTurnDiscovery",
|
|
7471
7632
|
value: (function () {
|
|
7472
|
-
var _doTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7633
|
+
var _doTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee29(isReconnecting, isForced) {
|
|
7473
7634
|
var cdl, turnDiscoveryResult;
|
|
7474
|
-
return _regenerator.default.wrap(function (
|
|
7475
|
-
while (1) switch (
|
|
7635
|
+
return _regenerator.default.wrap(function (_context29) {
|
|
7636
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
7476
7637
|
case 0:
|
|
7477
7638
|
// @ts-ignore
|
|
7478
7639
|
cdl = this.webex.internal.newMetrics.callDiagnosticLatencies; // @ts-ignore
|
|
7479
7640
|
this.webex.internal.newMetrics.submitInternalEvent({
|
|
7480
7641
|
name: 'internal.client.add-media.turn-discovery.start'
|
|
7481
7642
|
});
|
|
7482
|
-
|
|
7643
|
+
_context29.next = 1;
|
|
7483
7644
|
return this.roap.doTurnDiscovery(this, isReconnecting, isForced);
|
|
7484
7645
|
case 1:
|
|
7485
|
-
turnDiscoveryResult =
|
|
7646
|
+
turnDiscoveryResult = _context29.sent;
|
|
7486
7647
|
this.turnDiscoverySkippedReason = turnDiscoveryResult === null || turnDiscoveryResult === void 0 ? void 0 : turnDiscoveryResult.turnDiscoverySkippedReason;
|
|
7487
7648
|
this.turnServerUsed = !this.turnDiscoverySkippedReason;
|
|
7488
7649
|
|
|
@@ -7498,12 +7659,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7498
7659
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer
|
|
7499
7660
|
});
|
|
7500
7661
|
}
|
|
7501
|
-
return
|
|
7662
|
+
return _context29.abrupt("return", turnDiscoveryResult);
|
|
7502
7663
|
case 2:
|
|
7503
7664
|
case "end":
|
|
7504
|
-
return
|
|
7665
|
+
return _context29.stop();
|
|
7505
7666
|
}
|
|
7506
|
-
},
|
|
7667
|
+
}, _callee29, this);
|
|
7507
7668
|
}));
|
|
7508
7669
|
function doTurnDiscovery(_x25, _x26) {
|
|
7509
7670
|
return _doTurnDiscovery.apply(this, arguments);
|
|
@@ -7524,35 +7685,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7524
7685
|
}, {
|
|
7525
7686
|
key: "establishMediaConnection",
|
|
7526
7687
|
value: (function () {
|
|
7527
|
-
var _establishMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7688
|
+
var _establishMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee30(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
|
|
7528
7689
|
var _this$locusMediaReque;
|
|
7529
|
-
var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc,
|
|
7530
|
-
return _regenerator.default.wrap(function (
|
|
7531
|
-
while (1) switch (
|
|
7690
|
+
var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc, _t30, _t31;
|
|
7691
|
+
return _regenerator.default.wrap(function (_context30) {
|
|
7692
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
7532
7693
|
case 0:
|
|
7533
7694
|
LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->';
|
|
7534
7695
|
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
7696
|
if (this.isMoveToInProgress && this.turnServerUsed) {
|
|
7536
7697
|
isForced = true;
|
|
7537
7698
|
}
|
|
7538
|
-
|
|
7699
|
+
_context30.prev = 1;
|
|
7539
7700
|
if (turnServerInfo) {
|
|
7540
|
-
|
|
7701
|
+
_context30.next = 3;
|
|
7541
7702
|
break;
|
|
7542
7703
|
}
|
|
7543
|
-
|
|
7704
|
+
_context30.next = 2;
|
|
7544
7705
|
return this.doTurnDiscovery(isReconnecting, isForced);
|
|
7545
7706
|
case 2:
|
|
7546
|
-
_yield$this$doTurnDis =
|
|
7707
|
+
_yield$this$doTurnDis = _context30.sent;
|
|
7547
7708
|
turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
|
|
7548
7709
|
case 3:
|
|
7549
|
-
|
|
7710
|
+
_context30.next = 4;
|
|
7550
7711
|
return this.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
7551
7712
|
case 4:
|
|
7552
|
-
mc =
|
|
7713
|
+
mc = _context30.sent;
|
|
7553
7714
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created this.isMultistream=").concat(this.isMultistream));
|
|
7554
7715
|
if (!this.isMultistream) {
|
|
7555
|
-
|
|
7716
|
+
_context30.next = 5;
|
|
7556
7717
|
break;
|
|
7557
7718
|
}
|
|
7558
7719
|
this.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(this.receiveSlotManager, this.mediaRequestManagers, remoteMediaManagerConfig);
|
|
@@ -7560,40 +7721,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7560
7721
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.InterpretationAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED);
|
|
7561
7722
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
|
|
7562
7723
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
|
|
7563
|
-
|
|
7724
|
+
_context30.next = 5;
|
|
7564
7725
|
return this.remoteMediaManager.start();
|
|
7565
7726
|
case 5:
|
|
7566
|
-
|
|
7727
|
+
_context30.next = 6;
|
|
7567
7728
|
return mc.initiateOffer();
|
|
7568
7729
|
case 6:
|
|
7569
|
-
|
|
7730
|
+
_context30.next = 7;
|
|
7570
7731
|
return this.waitForRemoteSDPAnswer();
|
|
7571
7732
|
case 7:
|
|
7572
7733
|
this.handleMediaLogging(this.mediaProperties);
|
|
7573
|
-
|
|
7734
|
+
_context30.next = 9;
|
|
7574
7735
|
break;
|
|
7575
7736
|
case 8:
|
|
7576
|
-
|
|
7577
|
-
|
|
7578
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "),
|
|
7579
|
-
throw
|
|
7737
|
+
_context30.prev = 8;
|
|
7738
|
+
_t30 = _context30["catch"](1);
|
|
7739
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _t30);
|
|
7740
|
+
throw _t30;
|
|
7580
7741
|
case 9:
|
|
7581
|
-
|
|
7582
|
-
|
|
7742
|
+
_context30.prev = 9;
|
|
7743
|
+
_context30.next = 10;
|
|
7583
7744
|
return this.waitForMediaConnectionConnected();
|
|
7584
7745
|
case 10:
|
|
7585
|
-
|
|
7746
|
+
_context30.next = 12;
|
|
7586
7747
|
break;
|
|
7587
7748
|
case 11:
|
|
7588
|
-
|
|
7589
|
-
|
|
7590
|
-
|
|
7591
|
-
return this.handleWaitForMediaConnectionConnectedError(
|
|
7749
|
+
_context30.prev = 11;
|
|
7750
|
+
_t31 = _context30["catch"](9);
|
|
7751
|
+
_context30.next = 12;
|
|
7752
|
+
return this.handleWaitForMediaConnectionConnectedError(_t31, remoteMediaManagerConfig, bundlePolicy);
|
|
7592
7753
|
case 12:
|
|
7593
7754
|
case "end":
|
|
7594
|
-
return
|
|
7755
|
+
return _context30.stop();
|
|
7595
7756
|
}
|
|
7596
|
-
},
|
|
7757
|
+
}, _callee30, this, [[1, 8], [9, 11]]);
|
|
7597
7758
|
}));
|
|
7598
7759
|
function establishMediaConnection(_x27, _x28, _x29, _x30) {
|
|
7599
7760
|
return _establishMediaConnection.apply(this, arguments);
|
|
@@ -7610,16 +7771,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7610
7771
|
}, {
|
|
7611
7772
|
key: "cleanUpOnAddMediaFailure",
|
|
7612
7773
|
value: (function () {
|
|
7613
|
-
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7774
|
+
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee31() {
|
|
7614
7775
|
var _this$networkQualityM, _this$statsMonitor;
|
|
7615
|
-
return _regenerator.default.wrap(function (
|
|
7616
|
-
while (1) switch (
|
|
7776
|
+
return _regenerator.default.wrap(function (_context31) {
|
|
7777
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
7617
7778
|
case 0:
|
|
7618
7779
|
if (!this.statsAnalyzer) {
|
|
7619
|
-
|
|
7780
|
+
_context31.next = 1;
|
|
7620
7781
|
break;
|
|
7621
7782
|
}
|
|
7622
|
-
|
|
7783
|
+
_context31.next = 1;
|
|
7623
7784
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7624
7785
|
case 1:
|
|
7625
7786
|
this.statsAnalyzer = null;
|
|
@@ -7630,7 +7791,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7630
7791
|
|
|
7631
7792
|
// when media fails, we want to upload a webrtc dump to see whats going on
|
|
7632
7793
|
// this function is async, but returns once the stats have been gathered
|
|
7633
|
-
|
|
7794
|
+
_context31.next = 2;
|
|
7634
7795
|
return this.forceSendStatsReport({
|
|
7635
7796
|
callFrom: 'addMedia'
|
|
7636
7797
|
});
|
|
@@ -7641,9 +7802,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7641
7802
|
}
|
|
7642
7803
|
case 3:
|
|
7643
7804
|
case "end":
|
|
7644
|
-
return
|
|
7805
|
+
return _context31.stop();
|
|
7645
7806
|
}
|
|
7646
|
-
},
|
|
7807
|
+
}, _callee31, this);
|
|
7647
7808
|
}));
|
|
7648
7809
|
function cleanUpOnAddMediaFailure() {
|
|
7649
7810
|
return _cleanUpOnAddMediaFailure.apply(this, arguments);
|
|
@@ -7661,16 +7822,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7661
7822
|
}, {
|
|
7662
7823
|
key: "downgradeFromMultistreamToTranscoded",
|
|
7663
7824
|
value: (function () {
|
|
7664
|
-
var _downgradeFromMultistreamToTranscoded = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7825
|
+
var _downgradeFromMultistreamToTranscoded = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee32() {
|
|
7665
7826
|
var _this$networkQualityM2, _this$statsMonitor2, _this$locusMediaReque2;
|
|
7666
|
-
return _regenerator.default.wrap(function (
|
|
7667
|
-
while (1) switch (
|
|
7827
|
+
return _regenerator.default.wrap(function (_context32) {
|
|
7828
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
7668
7829
|
case 0:
|
|
7669
7830
|
if (!this.statsAnalyzer) {
|
|
7670
|
-
|
|
7831
|
+
_context32.next = 1;
|
|
7671
7832
|
break;
|
|
7672
7833
|
}
|
|
7673
|
-
|
|
7834
|
+
_context32.next = 1;
|
|
7674
7835
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7675
7836
|
case 1:
|
|
7676
7837
|
this.statsAnalyzer = null;
|
|
@@ -7688,9 +7849,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7688
7849
|
this.createStatsAnalyzer();
|
|
7689
7850
|
case 2:
|
|
7690
7851
|
case "end":
|
|
7691
|
-
return
|
|
7852
|
+
return _context32.stop();
|
|
7692
7853
|
}
|
|
7693
|
-
},
|
|
7854
|
+
}, _callee32, this);
|
|
7694
7855
|
}));
|
|
7695
7856
|
function downgradeFromMultistreamToTranscoded() {
|
|
7696
7857
|
return _downgradeFromMultistreamToTranscoded.apply(this, arguments);
|
|
@@ -7708,11 +7869,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7708
7869
|
}, {
|
|
7709
7870
|
key: "cleanUpBeforeRetryWithTurnServer",
|
|
7710
7871
|
value: (function () {
|
|
7711
|
-
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7712
|
-
return _regenerator.default.wrap(function (
|
|
7713
|
-
while (1) switch (
|
|
7872
|
+
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee33() {
|
|
7873
|
+
return _regenerator.default.wrap(function (_context33) {
|
|
7874
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
7714
7875
|
case 0:
|
|
7715
|
-
|
|
7876
|
+
_context33.next = 1;
|
|
7716
7877
|
return this.forceSendStatsReport({
|
|
7717
7878
|
callFrom: 'cleanUpBeforeRetryWithTurnServer'
|
|
7718
7879
|
});
|
|
@@ -7732,9 +7893,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7732
7893
|
}
|
|
7733
7894
|
case 2:
|
|
7734
7895
|
case "end":
|
|
7735
|
-
return
|
|
7896
|
+
return _context33.stop();
|
|
7736
7897
|
}
|
|
7737
|
-
},
|
|
7898
|
+
}, _callee33, this);
|
|
7738
7899
|
}));
|
|
7739
7900
|
function cleanUpBeforeRetryWithTurnServer() {
|
|
7740
7901
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
@@ -7744,35 +7905,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7744
7905
|
}, {
|
|
7745
7906
|
key: "cleanUpBeforeReconnection",
|
|
7746
7907
|
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 (
|
|
7908
|
+
var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee34() {
|
|
7909
|
+
var _t32;
|
|
7910
|
+
return _regenerator.default.wrap(function (_context34) {
|
|
7911
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7751
7912
|
case 0:
|
|
7752
|
-
|
|
7753
|
-
|
|
7913
|
+
_context34.prev = 0;
|
|
7914
|
+
_context34.next = 1;
|
|
7754
7915
|
return this.forceSendStatsReport({
|
|
7755
7916
|
callFrom: 'cleanUpBeforeReconnection'
|
|
7756
7917
|
});
|
|
7757
7918
|
case 1:
|
|
7758
7919
|
if (!this.statsAnalyzer) {
|
|
7759
|
-
|
|
7920
|
+
_context34.next = 2;
|
|
7760
7921
|
break;
|
|
7761
7922
|
}
|
|
7762
|
-
|
|
7923
|
+
_context34.next = 2;
|
|
7763
7924
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7764
7925
|
case 2:
|
|
7765
|
-
|
|
7926
|
+
_context34.next = 4;
|
|
7766
7927
|
break;
|
|
7767
7928
|
case 3:
|
|
7768
|
-
|
|
7769
|
-
|
|
7770
|
-
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ',
|
|
7929
|
+
_context34.prev = 3;
|
|
7930
|
+
_t32 = _context34["catch"](0);
|
|
7931
|
+
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _t32);
|
|
7771
7932
|
case 4:
|
|
7772
7933
|
case "end":
|
|
7773
|
-
return
|
|
7934
|
+
return _context34.stop();
|
|
7774
7935
|
}
|
|
7775
|
-
},
|
|
7936
|
+
}, _callee34, this, [[0, 3]]);
|
|
7776
7937
|
}));
|
|
7777
7938
|
function cleanUpBeforeReconnection() {
|
|
7778
7939
|
return _cleanUpBeforeReconnection.apply(this, arguments);
|
|
@@ -7840,7 +8001,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7840
8001
|
}, {
|
|
7841
8002
|
key: "addMediaInternal",
|
|
7842
8003
|
value: (function () {
|
|
7843
|
-
var _addMediaInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
8004
|
+
var _addMediaInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee35(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
|
|
7844
8005
|
var options,
|
|
7845
8006
|
LOG_HEADER,
|
|
7846
8007
|
localStreams,
|
|
@@ -7857,6 +8018,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7857
8018
|
bundlePolicy,
|
|
7858
8019
|
_options$additionalMe,
|
|
7859
8020
|
additionalMediaOptions,
|
|
8021
|
+
_options$allowPublish,
|
|
8022
|
+
allowPublishMediaInLobby,
|
|
7860
8023
|
rawSendVideo,
|
|
7861
8024
|
rawReceiveVideo,
|
|
7862
8025
|
rawSendAudio,
|
|
@@ -7874,7 +8037,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7874
8037
|
numTransports,
|
|
7875
8038
|
iceCandidateErrors,
|
|
7876
8039
|
reachabilityMetrics,
|
|
7877
|
-
_this$mediaProperties13,
|
|
7878
8040
|
_this$mediaProperties14,
|
|
7879
8041
|
_this$mediaProperties15,
|
|
7880
8042
|
_this$mediaProperties16,
|
|
@@ -7895,36 +8057,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7895
8057
|
_this$mediaProperties31,
|
|
7896
8058
|
_this$mediaProperties32,
|
|
7897
8059
|
_this$mediaProperties33,
|
|
8060
|
+
_this$mediaProperties34,
|
|
7898
8061
|
_reachabilityMetrics,
|
|
7899
8062
|
_yield$this$mediaProp2,
|
|
7900
8063
|
_selectedCandidatePairChanges,
|
|
7901
8064
|
_numTransports,
|
|
7902
8065
|
_iceCandidateErrors,
|
|
7903
|
-
|
|
7904
|
-
|
|
7905
|
-
|
|
7906
|
-
return _regenerator.default.wrap(function (
|
|
7907
|
-
while (1) switch (
|
|
8066
|
+
_args35 = arguments,
|
|
8067
|
+
_t33,
|
|
8068
|
+
_t34;
|
|
8069
|
+
return _regenerator.default.wrap(function (_context35) {
|
|
8070
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
7908
8071
|
case 0:
|
|
7909
|
-
options =
|
|
8072
|
+
options = _args35.length > 3 && _args35[3] !== undefined ? _args35[3] : {};
|
|
7910
8073
|
this.addMediaData.retriedWithTurnServer = false;
|
|
7911
8074
|
this.addMediaData.icePhaseCallback = icePhaseCallback;
|
|
7912
8075
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
7913
8076
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
7914
8077
|
_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
8078
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
7916
|
-
|
|
8079
|
+
_context35.next = 1;
|
|
7917
8080
|
break;
|
|
7918
8081
|
}
|
|
7919
8082
|
throw new _webexErrors.MeetingNotActiveError();
|
|
7920
8083
|
case 1:
|
|
7921
8084
|
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
7922
|
-
|
|
8085
|
+
_context35.next = 2;
|
|
7923
8086
|
break;
|
|
7924
8087
|
}
|
|
7925
8088
|
throw new _webexErrors.UserNotJoinedError();
|
|
7926
8089
|
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;
|
|
8090
|
+
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
8091
|
rawSendVideo = additionalMediaOptions.sendVideo, rawReceiveVideo = additionalMediaOptions.receiveVideo, rawSendAudio = additionalMediaOptions.sendAudio, rawReceiveAudio = additionalMediaOptions.receiveAudio;
|
|
7929
8092
|
sendVideo = videoEnabled && (rawSendVideo !== null && rawSendVideo !== void 0 ? rawSendVideo : true);
|
|
7930
8093
|
receiveVideo = videoEnabled && (rawReceiveVideo !== null && rawReceiveVideo !== void 0 ? rawReceiveVideo : true);
|
|
@@ -7935,9 +8098,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7935
8098
|
// @ts-ignore
|
|
7936
8099
|
ipver = _util2.default.getIpVersion(this.webex); // used just for metrics
|
|
7937
8100
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
7938
|
-
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
7939
8101
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
7940
|
-
|
|
8102
|
+
_context35.next = 3;
|
|
7941
8103
|
break;
|
|
7942
8104
|
}
|
|
7943
8105
|
throw new _webexErrors.UserInLobbyError();
|
|
@@ -7981,58 +8143,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7981
8143
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
7982
8144
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
7983
8145
|
this.brbState = (0, _brbState.createBrbState)(this, false);
|
|
7984
|
-
|
|
7985
|
-
|
|
8146
|
+
_context35.prev = 4;
|
|
8147
|
+
if (!(allowPublishMediaInLobby || !this.isUserUnadmitted)) {
|
|
8148
|
+
_context35.next = 5;
|
|
8149
|
+
break;
|
|
8150
|
+
}
|
|
8151
|
+
_context35.next = 5;
|
|
7986
8152
|
return this.setUpLocalStreamReferences(localStreams);
|
|
7987
8153
|
case 5:
|
|
7988
8154
|
this.setMercuryListener();
|
|
7989
8155
|
this.createStatsAnalyzer();
|
|
7990
|
-
|
|
7991
|
-
|
|
8156
|
+
_context35.prev = 6;
|
|
8157
|
+
_context35.next = 7;
|
|
7992
8158
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7993
8159
|
case 7:
|
|
7994
|
-
|
|
8160
|
+
_context35.next = 12;
|
|
7995
8161
|
break;
|
|
7996
8162
|
case 8:
|
|
7997
|
-
|
|
7998
|
-
|
|
7999
|
-
if (!(
|
|
8000
|
-
|
|
8163
|
+
_context35.prev = 8;
|
|
8164
|
+
_t33 = _context35["catch"](6);
|
|
8165
|
+
if (!(_t33 instanceof _multistreamNotSupportedError.default)) {
|
|
8166
|
+
_context35.next = 11;
|
|
8001
8167
|
break;
|
|
8002
8168
|
}
|
|
8003
8169
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " we asked for multistream backend (Homer), but got transcoded backend, recreating media connection..."));
|
|
8004
|
-
|
|
8170
|
+
_context35.next = 9;
|
|
8005
8171
|
return this.downgradeFromMultistreamToTranscoded();
|
|
8006
8172
|
case 9:
|
|
8007
|
-
|
|
8173
|
+
_context35.next = 10;
|
|
8008
8174
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true, undefined);
|
|
8009
8175
|
case 10:
|
|
8010
|
-
|
|
8176
|
+
_context35.next = 12;
|
|
8011
8177
|
break;
|
|
8012
8178
|
case 11:
|
|
8013
|
-
throw
|
|
8179
|
+
throw _t33;
|
|
8014
8180
|
case 12:
|
|
8015
8181
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connected, finalizing..."));
|
|
8016
8182
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
8017
|
-
|
|
8183
|
+
_context35.next = 13;
|
|
8018
8184
|
break;
|
|
8019
8185
|
}
|
|
8020
|
-
|
|
8186
|
+
_context35.next = 13;
|
|
8021
8187
|
return this.enqueueScreenShareFloorRequest();
|
|
8022
8188
|
case 13:
|
|
8023
|
-
|
|
8189
|
+
_context35.next = 14;
|
|
8024
8190
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
8025
8191
|
case 14:
|
|
8026
|
-
_yield$this$mediaProp =
|
|
8192
|
+
_yield$this$mediaProp = _context35.sent;
|
|
8027
8193
|
connectionType = _yield$this$mediaProp.connectionType;
|
|
8028
8194
|
ipVersion = _yield$this$mediaProp.ipVersion;
|
|
8029
8195
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
8030
8196
|
numTransports = _yield$this$mediaProp.numTransports;
|
|
8031
8197
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
8032
|
-
|
|
8198
|
+
_context35.next = 15;
|
|
8033
8199
|
return this.getMediaReachabilityMetricFields();
|
|
8034
8200
|
case 15:
|
|
8035
|
-
reachabilityMetrics =
|
|
8201
|
+
reachabilityMetrics = _context35.sent;
|
|
8036
8202
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
8037
8203
|
correlation_id: this.correlationId,
|
|
8038
8204
|
locus_id: this.locusUrl.split('/').pop(),
|
|
@@ -8062,31 +8228,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8062
8228
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
8063
8229
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
8064
8230
|
this.startPeriodicLogUpload();
|
|
8065
|
-
|
|
8231
|
+
_context35.next = 20;
|
|
8066
8232
|
break;
|
|
8067
8233
|
case 16:
|
|
8068
|
-
|
|
8069
|
-
|
|
8070
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
8234
|
+
_context35.prev = 16;
|
|
8235
|
+
_t34 = _context35["catch"](4);
|
|
8236
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _t34);
|
|
8071
8237
|
|
|
8072
8238
|
// @ts-ignore
|
|
8073
|
-
|
|
8239
|
+
_context35.next = 17;
|
|
8074
8240
|
return this.getMediaReachabilityMetricFields();
|
|
8075
8241
|
case 17:
|
|
8076
|
-
_reachabilityMetrics =
|
|
8077
|
-
|
|
8242
|
+
_reachabilityMetrics = _context35.sent;
|
|
8243
|
+
_context35.next = 18;
|
|
8078
8244
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
8079
8245
|
case 18:
|
|
8080
|
-
_yield$this$mediaProp2 =
|
|
8246
|
+
_yield$this$mediaProp2 = _context35.sent;
|
|
8081
8247
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
8082
8248
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
8083
8249
|
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
8084
8250
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
8085
8251
|
correlation_id: this.correlationId,
|
|
8086
8252
|
locus_id: this.locusUrl.split('/').pop(),
|
|
8087
|
-
reason:
|
|
8088
|
-
stack:
|
|
8089
|
-
code:
|
|
8253
|
+
reason: _t34.message,
|
|
8254
|
+
stack: _t34.stack,
|
|
8255
|
+
code: _t34.code,
|
|
8090
8256
|
selectedCandidatePairChanges: _selectedCandidatePairChanges,
|
|
8091
8257
|
numTransports: _numTransports,
|
|
8092
8258
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
@@ -8094,14 +8260,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8094
8260
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer,
|
|
8095
8261
|
isMultistream: this.isMultistream,
|
|
8096
8262
|
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry,
|
|
8097
|
-
signalingState: ((_this$
|
|
8098
|
-
connectionState: ((_this$
|
|
8099
|
-
iceConnectionState: ((_this$
|
|
8263
|
+
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',
|
|
8264
|
+
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',
|
|
8265
|
+
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
8266
|
}, _reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
8101
8267
|
iceCandidatesCount: this.iceCandidatesCount,
|
|
8102
8268
|
ipver: ipver
|
|
8103
8269
|
}));
|
|
8104
|
-
|
|
8270
|
+
_context35.next = 19;
|
|
8105
8271
|
return this.cleanUpOnAddMediaFailure();
|
|
8106
8272
|
case 19:
|
|
8107
8273
|
// Upload logs on error while adding media
|
|
@@ -8109,21 +8275,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8109
8275
|
file: 'meeting/index',
|
|
8110
8276
|
function: 'addMedia'
|
|
8111
8277
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
8112
|
-
if (
|
|
8278
|
+
if (_t34 instanceof _internalMediaCore.Errors.SdpError) {
|
|
8113
8279
|
this.leave({
|
|
8114
8280
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
8115
8281
|
});
|
|
8116
8282
|
}
|
|
8117
|
-
throw
|
|
8283
|
+
throw _t34;
|
|
8118
8284
|
case 20:
|
|
8119
|
-
|
|
8285
|
+
_context35.prev = 20;
|
|
8120
8286
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
8121
|
-
return
|
|
8287
|
+
return _context35.finish(20);
|
|
8122
8288
|
case 21:
|
|
8123
8289
|
case "end":
|
|
8124
|
-
return
|
|
8290
|
+
return _context35.stop();
|
|
8125
8291
|
}
|
|
8126
|
-
},
|
|
8292
|
+
}, _callee35, this, [[4, 16, 20, 21], [6, 8]]);
|
|
8127
8293
|
}));
|
|
8128
8294
|
function addMediaInternal(_x31, _x32, _x33) {
|
|
8129
8295
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -8191,35 +8357,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8191
8357
|
* @memberof Meeting
|
|
8192
8358
|
*/
|
|
8193
8359
|
function () {
|
|
8194
|
-
var _updateMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
8360
|
+
var _updateMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee36(options) {
|
|
8195
8361
|
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
|
|
8196
|
-
return _regenerator.default.wrap(function (
|
|
8197
|
-
while (1) switch (
|
|
8362
|
+
return _regenerator.default.wrap(function (_context36) {
|
|
8363
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
8198
8364
|
case 0:
|
|
8199
8365
|
this.checkMediaConnection();
|
|
8200
8366
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
8201
8367
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
8202
8368
|
if (this.canUpdateMedia()) {
|
|
8203
|
-
|
|
8369
|
+
_context36.next = 1;
|
|
8204
8370
|
break;
|
|
8205
8371
|
}
|
|
8206
|
-
return
|
|
8372
|
+
return _context36.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
8207
8373
|
case 1:
|
|
8208
8374
|
if (!this.isMultistream) {
|
|
8209
|
-
|
|
8375
|
+
_context36.next = 3;
|
|
8210
8376
|
break;
|
|
8211
8377
|
}
|
|
8212
8378
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
8213
|
-
|
|
8379
|
+
_context36.next = 2;
|
|
8214
8380
|
break;
|
|
8215
8381
|
}
|
|
8216
8382
|
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
8383
|
case 2:
|
|
8218
|
-
|
|
8384
|
+
_context36.next = 4;
|
|
8219
8385
|
break;
|
|
8220
8386
|
case 3:
|
|
8221
8387
|
if (!(shareAudioEnabled !== undefined)) {
|
|
8222
|
-
|
|
8388
|
+
_context36.next = 4;
|
|
8223
8389
|
break;
|
|
8224
8390
|
}
|
|
8225
8391
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -8244,18 +8410,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8244
8410
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
8245
8411
|
}
|
|
8246
8412
|
if (this.isMultistream) {
|
|
8247
|
-
|
|
8413
|
+
_context36.next = 5;
|
|
8248
8414
|
break;
|
|
8249
8415
|
}
|
|
8250
|
-
|
|
8416
|
+
_context36.next = 5;
|
|
8251
8417
|
return this.updateTranscodedMediaConnection();
|
|
8252
8418
|
case 5:
|
|
8253
|
-
return
|
|
8419
|
+
return _context36.abrupt("return", undefined);
|
|
8254
8420
|
case 6:
|
|
8255
8421
|
case "end":
|
|
8256
|
-
return
|
|
8422
|
+
return _context36.stop();
|
|
8257
8423
|
}
|
|
8258
|
-
},
|
|
8424
|
+
}, _callee36, this);
|
|
8259
8425
|
}));
|
|
8260
8426
|
function updateMedia(_x34) {
|
|
8261
8427
|
return _updateMedia.apply(this, arguments);
|
|
@@ -8397,32 +8563,46 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8397
8563
|
);
|
|
8398
8564
|
};
|
|
8399
8565
|
_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
|
-
|
|
8566
|
+
return _util2.default.leaveMeeting(this, options).then(/*#__PURE__*/function () {
|
|
8567
|
+
var _ref42 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee37(leave) {
|
|
8568
|
+
return _regenerator.default.wrap(function (_context37) {
|
|
8569
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
8570
|
+
case 0:
|
|
8571
|
+
// CA team recommends submitting this *after* locus /leave
|
|
8572
|
+
submitLeaveMetric();
|
|
8573
|
+
_this49.meetingFiniteStateMachine.leave();
|
|
8574
|
+
_context37.next = 1;
|
|
8575
|
+
return _this49.clearMeetingData();
|
|
8576
|
+
case 1:
|
|
8577
|
+
// upload logs on leave irrespective of meeting delete
|
|
8578
|
+
_triggerProxy.default.trigger(_this49, {
|
|
8579
|
+
file: 'meeting/index',
|
|
8580
|
+
function: 'leave'
|
|
8581
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
|
|
8411
8582
|
|
|
8412
|
-
|
|
8413
|
-
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
|
|
8418
|
-
|
|
8419
|
-
|
|
8420
|
-
|
|
8421
|
-
|
|
8422
|
-
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
|
|
8583
|
+
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
8584
|
+
if (_this49.wirelessShare || _this49.guest) {
|
|
8585
|
+
// If screen sharing clean the meeting object
|
|
8586
|
+
_triggerProxy.default.trigger(_this49, {
|
|
8587
|
+
file: 'meeting/index',
|
|
8588
|
+
function: 'leave'
|
|
8589
|
+
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
8590
|
+
reason: options.reason,
|
|
8591
|
+
meetingId: _this49.id
|
|
8592
|
+
});
|
|
8593
|
+
}
|
|
8594
|
+
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
8595
|
+
return _context37.abrupt("return", leave);
|
|
8596
|
+
case 2:
|
|
8597
|
+
case "end":
|
|
8598
|
+
return _context37.stop();
|
|
8599
|
+
}
|
|
8600
|
+
}, _callee37);
|
|
8601
|
+
}));
|
|
8602
|
+
return function (_x35) {
|
|
8603
|
+
return _ref42.apply(this, arguments);
|
|
8604
|
+
};
|
|
8605
|
+
}()).catch(function (error) {
|
|
8426
8606
|
// CA team recommends submitting this *after* locus /leave
|
|
8427
8607
|
submitLeaveMetric({
|
|
8428
8608
|
errors: [{
|
|
@@ -8901,10 +9081,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8901
9081
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
8902
9082
|
var main = renderInfo.main,
|
|
8903
9083
|
content = renderInfo.content;
|
|
8904
|
-
var _this$
|
|
8905
|
-
mediaDirection = _this$
|
|
8906
|
-
remoteShareStream = _this$
|
|
8907
|
-
remoteVideoStream = _this$
|
|
9084
|
+
var _this$mediaProperties35 = this.mediaProperties,
|
|
9085
|
+
mediaDirection = _this$mediaProperties35.mediaDirection,
|
|
9086
|
+
remoteShareStream = _this$mediaProperties35.remoteShareStream,
|
|
9087
|
+
remoteVideoStream = _this$mediaProperties35.remoteVideoStream;
|
|
8908
9088
|
var layoutInfo = (0, _lodash.cloneDeep)(this.lastVideoLayoutInfo);
|
|
8909
9089
|
|
|
8910
9090
|
// TODO: We need a real time value for Audio, Video and Share send indicator
|
|
@@ -9084,16 +9264,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9084
9264
|
correlation_id: this.correlationId,
|
|
9085
9265
|
locus_id: this.locusId
|
|
9086
9266
|
});
|
|
9087
|
-
return _util2.default.endMeetingForAll(this).then(function (
|
|
9088
|
-
|
|
9089
|
-
|
|
9090
|
-
|
|
9091
|
-
|
|
9092
|
-
|
|
9093
|
-
|
|
9094
|
-
|
|
9095
|
-
|
|
9096
|
-
|
|
9267
|
+
return _util2.default.endMeetingForAll(this).then(/*#__PURE__*/function () {
|
|
9268
|
+
var _ref43 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee38(end) {
|
|
9269
|
+
return _regenerator.default.wrap(function (_context38) {
|
|
9270
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
9271
|
+
case 0:
|
|
9272
|
+
_this56.meetingFiniteStateMachine.end();
|
|
9273
|
+
_context38.next = 1;
|
|
9274
|
+
return _this56.clearMeetingData();
|
|
9275
|
+
case 1:
|
|
9276
|
+
// upload logs on leave irrespective of meeting delete
|
|
9277
|
+
_triggerProxy.default.trigger(_this56, {
|
|
9278
|
+
file: 'meeting/index',
|
|
9279
|
+
function: 'endMeetingForAll'
|
|
9280
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this56);
|
|
9281
|
+
return _context38.abrupt("return", end);
|
|
9282
|
+
case 2:
|
|
9283
|
+
case "end":
|
|
9284
|
+
return _context38.stop();
|
|
9285
|
+
}
|
|
9286
|
+
}, _callee38);
|
|
9287
|
+
}));
|
|
9288
|
+
return function (_x36) {
|
|
9289
|
+
return _ref43.apply(this, arguments);
|
|
9290
|
+
};
|
|
9291
|
+
}()).catch(function (error) {
|
|
9097
9292
|
_this56.meetingFiniteStateMachine.fail(error);
|
|
9098
9293
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
9099
9294
|
// upload logs on leave irrespective of meeting delete
|
|
@@ -9155,12 +9350,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9155
9350
|
*/
|
|
9156
9351
|
}, {
|
|
9157
9352
|
key: "extendMeeting",
|
|
9158
|
-
value: function extendMeeting(
|
|
9159
|
-
var meetingPolicyUrl =
|
|
9160
|
-
meetingInstanceId =
|
|
9161
|
-
participantId =
|
|
9162
|
-
|
|
9163
|
-
extensionMinutes =
|
|
9353
|
+
value: function extendMeeting(_ref44) {
|
|
9354
|
+
var meetingPolicyUrl = _ref44.meetingPolicyUrl,
|
|
9355
|
+
meetingInstanceId = _ref44.meetingInstanceId,
|
|
9356
|
+
participantId = _ref44.participantId,
|
|
9357
|
+
_ref44$extensionMinut = _ref44.extensionMinutes,
|
|
9358
|
+
extensionMinutes = _ref44$extensionMinut === void 0 ? 30 : _ref44$extensionMinut;
|
|
9164
9359
|
if (!meetingInstanceId || !participantId) {
|
|
9165
9360
|
return _promise.default.reject(new Error('Missing meetingInstanceId or participantId'));
|
|
9166
9361
|
}
|
|
@@ -9225,8 +9420,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9225
9420
|
}, {
|
|
9226
9421
|
key: "checkMediaConnection",
|
|
9227
9422
|
value: function checkMediaConnection() {
|
|
9228
|
-
var _this$
|
|
9229
|
-
if ((_this$
|
|
9423
|
+
var _this$mediaProperties36;
|
|
9424
|
+
if ((_this$mediaProperties36 = this.mediaProperties) !== null && _this$mediaProperties36 !== void 0 && _this$mediaProperties36.webrtcMediaConnection) {
|
|
9230
9425
|
return;
|
|
9231
9426
|
}
|
|
9232
9427
|
throw new _webexErrors.NoMediaEstablishedYetError();
|
|
@@ -9241,39 +9436,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9241
9436
|
}, {
|
|
9242
9437
|
key: "enableMusicMode",
|
|
9243
9438
|
value: (function () {
|
|
9244
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9245
|
-
return _regenerator.default.wrap(function (
|
|
9246
|
-
while (1) switch (
|
|
9439
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee39(shouldEnableMusicMode) {
|
|
9440
|
+
return _regenerator.default.wrap(function (_context39) {
|
|
9441
|
+
while (1) switch (_context39.prev = _context39.next) {
|
|
9247
9442
|
case 0:
|
|
9248
9443
|
this.checkMediaConnection();
|
|
9249
9444
|
if (this.isMultistream) {
|
|
9250
|
-
|
|
9445
|
+
_context39.next = 1;
|
|
9251
9446
|
break;
|
|
9252
9447
|
}
|
|
9253
9448
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
9254
9449
|
case 1:
|
|
9255
9450
|
if (!shouldEnableMusicMode) {
|
|
9256
|
-
|
|
9451
|
+
_context39.next = 3;
|
|
9257
9452
|
break;
|
|
9258
9453
|
}
|
|
9259
|
-
|
|
9454
|
+
_context39.next = 2;
|
|
9260
9455
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
9261
9456
|
maxaveragebitrate: '64000',
|
|
9262
9457
|
maxplaybackrate: '48000'
|
|
9263
9458
|
});
|
|
9264
9459
|
case 2:
|
|
9265
|
-
|
|
9460
|
+
_context39.next = 4;
|
|
9266
9461
|
break;
|
|
9267
9462
|
case 3:
|
|
9268
|
-
|
|
9463
|
+
_context39.next = 4;
|
|
9269
9464
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
9270
9465
|
case 4:
|
|
9271
9466
|
case "end":
|
|
9272
|
-
return
|
|
9467
|
+
return _context39.stop();
|
|
9273
9468
|
}
|
|
9274
|
-
},
|
|
9469
|
+
}, _callee39, this);
|
|
9275
9470
|
}));
|
|
9276
|
-
function enableMusicMode(
|
|
9471
|
+
function enableMusicMode(_x37) {
|
|
9277
9472
|
return _enableMusicMode.apply(this, arguments);
|
|
9278
9473
|
}
|
|
9279
9474
|
return enableMusicMode;
|
|
@@ -9286,14 +9481,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9286
9481
|
}, {
|
|
9287
9482
|
key: "updateTranscodedMediaConnection",
|
|
9288
9483
|
value: function updateTranscodedMediaConnection() {
|
|
9289
|
-
var _this$
|
|
9290
|
-
_this$mediaProperties37,
|
|
9484
|
+
var _this$mediaProperties37,
|
|
9291
9485
|
_this$mediaProperties38,
|
|
9292
9486
|
_this$mediaProperties39,
|
|
9293
9487
|
_this$mediaProperties40,
|
|
9294
9488
|
_this$mediaProperties41,
|
|
9295
9489
|
_this$mediaProperties42,
|
|
9296
9490
|
_this$mediaProperties43,
|
|
9491
|
+
_this$mediaProperties44,
|
|
9297
9492
|
_this57 = this;
|
|
9298
9493
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
9299
9494
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
@@ -9303,10 +9498,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9303
9498
|
return this.mediaProperties.webrtcMediaConnection.update({
|
|
9304
9499
|
// TODO: RoapMediaConnection is not ready to use stream classes yet, so we pass the raw MediaStreamTrack for now
|
|
9305
9500
|
localTracks: {
|
|
9306
|
-
audio: ((_this$
|
|
9307
|
-
video: ((_this$
|
|
9308
|
-
screenShareVideo: ((_this$
|
|
9309
|
-
screenShareAudio: ((_this$
|
|
9501
|
+
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,
|
|
9502
|
+
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,
|
|
9503
|
+
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,
|
|
9504
|
+
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
9505
|
},
|
|
9311
9506
|
direction: {
|
|
9312
9507
|
audio: _media.default.getDirection(true, this.mediaProperties.mediaDirection.receiveAudio, this.mediaProperties.mediaDirection.sendAudio),
|
|
@@ -9364,25 +9559,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9364
9559
|
}, {
|
|
9365
9560
|
key: "publishStream",
|
|
9366
9561
|
value: (function () {
|
|
9367
|
-
var _publishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9368
|
-
return _regenerator.default.wrap(function (
|
|
9369
|
-
while (1) switch (
|
|
9562
|
+
var _publishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee40(mediaType, stream) {
|
|
9563
|
+
return _regenerator.default.wrap(function (_context40) {
|
|
9564
|
+
while (1) switch (_context40.prev = _context40.next) {
|
|
9370
9565
|
case 0:
|
|
9371
9566
|
if (stream) {
|
|
9372
|
-
|
|
9567
|
+
_context40.next = 1;
|
|
9373
9568
|
break;
|
|
9374
9569
|
}
|
|
9375
|
-
return
|
|
9570
|
+
return _context40.abrupt("return");
|
|
9376
9571
|
case 1:
|
|
9377
9572
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
9378
|
-
|
|
9573
|
+
_context40.next = 3;
|
|
9379
9574
|
break;
|
|
9380
9575
|
}
|
|
9381
9576
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
9382
|
-
|
|
9577
|
+
_context40.next = 2;
|
|
9383
9578
|
break;
|
|
9384
9579
|
}
|
|
9385
|
-
|
|
9580
|
+
_context40.next = 2;
|
|
9386
9581
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
9387
9582
|
case 2:
|
|
9388
9583
|
this.emitPublishStateChangeEvent({
|
|
@@ -9393,11 +9588,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9393
9588
|
});
|
|
9394
9589
|
case 3:
|
|
9395
9590
|
case "end":
|
|
9396
|
-
return
|
|
9591
|
+
return _context40.stop();
|
|
9397
9592
|
}
|
|
9398
|
-
},
|
|
9593
|
+
}, _callee40, this);
|
|
9399
9594
|
}));
|
|
9400
|
-
function publishStream(
|
|
9595
|
+
function publishStream(_x38, _x39) {
|
|
9401
9596
|
return _publishStream.apply(this, arguments);
|
|
9402
9597
|
}
|
|
9403
9598
|
return publishStream;
|
|
@@ -9413,21 +9608,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9413
9608
|
}, {
|
|
9414
9609
|
key: "unpublishStream",
|
|
9415
9610
|
value: (function () {
|
|
9416
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9417
|
-
return _regenerator.default.wrap(function (
|
|
9418
|
-
while (1) switch (
|
|
9611
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee41(mediaType, stream) {
|
|
9612
|
+
return _regenerator.default.wrap(function (_context41) {
|
|
9613
|
+
while (1) switch (_context41.prev = _context41.next) {
|
|
9419
9614
|
case 0:
|
|
9420
9615
|
if (stream) {
|
|
9421
|
-
|
|
9616
|
+
_context41.next = 1;
|
|
9422
9617
|
break;
|
|
9423
9618
|
}
|
|
9424
|
-
return
|
|
9619
|
+
return _context41.abrupt("return");
|
|
9425
9620
|
case 1:
|
|
9426
9621
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
9427
|
-
|
|
9622
|
+
_context41.next = 2;
|
|
9428
9623
|
break;
|
|
9429
9624
|
}
|
|
9430
|
-
|
|
9625
|
+
_context41.next = 2;
|
|
9431
9626
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
9432
9627
|
case 2:
|
|
9433
9628
|
this.emitPublishStateChangeEvent({
|
|
@@ -9438,11 +9633,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9438
9633
|
});
|
|
9439
9634
|
case 3:
|
|
9440
9635
|
case "end":
|
|
9441
|
-
return
|
|
9636
|
+
return _context41.stop();
|
|
9442
9637
|
}
|
|
9443
|
-
},
|
|
9638
|
+
}, _callee41, this);
|
|
9444
9639
|
}));
|
|
9445
|
-
function unpublishStream(
|
|
9640
|
+
function unpublishStream(_x40, _x41) {
|
|
9446
9641
|
return _unpublishStream.apply(this, arguments);
|
|
9447
9642
|
}
|
|
9448
9643
|
return unpublishStream;
|
|
@@ -9457,19 +9652,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9457
9652
|
}, {
|
|
9458
9653
|
key: "publishStreams",
|
|
9459
9654
|
value: (function () {
|
|
9460
|
-
var _publishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9655
|
+
var _publishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee42(streams) {
|
|
9461
9656
|
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
|
|
9462
9657
|
var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
|
|
9463
|
-
return _regenerator.default.wrap(function (
|
|
9464
|
-
while (1) switch (
|
|
9658
|
+
return _regenerator.default.wrap(function (_context42) {
|
|
9659
|
+
while (1) switch (_context42.prev = _context42.next) {
|
|
9465
9660
|
case 0:
|
|
9466
9661
|
_loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
9467
9662
|
this.checkMediaConnection();
|
|
9468
9663
|
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
|
-
|
|
9664
|
+
_context42.next = 1;
|
|
9470
9665
|
break;
|
|
9471
9666
|
}
|
|
9472
|
-
return
|
|
9667
|
+
return _context42.abrupt("return");
|
|
9473
9668
|
case 1:
|
|
9474
9669
|
streamChecks = [{
|
|
9475
9670
|
stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
|
|
@@ -9487,62 +9682,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9487
9682
|
_i = 0, _streamChecks = streamChecks;
|
|
9488
9683
|
case 2:
|
|
9489
9684
|
if (!(_i < _streamChecks.length)) {
|
|
9490
|
-
|
|
9685
|
+
_context42.next = 4;
|
|
9491
9686
|
break;
|
|
9492
9687
|
}
|
|
9493
9688
|
_streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
|
|
9494
9689
|
if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
|
|
9495
|
-
|
|
9690
|
+
_context42.next = 3;
|
|
9496
9691
|
break;
|
|
9497
9692
|
}
|
|
9498
9693
|
throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
|
|
9499
9694
|
case 3:
|
|
9500
9695
|
_i++;
|
|
9501
|
-
|
|
9696
|
+
_context42.next = 2;
|
|
9502
9697
|
break;
|
|
9503
9698
|
case 4:
|
|
9504
9699
|
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
9700
|
if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
|
|
9506
|
-
|
|
9701
|
+
_context42.next = 6;
|
|
9507
9702
|
break;
|
|
9508
9703
|
}
|
|
9509
|
-
|
|
9704
|
+
_context42.next = 5;
|
|
9510
9705
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
9511
9706
|
case 5:
|
|
9512
9707
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
9513
9708
|
case 6:
|
|
9514
9709
|
if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
|
|
9515
|
-
|
|
9710
|
+
_context42.next = 8;
|
|
9516
9711
|
break;
|
|
9517
9712
|
}
|
|
9518
|
-
|
|
9713
|
+
_context42.next = 7;
|
|
9519
9714
|
return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
|
|
9520
9715
|
case 7:
|
|
9521
9716
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
9522
9717
|
case 8:
|
|
9523
9718
|
if (!streams.microphone) {
|
|
9524
|
-
|
|
9719
|
+
_context42.next = 9;
|
|
9525
9720
|
break;
|
|
9526
9721
|
}
|
|
9527
|
-
|
|
9722
|
+
_context42.next = 9;
|
|
9528
9723
|
return this.setLocalAudioStream(streams.microphone);
|
|
9529
9724
|
case 9:
|
|
9530
9725
|
if (!streams.camera) {
|
|
9531
|
-
|
|
9726
|
+
_context42.next = 10;
|
|
9532
9727
|
break;
|
|
9533
9728
|
}
|
|
9534
|
-
|
|
9729
|
+
_context42.next = 10;
|
|
9535
9730
|
return this.setLocalVideoStream(streams.camera);
|
|
9536
9731
|
case 10:
|
|
9537
9732
|
if (this.isMultistream) {
|
|
9538
|
-
|
|
9733
|
+
_context42.next = 11;
|
|
9539
9734
|
break;
|
|
9540
9735
|
}
|
|
9541
|
-
|
|
9736
|
+
_context42.next = 11;
|
|
9542
9737
|
return this.updateTranscodedMediaConnection();
|
|
9543
9738
|
case 11:
|
|
9544
9739
|
if (!floorRequestNeeded) {
|
|
9545
|
-
|
|
9740
|
+
_context42.next = 12;
|
|
9546
9741
|
break;
|
|
9547
9742
|
}
|
|
9548
9743
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -9573,15 +9768,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9573
9768
|
// we're sending the http request to Locus to request the screen share floor
|
|
9574
9769
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
9575
9770
|
// and also if sharing from the start, we need confluence to have been created
|
|
9576
|
-
|
|
9771
|
+
_context42.next = 12;
|
|
9577
9772
|
return this.enqueueScreenShareFloorRequest();
|
|
9578
9773
|
case 12:
|
|
9579
9774
|
case "end":
|
|
9580
|
-
return
|
|
9775
|
+
return _context42.stop();
|
|
9581
9776
|
}
|
|
9582
|
-
},
|
|
9777
|
+
}, _callee42, this);
|
|
9583
9778
|
}));
|
|
9584
|
-
function publishStreams(
|
|
9779
|
+
function publishStreams(_x42) {
|
|
9585
9780
|
return _publishStreams.apply(this, arguments);
|
|
9586
9781
|
}
|
|
9587
9782
|
return publishStreams;
|
|
@@ -9596,10 +9791,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9596
9791
|
}, {
|
|
9597
9792
|
key: "unpublishStreams",
|
|
9598
9793
|
value: (function () {
|
|
9599
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9794
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee43(streams) {
|
|
9600
9795
|
var promises, _iterator, _step, stream;
|
|
9601
|
-
return _regenerator.default.wrap(function (
|
|
9602
|
-
while (1) switch (
|
|
9796
|
+
return _regenerator.default.wrap(function (_context43) {
|
|
9797
|
+
while (1) switch (_context43.prev = _context43.next) {
|
|
9603
9798
|
case 0:
|
|
9604
9799
|
_loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
9605
9800
|
this.checkMediaConnection();
|
|
@@ -9631,7 +9826,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9631
9826
|
if (!this.isMultistream) {
|
|
9632
9827
|
promises.push(this.updateTranscodedMediaConnection());
|
|
9633
9828
|
}
|
|
9634
|
-
|
|
9829
|
+
_context43.next = 1;
|
|
9635
9830
|
return _promise.default.all(promises);
|
|
9636
9831
|
case 1:
|
|
9637
9832
|
// we're allowing for the SDK to support just audio share as well
|
|
@@ -9652,11 +9847,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9652
9847
|
}
|
|
9653
9848
|
case 2:
|
|
9654
9849
|
case "end":
|
|
9655
|
-
return
|
|
9850
|
+
return _context43.stop();
|
|
9656
9851
|
}
|
|
9657
|
-
},
|
|
9852
|
+
}, _callee43, this);
|
|
9658
9853
|
}));
|
|
9659
|
-
function unpublishStreams(
|
|
9854
|
+
function unpublishStreams(_x43) {
|
|
9660
9855
|
return _unpublishStreams.apply(this, arguments);
|
|
9661
9856
|
}
|
|
9662
9857
|
return unpublishStreams;
|
|
@@ -9722,16 +9917,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9722
9917
|
}, {
|
|
9723
9918
|
key: "getMediaReachabilityMetricFields",
|
|
9724
9919
|
value: (function () {
|
|
9725
|
-
var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9920
|
+
var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee44() {
|
|
9726
9921
|
var _this$mediaServerIp, _this$mediaConnection, _this$mediaConnection2, _this$mediaConnection3;
|
|
9727
9922
|
var reachabilityMetrics, successKeys, totalSuccessCases, selectedSubnetFirstOctet, isSubnetReachable, selectedCluster;
|
|
9728
|
-
return _regenerator.default.wrap(function (
|
|
9729
|
-
while (1) switch (
|
|
9923
|
+
return _regenerator.default.wrap(function (_context44) {
|
|
9924
|
+
while (1) switch (_context44.prev = _context44.next) {
|
|
9730
9925
|
case 0:
|
|
9731
|
-
|
|
9926
|
+
_context44.next = 1;
|
|
9732
9927
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
9733
9928
|
case 1:
|
|
9734
|
-
reachabilityMetrics =
|
|
9929
|
+
reachabilityMetrics = _context44.sent;
|
|
9735
9930
|
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
9931
|
totalSuccessCases = successKeys.reduce(function (total, key) {
|
|
9737
9932
|
var value = reachabilityMetrics[key];
|
|
@@ -9748,16 +9943,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9748
9943
|
this.webex.meetings.reachability.isSubnetReachable(selectedSubnetFirstOctet);
|
|
9749
9944
|
}
|
|
9750
9945
|
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
|
|
9946
|
+
return _context44.abrupt("return", _objectSpread(_objectSpread({}, reachabilityMetrics), {}, {
|
|
9752
9947
|
subnet_reachable: isSubnetReachable,
|
|
9753
9948
|
selected_cluster: selectedCluster,
|
|
9754
9949
|
selected_subnet: selectedSubnetFirstOctet ? "".concat(selectedSubnetFirstOctet, ".X.X.X") : null
|
|
9755
9950
|
}));
|
|
9756
9951
|
case 2:
|
|
9757
9952
|
case "end":
|
|
9758
|
-
return
|
|
9953
|
+
return _context44.stop();
|
|
9759
9954
|
}
|
|
9760
|
-
},
|
|
9955
|
+
}, _callee44, this);
|
|
9761
9956
|
}));
|
|
9762
9957
|
function getMediaReachabilityMetricFields() {
|
|
9763
9958
|
return _getMediaReachabilityMetricFields.apply(this, arguments);
|
|
@@ -9774,17 +9969,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9774
9969
|
}, {
|
|
9775
9970
|
key: "setStage",
|
|
9776
9971
|
value: function setStage() {
|
|
9777
|
-
var
|
|
9778
|
-
|
|
9779
|
-
activeSpeakerProportion =
|
|
9780
|
-
customBackground =
|
|
9781
|
-
customLogo =
|
|
9782
|
-
customNameLabel =
|
|
9783
|
-
importantParticipants =
|
|
9784
|
-
|
|
9785
|
-
lockAttendeeViewOnStage =
|
|
9786
|
-
|
|
9787
|
-
showActiveSpeaker =
|
|
9972
|
+
var _ref45 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
9973
|
+
_ref45$activeSpeakerP = _ref45.activeSpeakerProportion,
|
|
9974
|
+
activeSpeakerProportion = _ref45$activeSpeakerP === void 0 ? 0.5 : _ref45$activeSpeakerP,
|
|
9975
|
+
customBackground = _ref45.customBackground,
|
|
9976
|
+
customLogo = _ref45.customLogo,
|
|
9977
|
+
customNameLabel = _ref45.customNameLabel,
|
|
9978
|
+
importantParticipants = _ref45.importantParticipants,
|
|
9979
|
+
_ref45$lockAttendeeVi = _ref45.lockAttendeeViewOnStage,
|
|
9980
|
+
lockAttendeeViewOnStage = _ref45$lockAttendeeVi === void 0 ? false : _ref45$lockAttendeeVi,
|
|
9981
|
+
_ref45$showActiveSpea = _ref45.showActiveSpeaker,
|
|
9982
|
+
showActiveSpeaker = _ref45$showActiveSpea === void 0 ? false : _ref45$showActiveSpea;
|
|
9788
9983
|
var videoLayout = {
|
|
9789
9984
|
overrideDefault: true,
|
|
9790
9985
|
lockAttendeeViewOnStageOnly: lockAttendeeViewOnStage,
|
|
@@ -9880,6 +10075,71 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9880
10075
|
value: function cancelSipCallOut(participantId) {
|
|
9881
10076
|
return this.meetingRequest.cancelSipCallOut(participantId);
|
|
9882
10077
|
}
|
|
10078
|
+
|
|
10079
|
+
/**
|
|
10080
|
+
* Method to get new data
|
|
10081
|
+
* @returns {Promise}
|
|
10082
|
+
*/
|
|
10083
|
+
}, {
|
|
10084
|
+
key: "refreshDataChannelToken",
|
|
10085
|
+
value: (function () {
|
|
10086
|
+
var _refreshDataChannelToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee45() {
|
|
10087
|
+
var isPracticeSession, dataChannelTokenType, res, msg, _t35;
|
|
10088
|
+
return _regenerator.default.wrap(function (_context45) {
|
|
10089
|
+
while (1) switch (_context45.prev = _context45.next) {
|
|
10090
|
+
case 0:
|
|
10091
|
+
isPracticeSession = this.webinar.isJoinPracticeSessionDataChannel();
|
|
10092
|
+
dataChannelTokenType = this.getDataChannelTokenType();
|
|
10093
|
+
_context45.prev = 1;
|
|
10094
|
+
_context45.next = 2;
|
|
10095
|
+
return this.meetingRequest.fetchDatachannelToken({
|
|
10096
|
+
locusUrl: this.locusUrl,
|
|
10097
|
+
requestingParticipantId: this.members.selfId,
|
|
10098
|
+
isPracticeSession: isPracticeSession
|
|
10099
|
+
});
|
|
10100
|
+
case 2:
|
|
10101
|
+
res = _context45.sent;
|
|
10102
|
+
return _context45.abrupt("return", {
|
|
10103
|
+
body: {
|
|
10104
|
+
datachannelToken: res.body.datachannelToken,
|
|
10105
|
+
dataChannelTokenType: dataChannelTokenType
|
|
10106
|
+
}
|
|
10107
|
+
});
|
|
10108
|
+
case 3:
|
|
10109
|
+
_context45.prev = 3;
|
|
10110
|
+
_t35 = _context45["catch"](1);
|
|
10111
|
+
msg = (_t35 === null || _t35 === void 0 ? void 0 : _t35.message) || String(_t35);
|
|
10112
|
+
_loggerProxy.default.logger.warn("Meeting:index#refreshDataChannelToken --> DataChannel token refresh failed (likely locus changed or participant left): ".concat(msg), {
|
|
10113
|
+
statusCode: _t35 === null || _t35 === void 0 ? void 0 : _t35.statusCode
|
|
10114
|
+
});
|
|
10115
|
+
return _context45.abrupt("return", null);
|
|
10116
|
+
case 4:
|
|
10117
|
+
case "end":
|
|
10118
|
+
return _context45.stop();
|
|
10119
|
+
}
|
|
10120
|
+
}, _callee45, this, [[1, 3]]);
|
|
10121
|
+
}));
|
|
10122
|
+
function refreshDataChannelToken() {
|
|
10123
|
+
return _refreshDataChannelToken.apply(this, arguments);
|
|
10124
|
+
}
|
|
10125
|
+
return refreshDataChannelToken;
|
|
10126
|
+
}()
|
|
10127
|
+
/**
|
|
10128
|
+
* Determines the current data channel token type based on the meeting state.
|
|
10129
|
+
*
|
|
10130
|
+
* variant should be used when connecting to the LLM data channel.
|
|
10131
|
+
*
|
|
10132
|
+
* @returns {DataChannelTokenType} The token type representing the current session mode.
|
|
10133
|
+
*/
|
|
10134
|
+
)
|
|
10135
|
+
}, {
|
|
10136
|
+
key: "getDataChannelTokenType",
|
|
10137
|
+
value: function getDataChannelTokenType() {
|
|
10138
|
+
if (this.webinar.isJoinPracticeSessionDataChannel()) {
|
|
10139
|
+
return _internalPluginLlm.DataChannelTokenType.PracticeSession;
|
|
10140
|
+
}
|
|
10141
|
+
return _internalPluginLlm.DataChannelTokenType.Default;
|
|
10142
|
+
}
|
|
9883
10143
|
}]);
|
|
9884
10144
|
}(_webexCore.StatelessWebexPlugin);
|
|
9885
10145
|
//# sourceMappingURL=index.js.map
|