@webex/plugin-meetings 3.11.0 → 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 +1138 -866
- 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/reachability/index.js +18 -10
- package/dist/reachability/index.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 +238 -44
- 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/reachability/index.ts +9 -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 +716 -115
- 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/reachability/index.ts +23 -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,8 +41,10 @@ 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");
|
|
47
|
+
var _webCapabilities = require("@webex/web-capabilities");
|
|
45
48
|
var _voiceaMeeting = require("./voicea-meeting");
|
|
46
49
|
var _webexErrors = require("../common/errors/webex-errors");
|
|
47
50
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
@@ -89,18 +92,19 @@ var _joinWebinarError = _interopRequireDefault(require("../common/errors/join-we
|
|
|
89
92
|
var _brbState = require("./brbState");
|
|
90
93
|
var _multistreamNotSupportedError = _interopRequireDefault(require("../common/errors/multistream-not-supported-error"));
|
|
91
94
|
var _joinForbiddenError = _interopRequireDefault(require("../common/errors/join-forbidden-error"));
|
|
95
|
+
var _aiEnableRequest = _interopRequireDefault(require("../aiEnableRequest"));
|
|
92
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; } } }; }
|
|
93
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; } }
|
|
94
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; }
|
|
95
|
-
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; }
|
|
96
|
-
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; }
|
|
97
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)); }
|
|
98
100
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
99
101
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
100
102
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
101
103
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
102
104
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
103
|
-
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
|
|
104
108
|
// @ts-ignore - Types not available for @webex/common
|
|
105
109
|
// default callback so we don't call an undefined function, but in practice it should never be used
|
|
106
110
|
var DEFAULT_ICE_PHASE_CALLBACK = function DEFAULT_ICE_PHASE_CALLBACK() {
|
|
@@ -130,7 +134,6 @@ var ScreenShareFloorStatus = exports.ScreenShareFloorStatus = /*#__PURE__*/funct
|
|
|
130
134
|
ScreenShareFloorStatus["RELEASED"] = "floor_released";
|
|
131
135
|
return ScreenShareFloorStatus;
|
|
132
136
|
}({});
|
|
133
|
-
var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
134
137
|
/**
|
|
135
138
|
* MediaDirection
|
|
136
139
|
* @typedef {Object} MediaDirection
|
|
@@ -142,12 +145,14 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
142
145
|
* @property {boolean} receiveShare
|
|
143
146
|
* @property {boolean} isSharing
|
|
144
147
|
*/
|
|
148
|
+
|
|
145
149
|
/**
|
|
146
150
|
* SharePreferences
|
|
147
151
|
* @typedef {Object} SharePreferences
|
|
148
152
|
* @property {Object} [shareConstraints]
|
|
149
153
|
* @property {Boolean} [highFrameRate]
|
|
150
154
|
*/
|
|
155
|
+
|
|
151
156
|
/**
|
|
152
157
|
* JoinOptions
|
|
153
158
|
* @typedef {Object} JoinOptions
|
|
@@ -159,12 +164,14 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
159
164
|
* @property {Boolean} [rejoin]
|
|
160
165
|
* @property {Boolean} [enableMultistream]
|
|
161
166
|
*/
|
|
167
|
+
|
|
162
168
|
/**
|
|
163
169
|
* Recording
|
|
164
170
|
* @typedef {Object} Recording
|
|
165
171
|
* @property {Object} state
|
|
166
172
|
* @property {String} modifiedBy
|
|
167
173
|
*/
|
|
174
|
+
|
|
168
175
|
/**
|
|
169
176
|
* Meeting State Change Event
|
|
170
177
|
* Emitted when ever there is a meeting state change
|
|
@@ -175,6 +182,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
175
182
|
* @property {String} previousState previous state of the meeting
|
|
176
183
|
* @memberof Meeting
|
|
177
184
|
*/
|
|
185
|
+
|
|
178
186
|
/**
|
|
179
187
|
* Media Ready Event
|
|
180
188
|
* Emitted when a stream is ready to be rendered
|
|
@@ -185,6 +193,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
185
193
|
* @property {String} type what type of stream, remote, local
|
|
186
194
|
* @memberof Meeting
|
|
187
195
|
*/
|
|
196
|
+
|
|
188
197
|
/**
|
|
189
198
|
* Media Stopped Event
|
|
190
199
|
* Emitted when a stream has stopped sending
|
|
@@ -194,6 +203,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
194
203
|
* @property {String} type what type of stream, remote, local
|
|
195
204
|
* @memberof Meeting
|
|
196
205
|
*/
|
|
206
|
+
|
|
197
207
|
/**
|
|
198
208
|
* Meeting Ringing Event
|
|
199
209
|
* Emitted when this client should play a ringing sound, because this member is getting an incoming meeting
|
|
@@ -205,6 +215,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
205
215
|
* @property {String} id
|
|
206
216
|
* @memberof Meeting
|
|
207
217
|
*/
|
|
218
|
+
|
|
208
219
|
/**
|
|
209
220
|
* Meeting Ringing Stop Event
|
|
210
221
|
* Emitted when this client should stop playing a ringing sound
|
|
@@ -217,6 +228,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
217
228
|
* @property {String} id
|
|
218
229
|
* @memberof Meeting
|
|
219
230
|
*/
|
|
231
|
+
|
|
220
232
|
/**
|
|
221
233
|
* Meeting Started Sharing Local Event
|
|
222
234
|
* Emitted when this member starts sharing
|
|
@@ -225,6 +237,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
225
237
|
* @type {Object}
|
|
226
238
|
* @memberof Meeting
|
|
227
239
|
*/
|
|
240
|
+
|
|
228
241
|
/**
|
|
229
242
|
* Meeting Stopped Sharing Local Event
|
|
230
243
|
* Emitted when this member stops sharing
|
|
@@ -233,6 +246,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
233
246
|
* @type {Object}
|
|
234
247
|
* @memberof Meeting
|
|
235
248
|
*/
|
|
249
|
+
|
|
236
250
|
/**
|
|
237
251
|
* Meeting Started Sharing Remote Event
|
|
238
252
|
* Emitted when remote sharing starts
|
|
@@ -246,6 +260,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
246
260
|
* @memberof Meeting
|
|
247
261
|
*
|
|
248
262
|
*/
|
|
263
|
+
|
|
249
264
|
/**
|
|
250
265
|
* Meeting Stopped Sharing Remote Event
|
|
251
266
|
* Emitted when remote screen sharing ends
|
|
@@ -254,6 +269,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
254
269
|
* @type {Object}
|
|
255
270
|
* @memberof Meeting
|
|
256
271
|
*/
|
|
272
|
+
|
|
257
273
|
/**
|
|
258
274
|
* Meeting Locked Event
|
|
259
275
|
* Emitted when a meeting is locked
|
|
@@ -263,6 +279,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
263
279
|
* @property {Object} info
|
|
264
280
|
* @memberof Meeting
|
|
265
281
|
*/
|
|
282
|
+
|
|
266
283
|
/**
|
|
267
284
|
* Meeting Unlocked Event
|
|
268
285
|
* Emitted when a meeting is unlocked
|
|
@@ -272,6 +289,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
272
289
|
* @property {Object} info
|
|
273
290
|
* @memberof Meeting
|
|
274
291
|
*/
|
|
292
|
+
|
|
275
293
|
/**
|
|
276
294
|
* Meeting Actions Update Event
|
|
277
295
|
* Emitted when a user can take actions on a meeting such as lock, unlock, assign host
|
|
@@ -283,6 +301,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
283
301
|
* @property {Boolean} canAssignHost
|
|
284
302
|
* @memberof Meeting
|
|
285
303
|
*/
|
|
304
|
+
|
|
286
305
|
/**
|
|
287
306
|
* Meeting Unmuted By Others Event
|
|
288
307
|
* Emitted when a member is unmuted by another member
|
|
@@ -292,6 +311,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
292
311
|
* @property {Object} payload
|
|
293
312
|
* @memberof Meeting
|
|
294
313
|
*/
|
|
314
|
+
|
|
295
315
|
/**
|
|
296
316
|
* Meeting Muted By Others Event
|
|
297
317
|
* Emitted when a member is muted by another member
|
|
@@ -302,6 +322,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
302
322
|
* @property {Boolean} payload.unmuteAllowed - whether the user is allowed to unmute self
|
|
303
323
|
* @memberof Meeting
|
|
304
324
|
*/
|
|
325
|
+
|
|
305
326
|
/**
|
|
306
327
|
* Meeting Muted By Others Event
|
|
307
328
|
* Emitted when the host(moderator)/co-host requests a user to unmute
|
|
@@ -311,6 +332,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
311
332
|
* @property {Object} payload
|
|
312
333
|
* @memberof Meeting
|
|
313
334
|
*/
|
|
335
|
+
|
|
314
336
|
/**
|
|
315
337
|
* Meeting Self Guest Admitted Event
|
|
316
338
|
* Emitted when a joined user get admitted to the meeting by another member or host
|
|
@@ -320,6 +342,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
320
342
|
* @property {Object} payload
|
|
321
343
|
* @memberof Meeting
|
|
322
344
|
*/
|
|
345
|
+
|
|
323
346
|
/**
|
|
324
347
|
* Meeting Self Lobby Waiting Event
|
|
325
348
|
* Emitted when joined user enters the lobby and is waiting for the webex meeting to begin
|
|
@@ -329,6 +352,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
329
352
|
* @property {Object} reason Reason why user left the meeting
|
|
330
353
|
* @memberof Meeting
|
|
331
354
|
*/
|
|
355
|
+
|
|
332
356
|
/**
|
|
333
357
|
* Meeting Self Left State
|
|
334
358
|
* Emitted when user is inactive for more then 40 seconds, User can rejoin the meeting again
|
|
@@ -338,6 +362,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
338
362
|
* @property {Object} payload
|
|
339
363
|
* @memberof Meeting
|
|
340
364
|
*/
|
|
365
|
+
|
|
341
366
|
/**
|
|
342
367
|
* Reconnection Starting Event
|
|
343
368
|
* Emitted when reconnection of media to the active meeting was successful
|
|
@@ -345,6 +370,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
345
370
|
* @instance
|
|
346
371
|
* @memberof Meeting
|
|
347
372
|
*/
|
|
373
|
+
|
|
348
374
|
/**
|
|
349
375
|
* Reconnection Success Event
|
|
350
376
|
* Emitted when reconnection of media to the active meeting was successful
|
|
@@ -354,6 +380,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
354
380
|
* @property {Object} reconnect
|
|
355
381
|
* @memberof Meeting
|
|
356
382
|
*/
|
|
383
|
+
|
|
357
384
|
/**
|
|
358
385
|
* Reconnection Failure Event
|
|
359
386
|
* Emitted when reconnection of media to the active meeting was successful
|
|
@@ -363,6 +390,7 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
363
390
|
* @property {Error} error
|
|
364
391
|
* @memberof Meeting
|
|
365
392
|
*/
|
|
393
|
+
|
|
366
394
|
/**
|
|
367
395
|
* Meeting network quality event
|
|
368
396
|
* Emitted on each interval of retrieving stats Analyzer data
|
|
@@ -372,11 +400,33 @@ var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
|
372
400
|
* @property {number} networkQualityScore - {1|0} 1 indicates acceptable uplink 0 indicates unacceptable uplink based on threshold
|
|
373
401
|
* @memberof Meeting
|
|
374
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
|
+
|
|
375
424
|
/**
|
|
376
425
|
* @description Meeting is the crux of the plugin
|
|
377
426
|
* @export
|
|
378
427
|
* @class Meeting
|
|
379
428
|
*/
|
|
429
|
+
var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
380
430
|
var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
381
431
|
/**
|
|
382
432
|
* @param {Object} attrs
|
|
@@ -386,7 +436,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
386
436
|
* @memberof Meeting
|
|
387
437
|
*/
|
|
388
438
|
function Meeting(attrs, _options, callback) {
|
|
389
|
-
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;
|
|
390
440
|
var _this;
|
|
391
441
|
(0, _classCallCheck2.default)(this, Meeting);
|
|
392
442
|
_this = _callSuper(this, Meeting, [{}, _options]);
|
|
@@ -402,6 +452,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
402
452
|
(0, _defineProperty3.default)(_this, "breakouts", void 0);
|
|
403
453
|
(0, _defineProperty3.default)(_this, "simultaneousInterpretation", void 0);
|
|
404
454
|
(0, _defineProperty3.default)(_this, "annotation", void 0);
|
|
455
|
+
(0, _defineProperty3.default)(_this, "aiEnableRequest", void 0);
|
|
405
456
|
(0, _defineProperty3.default)(_this, "webinar", void 0);
|
|
406
457
|
(0, _defineProperty3.default)(_this, "conversationUrl", void 0);
|
|
407
458
|
(0, _defineProperty3.default)(_this, "callStateForMetrics", void 0);
|
|
@@ -451,6 +502,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
451
502
|
(0, _defineProperty3.default)(_this, "keepAliveTimerId", void 0);
|
|
452
503
|
(0, _defineProperty3.default)(_this, "lastVideoLayoutInfo", void 0);
|
|
453
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
|
|
454
512
|
(0, _defineProperty3.default)(_this, "locusMediaRequest", void 0);
|
|
455
513
|
(0, _defineProperty3.default)(_this, "mediaProperties", void 0);
|
|
456
514
|
(0, _defineProperty3.default)(_this, "mediaRequestManagers", void 0);
|
|
@@ -479,7 +537,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
479
537
|
(0, _defineProperty3.default)(_this, "endCallInitJoinReq", void 0);
|
|
480
538
|
(0, _defineProperty3.default)(_this, "endJoinReqResp", void 0);
|
|
481
539
|
(0, _defineProperty3.default)(_this, "endLocalSDPGenRemoteSDPRecvDelay", void 0);
|
|
482
|
-
(0, _defineProperty3.default)(_this, "joinedWith", void 0);
|
|
483
540
|
(0, _defineProperty3.default)(_this, "locusId", void 0);
|
|
484
541
|
(0, _defineProperty3.default)(_this, "startCallInitJoinReq", void 0);
|
|
485
542
|
(0, _defineProperty3.default)(_this, "startJoinReqResp", void 0);
|
|
@@ -494,12 +551,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
494
551
|
(0, _defineProperty3.default)(_this, "permissionTokenReceivedLocalTime", void 0);
|
|
495
552
|
(0, _defineProperty3.default)(_this, "resourceId", void 0);
|
|
496
553
|
(0, _defineProperty3.default)(_this, "resourceUrl", void 0);
|
|
497
|
-
(0, _defineProperty3.default)(_this, "selfId", void 0);
|
|
498
554
|
(0, _defineProperty3.default)(_this, "state", void 0);
|
|
499
555
|
(0, _defineProperty3.default)(_this, "localAudioStreamMuteStateHandler", void 0);
|
|
500
556
|
(0, _defineProperty3.default)(_this, "localVideoStreamMuteStateHandler", void 0);
|
|
501
557
|
(0, _defineProperty3.default)(_this, "localOutputTrackChangeHandler", void 0);
|
|
502
|
-
(0, _defineProperty3.default)(_this, "
|
|
558
|
+
(0, _defineProperty3.default)(_this, "localConstraintsChangeHandler", void 0);
|
|
503
559
|
(0, _defineProperty3.default)(_this, "environment", void 0);
|
|
504
560
|
(0, _defineProperty3.default)(_this, "namespace", _constants.MEETINGS);
|
|
505
561
|
(0, _defineProperty3.default)(_this, "allowMediaInLobby", void 0);
|
|
@@ -569,6 +625,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
569
625
|
*/
|
|
570
626
|
(0, _defineProperty3.default)(_this, "processLocusLLMEvent", function (event) {
|
|
571
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
|
+
}
|
|
572
632
|
_this.locusInfo.parse(_this, event.data);
|
|
573
633
|
} else {
|
|
574
634
|
_loggerProxy.default.logger.warn("Meeting:index#processLocusLLMEvent --> Unknown event type: ".concat(event.data.eventType));
|
|
@@ -586,13 +646,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
586
646
|
if (
|
|
587
647
|
// @ts-ignore - config coming from registerPlugin
|
|
588
648
|
(_this.config.receiveReactions || options.receiveReactions) && _this.isReactionsSupported()) {
|
|
649
|
+
var _this$locusInfo, _this$locusInfo$info;
|
|
589
650
|
var member = _this.members.membersCollection.get(e.data.sender.participantId);
|
|
590
|
-
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)) {
|
|
591
652
|
// @ts-ignore -- fix type
|
|
592
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."));
|
|
593
654
|
break;
|
|
594
655
|
}
|
|
595
|
-
var name = member.name;
|
|
656
|
+
var name = member && member.name || e.data.sender.displayName;
|
|
596
657
|
var processedReaction = {
|
|
597
658
|
reaction: e.data.reaction,
|
|
598
659
|
sender: {
|
|
@@ -625,6 +686,61 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
625
686
|
function: 'handleLLMOnline'
|
|
626
687
|
}, _constants.EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED, undefined);
|
|
627
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
|
+
})));
|
|
628
744
|
/**
|
|
629
745
|
* Handles ROAP_FAILURE event from the webrtc media connection
|
|
630
746
|
*
|
|
@@ -810,8 +926,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
810
926
|
seq: event.roapMessage.seq,
|
|
811
927
|
tieBreaker: event.roapMessage.tieBreaker,
|
|
812
928
|
meeting: _this // or can pass meeting ID
|
|
813
|
-
}).then(function (
|
|
814
|
-
var roapAnswer =
|
|
929
|
+
}).then(function (_ref4) {
|
|
930
|
+
var roapAnswer = _ref4.roapAnswer;
|
|
815
931
|
if (roapAnswer) {
|
|
816
932
|
_loggerProxy.default.logger.log("".concat(LOG_HEADER, " received Roap ANSWER in http response"));
|
|
817
933
|
_this.roapMessageReceived(roapAnswer);
|
|
@@ -1214,32 +1330,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1214
1330
|
* @returns {Promise<void>}
|
|
1215
1331
|
*/
|
|
1216
1332
|
(0, _defineProperty3.default)(_this, "forceSendStatsReport", /*#__PURE__*/function () {
|
|
1217
|
-
var
|
|
1218
|
-
var callFrom, LOG_HEADER, _this$mediaProperties, _this$mediaProperties2,
|
|
1219
|
-
return _regenerator.default.wrap(function (
|
|
1220
|
-
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) {
|
|
1221
1337
|
case 0:
|
|
1222
|
-
callFrom =
|
|
1338
|
+
callFrom = _ref5.callFrom;
|
|
1223
1339
|
LOG_HEADER = "Meeting:index#forceSendStatsReport --> called from ".concat(callFrom, " : ");
|
|
1224
|
-
|
|
1225
|
-
|
|
1340
|
+
_context2.prev = 1;
|
|
1341
|
+
_context2.next = 2;
|
|
1226
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();
|
|
1227
1343
|
case 2:
|
|
1228
1344
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " successfully uploaded available webrtc telemetry statistics"));
|
|
1229
|
-
|
|
1345
|
+
_context2.next = 4;
|
|
1230
1346
|
break;
|
|
1231
1347
|
case 3:
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
_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);
|
|
1235
1351
|
case 4:
|
|
1236
1352
|
case "end":
|
|
1237
|
-
return
|
|
1353
|
+
return _context2.stop();
|
|
1238
1354
|
}
|
|
1239
|
-
},
|
|
1355
|
+
}, _callee2, null, [[1, 3]]);
|
|
1240
1356
|
}));
|
|
1241
1357
|
return function (_x) {
|
|
1242
|
-
return
|
|
1358
|
+
return _ref6.apply(this, arguments);
|
|
1243
1359
|
};
|
|
1244
1360
|
}());
|
|
1245
1361
|
/**
|
|
@@ -1299,40 +1415,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1299
1415
|
* @memberof Meeting
|
|
1300
1416
|
* @returns {undefined}
|
|
1301
1417
|
*/
|
|
1302
|
-
(0, _defineProperty3.default)(_this, "handleShareAudioStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1303
|
-
var
|
|
1304
|
-
return _regenerator.default.wrap(function (
|
|
1305
|
-
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) {
|
|
1306
1422
|
case 0:
|
|
1307
1423
|
_loggerProxy.default.logger.info("Meeting:index#handleShareAudioStreamEnded --> audio share stream ended");
|
|
1308
1424
|
// current share audio stream has ended, but there might be an active
|
|
1309
1425
|
// share video stream. we only leave from wireless share if share has
|
|
1310
1426
|
// completely ended, which means no share audio or video streams active
|
|
1311
1427
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareVideoStream)) {
|
|
1312
|
-
|
|
1428
|
+
_context3.next = 1;
|
|
1313
1429
|
break;
|
|
1314
1430
|
}
|
|
1315
1431
|
_this.leave({
|
|
1316
1432
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1317
1433
|
});
|
|
1318
|
-
|
|
1434
|
+
_context3.next = 4;
|
|
1319
1435
|
break;
|
|
1320
1436
|
case 1:
|
|
1321
|
-
|
|
1322
|
-
|
|
1437
|
+
_context3.prev = 1;
|
|
1438
|
+
_context3.next = 2;
|
|
1323
1439
|
return _this.unpublishStreams([_this.mediaProperties.shareAudioStream]);
|
|
1324
1440
|
case 2:
|
|
1325
|
-
|
|
1441
|
+
_context3.next = 4;
|
|
1326
1442
|
break;
|
|
1327
1443
|
case 3:
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
_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);
|
|
1331
1447
|
case 4:
|
|
1332
1448
|
case "end":
|
|
1333
|
-
return
|
|
1449
|
+
return _context3.stop();
|
|
1334
1450
|
}
|
|
1335
|
-
},
|
|
1451
|
+
}, _callee3, null, [[1, 3]]);
|
|
1336
1452
|
})));
|
|
1337
1453
|
/**
|
|
1338
1454
|
* Functionality for when a share video is muted or unmuted.
|
|
@@ -1364,42 +1480,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1364
1480
|
* @memberof Meeting
|
|
1365
1481
|
* @returns {undefined}
|
|
1366
1482
|
*/
|
|
1367
|
-
(0, _defineProperty3.default)(_this, "handleShareVideoStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1368
|
-
var
|
|
1369
|
-
return _regenerator.default.wrap(function (
|
|
1370
|
-
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) {
|
|
1371
1487
|
case 0:
|
|
1372
1488
|
_loggerProxy.default.logger.info("Meeting:index#handleShareVideoStreamEnded --> video share stream ended");
|
|
1373
1489
|
// current share video stream has ended, but there might be an active
|
|
1374
1490
|
// share audio stream. we only leave from wireless share if share has
|
|
1375
1491
|
// completely ended, which means no share audio or video streams active
|
|
1376
1492
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareAudioStream)) {
|
|
1377
|
-
|
|
1493
|
+
_context4.next = 1;
|
|
1378
1494
|
break;
|
|
1379
1495
|
}
|
|
1380
1496
|
_this.leave({
|
|
1381
1497
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1382
1498
|
});
|
|
1383
|
-
|
|
1499
|
+
_context4.next = 4;
|
|
1384
1500
|
break;
|
|
1385
1501
|
case 1:
|
|
1386
|
-
|
|
1387
|
-
|
|
1502
|
+
_context4.prev = 1;
|
|
1503
|
+
_context4.next = 2;
|
|
1388
1504
|
return _this.unpublishStreams([_this.mediaProperties.shareVideoStream]);
|
|
1389
1505
|
case 2:
|
|
1390
|
-
|
|
1506
|
+
_context4.next = 4;
|
|
1391
1507
|
break;
|
|
1392
1508
|
case 3:
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
_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);
|
|
1396
1512
|
case 4:
|
|
1397
1513
|
_this.triggerStoppedSharing();
|
|
1398
1514
|
case 5:
|
|
1399
1515
|
case "end":
|
|
1400
|
-
return
|
|
1516
|
+
return _context4.stop();
|
|
1401
1517
|
}
|
|
1402
|
-
},
|
|
1518
|
+
}, _callee4, null, [[1, 3]]);
|
|
1403
1519
|
})));
|
|
1404
1520
|
/**
|
|
1405
1521
|
* Emits meeting:stoppedSharingLocal
|
|
@@ -1423,26 +1539,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1423
1539
|
* @public
|
|
1424
1540
|
* @memberof Meeting
|
|
1425
1541
|
*/
|
|
1426
|
-
(0, _defineProperty3.default)(_this, "clearMeetingData", function () {
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
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
|
+
})));
|
|
1446
1568
|
/**
|
|
1447
1569
|
* starts keepAlives being sent
|
|
1448
1570
|
* @returns {void}
|
|
@@ -1605,6 +1727,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1605
1727
|
_this.simultaneousInterpretation = new _interpretation.default({}, {
|
|
1606
1728
|
parent: _this.webex
|
|
1607
1729
|
});
|
|
1730
|
+
|
|
1731
|
+
// @ts-ignore
|
|
1732
|
+
_this.aiEnableRequest = new _aiEnableRequest.default({}, {
|
|
1733
|
+
parent: _this.webex
|
|
1734
|
+
});
|
|
1735
|
+
|
|
1608
1736
|
/**
|
|
1609
1737
|
* @instance
|
|
1610
1738
|
* @type {Annotation}
|
|
@@ -2184,9 +2312,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2184
2312
|
* @memberof Meeting
|
|
2185
2313
|
*/
|
|
2186
2314
|
_this.recordingController = new _recordingController.default(_this.meetingRequest, {
|
|
2187
|
-
serviceUrl: (_this$
|
|
2188
|
-
sessionId: (_this$
|
|
2189
|
-
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,
|
|
2190
2318
|
displayHints: []
|
|
2191
2319
|
});
|
|
2192
2320
|
|
|
@@ -2198,7 +2326,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2198
2326
|
* @memberof Meeting
|
|
2199
2327
|
*/
|
|
2200
2328
|
_this.controlsOptionsManager = new _controlsOptionsManager.default(_this.meetingRequest, {
|
|
2201
|
-
locusUrl: (_this$
|
|
2329
|
+
locusUrl: (_this$locusInfo5 = _this.locusInfo) === null || _this$locusInfo5 === void 0 ? void 0 : _this$locusInfo5.url,
|
|
2202
2330
|
displayHints: []
|
|
2203
2331
|
});
|
|
2204
2332
|
_this.setUpLocusInfoListeners();
|
|
@@ -2227,6 +2355,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2227
2355
|
_this.updateTranscodedMediaConnection();
|
|
2228
2356
|
}
|
|
2229
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
|
+
};
|
|
2230
2364
|
|
|
2231
2365
|
/**
|
|
2232
2366
|
* Promise that exists if SDP offer has been generated, and resolves once sdp answer is received.
|
|
@@ -2563,20 +2697,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2563
2697
|
}, {
|
|
2564
2698
|
key: "injectMeetingInfo",
|
|
2565
2699
|
value: (function () {
|
|
2566
|
-
var _injectMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2567
|
-
return _regenerator.default.wrap(function (
|
|
2568
|
-
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) {
|
|
2569
2703
|
case 0:
|
|
2570
|
-
|
|
2704
|
+
_context6.next = 1;
|
|
2571
2705
|
return this.prepForFetchMeetingInfo(fetchParams, 'injectMeetingInfo');
|
|
2572
2706
|
case 1:
|
|
2573
2707
|
this.parseMeetingInfo(meetingInfo, this.destination);
|
|
2574
2708
|
this.setMeetingInfo(meetingInfo, meetingLookupUrl);
|
|
2575
2709
|
case 2:
|
|
2576
2710
|
case "end":
|
|
2577
|
-
return
|
|
2711
|
+
return _context6.stop();
|
|
2578
2712
|
}
|
|
2579
|
-
},
|
|
2713
|
+
}, _callee6, this);
|
|
2580
2714
|
}));
|
|
2581
2715
|
function injectMeetingInfo(_x2, _x3, _x4) {
|
|
2582
2716
|
return _injectMeetingInfo.apply(this, arguments);
|
|
@@ -2595,15 +2729,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2595
2729
|
)
|
|
2596
2730
|
}, {
|
|
2597
2731
|
key: "prepForFetchMeetingInfo",
|
|
2598
|
-
value: function prepForFetchMeetingInfo(
|
|
2599
|
-
var
|
|
2600
|
-
password =
|
|
2601
|
-
|
|
2602
|
-
registrationId =
|
|
2603
|
-
|
|
2604
|
-
captchaCode =
|
|
2605
|
-
|
|
2606
|
-
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;
|
|
2607
2741
|
// when fetch meeting info is called directly by the client, we want to clear out the random timer for sdk to do it
|
|
2608
2742
|
if (this.fetchMeetingInfoTimeoutId) {
|
|
2609
2743
|
clearTimeout(this.fetchMeetingInfoTimeoutId);
|
|
@@ -2627,18 +2761,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2627
2761
|
}, {
|
|
2628
2762
|
key: "fetchMeetingInfoInternal",
|
|
2629
2763
|
value: (function () {
|
|
2630
|
-
var _fetchMeetingInfoInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2631
|
-
var destination, destinationType,
|
|
2632
|
-
return _regenerator.default.wrap(function (
|
|
2633
|
-
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) {
|
|
2634
2768
|
case 0:
|
|
2635
|
-
destination =
|
|
2636
|
-
|
|
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;
|
|
2637
2771
|
captchaInfo = captchaCode ? {
|
|
2638
2772
|
code: captchaCode,
|
|
2639
2773
|
id: this.requiredCaptcha.captchaId
|
|
2640
2774
|
} : null;
|
|
2641
|
-
|
|
2775
|
+
_context7.next = 2;
|
|
2642
2776
|
return this.attrs.meetingInfoProvider.fetchMeetingInfo(destination, destinationType, password, captchaInfo,
|
|
2643
2777
|
// @ts-ignore - config coming from registerPlugin
|
|
2644
2778
|
this.config.installedOrgID, this.locusId, extraParams, {
|
|
@@ -2646,112 +2780,112 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2646
2780
|
sendCAevents: sendCAevents
|
|
2647
2781
|
}, registrationId, null, classificationId);
|
|
2648
2782
|
case 2:
|
|
2649
|
-
info =
|
|
2783
|
+
info = _context7.sent;
|
|
2650
2784
|
this.parseMeetingInfo(info === null || info === void 0 ? void 0 : info.body, this.destination, info === null || info === void 0 ? void 0 : info.errors);
|
|
2651
2785
|
this.setMeetingInfo(info === null || info === void 0 ? void 0 : info.body, info === null || info === void 0 ? void 0 : info.url);
|
|
2652
|
-
return
|
|
2786
|
+
return _context7.abrupt("return", _promise.default.resolve());
|
|
2653
2787
|
case 3:
|
|
2654
|
-
|
|
2655
|
-
|
|
2788
|
+
_context7.prev = 3;
|
|
2789
|
+
_t5 = _context7["catch"](1);
|
|
2656
2790
|
this.updateMeetingActions();
|
|
2657
|
-
if (!(
|
|
2658
|
-
|
|
2791
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2PolicyError)) {
|
|
2792
|
+
_context7.next = 4;
|
|
2659
2793
|
break;
|
|
2660
2794
|
}
|
|
2661
2795
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.POLICY;
|
|
2662
|
-
this.meetingInfoFailureCode =
|
|
2663
|
-
if (
|
|
2664
|
-
this.meetingInfo =
|
|
2796
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2797
|
+
if (_t5.meetingInfo) {
|
|
2798
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2665
2799
|
}
|
|
2666
2800
|
throw new _permission.default();
|
|
2667
2801
|
case 4:
|
|
2668
|
-
if (!(
|
|
2669
|
-
|
|
2802
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2JoinWebinarError)) {
|
|
2803
|
+
_context7.next = 5;
|
|
2670
2804
|
break;
|
|
2671
2805
|
}
|
|
2672
2806
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_REGISTRATION;
|
|
2673
|
-
if (_constants.WEBINAR_ERROR_WEBCAST.includes(
|
|
2807
|
+
if (_constants.WEBINAR_ERROR_WEBCAST.includes(_t5.wbxAppApiCode)) {
|
|
2674
2808
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NEED_JOIN_WITH_WEBCAST;
|
|
2675
|
-
} else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(
|
|
2809
|
+
} else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(_t5.wbxAppApiCode)) {
|
|
2676
2810
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_NEED_REGISTRATION_ID;
|
|
2677
2811
|
}
|
|
2678
|
-
this.meetingInfoFailureCode =
|
|
2679
|
-
if (
|
|
2680
|
-
this.meetingInfo =
|
|
2812
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2813
|
+
if (_t5.meetingInfo) {
|
|
2814
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2681
2815
|
}
|
|
2682
2816
|
this.requiredCaptcha = null;
|
|
2683
2817
|
throw new _joinWebinarError.default();
|
|
2684
2818
|
case 5:
|
|
2685
|
-
if (!(
|
|
2686
|
-
|
|
2819
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2JoinForbiddenError)) {
|
|
2820
|
+
_context7.next = 6;
|
|
2687
2821
|
break;
|
|
2688
2822
|
}
|
|
2689
2823
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.JOIN_FORBIDDEN;
|
|
2690
|
-
this.meetingInfoFailureCode =
|
|
2691
|
-
if (
|
|
2692
|
-
this.meetingInfo =
|
|
2824
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2825
|
+
if (_t5.meetingInfo) {
|
|
2826
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2693
2827
|
}
|
|
2694
2828
|
|
|
2695
2829
|
// Handle the case where user hasn't reached Join Before Host (JBH) time (error code 403003)
|
|
2696
|
-
if (_constants.JOIN_BEFORE_HOST ===
|
|
2830
|
+
if (_constants.JOIN_BEFORE_HOST === _t5.wbxAppApiCode) {
|
|
2697
2831
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NOT_REACH_JBH;
|
|
2698
2832
|
}
|
|
2699
|
-
throw new _joinForbiddenError.default(this.meetingInfoFailureReason,
|
|
2833
|
+
throw new _joinForbiddenError.default(this.meetingInfoFailureReason, _t5);
|
|
2700
2834
|
case 6:
|
|
2701
|
-
if (!(
|
|
2702
|
-
|
|
2835
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
|
|
2836
|
+
_context7.next = 8;
|
|
2703
2837
|
break;
|
|
2704
2838
|
}
|
|
2705
2839
|
_loggerProxy.default.logger.info(// @ts-ignore
|
|
2706
|
-
"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, ")."));
|
|
2707
2841
|
|
|
2708
2842
|
// when wbxappapi requires password it still populates partial meeting info in the response
|
|
2709
|
-
if (
|
|
2710
|
-
this.meetingInfo =
|
|
2711
|
-
this.meetingNumber =
|
|
2843
|
+
if (_t5.meetingInfo) {
|
|
2844
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2845
|
+
this.meetingNumber = _t5.meetingInfo.meetingNumber;
|
|
2712
2846
|
}
|
|
2713
|
-
this.meetingInfoFailureCode =
|
|
2847
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2714
2848
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2715
2849
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2716
2850
|
if (!this.requiredCaptcha) {
|
|
2717
|
-
|
|
2851
|
+
_context7.next = 7;
|
|
2718
2852
|
break;
|
|
2719
2853
|
}
|
|
2720
|
-
|
|
2854
|
+
_context7.next = 7;
|
|
2721
2855
|
return this.refreshCaptcha();
|
|
2722
2856
|
case 7:
|
|
2723
2857
|
throw new _passwordError.default();
|
|
2724
2858
|
case 8:
|
|
2725
|
-
if (!(
|
|
2726
|
-
|
|
2859
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
|
|
2860
|
+
_context7.next = 9;
|
|
2727
2861
|
break;
|
|
2728
2862
|
}
|
|
2729
2863
|
_loggerProxy.default.logger.info(// @ts-ignore
|
|
2730
|
-
"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, ")."));
|
|
2731
2865
|
if (this.requiredCaptcha) {
|
|
2732
2866
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_CAPTCHA;
|
|
2733
|
-
} else if (
|
|
2867
|
+
} else if (_t5.isRegistrationIdRequired) {
|
|
2734
2868
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_REGISTRATION_ID;
|
|
2735
2869
|
} else {
|
|
2736
2870
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2737
2871
|
}
|
|
2738
|
-
this.meetingInfoFailureCode =
|
|
2739
|
-
if (
|
|
2872
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2873
|
+
if (_t5.isPasswordRequired) {
|
|
2740
2874
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2741
2875
|
}
|
|
2742
|
-
if (
|
|
2876
|
+
if (_t5.isRegistrationIdRequired) {
|
|
2743
2877
|
this.registrationIdStatus = _constants.REGISTRATION_ID_STATUS.REQUIRED;
|
|
2744
2878
|
}
|
|
2745
|
-
this.requiredCaptcha =
|
|
2879
|
+
this.requiredCaptcha = _t5.captchaInfo;
|
|
2746
2880
|
throw new _captchaError.default();
|
|
2747
2881
|
case 9:
|
|
2748
2882
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
|
|
2749
|
-
throw
|
|
2883
|
+
throw _t5;
|
|
2750
2884
|
case 10:
|
|
2751
2885
|
case "end":
|
|
2752
|
-
return
|
|
2886
|
+
return _context7.stop();
|
|
2753
2887
|
}
|
|
2754
|
-
},
|
|
2888
|
+
}, _callee7, this, [[1, 3]]);
|
|
2755
2889
|
}));
|
|
2756
2890
|
function fetchMeetingInfoInternal(_x5) {
|
|
2757
2891
|
return _fetchMeetingInfoInternal.apply(this, arguments);
|
|
@@ -2768,18 +2902,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2768
2902
|
}, {
|
|
2769
2903
|
key: "refreshPermissionToken",
|
|
2770
2904
|
value: (function () {
|
|
2771
|
-
var _refreshPermissionToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2905
|
+
var _refreshPermissionToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(reason) {
|
|
2772
2906
|
var _this$meetingInfo;
|
|
2773
|
-
var isStartingSpaceInstantV2Meeting, destination, destinationType, permissionTokenExpiryInfo, timeLeft, expiryTime, currentTime,
|
|
2774
|
-
return _regenerator.default.wrap(function (
|
|
2775
|
-
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) {
|
|
2776
2910
|
case 0:
|
|
2777
2911
|
if ((_this$meetingInfo = this.meetingInfo) !== null && _this$meetingInfo !== void 0 && _this$meetingInfo.permissionToken) {
|
|
2778
|
-
|
|
2912
|
+
_context8.next = 1;
|
|
2779
2913
|
break;
|
|
2780
2914
|
}
|
|
2781
2915
|
_loggerProxy.default.logger.info("Meeting:index#refreshPermissionToken --> cannot refresh the permission token, because we don't have it (reason=".concat(reason, ")"));
|
|
2782
|
-
return
|
|
2916
|
+
return _context8.abrupt("return");
|
|
2783
2917
|
case 1:
|
|
2784
2918
|
isStartingSpaceInstantV2Meeting = this.destinationType === _constants.DESTINATION_TYPE.CONVERSATION_URL &&
|
|
2785
2919
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -2801,8 +2935,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2801
2935
|
reason: reason,
|
|
2802
2936
|
destinationType: destinationType
|
|
2803
2937
|
});
|
|
2804
|
-
|
|
2805
|
-
|
|
2938
|
+
_context8.prev = 2;
|
|
2939
|
+
_context8.next = 3;
|
|
2806
2940
|
return this.fetchMeetingInfoInternal({
|
|
2807
2941
|
destination: destination,
|
|
2808
2942
|
destinationType: destinationType,
|
|
@@ -2812,23 +2946,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2812
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
|
|
2813
2947
|
});
|
|
2814
2948
|
case 3:
|
|
2815
|
-
|
|
2949
|
+
_context8.next = 5;
|
|
2816
2950
|
break;
|
|
2817
2951
|
case 4:
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
_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);
|
|
2821
2955
|
_metrics.default.sendBehavioralMetric(_constants2.default.PERMISSION_TOKEN_REFRESH_ERROR, {
|
|
2822
2956
|
correlationId: this.correlationId,
|
|
2823
|
-
reason:
|
|
2824
|
-
stack:
|
|
2957
|
+
reason: _t6.message,
|
|
2958
|
+
stack: _t6.stack
|
|
2825
2959
|
});
|
|
2826
|
-
throw
|
|
2960
|
+
throw _t6;
|
|
2827
2961
|
case 5:
|
|
2828
2962
|
case "end":
|
|
2829
|
-
return
|
|
2963
|
+
return _context8.stop();
|
|
2830
2964
|
}
|
|
2831
|
-
},
|
|
2965
|
+
}, _callee8, this, [[2, 4]]);
|
|
2832
2966
|
}));
|
|
2833
2967
|
function refreshPermissionToken(_x6) {
|
|
2834
2968
|
return _refreshPermissionToken.apply(this, arguments);
|
|
@@ -2849,22 +2983,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2849
2983
|
}, {
|
|
2850
2984
|
key: "fetchMeetingInfo",
|
|
2851
2985
|
value: (function () {
|
|
2852
|
-
var _fetchMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2853
|
-
return _regenerator.default.wrap(function (
|
|
2854
|
-
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) {
|
|
2855
2989
|
case 0:
|
|
2856
|
-
|
|
2990
|
+
_context9.next = 1;
|
|
2857
2991
|
return this.prepForFetchMeetingInfo(options, 'fetchMeetingInfo');
|
|
2858
2992
|
case 1:
|
|
2859
|
-
return
|
|
2993
|
+
return _context9.abrupt("return", this.fetchMeetingInfoInternal(_objectSpread({
|
|
2860
2994
|
destination: this.destination,
|
|
2861
2995
|
destinationType: this.destinationType
|
|
2862
2996
|
}, options)));
|
|
2863
2997
|
case 2:
|
|
2864
2998
|
case "end":
|
|
2865
|
-
return
|
|
2999
|
+
return _context9.stop();
|
|
2866
3000
|
}
|
|
2867
|
-
},
|
|
3001
|
+
}, _callee9, this);
|
|
2868
3002
|
}));
|
|
2869
3003
|
function fetchMeetingInfo(_x7) {
|
|
2870
3004
|
return _fetchMeetingInfo.apply(this, arguments);
|
|
@@ -3390,10 +3524,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3390
3524
|
key: "setupLocusControlsListener",
|
|
3391
3525
|
value: function setupLocusControlsListener() {
|
|
3392
3526
|
var _this12 = this;
|
|
3393
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (
|
|
3394
|
-
var state =
|
|
3395
|
-
modifiedBy =
|
|
3396
|
-
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;
|
|
3397
3531
|
var event;
|
|
3398
3532
|
switch (state) {
|
|
3399
3533
|
case _constants.RECORDING_STATE.RECORDING:
|
|
@@ -3424,8 +3558,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3424
3558
|
function: 'setupLocusControlsListener'
|
|
3425
3559
|
}, event, _this12.recording);
|
|
3426
3560
|
});
|
|
3427
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (
|
|
3428
|
-
var meetingContainerUrl =
|
|
3561
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (_ref11) {
|
|
3562
|
+
var meetingContainerUrl = _ref11.meetingContainerUrl;
|
|
3429
3563
|
_triggerProxy.default.trigger(_this12, {
|
|
3430
3564
|
file: 'meeting/index',
|
|
3431
3565
|
function: 'setupLocusControlsListener'
|
|
@@ -3433,9 +3567,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3433
3567
|
meetingContainerUrl: meetingContainerUrl
|
|
3434
3568
|
});
|
|
3435
3569
|
});
|
|
3436
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (
|
|
3437
|
-
var caption =
|
|
3438
|
-
transcribing =
|
|
3570
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (_ref12) {
|
|
3571
|
+
var caption = _ref12.caption,
|
|
3572
|
+
transcribing = _ref12.transcribing;
|
|
3439
3573
|
// user need to be joined to start the llm and receive transcription
|
|
3440
3574
|
if (_this12.isJoined()) {
|
|
3441
3575
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -3452,8 +3586,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3452
3586
|
}
|
|
3453
3587
|
}
|
|
3454
3588
|
});
|
|
3455
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (
|
|
3456
|
-
var spokenLanguage =
|
|
3589
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (_ref13) {
|
|
3590
|
+
var spokenLanguage = _ref13.spokenLanguage;
|
|
3457
3591
|
if (spokenLanguage) {
|
|
3458
3592
|
var _this12$transcription;
|
|
3459
3593
|
if ((_this12$transcription = _this12.transcription) !== null && _this12$transcription !== void 0 && _this12$transcription.languageOptions) {
|
|
@@ -3470,8 +3604,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3470
3604
|
});
|
|
3471
3605
|
}
|
|
3472
3606
|
});
|
|
3473
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (
|
|
3474
|
-
var enable =
|
|
3607
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (_ref14) {
|
|
3608
|
+
var enable = _ref14.enable;
|
|
3475
3609
|
_triggerProxy.default.trigger(_this12, {
|
|
3476
3610
|
file: 'meeting/index',
|
|
3477
3611
|
function: 'setupLocusControlsListener'
|
|
@@ -3479,31 +3613,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3479
3613
|
enable: enable
|
|
3480
3614
|
});
|
|
3481
3615
|
});
|
|
3482
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED, function (
|
|
3483
|
-
var hesiodLlmId =
|
|
3616
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED, function (_ref15) {
|
|
3617
|
+
var hesiodLlmId = _ref15.hesiodLlmId;
|
|
3484
3618
|
if (hesiodLlmId) {
|
|
3485
3619
|
// @ts-ignore
|
|
3486
3620
|
_this12.webex.internal.voicea.onCaptionServiceIdUpdate(hesiodLlmId);
|
|
3487
3621
|
}
|
|
3488
3622
|
});
|
|
3489
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (
|
|
3490
|
-
var breakout =
|
|
3623
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref16) {
|
|
3624
|
+
var breakout = _ref16.breakout;
|
|
3491
3625
|
_this12.breakouts.updateBreakout(breakout);
|
|
3492
3626
|
_triggerProxy.default.trigger(_this12, {
|
|
3493
3627
|
file: 'meeting/index',
|
|
3494
3628
|
function: 'setupLocusControlsListener'
|
|
3495
3629
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
3496
3630
|
});
|
|
3497
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (
|
|
3498
|
-
var interpretation =
|
|
3631
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref17) {
|
|
3632
|
+
var interpretation = _ref17.interpretation;
|
|
3499
3633
|
_this12.simultaneousInterpretation.updateInterpretation(interpretation);
|
|
3500
3634
|
_triggerProxy.default.trigger(_this12, {
|
|
3501
3635
|
file: 'meeting/index',
|
|
3502
3636
|
function: 'setupLocusControlsListener'
|
|
3503
3637
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
3504
3638
|
});
|
|
3505
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (
|
|
3506
|
-
var entryExitTone =
|
|
3639
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref18) {
|
|
3640
|
+
var entryExitTone = _ref18.entryExitTone;
|
|
3507
3641
|
_triggerProxy.default.trigger(_this12, {
|
|
3508
3642
|
file: 'meeting/index',
|
|
3509
3643
|
function: 'setupLocusControlsListener'
|
|
@@ -3511,8 +3645,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3511
3645
|
entryExitTone: entryExitTone
|
|
3512
3646
|
});
|
|
3513
3647
|
});
|
|
3514
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (
|
|
3515
|
-
var state =
|
|
3648
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref19) {
|
|
3649
|
+
var state = _ref19.state;
|
|
3516
3650
|
_triggerProxy.default.trigger(_this12, {
|
|
3517
3651
|
file: 'meeting/index',
|
|
3518
3652
|
function: 'setupLocusControlsListener'
|
|
@@ -3520,8 +3654,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3520
3654
|
state: state
|
|
3521
3655
|
});
|
|
3522
3656
|
});
|
|
3523
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (
|
|
3524
|
-
var state =
|
|
3657
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref20) {
|
|
3658
|
+
var state = _ref20.state;
|
|
3525
3659
|
_triggerProxy.default.trigger(_this12, {
|
|
3526
3660
|
file: 'meeting/index',
|
|
3527
3661
|
function: 'setupLocusControlsListener'
|
|
@@ -3529,8 +3663,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3529
3663
|
state: state
|
|
3530
3664
|
});
|
|
3531
3665
|
});
|
|
3532
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (
|
|
3533
|
-
var state =
|
|
3666
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref21) {
|
|
3667
|
+
var state = _ref21.state;
|
|
3534
3668
|
_triggerProxy.default.trigger(_this12, {
|
|
3535
3669
|
file: 'meeting/index',
|
|
3536
3670
|
function: 'setupLocusControlsListener'
|
|
@@ -3538,8 +3672,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3538
3672
|
state: state
|
|
3539
3673
|
});
|
|
3540
3674
|
});
|
|
3541
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (
|
|
3542
|
-
var state =
|
|
3675
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref22) {
|
|
3676
|
+
var state = _ref22.state;
|
|
3543
3677
|
_triggerProxy.default.trigger(_this12, {
|
|
3544
3678
|
file: 'meeting/index',
|
|
3545
3679
|
function: 'setupLocusControlsListener'
|
|
@@ -3547,8 +3681,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3547
3681
|
state: state
|
|
3548
3682
|
});
|
|
3549
3683
|
});
|
|
3550
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (
|
|
3551
|
-
var state =
|
|
3684
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref23) {
|
|
3685
|
+
var state = _ref23.state;
|
|
3552
3686
|
_triggerProxy.default.trigger(_this12, {
|
|
3553
3687
|
file: 'meeting/index',
|
|
3554
3688
|
function: 'setupLocusControlsListener'
|
|
@@ -3556,8 +3690,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3556
3690
|
state: state
|
|
3557
3691
|
});
|
|
3558
3692
|
});
|
|
3559
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (
|
|
3560
|
-
var state =
|
|
3693
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref24) {
|
|
3694
|
+
var state = _ref24.state;
|
|
3561
3695
|
_triggerProxy.default.trigger(_this12, {
|
|
3562
3696
|
file: 'meeting/index',
|
|
3563
3697
|
function: 'setupLocusControlsListener'
|
|
@@ -3565,8 +3699,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3565
3699
|
state: state
|
|
3566
3700
|
});
|
|
3567
3701
|
});
|
|
3568
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.
|
|
3569
|
-
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;
|
|
3570
3713
|
_triggerProxy.default.trigger(_this12, {
|
|
3571
3714
|
file: 'meeting/index',
|
|
3572
3715
|
function: 'setupLocusControlsListener'
|
|
@@ -3574,8 +3717,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3574
3717
|
state: state
|
|
3575
3718
|
});
|
|
3576
3719
|
});
|
|
3577
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (
|
|
3578
|
-
var state =
|
|
3720
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref27) {
|
|
3721
|
+
var state = _ref27.state;
|
|
3579
3722
|
_triggerProxy.default.trigger(_this12, {
|
|
3580
3723
|
file: 'meeting/index',
|
|
3581
3724
|
function: 'setupLocusControlsListener'
|
|
@@ -3583,8 +3726,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3583
3726
|
state: state
|
|
3584
3727
|
});
|
|
3585
3728
|
});
|
|
3586
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (
|
|
3587
|
-
var state =
|
|
3729
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref28) {
|
|
3730
|
+
var state = _ref28.state;
|
|
3588
3731
|
_this12.webinar.updatePracticeSessionStatus(state);
|
|
3589
3732
|
_triggerProxy.default.trigger(_this12, {
|
|
3590
3733
|
file: 'meeting/index',
|
|
@@ -3593,8 +3736,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3593
3736
|
state: state
|
|
3594
3737
|
});
|
|
3595
3738
|
});
|
|
3596
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (
|
|
3597
|
-
var state =
|
|
3739
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref29) {
|
|
3740
|
+
var state = _ref29.state;
|
|
3598
3741
|
_triggerProxy.default.trigger(_this12, {
|
|
3599
3742
|
file: 'meeting/index',
|
|
3600
3743
|
function: 'setupLocusControlsListener'
|
|
@@ -3602,8 +3745,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3602
3745
|
state: state
|
|
3603
3746
|
});
|
|
3604
3747
|
});
|
|
3605
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (
|
|
3606
|
-
var state =
|
|
3748
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref30) {
|
|
3749
|
+
var state = _ref30.state;
|
|
3607
3750
|
_triggerProxy.default.trigger(_this12, {
|
|
3608
3751
|
file: 'meeting/index',
|
|
3609
3752
|
function: 'setupLocusControlsListener'
|
|
@@ -3611,8 +3754,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3611
3754
|
state: state
|
|
3612
3755
|
});
|
|
3613
3756
|
});
|
|
3614
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (
|
|
3615
|
-
var state =
|
|
3757
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (_ref31) {
|
|
3758
|
+
var state = _ref31.state;
|
|
3616
3759
|
_triggerProxy.default.trigger(_this12, {
|
|
3617
3760
|
file: 'meeting/index',
|
|
3618
3761
|
function: 'setupLocusControlsListener'
|
|
@@ -3620,8 +3763,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3620
3763
|
state: state
|
|
3621
3764
|
});
|
|
3622
3765
|
});
|
|
3623
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (
|
|
3624
|
-
var state =
|
|
3766
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (_ref32) {
|
|
3767
|
+
var state = _ref32.state;
|
|
3625
3768
|
_triggerProxy.default.trigger(_this12, {
|
|
3626
3769
|
file: 'meeting/index',
|
|
3627
3770
|
function: 'setupLocusControlsListener'
|
|
@@ -3629,8 +3772,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3629
3772
|
state: state
|
|
3630
3773
|
});
|
|
3631
3774
|
});
|
|
3632
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (
|
|
3633
|
-
var state =
|
|
3775
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (_ref33) {
|
|
3776
|
+
var state = _ref33.state;
|
|
3634
3777
|
_triggerProxy.default.trigger(_this12, {
|
|
3635
3778
|
file: 'meeting/index',
|
|
3636
3779
|
function: 'setupLocusControlsListener'
|
|
@@ -3638,8 +3781,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3638
3781
|
state: state
|
|
3639
3782
|
});
|
|
3640
3783
|
});
|
|
3641
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (
|
|
3642
|
-
var state =
|
|
3784
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (_ref34) {
|
|
3785
|
+
var state = _ref34.state;
|
|
3643
3786
|
_triggerProxy.default.trigger(_this12, {
|
|
3644
3787
|
file: 'meeting/index',
|
|
3645
3788
|
function: 'setupLocusControlsListener'
|
|
@@ -3686,21 +3829,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3686
3829
|
var _this13 = this;
|
|
3687
3830
|
// Will get triggered on local and remote share
|
|
3688
3831
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
|
3689
|
-
var
|
|
3832
|
+
var _ref35 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(payload) {
|
|
3690
3833
|
var _payload$previous, _payload$previous2;
|
|
3691
|
-
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this13$locusInfo, _this13$locusInfo$inf, _this13$webinar, oldShareStatus, sendStartedSharingRemote, _this13$mediaProperti,
|
|
3692
|
-
return _regenerator.default.wrap(function (
|
|
3693
|
-
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) {
|
|
3694
3837
|
case 0:
|
|
3695
3838
|
_payload$current = payload.current, contentShare = _payload$current.content, whiteboardShare = _payload$current.whiteboard;
|
|
3696
3839
|
previousContentShare = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
|
|
3697
3840
|
previousWhiteboardShare = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
|
|
3698
3841
|
_this13.triggerAnnotationInfoEvent(contentShare, previousContentShare);
|
|
3699
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))) {
|
|
3700
|
-
|
|
3843
|
+
_context0.next = 1;
|
|
3701
3844
|
break;
|
|
3702
3845
|
}
|
|
3703
|
-
return
|
|
3846
|
+
return _context0.abrupt("return");
|
|
3704
3847
|
case 1:
|
|
3705
3848
|
newShareStatus = _this13.shareStatus; // REMOTE - check if remote started sharing
|
|
3706
3849
|
if (_this13.selfId !== contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
|
|
@@ -3738,22 +3881,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3738
3881
|
}
|
|
3739
3882
|
_loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this13.shareStatus, " newShareStatus=").concat(newShareStatus));
|
|
3740
3883
|
if (!(newShareStatus !== _this13.shareStatus)) {
|
|
3741
|
-
|
|
3884
|
+
_context0.next = 17;
|
|
3742
3885
|
break;
|
|
3743
3886
|
}
|
|
3744
3887
|
oldShareStatus = _this13.shareStatus; // update our state before we send out any notifications
|
|
3745
3888
|
_this13.shareStatus = newShareStatus;
|
|
3746
3889
|
|
|
3747
3890
|
// send out "stop" notifications for the old state
|
|
3748
|
-
|
|
3749
|
-
|
|
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;
|
|
3750
3893
|
break;
|
|
3751
3894
|
case 2:
|
|
3752
3895
|
_triggerProxy.default.trigger(_this13, {
|
|
3753
3896
|
file: 'meetings/index',
|
|
3754
3897
|
function: 'remoteShare'
|
|
3755
3898
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
|
|
3756
|
-
return
|
|
3899
|
+
return _context0.abrupt("continue", 7);
|
|
3757
3900
|
case 3:
|
|
3758
3901
|
_triggerProxy.default.trigger(_this13, {
|
|
3759
3902
|
file: 'meeting/index',
|
|
@@ -3761,7 +3904,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3761
3904
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
3762
3905
|
reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
|
|
3763
3906
|
});
|
|
3764
|
-
return
|
|
3907
|
+
return _context0.abrupt("continue", 7);
|
|
3765
3908
|
case 4:
|
|
3766
3909
|
_triggerProxy.default.trigger(_this13, {
|
|
3767
3910
|
file: 'meeting/index',
|
|
@@ -3784,14 +3927,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3784
3927
|
meetingId: _this13.id
|
|
3785
3928
|
}
|
|
3786
3929
|
});
|
|
3787
|
-
return
|
|
3930
|
+
return _context0.abrupt("continue", 7);
|
|
3788
3931
|
case 5:
|
|
3789
|
-
return
|
|
3932
|
+
return _context0.abrupt("continue", 7);
|
|
3790
3933
|
case 6:
|
|
3791
|
-
return
|
|
3934
|
+
return _context0.abrupt("continue", 7);
|
|
3792
3935
|
case 7:
|
|
3793
|
-
|
|
3794
|
-
|
|
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;
|
|
3795
3938
|
break;
|
|
3796
3939
|
case 8:
|
|
3797
3940
|
sendStartedSharingRemote = function sendStartedSharingRemote() {
|
|
@@ -3817,19 +3960,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3817
3960
|
resourceType: contentShare.resourceType
|
|
3818
3961
|
});
|
|
3819
3962
|
};
|
|
3820
|
-
|
|
3963
|
+
_context0.prev = 9;
|
|
3821
3964
|
if (!((_this13$mediaProperti = _this13.mediaProperties.mediaDirection) !== null && _this13$mediaProperti !== void 0 && _this13$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
|
|
3822
|
-
|
|
3965
|
+
_context0.next = 10;
|
|
3823
3966
|
break;
|
|
3824
3967
|
}
|
|
3825
|
-
|
|
3968
|
+
_context0.next = 10;
|
|
3826
3969
|
return _this13.unpublishStreams([_this13.mediaProperties.shareVideoStream, _this13.mediaProperties.shareAudioStream]);
|
|
3827
3970
|
case 10:
|
|
3828
|
-
|
|
3971
|
+
_context0.prev = 10;
|
|
3829
3972
|
sendStartedSharingRemote();
|
|
3830
|
-
return
|
|
3973
|
+
return _context0.finish(10);
|
|
3831
3974
|
case 11:
|
|
3832
|
-
return
|
|
3975
|
+
return _context0.abrupt("continue", 16);
|
|
3833
3976
|
case 12:
|
|
3834
3977
|
_triggerProxy.default.trigger(_this13, {
|
|
3835
3978
|
file: 'meeting/index',
|
|
@@ -3846,7 +3989,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3846
3989
|
meetingId: _this13.id
|
|
3847
3990
|
}
|
|
3848
3991
|
});
|
|
3849
|
-
return
|
|
3992
|
+
return _context0.abrupt("continue", 16);
|
|
3850
3993
|
case 13:
|
|
3851
3994
|
_triggerProxy.default.trigger(_this13, {
|
|
3852
3995
|
file: 'meeting/index',
|
|
@@ -3865,14 +4008,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3865
4008
|
meetingId: _this13.id
|
|
3866
4009
|
}
|
|
3867
4010
|
});
|
|
3868
|
-
return
|
|
4011
|
+
return _context0.abrupt("continue", 16);
|
|
3869
4012
|
case 14:
|
|
3870
|
-
return
|
|
4013
|
+
return _context0.abrupt("continue", 16);
|
|
3871
4014
|
case 15:
|
|
3872
|
-
return
|
|
4015
|
+
return _context0.abrupt("continue", 16);
|
|
3873
4016
|
case 16:
|
|
3874
4017
|
_this13.members.locusMediaSharesUpdate(payload);
|
|
3875
|
-
|
|
4018
|
+
_context0.next = 18;
|
|
3876
4019
|
break;
|
|
3877
4020
|
case 17:
|
|
3878
4021
|
if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
|
|
@@ -3916,12 +4059,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3916
4059
|
}
|
|
3917
4060
|
case 18:
|
|
3918
4061
|
case "end":
|
|
3919
|
-
return
|
|
4062
|
+
return _context0.stop();
|
|
3920
4063
|
}
|
|
3921
|
-
},
|
|
4064
|
+
}, _callee0, null, [[9,, 10, 11]]);
|
|
3922
4065
|
}));
|
|
3923
4066
|
return function (_x8) {
|
|
3924
|
-
return
|
|
4067
|
+
return _ref35.apply(this, arguments);
|
|
3925
4068
|
};
|
|
3926
4069
|
}());
|
|
3927
4070
|
}
|
|
@@ -3950,6 +4093,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3950
4093
|
_this14.recordingController.setLocusUrl(_this14.locusUrl);
|
|
3951
4094
|
_this14.controlsOptionsManager.setLocusUrl(_this14.locusUrl, !!isMainLocus);
|
|
3952
4095
|
_this14.webinar.locusUrlUpdate(url);
|
|
4096
|
+
// @ts-ignore
|
|
4097
|
+
_this14.webex.internal.llm.setRefreshHandler(function () {
|
|
4098
|
+
return _this14.refreshDataChannelToken();
|
|
4099
|
+
});
|
|
3953
4100
|
_triggerProxy.default.trigger(_this14, {
|
|
3954
4101
|
file: 'meeting/index',
|
|
3955
4102
|
function: 'setUpLocusSelfListener'
|
|
@@ -3973,12 +4120,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3973
4120
|
value: function setUpLocusServicesListener() {
|
|
3974
4121
|
var _this15 = this;
|
|
3975
4122
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_SERVICES, function (payload) {
|
|
3976
|
-
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;
|
|
3977
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);
|
|
3978
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);
|
|
3979
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);
|
|
3980
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);
|
|
3981
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);
|
|
3982
4130
|
});
|
|
3983
4131
|
}
|
|
3984
4132
|
|
|
@@ -4037,8 +4185,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4037
4185
|
});
|
|
4038
4186
|
}
|
|
4039
4187
|
});
|
|
4040
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
|
4041
|
-
var isInitializing =
|
|
4188
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref36) {
|
|
4189
|
+
var isInitializing = _ref36.isInitializing;
|
|
4042
4190
|
_this17.updateMeetingActions();
|
|
4043
4191
|
_this17.recordingController.setDisplayHints(_this17.userDisplayHints);
|
|
4044
4192
|
_this17.recordingController.setUserPolicy(_this17.selfUserPolicies);
|
|
@@ -4065,6 +4213,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4065
4213
|
// @ts-ignore - config coming from registerPlugin
|
|
4066
4214
|
if (datachannelUrl && this.config.enableAutomaticLLM) {
|
|
4067
4215
|
this.updateLLMConnection();
|
|
4216
|
+
if (this.webinar.isJoinPracticeSessionDataChannel()) {
|
|
4217
|
+
this.webinar.updatePSDataChannel();
|
|
4218
|
+
}
|
|
4068
4219
|
}
|
|
4069
4220
|
}
|
|
4070
4221
|
|
|
@@ -4176,10 +4327,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4176
4327
|
_this19.updateLLMConnection();
|
|
4177
4328
|
});
|
|
4178
4329
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
4179
|
-
var
|
|
4330
|
+
var _ref37 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(payload) {
|
|
4180
4331
|
var _this19$rtcMetrics;
|
|
4181
|
-
return _regenerator.default.wrap(function (
|
|
4182
|
-
while (1) switch (
|
|
4332
|
+
return _regenerator.default.wrap(function (_context1) {
|
|
4333
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
4183
4334
|
case 0:
|
|
4184
4335
|
_this19.stopKeepAlive();
|
|
4185
4336
|
if (payload) {
|
|
@@ -4205,12 +4356,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4205
4356
|
_this19.updateLLMConnection();
|
|
4206
4357
|
case 1:
|
|
4207
4358
|
case "end":
|
|
4208
|
-
return
|
|
4359
|
+
return _context1.stop();
|
|
4209
4360
|
}
|
|
4210
|
-
},
|
|
4361
|
+
}, _callee1);
|
|
4211
4362
|
}));
|
|
4212
4363
|
return function (_x9) {
|
|
4213
|
-
return
|
|
4364
|
+
return _ref37.apply(this, arguments);
|
|
4214
4365
|
};
|
|
4215
4366
|
}());
|
|
4216
4367
|
|
|
@@ -4262,6 +4413,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4262
4413
|
function: 'setUpLocusInfoSelfListener'
|
|
4263
4414
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
4264
4415
|
});
|
|
4416
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ID_CHANGED, function (payload) {
|
|
4417
|
+
_this19.aiEnableRequest.selfParticipantIdUpdate(payload.selfId);
|
|
4418
|
+
});
|
|
4265
4419
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
|
|
4266
4420
|
var targetChanged = _this19.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
4267
4421
|
_triggerProxy.default.trigger(_this19, {
|
|
@@ -4329,49 +4483,49 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4329
4483
|
}
|
|
4330
4484
|
});
|
|
4331
4485
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
4332
|
-
var
|
|
4333
|
-
var
|
|
4334
|
-
return _regenerator.default.wrap(function (
|
|
4335
|
-
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) {
|
|
4336
4490
|
case 0:
|
|
4337
4491
|
if (!_this20.wirelessShare) {
|
|
4338
|
-
|
|
4492
|
+
_context10.next = 2;
|
|
4339
4493
|
break;
|
|
4340
4494
|
}
|
|
4341
4495
|
if (!_this20.mediaProperties.shareVideoStream) {
|
|
4342
|
-
|
|
4496
|
+
_context10.next = 1;
|
|
4343
4497
|
break;
|
|
4344
4498
|
}
|
|
4345
|
-
|
|
4499
|
+
_context10.next = 1;
|
|
4346
4500
|
return _this20.setLocalShareVideoStream(undefined);
|
|
4347
4501
|
case 1:
|
|
4348
4502
|
if (!_this20.mediaProperties.shareAudioStream) {
|
|
4349
|
-
|
|
4503
|
+
_context10.next = 2;
|
|
4350
4504
|
break;
|
|
4351
4505
|
}
|
|
4352
|
-
|
|
4506
|
+
_context10.next = 2;
|
|
4353
4507
|
return _this20.setLocalShareAudioStream(undefined);
|
|
4354
4508
|
case 2:
|
|
4355
4509
|
if (!payload.shouldLeave) {
|
|
4356
|
-
|
|
4510
|
+
_context10.next = 7;
|
|
4357
4511
|
break;
|
|
4358
4512
|
}
|
|
4359
|
-
|
|
4360
|
-
|
|
4513
|
+
_context10.prev = 3;
|
|
4514
|
+
_context10.next = 4;
|
|
4361
4515
|
return _this20.leave({
|
|
4362
4516
|
reason: payload.reason
|
|
4363
4517
|
});
|
|
4364
4518
|
case 4:
|
|
4365
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.');
|
|
4366
|
-
|
|
4520
|
+
_context10.next = 6;
|
|
4367
4521
|
break;
|
|
4368
4522
|
case 5:
|
|
4369
|
-
|
|
4370
|
-
|
|
4523
|
+
_context10.prev = 5;
|
|
4524
|
+
_t9 = _context10["catch"](3);
|
|
4371
4525
|
// @ts-ignore
|
|
4372
|
-
_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));
|
|
4373
4527
|
case 6:
|
|
4374
|
-
|
|
4528
|
+
_context10.next = 8;
|
|
4375
4529
|
break;
|
|
4376
4530
|
case 7:
|
|
4377
4531
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
@@ -4385,12 +4539,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4385
4539
|
});
|
|
4386
4540
|
case 8:
|
|
4387
4541
|
case "end":
|
|
4388
|
-
return
|
|
4542
|
+
return _context10.stop();
|
|
4389
4543
|
}
|
|
4390
|
-
},
|
|
4544
|
+
}, _callee10, null, [[3, 5]]);
|
|
4391
4545
|
}));
|
|
4392
4546
|
return function (_x0) {
|
|
4393
|
-
return
|
|
4547
|
+
return _ref38.apply(this, arguments);
|
|
4394
4548
|
};
|
|
4395
4549
|
}());
|
|
4396
4550
|
}
|
|
@@ -4508,31 +4662,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4508
4662
|
}, {
|
|
4509
4663
|
key: "beRightBack",
|
|
4510
4664
|
value: (function () {
|
|
4511
|
-
var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
4665
|
+
var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(enabled) {
|
|
4512
4666
|
var _this22 = this;
|
|
4513
4667
|
var errorMessage, error, _errorMessage, _error;
|
|
4514
|
-
return _regenerator.default.wrap(function (
|
|
4515
|
-
while (1) switch (
|
|
4668
|
+
return _regenerator.default.wrap(function (_context11) {
|
|
4669
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
4516
4670
|
case 0:
|
|
4517
4671
|
if (this.isMultistream) {
|
|
4518
|
-
|
|
4672
|
+
_context11.next = 1;
|
|
4519
4673
|
break;
|
|
4520
4674
|
}
|
|
4521
4675
|
errorMessage = 'Meeting:index#beRightBack --> Not a multistream meeting';
|
|
4522
4676
|
error = new Error(errorMessage);
|
|
4523
4677
|
_loggerProxy.default.logger.error(error);
|
|
4524
|
-
return
|
|
4678
|
+
return _context11.abrupt("return", _promise.default.reject(error));
|
|
4525
4679
|
case 1:
|
|
4526
4680
|
if (this.mediaProperties.webrtcMediaConnection) {
|
|
4527
|
-
|
|
4681
|
+
_context11.next = 2;
|
|
4528
4682
|
break;
|
|
4529
4683
|
}
|
|
4530
4684
|
_errorMessage = 'Meeting:index#beRightBack --> WebRTC media connection is not defined';
|
|
4531
4685
|
_error = new Error(_errorMessage);
|
|
4532
4686
|
_loggerProxy.default.logger.error(_error);
|
|
4533
|
-
return
|
|
4687
|
+
return _context11.abrupt("return", _promise.default.reject(_error));
|
|
4534
4688
|
case 2:
|
|
4535
|
-
return
|
|
4689
|
+
return _context11.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager).then(function () {
|
|
4536
4690
|
if (_this22.audio && enabled) {
|
|
4537
4691
|
// locus mutes the participant with brb enabled request,
|
|
4538
4692
|
// so we need to explicitly update remote mute for correct logic flow
|
|
@@ -4543,9 +4697,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4543
4697
|
}));
|
|
4544
4698
|
case 3:
|
|
4545
4699
|
case "end":
|
|
4546
|
-
return
|
|
4700
|
+
return _context11.stop();
|
|
4547
4701
|
}
|
|
4548
|
-
},
|
|
4702
|
+
}, _callee11, this);
|
|
4549
4703
|
}));
|
|
4550
4704
|
function beRightBack(_x1) {
|
|
4551
4705
|
return _beRightBack.apply(this, arguments);
|
|
@@ -4743,6 +4897,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4743
4897
|
canLowerAllHands: _util2.default.canUserLowerAllHands(this.userDisplayHints),
|
|
4744
4898
|
canLowerSomeoneElsesHand: _util2.default.canUserLowerSomeoneElsesHand(this.userDisplayHints),
|
|
4745
4899
|
bothLeaveAndEndMeetingAvailable: _util2.default.bothLeaveAndEndMeetingAvailable(this.userDisplayHints),
|
|
4900
|
+
requireHostEndMeetingBeforeLeave: _util2.default.requireHostEndMeetingBeforeLeave(this.userDisplayHints),
|
|
4746
4901
|
canEnableClosedCaption: _util2.default.canEnableClosedCaption(this.userDisplayHints),
|
|
4747
4902
|
canStartTranscribing: _util2.default.canStartTranscribing(this.userDisplayHints),
|
|
4748
4903
|
canStopTranscribing: _util2.default.canStopTranscribing(this.userDisplayHints),
|
|
@@ -4972,7 +5127,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4972
5127
|
canDisablePollingQA: _util5.default.hasHints({
|
|
4973
5128
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_ATTENDEE_START_POLLING_QA],
|
|
4974
5129
|
displayHints: this.userDisplayHints
|
|
4975
|
-
})
|
|
5130
|
+
}),
|
|
5131
|
+
canAttendeeRequestAiAssistantEnabled: _util2.default.canAttendeeRequestAiAssistantEnabled(this.userDisplayHints, this.roles),
|
|
5132
|
+
isAttendeeRequestAiAssistantDeclinedAll: _util2.default.attendeeRequestAiAssistantDeclinedAll(this.userDisplayHints)
|
|
4976
5133
|
}) || changed;
|
|
4977
5134
|
}
|
|
4978
5135
|
if (changed) {
|
|
@@ -5054,7 +5211,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5054
5211
|
this.locusInfo.initialSetup({
|
|
5055
5212
|
trigger: 'join-response',
|
|
5056
5213
|
locus: mtgLocus,
|
|
5057
|
-
dataSets: data.dataSets
|
|
5214
|
+
dataSets: data.dataSets,
|
|
5215
|
+
metadata: data.metadata
|
|
5058
5216
|
});
|
|
5059
5217
|
}
|
|
5060
5218
|
|
|
@@ -5169,10 +5327,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5169
5327
|
key: "closeRemoteStreams",
|
|
5170
5328
|
value: function closeRemoteStreams() {
|
|
5171
5329
|
var _this24 = this;
|
|
5172
|
-
var _this$
|
|
5173
|
-
remoteAudioStream = _this$
|
|
5174
|
-
remoteVideoStream = _this$
|
|
5175
|
-
remoteShareStream = _this$
|
|
5330
|
+
var _this$mediaProperties7 = this.mediaProperties,
|
|
5331
|
+
remoteAudioStream = _this$mediaProperties7.remoteAudioStream,
|
|
5332
|
+
remoteVideoStream = _this$mediaProperties7.remoteVideoStream,
|
|
5333
|
+
remoteShareStream = _this$mediaProperties7.remoteShareStream;
|
|
5176
5334
|
|
|
5177
5335
|
/**
|
|
5178
5336
|
* Triggers an event to the developer
|
|
@@ -5216,11 +5374,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5216
5374
|
}, {
|
|
5217
5375
|
key: "setLocalAudioStream",
|
|
5218
5376
|
value: (function () {
|
|
5219
|
-
var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5377
|
+
var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
|
|
5220
5378
|
var _this$audio2;
|
|
5221
5379
|
var oldStream;
|
|
5222
|
-
return _regenerator.default.wrap(function (
|
|
5223
|
-
while (1) switch (
|
|
5380
|
+
return _regenerator.default.wrap(function (_context12) {
|
|
5381
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
5224
5382
|
case 0:
|
|
5225
5383
|
oldStream = this.mediaProperties.audioStream;
|
|
5226
5384
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
@@ -5234,19 +5392,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5234
5392
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5235
5393
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5236
5394
|
if (!(!this.isMultistream || !localStream)) {
|
|
5237
|
-
|
|
5395
|
+
_context12.next = 1;
|
|
5238
5396
|
break;
|
|
5239
5397
|
}
|
|
5240
|
-
|
|
5398
|
+
_context12.next = 1;
|
|
5241
5399
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
|
|
5242
5400
|
case 1:
|
|
5243
|
-
|
|
5401
|
+
_context12.next = 2;
|
|
5244
5402
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
5245
5403
|
case 2:
|
|
5246
5404
|
case "end":
|
|
5247
|
-
return
|
|
5405
|
+
return _context12.stop();
|
|
5248
5406
|
}
|
|
5249
|
-
},
|
|
5407
|
+
}, _callee12, this);
|
|
5250
5408
|
}));
|
|
5251
5409
|
function setLocalAudioStream(_x10) {
|
|
5252
5410
|
return _setLocalAudioStream.apply(this, arguments);
|
|
@@ -5264,16 +5422,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5264
5422
|
}, {
|
|
5265
5423
|
key: "setLocalVideoStream",
|
|
5266
5424
|
value: (function () {
|
|
5267
|
-
var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5425
|
+
var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(localStream) {
|
|
5268
5426
|
var _this$video2;
|
|
5269
5427
|
var oldStream;
|
|
5270
|
-
return _regenerator.default.wrap(function (
|
|
5271
|
-
while (1) switch (
|
|
5428
|
+
return _regenerator.default.wrap(function (_context13) {
|
|
5429
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
5272
5430
|
case 0:
|
|
5273
5431
|
oldStream = this.mediaProperties.videoStream;
|
|
5274
5432
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5275
5433
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5276
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);
|
|
5277
5436
|
|
|
5278
5437
|
// we don't update this.mediaProperties.mediaDirection.sendVideo, because we always keep it as true to avoid extra SDP exchanges
|
|
5279
5438
|
this.mediaProperties.setLocalVideoStream(localStream);
|
|
@@ -5281,20 +5440,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5281
5440
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5282
5441
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5283
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);
|
|
5284
5444
|
if (!(!this.isMultistream || !localStream)) {
|
|
5285
|
-
|
|
5445
|
+
_context13.next = 1;
|
|
5286
5446
|
break;
|
|
5287
5447
|
}
|
|
5288
|
-
|
|
5448
|
+
_context13.next = 1;
|
|
5289
5449
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
|
|
5290
5450
|
case 1:
|
|
5291
|
-
|
|
5451
|
+
_context13.next = 2;
|
|
5292
5452
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
5293
5453
|
case 2:
|
|
5294
5454
|
case "end":
|
|
5295
|
-
return
|
|
5455
|
+
return _context13.stop();
|
|
5296
5456
|
}
|
|
5297
|
-
},
|
|
5457
|
+
}, _callee13, this);
|
|
5298
5458
|
}));
|
|
5299
5459
|
function setLocalVideoStream(_x11) {
|
|
5300
5460
|
return _setLocalVideoStream.apply(this, arguments);
|
|
@@ -5313,10 +5473,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5313
5473
|
}, {
|
|
5314
5474
|
key: "setLocalShareVideoStream",
|
|
5315
5475
|
value: (function () {
|
|
5316
|
-
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5476
|
+
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(localDisplayStream) {
|
|
5317
5477
|
var oldStream;
|
|
5318
|
-
return _regenerator.default.wrap(function (
|
|
5319
|
-
while (1) switch (
|
|
5478
|
+
return _regenerator.default.wrap(function (_context14) {
|
|
5479
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
5320
5480
|
case 0:
|
|
5321
5481
|
oldStream = this.mediaProperties.shareVideoStream;
|
|
5322
5482
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
@@ -5328,19 +5488,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5328
5488
|
localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5329
5489
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
5330
5490
|
if (!(!this.isMultistream || !localDisplayStream)) {
|
|
5331
|
-
|
|
5491
|
+
_context14.next = 1;
|
|
5332
5492
|
break;
|
|
5333
5493
|
}
|
|
5334
|
-
|
|
5494
|
+
_context14.next = 1;
|
|
5335
5495
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
|
|
5336
5496
|
case 1:
|
|
5337
|
-
|
|
5497
|
+
_context14.next = 2;
|
|
5338
5498
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
5339
5499
|
case 2:
|
|
5340
5500
|
case "end":
|
|
5341
|
-
return
|
|
5501
|
+
return _context14.stop();
|
|
5342
5502
|
}
|
|
5343
|
-
},
|
|
5503
|
+
}, _callee14, this);
|
|
5344
5504
|
}));
|
|
5345
5505
|
function setLocalShareVideoStream(_x12) {
|
|
5346
5506
|
return _setLocalShareVideoStream.apply(this, arguments);
|
|
@@ -5358,10 +5518,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5358
5518
|
}, {
|
|
5359
5519
|
key: "setLocalShareAudioStream",
|
|
5360
5520
|
value: (function () {
|
|
5361
|
-
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5521
|
+
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(localSystemAudioStream) {
|
|
5362
5522
|
var oldStream;
|
|
5363
|
-
return _regenerator.default.wrap(function (
|
|
5364
|
-
while (1) switch (
|
|
5523
|
+
return _regenerator.default.wrap(function (_context15) {
|
|
5524
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
5365
5525
|
case 0:
|
|
5366
5526
|
oldStream = this.mediaProperties.shareAudioStream;
|
|
5367
5527
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
|
|
@@ -5371,19 +5531,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5371
5531
|
localSystemAudioStream === null || localSystemAudioStream === void 0 ? void 0 : localSystemAudioStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5372
5532
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
5373
5533
|
if (!(!this.isMultistream || !localSystemAudioStream)) {
|
|
5374
|
-
|
|
5534
|
+
_context15.next = 1;
|
|
5375
5535
|
break;
|
|
5376
5536
|
}
|
|
5377
|
-
|
|
5537
|
+
_context15.next = 1;
|
|
5378
5538
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioSlides, oldStream);
|
|
5379
5539
|
case 1:
|
|
5380
|
-
|
|
5540
|
+
_context15.next = 2;
|
|
5381
5541
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
5382
5542
|
case 2:
|
|
5383
5543
|
case "end":
|
|
5384
|
-
return
|
|
5544
|
+
return _context15.stop();
|
|
5385
5545
|
}
|
|
5386
|
-
},
|
|
5546
|
+
}, _callee15, this);
|
|
5387
5547
|
}));
|
|
5388
5548
|
function setLocalShareAudioStream(_x13) {
|
|
5389
5549
|
return _setLocalShareAudioStream.apply(this, arguments);
|
|
@@ -5424,17 +5584,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5424
5584
|
}, {
|
|
5425
5585
|
key: "cleanupLocalStreams",
|
|
5426
5586
|
value: function cleanupLocalStreams() {
|
|
5427
|
-
var _this$
|
|
5428
|
-
audioStream = _this$
|
|
5429
|
-
videoStream = _this$
|
|
5430
|
-
shareAudioStream = _this$
|
|
5431
|
-
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;
|
|
5432
5592
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5433
5593
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5434
5594
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5435
5595
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5436
5596
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5437
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);
|
|
5438
5599
|
shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
|
|
5439
5600
|
shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5440
5601
|
shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
@@ -5823,7 +5984,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5823
5984
|
}, {
|
|
5824
5985
|
key: "joinWithMedia",
|
|
5825
5986
|
value: (function () {
|
|
5826
|
-
var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5987
|
+
var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
5827
5988
|
var _this30 = this;
|
|
5828
5989
|
var options,
|
|
5829
5990
|
mediaOptions,
|
|
@@ -5846,53 +6007,64 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5846
6007
|
shouldRetry,
|
|
5847
6008
|
_error2,
|
|
5848
6009
|
_error3,
|
|
5849
|
-
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
return _regenerator.default.wrap(function (
|
|
5853
|
-
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) {
|
|
5854
6015
|
case 0:
|
|
5855
|
-
options =
|
|
6016
|
+
options = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : {};
|
|
5856
6017
|
mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
|
|
5857
6018
|
_this$joinWithMediaRe = this.joinWithMediaRetryInfo, isRetry = _this$joinWithMediaRe.isRetry, prevJoinResponse = _this$joinWithMediaRe.prevJoinResponse;
|
|
5858
6019
|
if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
|
|
5859
|
-
|
|
6020
|
+
_context16.next = 1;
|
|
5860
6021
|
break;
|
|
5861
6022
|
}
|
|
5862
|
-
return
|
|
6023
|
+
return _context16.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
|
|
5863
6024
|
case 1:
|
|
5864
6025
|
this.allowMediaInLobby = true;
|
|
5865
6026
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
|
|
5866
6027
|
joined = false;
|
|
5867
6028
|
joinResponse = prevJoinResponse;
|
|
5868
|
-
|
|
6029
|
+
/* Before we do anything, check if RTCPeerConnection is available. Normally this is checked
|
|
6030
|
+
by addMediaInternal() itself when creating the media connection, but since joinWithMedia()
|
|
6031
|
+
is a convenience method that does both join() and addMedia(), we want to fail fast here
|
|
6032
|
+
in case WebRTC is not available at all.
|
|
6033
|
+
*/
|
|
6034
|
+
if (!(_webCapabilities.WebCapabilities.supportsRTCPeerConnection() === _webCapabilities.CapabilityState.NOT_CAPABLE)) {
|
|
6035
|
+
_context16.next = 2;
|
|
6036
|
+
break;
|
|
6037
|
+
}
|
|
6038
|
+
throw new _internalMediaCore.Errors.WebrtcApiNotAvailableError('RTCPeerConnection API is not available in this environment');
|
|
6039
|
+
case 2:
|
|
6040
|
+
_context16.prev = 2;
|
|
5869
6041
|
forceTurnDiscovery = false;
|
|
5870
6042
|
if (joinResponse) {
|
|
5871
|
-
|
|
6043
|
+
_context16.next = 7;
|
|
5872
6044
|
break;
|
|
5873
6045
|
}
|
|
5874
|
-
|
|
6046
|
+
_context16.next = 3;
|
|
5875
6047
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
5876
6048
|
case 3:
|
|
5877
|
-
turnDiscoveryRequest =
|
|
6049
|
+
turnDiscoveryRequest = _context16.sent;
|
|
5878
6050
|
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
5879
6051
|
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
5880
6052
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
|
|
5881
|
-
|
|
6053
|
+
_context16.next = 4;
|
|
5882
6054
|
return this.join(joinOptions);
|
|
5883
6055
|
case 4:
|
|
5884
|
-
joinResponse =
|
|
6056
|
+
joinResponse = _context16.sent;
|
|
5885
6057
|
joined = true;
|
|
5886
6058
|
|
|
5887
6059
|
// if we sent out TURN discovery Roap message with join, process the TURN discovery response
|
|
5888
6060
|
if (!joinOptions.roapMessage) {
|
|
5889
|
-
|
|
6061
|
+
_context16.next = 6;
|
|
5890
6062
|
break;
|
|
5891
6063
|
}
|
|
5892
|
-
|
|
6064
|
+
_context16.next = 5;
|
|
5893
6065
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
5894
6066
|
case 5:
|
|
5895
|
-
_yield$this$roap$hand =
|
|
6067
|
+
_yield$this$roap$hand = _context16.sent;
|
|
5896
6068
|
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
5897
6069
|
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
5898
6070
|
this.turnDiscoverySkippedReason = turnDiscoverySkippedReason;
|
|
@@ -5901,7 +6073,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5901
6073
|
this.roap.abortTurnDiscovery();
|
|
5902
6074
|
}
|
|
5903
6075
|
case 6:
|
|
5904
|
-
|
|
6076
|
+
_context16.next = 8;
|
|
5905
6077
|
break;
|
|
5906
6078
|
case 7:
|
|
5907
6079
|
// This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
|
|
@@ -5909,43 +6081,43 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5909
6081
|
forceTurnDiscovery = true;
|
|
5910
6082
|
joined = true;
|
|
5911
6083
|
case 8:
|
|
5912
|
-
|
|
6084
|
+
_context16.next = 9;
|
|
5913
6085
|
return this.addMediaInternal(function () {
|
|
5914
6086
|
return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5915
6087
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5916
6088
|
case 9:
|
|
5917
|
-
mediaResponse =
|
|
6089
|
+
mediaResponse = _context16.sent;
|
|
5918
6090
|
this.joinWithMediaRetryInfo = {
|
|
5919
6091
|
isRetry: false,
|
|
5920
6092
|
prevJoinResponse: undefined
|
|
5921
6093
|
};
|
|
5922
|
-
return
|
|
6094
|
+
return _context16.abrupt("return", {
|
|
5923
6095
|
join: joinResponse,
|
|
5924
6096
|
media: mediaResponse,
|
|
5925
6097
|
multistreamEnabled: this.isMultistream
|
|
5926
6098
|
});
|
|
5927
6099
|
case 10:
|
|
5928
|
-
|
|
5929
|
-
|
|
5930
|
-
_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);
|
|
5931
6103
|
this.roap.abortTurnDiscovery();
|
|
5932
6104
|
|
|
5933
6105
|
// if this was the first attempt, let's do a retry
|
|
5934
6106
|
shouldRetry = !isRetry;
|
|
5935
|
-
if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(
|
|
6107
|
+
if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(_t0) || _internalPluginMetrics.CallDiagnosticUtils.isWebrtcApiNotAvailableError(_t0)) {
|
|
5936
6108
|
// errors related to offer creation (for example missing H264 codec) will happen again no matter how many times we try,
|
|
5937
6109
|
// so there is no point doing a retry
|
|
5938
6110
|
shouldRetry = false;
|
|
5939
6111
|
}
|
|
5940
|
-
if (_internalPluginMetrics.CallDiagnosticUtils.isBrowserMediaError(
|
|
6112
|
+
if (_internalPluginMetrics.CallDiagnosticUtils.isBrowserMediaError(_t0)) {
|
|
5941
6113
|
shouldRetry = false;
|
|
5942
6114
|
// eslint-disable-next-line no-ex-assign
|
|
5943
|
-
|
|
6115
|
+
_t0 = (0, _lodash.merge)({
|
|
5944
6116
|
error: {
|
|
5945
6117
|
body: {
|
|
5946
|
-
errorCode: _internalPluginMetrics.CallDiagnosticUtils.getBrowserMediaErrorCode(
|
|
5947
|
-
message: (_error2 =
|
|
5948
|
-
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
|
|
5949
6121
|
}
|
|
5950
6122
|
}
|
|
5951
6123
|
});
|
|
@@ -5953,54 +6125,54 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5953
6125
|
|
|
5954
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
|
|
5955
6127
|
if (!(joined && (isRetry || !shouldRetry))) {
|
|
5956
|
-
|
|
6128
|
+
_context16.next = 14;
|
|
5957
6129
|
break;
|
|
5958
6130
|
}
|
|
5959
|
-
|
|
5960
|
-
|
|
6131
|
+
_context16.prev = 11;
|
|
6132
|
+
_context16.next = 12;
|
|
5961
6133
|
return this.leave({
|
|
5962
6134
|
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
5963
6135
|
reason: 'joinWithMedia failure'
|
|
5964
6136
|
});
|
|
5965
6137
|
case 12:
|
|
5966
|
-
|
|
6138
|
+
_context16.next = 14;
|
|
5967
6139
|
break;
|
|
5968
6140
|
case 13:
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error',
|
|
5972
|
-
leaveError =
|
|
6141
|
+
_context16.prev = 13;
|
|
6142
|
+
_t1 = _context16["catch"](11);
|
|
6143
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _t1);
|
|
6144
|
+
leaveError = _t1;
|
|
5973
6145
|
case 14:
|
|
5974
6146
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
5975
6147
|
correlation_id: this.correlationId,
|
|
5976
6148
|
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
5977
6149
|
// if join fails, we may end up with no locusUrl
|
|
5978
|
-
reason:
|
|
5979
|
-
stack:
|
|
6150
|
+
reason: _t0.message,
|
|
6151
|
+
stack: _t0.stack,
|
|
5980
6152
|
leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message,
|
|
5981
6153
|
isRetry: isRetry
|
|
5982
6154
|
}, {
|
|
5983
|
-
type:
|
|
6155
|
+
type: _t0.name
|
|
5984
6156
|
});
|
|
5985
6157
|
if (!shouldRetry) {
|
|
5986
|
-
|
|
6158
|
+
_context16.next = 15;
|
|
5987
6159
|
break;
|
|
5988
6160
|
}
|
|
5989
6161
|
_loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
|
|
5990
6162
|
this.joinWithMediaRetryInfo.isRetry = true;
|
|
5991
6163
|
this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
|
|
5992
|
-
return
|
|
6164
|
+
return _context16.abrupt("return", this.joinWithMedia(options));
|
|
5993
6165
|
case 15:
|
|
5994
6166
|
this.joinWithMediaRetryInfo = {
|
|
5995
6167
|
isRetry: false,
|
|
5996
6168
|
prevJoinResponse: undefined
|
|
5997
6169
|
};
|
|
5998
|
-
throw
|
|
6170
|
+
throw _t0;
|
|
5999
6171
|
case 16:
|
|
6000
6172
|
case "end":
|
|
6001
|
-
return
|
|
6173
|
+
return _context16.stop();
|
|
6002
6174
|
}
|
|
6003
|
-
},
|
|
6175
|
+
}, _callee16, this, [[2, 10], [11, 13]]);
|
|
6004
6176
|
}));
|
|
6005
6177
|
function joinWithMedia() {
|
|
6006
6178
|
return _joinWithMedia.apply(this, arguments);
|
|
@@ -6030,20 +6202,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6030
6202
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
6031
6203
|
}
|
|
6032
6204
|
this.cleanUpBeforeReconnection();
|
|
6033
|
-
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6034
|
-
return _regenerator.default.wrap(function (
|
|
6035
|
-
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) {
|
|
6036
6208
|
case 0:
|
|
6037
|
-
|
|
6209
|
+
_context17.next = 1;
|
|
6038
6210
|
return _this31.waitForRemoteSDPAnswer();
|
|
6039
6211
|
case 1:
|
|
6040
|
-
|
|
6212
|
+
_context17.next = 2;
|
|
6041
6213
|
return _this31.waitForMediaConnectionConnected();
|
|
6042
6214
|
case 2:
|
|
6043
6215
|
case "end":
|
|
6044
|
-
return
|
|
6216
|
+
return _context17.stop();
|
|
6045
6217
|
}
|
|
6046
|
-
},
|
|
6218
|
+
}, _callee17);
|
|
6047
6219
|
}))).then(function () {
|
|
6048
6220
|
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
6049
6221
|
}).catch(function (error) {
|
|
@@ -6083,8 +6255,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6083
6255
|
}, {
|
|
6084
6256
|
key: "isReactionsSupported",
|
|
6085
6257
|
value: function isReactionsSupported() {
|
|
6086
|
-
var _this$
|
|
6087
|
-
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) {
|
|
6088
6260
|
return true;
|
|
6089
6261
|
}
|
|
6090
6262
|
_loggerProxy.default.logger.error('Meeting:index#isReactionsSupported --> Reactions is not supported');
|
|
@@ -6184,47 +6356,47 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6184
6356
|
}, {
|
|
6185
6357
|
key: "startTranscription",
|
|
6186
6358
|
value: (function () {
|
|
6187
|
-
var _startTranscription = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6188
|
-
var
|
|
6189
|
-
return _regenerator.default.wrap(function (
|
|
6190
|
-
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) {
|
|
6191
6363
|
case 0:
|
|
6192
6364
|
if (!this.isJoined()) {
|
|
6193
|
-
|
|
6365
|
+
_context18.next = 5;
|
|
6194
6366
|
break;
|
|
6195
6367
|
}
|
|
6196
6368
|
_loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
|
|
6197
|
-
|
|
6369
|
+
_context18.prev = 1;
|
|
6198
6370
|
if (!this.areVoiceaEventsSetup) {
|
|
6199
6371
|
this.setUpVoiceaListeners();
|
|
6200
6372
|
}
|
|
6201
6373
|
|
|
6202
6374
|
// @ts-ignore
|
|
6203
|
-
|
|
6375
|
+
_context18.next = 2;
|
|
6204
6376
|
return this.webex.internal.voicea.turnOnCaptions(options === null || options === void 0 ? void 0 : options.spokenLanguage);
|
|
6205
6377
|
case 2:
|
|
6206
|
-
|
|
6378
|
+
_context18.next = 4;
|
|
6207
6379
|
break;
|
|
6208
6380
|
case 3:
|
|
6209
|
-
|
|
6210
|
-
|
|
6211
|
-
_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));
|
|
6212
6384
|
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
|
|
6213
6385
|
correlation_id: this.correlationId,
|
|
6214
|
-
reason:
|
|
6215
|
-
stack:
|
|
6386
|
+
reason: _t10.message,
|
|
6387
|
+
stack: _t10.stack
|
|
6216
6388
|
});
|
|
6217
6389
|
case 4:
|
|
6218
|
-
|
|
6390
|
+
_context18.next = 6;
|
|
6219
6391
|
break;
|
|
6220
6392
|
case 5:
|
|
6221
6393
|
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
|
|
6222
6394
|
throw new Error('Meeting is not joined');
|
|
6223
6395
|
case 6:
|
|
6224
6396
|
case "end":
|
|
6225
|
-
return
|
|
6397
|
+
return _context18.stop();
|
|
6226
6398
|
}
|
|
6227
|
-
},
|
|
6399
|
+
}, _callee18, this, [[1, 3]]);
|
|
6228
6400
|
}));
|
|
6229
6401
|
function startTranscription(_x14) {
|
|
6230
6402
|
return _startTranscription.apply(this, arguments);
|
|
@@ -6290,7 +6462,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6290
6462
|
* Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
|
|
6291
6463
|
*/
|
|
6292
6464
|
function () {
|
|
6293
|
-
var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6465
|
+
var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
6294
6466
|
var _this34 = this;
|
|
6295
6467
|
var options,
|
|
6296
6468
|
errorMessage,
|
|
@@ -6301,26 +6473,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6301
6473
|
_error4,
|
|
6302
6474
|
_errorMessage3,
|
|
6303
6475
|
_error5,
|
|
6304
|
-
|
|
6305
|
-
|
|
6306
|
-
return _regenerator.default.wrap(function (
|
|
6307
|
-
while (1) switch (
|
|
6476
|
+
_args19 = arguments,
|
|
6477
|
+
_t11;
|
|
6478
|
+
return _regenerator.default.wrap(function (_context19) {
|
|
6479
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
6308
6480
|
case 0:
|
|
6309
|
-
options =
|
|
6481
|
+
options = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : {};
|
|
6310
6482
|
if (this.webex.meetings.registered) {
|
|
6311
|
-
|
|
6483
|
+
_context19.next = 1;
|
|
6312
6484
|
break;
|
|
6313
6485
|
}
|
|
6314
6486
|
errorMessage = 'Meeting:index#join --> Device not registered';
|
|
6315
6487
|
error = new Error(errorMessage);
|
|
6316
6488
|
_loggerProxy.default.logger.error(errorMessage);
|
|
6317
|
-
return
|
|
6489
|
+
return _context19.abrupt("return", _promise.default.reject(error));
|
|
6318
6490
|
case 1:
|
|
6319
6491
|
if (!this.deferJoin) {
|
|
6320
|
-
|
|
6492
|
+
_context19.next = 2;
|
|
6321
6493
|
break;
|
|
6322
6494
|
}
|
|
6323
|
-
return
|
|
6495
|
+
return _context19.abrupt("return", this.deferJoin);
|
|
6324
6496
|
case 2:
|
|
6325
6497
|
// Create a deferred promise for a consistent resolve value from utils.
|
|
6326
6498
|
// This also prevents redundant API calls.
|
|
@@ -6372,15 +6544,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6372
6544
|
this.wirelessShare = true;
|
|
6373
6545
|
}
|
|
6374
6546
|
if (!options.meetingQuality) {
|
|
6375
|
-
|
|
6547
|
+
_context19.next = 6;
|
|
6376
6548
|
break;
|
|
6377
6549
|
}
|
|
6378
6550
|
if (!(typeof options.meetingQuality === 'string')) {
|
|
6379
|
-
|
|
6551
|
+
_context19.next = 4;
|
|
6380
6552
|
break;
|
|
6381
6553
|
}
|
|
6382
6554
|
if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
|
|
6383
|
-
|
|
6555
|
+
_context19.next = 3;
|
|
6384
6556
|
break;
|
|
6385
6557
|
}
|
|
6386
6558
|
_errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
|
|
@@ -6388,16 +6560,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6388
6560
|
_loggerProxy.default.logger.error(_errorMessage2);
|
|
6389
6561
|
joinFailed(_error4);
|
|
6390
6562
|
this.deferJoin = undefined;
|
|
6391
|
-
return
|
|
6563
|
+
return _context19.abrupt("return", _promise.default.reject(_error4));
|
|
6392
6564
|
case 3:
|
|
6393
6565
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
|
|
6394
6566
|
case 4:
|
|
6395
6567
|
if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
|
|
6396
|
-
|
|
6568
|
+
_context19.next = 6;
|
|
6397
6569
|
break;
|
|
6398
6570
|
}
|
|
6399
6571
|
if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
|
|
6400
|
-
|
|
6572
|
+
_context19.next = 5;
|
|
6401
6573
|
break;
|
|
6402
6574
|
}
|
|
6403
6575
|
_errorMessage3 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
|
|
@@ -6405,42 +6577,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6405
6577
|
_error5 = new Error(_errorMessage3);
|
|
6406
6578
|
joinFailed(_error5);
|
|
6407
6579
|
this.deferJoin = undefined;
|
|
6408
|
-
return
|
|
6580
|
+
return _context19.abrupt("return", _promise.default.reject(new Error(_errorMessage3)));
|
|
6409
6581
|
case 5:
|
|
6410
6582
|
if (options.meetingQuality.remote) {
|
|
6411
6583
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
|
|
6412
6584
|
}
|
|
6413
6585
|
case 6:
|
|
6414
6586
|
this.isMultistream = !!options.enableMultistream;
|
|
6415
|
-
|
|
6416
|
-
|
|
6587
|
+
_context19.prev = 7;
|
|
6588
|
+
_context19.next = 8;
|
|
6417
6589
|
return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
|
|
6418
6590
|
case 8:
|
|
6419
|
-
|
|
6591
|
+
_context19.next = 10;
|
|
6420
6592
|
break;
|
|
6421
6593
|
case 9:
|
|
6422
|
-
|
|
6423
|
-
|
|
6424
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:',
|
|
6425
|
-
if (!(
|
|
6426
|
-
|
|
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;
|
|
6427
6599
|
break;
|
|
6428
6600
|
}
|
|
6429
|
-
this.meetingFiniteStateMachine.fail(
|
|
6601
|
+
this.meetingFiniteStateMachine.fail(_t11);
|
|
6430
6602
|
|
|
6431
6603
|
// Upload logs on refreshpermissionToken refresh Failure
|
|
6432
6604
|
_triggerProxy.default.trigger(this, {
|
|
6433
6605
|
file: 'meeting/index',
|
|
6434
6606
|
function: 'join'
|
|
6435
6607
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
6436
|
-
joinFailed(
|
|
6608
|
+
joinFailed(_t11);
|
|
6437
6609
|
this.deferJoin = undefined;
|
|
6438
6610
|
|
|
6439
6611
|
// if refresh permission token requires captcha, password or permission, we are throwing the errors
|
|
6440
6612
|
// and bubble it up to client
|
|
6441
|
-
return
|
|
6613
|
+
return _context19.abrupt("return", _promise.default.reject(_t11));
|
|
6442
6614
|
case 10:
|
|
6443
|
-
return
|
|
6615
|
+
return _context19.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
6444
6616
|
_this34.meetingFiniteStateMachine.join();
|
|
6445
6617
|
_this34.setupLocusMediaRequest();
|
|
6446
6618
|
|
|
@@ -6493,9 +6665,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6493
6665
|
}));
|
|
6494
6666
|
case 11:
|
|
6495
6667
|
case "end":
|
|
6496
|
-
return
|
|
6668
|
+
return _context19.stop();
|
|
6497
6669
|
}
|
|
6498
|
-
},
|
|
6670
|
+
}, _callee19, this, [[7, 9]]);
|
|
6499
6671
|
}));
|
|
6500
6672
|
function join() {
|
|
6501
6673
|
return _join.apply(this, arguments);
|
|
@@ -6544,28 +6716,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6544
6716
|
this.llmHealthCheckTimer = undefined;
|
|
6545
6717
|
}
|
|
6546
6718
|
}
|
|
6547
|
-
|
|
6719
|
+
}, {
|
|
6720
|
+
key: "updateLLMConnection",
|
|
6721
|
+
value: (
|
|
6548
6722
|
/**
|
|
6549
6723
|
* Connects to low latency mercury and reconnects if the address has changed
|
|
6550
6724
|
* It will also disconnect if called when the meeting has ended
|
|
6551
6725
|
* @param {String} datachannelUrl
|
|
6552
6726
|
* @returns {Promise}
|
|
6553
6727
|
*/
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
-
value: (function () {
|
|
6557
|
-
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() {
|
|
6558
6730
|
var _this36 = this;
|
|
6559
|
-
var
|
|
6560
|
-
return _regenerator.default.wrap(function (
|
|
6561
|
-
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) {
|
|
6562
6734
|
case 0:
|
|
6563
6735
|
// @ts-ignore - Fix type
|
|
6564
|
-
|
|
6565
|
-
isJoined = this.isJoined(); //
|
|
6566
|
-
|
|
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
|
|
6567
6747
|
if (!this.webex.internal.llm.isConnected()) {
|
|
6568
|
-
|
|
6748
|
+
_context20.next = 2;
|
|
6569
6749
|
break;
|
|
6570
6750
|
}
|
|
6571
6751
|
if (!(
|
|
@@ -6573,30 +6753,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6573
6753
|
url === this.webex.internal.llm.getLocusUrl() &&
|
|
6574
6754
|
// @ts-ignore - Fix type
|
|
6575
6755
|
dataChannelUrl === this.webex.internal.llm.getDatachannelUrl() && isJoined)) {
|
|
6576
|
-
|
|
6756
|
+
_context20.next = 1;
|
|
6577
6757
|
break;
|
|
6578
6758
|
}
|
|
6579
|
-
return
|
|
6759
|
+
return _context20.abrupt("return", undefined);
|
|
6580
6760
|
case 1:
|
|
6581
|
-
|
|
6582
|
-
return this.
|
|
6583
|
-
|
|
6584
|
-
|
|
6585
|
-
} : undefined);
|
|
6761
|
+
_context20.next = 2;
|
|
6762
|
+
return this.cleanupLLMConneciton({
|
|
6763
|
+
removeOnlineListener: false
|
|
6764
|
+
});
|
|
6586
6765
|
case 2:
|
|
6587
|
-
// @ts-ignore - Fix type
|
|
6588
|
-
this.webex.internal.llm.off('event:relay.event', this.processRelayEvent);
|
|
6589
|
-
// @ts-ignore - Fix type
|
|
6590
|
-
this.webex.internal.llm.off(_constants.LOCUS_LLM_EVENT, this.processLocusLLMEvent);
|
|
6591
|
-
this.clearLLMHealthCheckTimer();
|
|
6592
|
-
case 3:
|
|
6593
6766
|
if (isJoined) {
|
|
6594
|
-
|
|
6767
|
+
_context20.next = 3;
|
|
6595
6768
|
break;
|
|
6596
6769
|
}
|
|
6597
|
-
return
|
|
6598
|
-
case
|
|
6599
|
-
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) {
|
|
6600
6773
|
// @ts-ignore - Fix type
|
|
6601
6774
|
_this36.webex.internal.llm.off('event:relay.event', _this36.processRelayEvent);
|
|
6602
6775
|
// @ts-ignore - Fix type
|
|
@@ -6609,11 +6782,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6609
6782
|
_this36.startLLMHealthCheckTimer();
|
|
6610
6783
|
return _promise.default.resolve(registerAndConnectResult);
|
|
6611
6784
|
}));
|
|
6612
|
-
case
|
|
6785
|
+
case 4:
|
|
6613
6786
|
case "end":
|
|
6614
|
-
return
|
|
6787
|
+
return _context20.stop();
|
|
6615
6788
|
}
|
|
6616
|
-
},
|
|
6789
|
+
}, _callee20, this);
|
|
6617
6790
|
}));
|
|
6618
6791
|
function updateLLMConnection() {
|
|
6619
6792
|
return _updateLLMConnection.apply(this, arguments);
|
|
@@ -6799,17 +6972,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6799
6972
|
meetingId: this.id
|
|
6800
6973
|
}
|
|
6801
6974
|
});
|
|
6802
|
-
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6803
|
-
var mediaSettings,
|
|
6804
|
-
return _regenerator.default.wrap(function (
|
|
6805
|
-
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) {
|
|
6806
6979
|
case 0:
|
|
6807
|
-
|
|
6980
|
+
_context21.prev = 0;
|
|
6808
6981
|
if (!(_this40.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
6809
|
-
|
|
6982
|
+
_context21.next = 1;
|
|
6810
6983
|
break;
|
|
6811
6984
|
}
|
|
6812
|
-
|
|
6985
|
+
_context21.next = 1;
|
|
6813
6986
|
return _this40.releaseScreenShareFloor();
|
|
6814
6987
|
case 1:
|
|
6815
6988
|
mediaSettings = {
|
|
@@ -6828,23 +7001,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6828
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
|
|
6829
7002
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6830
7003
|
if (!_this40.statsAnalyzer) {
|
|
6831
|
-
|
|
7004
|
+
_context21.next = 2;
|
|
6832
7005
|
break;
|
|
6833
7006
|
}
|
|
6834
|
-
|
|
7007
|
+
_context21.next = 2;
|
|
6835
7008
|
return _this40.statsAnalyzer.stopAnalyzer();
|
|
6836
7009
|
case 2:
|
|
6837
|
-
|
|
7010
|
+
_context21.next = 3;
|
|
6838
7011
|
return _this40.closeRemoteStreams();
|
|
6839
7012
|
case 3:
|
|
6840
|
-
|
|
7013
|
+
_context21.next = 4;
|
|
6841
7014
|
return _this40.closePeerConnections();
|
|
6842
7015
|
case 4:
|
|
6843
7016
|
_this40.cleanupLocalStreams();
|
|
6844
7017
|
_this40.unsetRemoteStreams();
|
|
6845
7018
|
_this40.unsetPeerConnections();
|
|
6846
7019
|
_this40.reconnectionManager.cleanUp();
|
|
6847
|
-
|
|
7020
|
+
_context21.next = 5;
|
|
6848
7021
|
return _this40.addMedia({
|
|
6849
7022
|
audioEnabled: false,
|
|
6850
7023
|
videoEnabled: false,
|
|
@@ -6853,24 +7026,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6853
7026
|
case 5:
|
|
6854
7027
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6855
7028
|
_this40.isMoveToInProgress = false;
|
|
6856
|
-
|
|
7029
|
+
_context21.next = 7;
|
|
6857
7030
|
break;
|
|
6858
7031
|
case 6:
|
|
6859
|
-
|
|
6860
|
-
|
|
6861
|
-
_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);
|
|
6862
7035
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6863
7036
|
correlation_id: _this40.correlationId,
|
|
6864
7037
|
locus_id: _this40.locusUrl.split('/').pop(),
|
|
6865
|
-
reason:
|
|
6866
|
-
stack:
|
|
7038
|
+
reason: _t12.message,
|
|
7039
|
+
stack: _t12.stack
|
|
6867
7040
|
});
|
|
6868
7041
|
_this40.isMoveToInProgress = false;
|
|
6869
7042
|
case 7:
|
|
6870
7043
|
case "end":
|
|
6871
|
-
return
|
|
7044
|
+
return _context21.stop();
|
|
6872
7045
|
}
|
|
6873
|
-
},
|
|
7046
|
+
}, _callee21, null, [[0, 6]]);
|
|
6874
7047
|
})));
|
|
6875
7048
|
_loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
|
|
6876
7049
|
|
|
@@ -6958,10 +7131,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6958
7131
|
}, {
|
|
6959
7132
|
key: "createMediaConnection",
|
|
6960
7133
|
value: (function () {
|
|
6961
|
-
var _createMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7134
|
+
var _createMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(turnServerInfo, bundlePolicy) {
|
|
6962
7135
|
var mc, audioEnabled, videoEnabled, shareEnabled;
|
|
6963
|
-
return _regenerator.default.wrap(function (
|
|
6964
|
-
while (1) switch (
|
|
7136
|
+
return _regenerator.default.wrap(function (_context22) {
|
|
7137
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
6965
7138
|
case 0:
|
|
6966
7139
|
this.rtcMetrics = this.isMultistream ?
|
|
6967
7140
|
// @ts-ignore
|
|
@@ -7003,40 +7176,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7003
7176
|
|
|
7004
7177
|
// publish the streams
|
|
7005
7178
|
if (!this.mediaProperties.audioStream) {
|
|
7006
|
-
|
|
7179
|
+
_context22.next = 1;
|
|
7007
7180
|
break;
|
|
7008
7181
|
}
|
|
7009
7182
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
7010
|
-
|
|
7183
|
+
_context22.next = 1;
|
|
7011
7184
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
7012
7185
|
case 1:
|
|
7013
7186
|
if (!this.mediaProperties.videoStream) {
|
|
7014
|
-
|
|
7187
|
+
_context22.next = 2;
|
|
7015
7188
|
break;
|
|
7016
7189
|
}
|
|
7017
|
-
|
|
7190
|
+
_context22.next = 2;
|
|
7018
7191
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
7019
7192
|
case 2:
|
|
7020
7193
|
if (!this.mediaProperties.shareVideoStream) {
|
|
7021
|
-
|
|
7194
|
+
_context22.next = 3;
|
|
7022
7195
|
break;
|
|
7023
7196
|
}
|
|
7024
|
-
|
|
7197
|
+
_context22.next = 3;
|
|
7025
7198
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
7026
7199
|
case 3:
|
|
7027
7200
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
7028
|
-
|
|
7201
|
+
_context22.next = 4;
|
|
7029
7202
|
break;
|
|
7030
7203
|
}
|
|
7031
|
-
|
|
7204
|
+
_context22.next = 4;
|
|
7032
7205
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
7033
7206
|
case 4:
|
|
7034
|
-
return
|
|
7207
|
+
return _context22.abrupt("return", mc);
|
|
7035
7208
|
case 5:
|
|
7036
7209
|
case "end":
|
|
7037
|
-
return
|
|
7210
|
+
return _context22.stop();
|
|
7038
7211
|
}
|
|
7039
|
-
},
|
|
7212
|
+
}, _callee22, this);
|
|
7040
7213
|
}));
|
|
7041
7214
|
function createMediaConnection(_x15, _x16) {
|
|
7042
7215
|
return _createMediaConnection.apply(this, arguments);
|
|
@@ -7076,11 +7249,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7076
7249
|
}, {
|
|
7077
7250
|
key: "setUpLocalStreamReferences",
|
|
7078
7251
|
value: (function () {
|
|
7079
|
-
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7252
|
+
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(localStreams) {
|
|
7080
7253
|
var _localStreams$microph, _localStreams$camera, _localStreams$screenS, _localStreams$screenS2, _localStreams$screenS3, _localStreams$screenS4, _localStreams$screenS5, _localStreams$screenS6;
|
|
7081
|
-
var setUpStreamPromises,
|
|
7082
|
-
return _regenerator.default.wrap(function (
|
|
7083
|
-
while (1) switch (
|
|
7254
|
+
var setUpStreamPromises, _t13;
|
|
7255
|
+
return _regenerator.default.wrap(function (_context23) {
|
|
7256
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
7084
7257
|
case 0:
|
|
7085
7258
|
setUpStreamPromises = [];
|
|
7086
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') {
|
|
@@ -7095,22 +7268,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7095
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') {
|
|
7096
7269
|
setUpStreamPromises.push(this.setLocalShareAudioStream(localStreams.screenShare.audio));
|
|
7097
7270
|
}
|
|
7098
|
-
|
|
7099
|
-
|
|
7271
|
+
_context23.prev = 1;
|
|
7272
|
+
_context23.next = 2;
|
|
7100
7273
|
return _promise.default.all(setUpStreamPromises);
|
|
7101
7274
|
case 2:
|
|
7102
|
-
|
|
7275
|
+
_context23.next = 4;
|
|
7103
7276
|
break;
|
|
7104
7277
|
case 3:
|
|
7105
|
-
|
|
7106
|
-
|
|
7107
|
-
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ",
|
|
7108
|
-
throw
|
|
7278
|
+
_context23.prev = 3;
|
|
7279
|
+
_t13 = _context23["catch"](1);
|
|
7280
|
+
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _t13);
|
|
7281
|
+
throw _t13;
|
|
7109
7282
|
case 4:
|
|
7110
7283
|
case "end":
|
|
7111
|
-
return
|
|
7284
|
+
return _context23.stop();
|
|
7112
7285
|
}
|
|
7113
|
-
},
|
|
7286
|
+
}, _callee23, this, [[1, 3]]);
|
|
7114
7287
|
}));
|
|
7115
7288
|
function setUpLocalStreamReferences(_x17) {
|
|
7116
7289
|
return _setUpLocalStreamReferences.apply(this, arguments);
|
|
@@ -7127,72 +7300,72 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7127
7300
|
}, {
|
|
7128
7301
|
key: "waitForMediaConnectionConnected",
|
|
7129
7302
|
value: (function () {
|
|
7130
|
-
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7131
|
-
var iceConnected, _this$
|
|
7132
|
-
return _regenerator.default.wrap(function (
|
|
7133
|
-
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) {
|
|
7134
7307
|
case 0:
|
|
7135
|
-
|
|
7136
|
-
|
|
7137
|
-
return this.mediaProperties.waitForMediaConnectionConnected();
|
|
7308
|
+
_context24.prev = 0;
|
|
7309
|
+
_context24.next = 1;
|
|
7310
|
+
return this.mediaProperties.waitForMediaConnectionConnected(this.correlationId);
|
|
7138
7311
|
case 1:
|
|
7139
|
-
|
|
7312
|
+
_context24.next = 5;
|
|
7140
7313
|
break;
|
|
7141
7314
|
case 2:
|
|
7142
|
-
|
|
7143
|
-
|
|
7144
|
-
iceConnected =
|
|
7315
|
+
_context24.prev = 2;
|
|
7316
|
+
_t14 = _context24["catch"](0);
|
|
7317
|
+
iceConnected = _t14.iceConnected;
|
|
7145
7318
|
if (this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
7146
|
-
|
|
7319
|
+
_context24.next = 4;
|
|
7147
7320
|
break;
|
|
7148
7321
|
}
|
|
7149
|
-
|
|
7150
|
-
|
|
7151
|
-
|
|
7152
|
-
|
|
7153
|
-
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
|
|
7157
|
-
|
|
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;
|
|
7158
7331
|
return this.webex.meetings.reachability.isWebexMediaBackendUnreachable().catch(function () {
|
|
7159
7332
|
return false;
|
|
7160
7333
|
});
|
|
7161
7334
|
case 3:
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
signalingState:
|
|
7165
|
-
iceConnected:
|
|
7166
|
-
turnServerUsed:
|
|
7167
|
-
unreachable:
|
|
7335
|
+
_t23 = _context24.sent;
|
|
7336
|
+
_t24 = _t19.generateClientErrorCodeForIceFailure.call(_t19, {
|
|
7337
|
+
signalingState: _t20,
|
|
7338
|
+
iceConnected: _t21,
|
|
7339
|
+
turnServerUsed: _t22,
|
|
7340
|
+
unreachable: _t23
|
|
7168
7341
|
});
|
|
7169
|
-
|
|
7170
|
-
clientErrorCode:
|
|
7342
|
+
_t25 = _t18.getErrorPayloadForClientErrorCode.call(_t18, {
|
|
7343
|
+
clientErrorCode: _t24
|
|
7171
7344
|
});
|
|
7172
|
-
|
|
7173
|
-
_t26 = {
|
|
7174
|
-
canProceed: _t15,
|
|
7175
|
-
icePhase: _t16,
|
|
7176
|
-
errors: _t25
|
|
7177
|
-
};
|
|
7345
|
+
_t26 = [_t25];
|
|
7178
7346
|
_t27 = {
|
|
7347
|
+
canProceed: _t16,
|
|
7348
|
+
icePhase: _t17,
|
|
7349
|
+
errors: _t26
|
|
7350
|
+
};
|
|
7351
|
+
_t28 = {
|
|
7179
7352
|
meetingId: this.id,
|
|
7180
|
-
rawError:
|
|
7353
|
+
rawError: _t14
|
|
7181
7354
|
};
|
|
7182
|
-
|
|
7355
|
+
_t15.submitClientEvent.call(_t15, {
|
|
7183
7356
|
name: 'client.ice.end',
|
|
7184
|
-
payload:
|
|
7185
|
-
options:
|
|
7357
|
+
payload: _t27,
|
|
7358
|
+
options: _t28
|
|
7186
7359
|
});
|
|
7187
7360
|
case 4:
|
|
7188
7361
|
timedOutError = new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
|
|
7189
|
-
timedOutError.cause =
|
|
7362
|
+
timedOutError.cause = _t14;
|
|
7190
7363
|
throw timedOutError;
|
|
7191
7364
|
case 5:
|
|
7192
7365
|
case "end":
|
|
7193
|
-
return
|
|
7366
|
+
return _context24.stop();
|
|
7194
7367
|
}
|
|
7195
|
-
},
|
|
7368
|
+
}, _callee24, this, [[0, 2]]);
|
|
7196
7369
|
}));
|
|
7197
7370
|
function waitForMediaConnectionConnected() {
|
|
7198
7371
|
return _waitForMediaConnectionConnected.apply(this, arguments);
|
|
@@ -7259,19 +7432,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7259
7432
|
}, {
|
|
7260
7433
|
key: "waitForRemoteSDPAnswer",
|
|
7261
7434
|
value: (function () {
|
|
7262
|
-
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7435
|
+
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25() {
|
|
7263
7436
|
var _this44 = this;
|
|
7264
7437
|
var LOG_HEADER, deferSDPAnswer;
|
|
7265
|
-
return _regenerator.default.wrap(function (
|
|
7266
|
-
while (1) switch (
|
|
7438
|
+
return _regenerator.default.wrap(function (_context25) {
|
|
7439
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
7267
7440
|
case 0:
|
|
7268
7441
|
LOG_HEADER = 'Meeting:index#addMedia():waitForRemoteSDPAnswer -->';
|
|
7269
7442
|
if (this.deferSDPAnswer) {
|
|
7270
|
-
|
|
7443
|
+
_context25.next = 1;
|
|
7271
7444
|
break;
|
|
7272
7445
|
}
|
|
7273
7446
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
|
|
7274
|
-
return
|
|
7447
|
+
return _context25.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
|
|
7275
7448
|
case 1:
|
|
7276
7449
|
deferSDPAnswer = this.deferSDPAnswer;
|
|
7277
7450
|
this.sdpResponseTimer = setTimeout(function () {
|
|
@@ -7297,12 +7470,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7297
7470
|
deferSDPAnswer.reject(error);
|
|
7298
7471
|
}, _constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT);
|
|
7299
7472
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " waiting for REMOTE SDP ANSWER..."));
|
|
7300
|
-
return
|
|
7473
|
+
return _context25.abrupt("return", deferSDPAnswer.promise);
|
|
7301
7474
|
case 2:
|
|
7302
7475
|
case "end":
|
|
7303
|
-
return
|
|
7476
|
+
return _context25.stop();
|
|
7304
7477
|
}
|
|
7305
|
-
},
|
|
7478
|
+
}, _callee25, this);
|
|
7306
7479
|
}));
|
|
7307
7480
|
function waitForRemoteSDPAnswer() {
|
|
7308
7481
|
return _waitForRemoteSDPAnswer.apply(this, arguments);
|
|
@@ -7321,28 +7494,28 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7321
7494
|
}, {
|
|
7322
7495
|
key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
|
|
7323
7496
|
value: (function () {
|
|
7324
|
-
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7325
|
-
var LOG_HEADER,
|
|
7326
|
-
return _regenerator.default.wrap(function (
|
|
7327
|
-
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) {
|
|
7328
7501
|
case 0:
|
|
7329
7502
|
LOG_HEADER = 'Meeting:index#addMedia():retryEstablishMediaConnectionWithForcedTurnDiscovery -->';
|
|
7330
|
-
|
|
7331
|
-
|
|
7503
|
+
_context26.prev = 1;
|
|
7504
|
+
_context26.next = 2;
|
|
7332
7505
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
|
|
7333
7506
|
case 2:
|
|
7334
|
-
|
|
7507
|
+
_context26.next = 4;
|
|
7335
7508
|
break;
|
|
7336
7509
|
case 3:
|
|
7337
|
-
|
|
7338
|
-
|
|
7339
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "),
|
|
7340
|
-
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;
|
|
7341
7514
|
case 4:
|
|
7342
7515
|
case "end":
|
|
7343
|
-
return
|
|
7516
|
+
return _context26.stop();
|
|
7344
7517
|
}
|
|
7345
|
-
},
|
|
7518
|
+
}, _callee26, this, [[1, 3]]);
|
|
7346
7519
|
}));
|
|
7347
7520
|
function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x18, _x19) {
|
|
7348
7521
|
return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -7362,14 +7535,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7362
7535
|
}, {
|
|
7363
7536
|
key: "retryWithForcedTurnDiscovery",
|
|
7364
7537
|
value: (function () {
|
|
7365
|
-
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7538
|
+
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27(remoteMediaManagerConfig, bundlePolicy) {
|
|
7366
7539
|
var LOG_HEADER;
|
|
7367
|
-
return _regenerator.default.wrap(function (
|
|
7368
|
-
while (1) switch (
|
|
7540
|
+
return _regenerator.default.wrap(function (_context27) {
|
|
7541
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
7369
7542
|
case 0:
|
|
7370
7543
|
this.addMediaData.retriedWithTurnServer = true;
|
|
7371
7544
|
LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
|
|
7372
|
-
|
|
7545
|
+
_context27.next = 1;
|
|
7373
7546
|
return this.cleanUpBeforeRetryWithTurnServer();
|
|
7374
7547
|
case 1:
|
|
7375
7548
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
|
|
@@ -7379,22 +7552,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7379
7552
|
reason: 'forcingTurnTls'
|
|
7380
7553
|
});
|
|
7381
7554
|
if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
|
|
7382
|
-
|
|
7555
|
+
_context27.next = 2;
|
|
7383
7556
|
break;
|
|
7384
7557
|
}
|
|
7385
7558
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
|
|
7386
|
-
|
|
7559
|
+
_context27.next = 2;
|
|
7387
7560
|
return this.join({
|
|
7388
7561
|
rejoin: true
|
|
7389
7562
|
});
|
|
7390
7563
|
case 2:
|
|
7391
|
-
|
|
7564
|
+
_context27.next = 3;
|
|
7392
7565
|
return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
7393
7566
|
case 3:
|
|
7394
7567
|
case "end":
|
|
7395
|
-
return
|
|
7568
|
+
return _context27.stop();
|
|
7396
7569
|
}
|
|
7397
|
-
},
|
|
7570
|
+
}, _callee27, this);
|
|
7398
7571
|
}));
|
|
7399
7572
|
function retryWithForcedTurnDiscovery(_x20, _x21) {
|
|
7400
7573
|
return _retryWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -7416,30 +7589,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7416
7589
|
}, {
|
|
7417
7590
|
key: "handleWaitForMediaConnectionConnectedError",
|
|
7418
7591
|
value: (function () {
|
|
7419
|
-
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) {
|
|
7420
7593
|
var LOG_HEADER;
|
|
7421
|
-
return _regenerator.default.wrap(function (
|
|
7422
|
-
while (1) switch (
|
|
7594
|
+
return _regenerator.default.wrap(function (_context28) {
|
|
7595
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
7423
7596
|
case 0:
|
|
7424
7597
|
LOG_HEADER = 'Meeting:index#addMedia():handleWaitForMediaConnectionConnectedError -->'; // @ts-ignore - config coming from registerPlugin
|
|
7425
7598
|
if (this.turnServerUsed) {
|
|
7426
|
-
|
|
7599
|
+
_context28.next = 2;
|
|
7427
7600
|
break;
|
|
7428
7601
|
}
|
|
7429
7602
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " error waiting for media to connect on UDP, TCP, retrying using TURN-TLS, "), error);
|
|
7430
|
-
|
|
7603
|
+
_context28.next = 1;
|
|
7431
7604
|
return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
7432
7605
|
case 1:
|
|
7433
|
-
|
|
7606
|
+
_context28.next = 3;
|
|
7434
7607
|
break;
|
|
7435
7608
|
case 2:
|
|
7436
7609
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error waiting for media to connect using UDP, TCP and TURN-TLS"), error);
|
|
7437
7610
|
throw new _webexErrors.AddMediaFailed(error);
|
|
7438
7611
|
case 3:
|
|
7439
7612
|
case "end":
|
|
7440
|
-
return
|
|
7613
|
+
return _context28.stop();
|
|
7441
7614
|
}
|
|
7442
|
-
},
|
|
7615
|
+
}, _callee28, this);
|
|
7443
7616
|
}));
|
|
7444
7617
|
function handleWaitForMediaConnectionConnectedError(_x22, _x23, _x24) {
|
|
7445
7618
|
return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
|
|
@@ -7457,20 +7630,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7457
7630
|
}, {
|
|
7458
7631
|
key: "doTurnDiscovery",
|
|
7459
7632
|
value: (function () {
|
|
7460
|
-
var _doTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7633
|
+
var _doTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee29(isReconnecting, isForced) {
|
|
7461
7634
|
var cdl, turnDiscoveryResult;
|
|
7462
|
-
return _regenerator.default.wrap(function (
|
|
7463
|
-
while (1) switch (
|
|
7635
|
+
return _regenerator.default.wrap(function (_context29) {
|
|
7636
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
7464
7637
|
case 0:
|
|
7465
7638
|
// @ts-ignore
|
|
7466
7639
|
cdl = this.webex.internal.newMetrics.callDiagnosticLatencies; // @ts-ignore
|
|
7467
7640
|
this.webex.internal.newMetrics.submitInternalEvent({
|
|
7468
7641
|
name: 'internal.client.add-media.turn-discovery.start'
|
|
7469
7642
|
});
|
|
7470
|
-
|
|
7643
|
+
_context29.next = 1;
|
|
7471
7644
|
return this.roap.doTurnDiscovery(this, isReconnecting, isForced);
|
|
7472
7645
|
case 1:
|
|
7473
|
-
turnDiscoveryResult =
|
|
7646
|
+
turnDiscoveryResult = _context29.sent;
|
|
7474
7647
|
this.turnDiscoverySkippedReason = turnDiscoveryResult === null || turnDiscoveryResult === void 0 ? void 0 : turnDiscoveryResult.turnDiscoverySkippedReason;
|
|
7475
7648
|
this.turnServerUsed = !this.turnDiscoverySkippedReason;
|
|
7476
7649
|
|
|
@@ -7486,12 +7659,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7486
7659
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer
|
|
7487
7660
|
});
|
|
7488
7661
|
}
|
|
7489
|
-
return
|
|
7662
|
+
return _context29.abrupt("return", turnDiscoveryResult);
|
|
7490
7663
|
case 2:
|
|
7491
7664
|
case "end":
|
|
7492
|
-
return
|
|
7665
|
+
return _context29.stop();
|
|
7493
7666
|
}
|
|
7494
|
-
},
|
|
7667
|
+
}, _callee29, this);
|
|
7495
7668
|
}));
|
|
7496
7669
|
function doTurnDiscovery(_x25, _x26) {
|
|
7497
7670
|
return _doTurnDiscovery.apply(this, arguments);
|
|
@@ -7512,35 +7685,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7512
7685
|
}, {
|
|
7513
7686
|
key: "establishMediaConnection",
|
|
7514
7687
|
value: (function () {
|
|
7515
|
-
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) {
|
|
7516
7689
|
var _this$locusMediaReque;
|
|
7517
|
-
var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc,
|
|
7518
|
-
return _regenerator.default.wrap(function (
|
|
7519
|
-
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) {
|
|
7520
7693
|
case 0:
|
|
7521
7694
|
LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->';
|
|
7522
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
|
|
7523
7696
|
if (this.isMoveToInProgress && this.turnServerUsed) {
|
|
7524
7697
|
isForced = true;
|
|
7525
7698
|
}
|
|
7526
|
-
|
|
7699
|
+
_context30.prev = 1;
|
|
7527
7700
|
if (turnServerInfo) {
|
|
7528
|
-
|
|
7701
|
+
_context30.next = 3;
|
|
7529
7702
|
break;
|
|
7530
7703
|
}
|
|
7531
|
-
|
|
7704
|
+
_context30.next = 2;
|
|
7532
7705
|
return this.doTurnDiscovery(isReconnecting, isForced);
|
|
7533
7706
|
case 2:
|
|
7534
|
-
_yield$this$doTurnDis =
|
|
7707
|
+
_yield$this$doTurnDis = _context30.sent;
|
|
7535
7708
|
turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
|
|
7536
7709
|
case 3:
|
|
7537
|
-
|
|
7710
|
+
_context30.next = 4;
|
|
7538
7711
|
return this.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
7539
7712
|
case 4:
|
|
7540
|
-
mc =
|
|
7713
|
+
mc = _context30.sent;
|
|
7541
7714
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created this.isMultistream=").concat(this.isMultistream));
|
|
7542
7715
|
if (!this.isMultistream) {
|
|
7543
|
-
|
|
7716
|
+
_context30.next = 5;
|
|
7544
7717
|
break;
|
|
7545
7718
|
}
|
|
7546
7719
|
this.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(this.receiveSlotManager, this.mediaRequestManagers, remoteMediaManagerConfig);
|
|
@@ -7548,40 +7721,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7548
7721
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.InterpretationAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED);
|
|
7549
7722
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
|
|
7550
7723
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
|
|
7551
|
-
|
|
7724
|
+
_context30.next = 5;
|
|
7552
7725
|
return this.remoteMediaManager.start();
|
|
7553
7726
|
case 5:
|
|
7554
|
-
|
|
7727
|
+
_context30.next = 6;
|
|
7555
7728
|
return mc.initiateOffer();
|
|
7556
7729
|
case 6:
|
|
7557
|
-
|
|
7730
|
+
_context30.next = 7;
|
|
7558
7731
|
return this.waitForRemoteSDPAnswer();
|
|
7559
7732
|
case 7:
|
|
7560
7733
|
this.handleMediaLogging(this.mediaProperties);
|
|
7561
|
-
|
|
7734
|
+
_context30.next = 9;
|
|
7562
7735
|
break;
|
|
7563
7736
|
case 8:
|
|
7564
|
-
|
|
7565
|
-
|
|
7566
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "),
|
|
7567
|
-
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;
|
|
7568
7741
|
case 9:
|
|
7569
|
-
|
|
7570
|
-
|
|
7742
|
+
_context30.prev = 9;
|
|
7743
|
+
_context30.next = 10;
|
|
7571
7744
|
return this.waitForMediaConnectionConnected();
|
|
7572
7745
|
case 10:
|
|
7573
|
-
|
|
7746
|
+
_context30.next = 12;
|
|
7574
7747
|
break;
|
|
7575
7748
|
case 11:
|
|
7576
|
-
|
|
7577
|
-
|
|
7578
|
-
|
|
7579
|
-
return this.handleWaitForMediaConnectionConnectedError(
|
|
7749
|
+
_context30.prev = 11;
|
|
7750
|
+
_t31 = _context30["catch"](9);
|
|
7751
|
+
_context30.next = 12;
|
|
7752
|
+
return this.handleWaitForMediaConnectionConnectedError(_t31, remoteMediaManagerConfig, bundlePolicy);
|
|
7580
7753
|
case 12:
|
|
7581
7754
|
case "end":
|
|
7582
|
-
return
|
|
7755
|
+
return _context30.stop();
|
|
7583
7756
|
}
|
|
7584
|
-
},
|
|
7757
|
+
}, _callee30, this, [[1, 8], [9, 11]]);
|
|
7585
7758
|
}));
|
|
7586
7759
|
function establishMediaConnection(_x27, _x28, _x29, _x30) {
|
|
7587
7760
|
return _establishMediaConnection.apply(this, arguments);
|
|
@@ -7598,16 +7771,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7598
7771
|
}, {
|
|
7599
7772
|
key: "cleanUpOnAddMediaFailure",
|
|
7600
7773
|
value: (function () {
|
|
7601
|
-
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7774
|
+
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee31() {
|
|
7602
7775
|
var _this$networkQualityM, _this$statsMonitor;
|
|
7603
|
-
return _regenerator.default.wrap(function (
|
|
7604
|
-
while (1) switch (
|
|
7776
|
+
return _regenerator.default.wrap(function (_context31) {
|
|
7777
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
7605
7778
|
case 0:
|
|
7606
7779
|
if (!this.statsAnalyzer) {
|
|
7607
|
-
|
|
7780
|
+
_context31.next = 1;
|
|
7608
7781
|
break;
|
|
7609
7782
|
}
|
|
7610
|
-
|
|
7783
|
+
_context31.next = 1;
|
|
7611
7784
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7612
7785
|
case 1:
|
|
7613
7786
|
this.statsAnalyzer = null;
|
|
@@ -7618,7 +7791,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7618
7791
|
|
|
7619
7792
|
// when media fails, we want to upload a webrtc dump to see whats going on
|
|
7620
7793
|
// this function is async, but returns once the stats have been gathered
|
|
7621
|
-
|
|
7794
|
+
_context31.next = 2;
|
|
7622
7795
|
return this.forceSendStatsReport({
|
|
7623
7796
|
callFrom: 'addMedia'
|
|
7624
7797
|
});
|
|
@@ -7629,9 +7802,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7629
7802
|
}
|
|
7630
7803
|
case 3:
|
|
7631
7804
|
case "end":
|
|
7632
|
-
return
|
|
7805
|
+
return _context31.stop();
|
|
7633
7806
|
}
|
|
7634
|
-
},
|
|
7807
|
+
}, _callee31, this);
|
|
7635
7808
|
}));
|
|
7636
7809
|
function cleanUpOnAddMediaFailure() {
|
|
7637
7810
|
return _cleanUpOnAddMediaFailure.apply(this, arguments);
|
|
@@ -7649,16 +7822,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7649
7822
|
}, {
|
|
7650
7823
|
key: "downgradeFromMultistreamToTranscoded",
|
|
7651
7824
|
value: (function () {
|
|
7652
|
-
var _downgradeFromMultistreamToTranscoded = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7825
|
+
var _downgradeFromMultistreamToTranscoded = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee32() {
|
|
7653
7826
|
var _this$networkQualityM2, _this$statsMonitor2, _this$locusMediaReque2;
|
|
7654
|
-
return _regenerator.default.wrap(function (
|
|
7655
|
-
while (1) switch (
|
|
7827
|
+
return _regenerator.default.wrap(function (_context32) {
|
|
7828
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
7656
7829
|
case 0:
|
|
7657
7830
|
if (!this.statsAnalyzer) {
|
|
7658
|
-
|
|
7831
|
+
_context32.next = 1;
|
|
7659
7832
|
break;
|
|
7660
7833
|
}
|
|
7661
|
-
|
|
7834
|
+
_context32.next = 1;
|
|
7662
7835
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7663
7836
|
case 1:
|
|
7664
7837
|
this.statsAnalyzer = null;
|
|
@@ -7676,9 +7849,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7676
7849
|
this.createStatsAnalyzer();
|
|
7677
7850
|
case 2:
|
|
7678
7851
|
case "end":
|
|
7679
|
-
return
|
|
7852
|
+
return _context32.stop();
|
|
7680
7853
|
}
|
|
7681
|
-
},
|
|
7854
|
+
}, _callee32, this);
|
|
7682
7855
|
}));
|
|
7683
7856
|
function downgradeFromMultistreamToTranscoded() {
|
|
7684
7857
|
return _downgradeFromMultistreamToTranscoded.apply(this, arguments);
|
|
@@ -7696,11 +7869,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7696
7869
|
}, {
|
|
7697
7870
|
key: "cleanUpBeforeRetryWithTurnServer",
|
|
7698
7871
|
value: (function () {
|
|
7699
|
-
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7700
|
-
return _regenerator.default.wrap(function (
|
|
7701
|
-
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) {
|
|
7702
7875
|
case 0:
|
|
7703
|
-
|
|
7876
|
+
_context33.next = 1;
|
|
7704
7877
|
return this.forceSendStatsReport({
|
|
7705
7878
|
callFrom: 'cleanUpBeforeRetryWithTurnServer'
|
|
7706
7879
|
});
|
|
@@ -7720,9 +7893,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7720
7893
|
}
|
|
7721
7894
|
case 2:
|
|
7722
7895
|
case "end":
|
|
7723
|
-
return
|
|
7896
|
+
return _context33.stop();
|
|
7724
7897
|
}
|
|
7725
|
-
},
|
|
7898
|
+
}, _callee33, this);
|
|
7726
7899
|
}));
|
|
7727
7900
|
function cleanUpBeforeRetryWithTurnServer() {
|
|
7728
7901
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
@@ -7732,35 +7905,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7732
7905
|
}, {
|
|
7733
7906
|
key: "cleanUpBeforeReconnection",
|
|
7734
7907
|
value: function () {
|
|
7735
|
-
var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7736
|
-
var
|
|
7737
|
-
return _regenerator.default.wrap(function (
|
|
7738
|
-
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) {
|
|
7739
7912
|
case 0:
|
|
7740
|
-
|
|
7741
|
-
|
|
7913
|
+
_context34.prev = 0;
|
|
7914
|
+
_context34.next = 1;
|
|
7742
7915
|
return this.forceSendStatsReport({
|
|
7743
7916
|
callFrom: 'cleanUpBeforeReconnection'
|
|
7744
7917
|
});
|
|
7745
7918
|
case 1:
|
|
7746
7919
|
if (!this.statsAnalyzer) {
|
|
7747
|
-
|
|
7920
|
+
_context34.next = 2;
|
|
7748
7921
|
break;
|
|
7749
7922
|
}
|
|
7750
|
-
|
|
7923
|
+
_context34.next = 2;
|
|
7751
7924
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7752
7925
|
case 2:
|
|
7753
|
-
|
|
7926
|
+
_context34.next = 4;
|
|
7754
7927
|
break;
|
|
7755
7928
|
case 3:
|
|
7756
|
-
|
|
7757
|
-
|
|
7758
|
-
_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);
|
|
7759
7932
|
case 4:
|
|
7760
7933
|
case "end":
|
|
7761
|
-
return
|
|
7934
|
+
return _context34.stop();
|
|
7762
7935
|
}
|
|
7763
|
-
},
|
|
7936
|
+
}, _callee34, this, [[0, 3]]);
|
|
7764
7937
|
}));
|
|
7765
7938
|
function cleanUpBeforeReconnection() {
|
|
7766
7939
|
return _cleanUpBeforeReconnection.apply(this, arguments);
|
|
@@ -7828,7 +8001,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7828
8001
|
}, {
|
|
7829
8002
|
key: "addMediaInternal",
|
|
7830
8003
|
value: (function () {
|
|
7831
|
-
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) {
|
|
7832
8005
|
var options,
|
|
7833
8006
|
LOG_HEADER,
|
|
7834
8007
|
localStreams,
|
|
@@ -7845,6 +8018,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7845
8018
|
bundlePolicy,
|
|
7846
8019
|
_options$additionalMe,
|
|
7847
8020
|
additionalMediaOptions,
|
|
8021
|
+
_options$allowPublish,
|
|
8022
|
+
allowPublishMediaInLobby,
|
|
7848
8023
|
rawSendVideo,
|
|
7849
8024
|
rawReceiveVideo,
|
|
7850
8025
|
rawSendAudio,
|
|
@@ -7862,7 +8037,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7862
8037
|
numTransports,
|
|
7863
8038
|
iceCandidateErrors,
|
|
7864
8039
|
reachabilityMetrics,
|
|
7865
|
-
_this$mediaProperties13,
|
|
7866
8040
|
_this$mediaProperties14,
|
|
7867
8041
|
_this$mediaProperties15,
|
|
7868
8042
|
_this$mediaProperties16,
|
|
@@ -7883,36 +8057,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7883
8057
|
_this$mediaProperties31,
|
|
7884
8058
|
_this$mediaProperties32,
|
|
7885
8059
|
_this$mediaProperties33,
|
|
8060
|
+
_this$mediaProperties34,
|
|
7886
8061
|
_reachabilityMetrics,
|
|
7887
8062
|
_yield$this$mediaProp2,
|
|
7888
8063
|
_selectedCandidatePairChanges,
|
|
7889
8064
|
_numTransports,
|
|
7890
8065
|
_iceCandidateErrors,
|
|
7891
|
-
|
|
7892
|
-
|
|
7893
|
-
|
|
7894
|
-
return _regenerator.default.wrap(function (
|
|
7895
|
-
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) {
|
|
7896
8071
|
case 0:
|
|
7897
|
-
options =
|
|
8072
|
+
options = _args35.length > 3 && _args35[3] !== undefined ? _args35[3] : {};
|
|
7898
8073
|
this.addMediaData.retriedWithTurnServer = false;
|
|
7899
8074
|
this.addMediaData.icePhaseCallback = icePhaseCallback;
|
|
7900
8075
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
7901
8076
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
7902
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));
|
|
7903
8078
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
7904
|
-
|
|
8079
|
+
_context35.next = 1;
|
|
7905
8080
|
break;
|
|
7906
8081
|
}
|
|
7907
8082
|
throw new _webexErrors.MeetingNotActiveError();
|
|
7908
8083
|
case 1:
|
|
7909
8084
|
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
7910
|
-
|
|
8085
|
+
_context35.next = 2;
|
|
7911
8086
|
break;
|
|
7912
8087
|
}
|
|
7913
8088
|
throw new _webexErrors.UserNotJoinedError();
|
|
7914
8089
|
case 2:
|
|
7915
|
-
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;
|
|
7916
8091
|
rawSendVideo = additionalMediaOptions.sendVideo, rawReceiveVideo = additionalMediaOptions.receiveVideo, rawSendAudio = additionalMediaOptions.sendAudio, rawReceiveAudio = additionalMediaOptions.receiveAudio;
|
|
7917
8092
|
sendVideo = videoEnabled && (rawSendVideo !== null && rawSendVideo !== void 0 ? rawSendVideo : true);
|
|
7918
8093
|
receiveVideo = videoEnabled && (rawReceiveVideo !== null && rawReceiveVideo !== void 0 ? rawReceiveVideo : true);
|
|
@@ -7923,9 +8098,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7923
8098
|
// @ts-ignore
|
|
7924
8099
|
ipver = _util2.default.getIpVersion(this.webex); // used just for metrics
|
|
7925
8100
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
7926
|
-
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
7927
8101
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
7928
|
-
|
|
8102
|
+
_context35.next = 3;
|
|
7929
8103
|
break;
|
|
7930
8104
|
}
|
|
7931
8105
|
throw new _webexErrors.UserInLobbyError();
|
|
@@ -7969,58 +8143,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7969
8143
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
7970
8144
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
7971
8145
|
this.brbState = (0, _brbState.createBrbState)(this, false);
|
|
7972
|
-
|
|
7973
|
-
|
|
8146
|
+
_context35.prev = 4;
|
|
8147
|
+
if (!(allowPublishMediaInLobby || !this.isUserUnadmitted)) {
|
|
8148
|
+
_context35.next = 5;
|
|
8149
|
+
break;
|
|
8150
|
+
}
|
|
8151
|
+
_context35.next = 5;
|
|
7974
8152
|
return this.setUpLocalStreamReferences(localStreams);
|
|
7975
8153
|
case 5:
|
|
7976
8154
|
this.setMercuryListener();
|
|
7977
8155
|
this.createStatsAnalyzer();
|
|
7978
|
-
|
|
7979
|
-
|
|
8156
|
+
_context35.prev = 6;
|
|
8157
|
+
_context35.next = 7;
|
|
7980
8158
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7981
8159
|
case 7:
|
|
7982
|
-
|
|
8160
|
+
_context35.next = 12;
|
|
7983
8161
|
break;
|
|
7984
8162
|
case 8:
|
|
7985
|
-
|
|
7986
|
-
|
|
7987
|
-
if (!(
|
|
7988
|
-
|
|
8163
|
+
_context35.prev = 8;
|
|
8164
|
+
_t33 = _context35["catch"](6);
|
|
8165
|
+
if (!(_t33 instanceof _multistreamNotSupportedError.default)) {
|
|
8166
|
+
_context35.next = 11;
|
|
7989
8167
|
break;
|
|
7990
8168
|
}
|
|
7991
8169
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " we asked for multistream backend (Homer), but got transcoded backend, recreating media connection..."));
|
|
7992
|
-
|
|
8170
|
+
_context35.next = 9;
|
|
7993
8171
|
return this.downgradeFromMultistreamToTranscoded();
|
|
7994
8172
|
case 9:
|
|
7995
|
-
|
|
8173
|
+
_context35.next = 10;
|
|
7996
8174
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true, undefined);
|
|
7997
8175
|
case 10:
|
|
7998
|
-
|
|
8176
|
+
_context35.next = 12;
|
|
7999
8177
|
break;
|
|
8000
8178
|
case 11:
|
|
8001
|
-
throw
|
|
8179
|
+
throw _t33;
|
|
8002
8180
|
case 12:
|
|
8003
8181
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connected, finalizing..."));
|
|
8004
8182
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
8005
|
-
|
|
8183
|
+
_context35.next = 13;
|
|
8006
8184
|
break;
|
|
8007
8185
|
}
|
|
8008
|
-
|
|
8186
|
+
_context35.next = 13;
|
|
8009
8187
|
return this.enqueueScreenShareFloorRequest();
|
|
8010
8188
|
case 13:
|
|
8011
|
-
|
|
8189
|
+
_context35.next = 14;
|
|
8012
8190
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
8013
8191
|
case 14:
|
|
8014
|
-
_yield$this$mediaProp =
|
|
8192
|
+
_yield$this$mediaProp = _context35.sent;
|
|
8015
8193
|
connectionType = _yield$this$mediaProp.connectionType;
|
|
8016
8194
|
ipVersion = _yield$this$mediaProp.ipVersion;
|
|
8017
8195
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
8018
8196
|
numTransports = _yield$this$mediaProp.numTransports;
|
|
8019
8197
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
8020
|
-
|
|
8198
|
+
_context35.next = 15;
|
|
8021
8199
|
return this.getMediaReachabilityMetricFields();
|
|
8022
8200
|
case 15:
|
|
8023
|
-
reachabilityMetrics =
|
|
8201
|
+
reachabilityMetrics = _context35.sent;
|
|
8024
8202
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
8025
8203
|
correlation_id: this.correlationId,
|
|
8026
8204
|
locus_id: this.locusUrl.split('/').pop(),
|
|
@@ -8050,31 +8228,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8050
8228
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
8051
8229
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
8052
8230
|
this.startPeriodicLogUpload();
|
|
8053
|
-
|
|
8231
|
+
_context35.next = 20;
|
|
8054
8232
|
break;
|
|
8055
8233
|
case 16:
|
|
8056
|
-
|
|
8057
|
-
|
|
8058
|
-
_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);
|
|
8059
8237
|
|
|
8060
8238
|
// @ts-ignore
|
|
8061
|
-
|
|
8239
|
+
_context35.next = 17;
|
|
8062
8240
|
return this.getMediaReachabilityMetricFields();
|
|
8063
8241
|
case 17:
|
|
8064
|
-
_reachabilityMetrics =
|
|
8065
|
-
|
|
8242
|
+
_reachabilityMetrics = _context35.sent;
|
|
8243
|
+
_context35.next = 18;
|
|
8066
8244
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
8067
8245
|
case 18:
|
|
8068
|
-
_yield$this$mediaProp2 =
|
|
8246
|
+
_yield$this$mediaProp2 = _context35.sent;
|
|
8069
8247
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
8070
8248
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
8071
8249
|
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
8072
8250
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
8073
8251
|
correlation_id: this.correlationId,
|
|
8074
8252
|
locus_id: this.locusUrl.split('/').pop(),
|
|
8075
|
-
reason:
|
|
8076
|
-
stack:
|
|
8077
|
-
code:
|
|
8253
|
+
reason: _t34.message,
|
|
8254
|
+
stack: _t34.stack,
|
|
8255
|
+
code: _t34.code,
|
|
8078
8256
|
selectedCandidatePairChanges: _selectedCandidatePairChanges,
|
|
8079
8257
|
numTransports: _numTransports,
|
|
8080
8258
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
@@ -8082,14 +8260,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8082
8260
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer,
|
|
8083
8261
|
isMultistream: this.isMultistream,
|
|
8084
8262
|
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry,
|
|
8085
|
-
signalingState: ((_this$
|
|
8086
|
-
connectionState: ((_this$
|
|
8087
|
-
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'
|
|
8088
8266
|
}, _reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
8089
8267
|
iceCandidatesCount: this.iceCandidatesCount,
|
|
8090
8268
|
ipver: ipver
|
|
8091
8269
|
}));
|
|
8092
|
-
|
|
8270
|
+
_context35.next = 19;
|
|
8093
8271
|
return this.cleanUpOnAddMediaFailure();
|
|
8094
8272
|
case 19:
|
|
8095
8273
|
// Upload logs on error while adding media
|
|
@@ -8097,21 +8275,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8097
8275
|
file: 'meeting/index',
|
|
8098
8276
|
function: 'addMedia'
|
|
8099
8277
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
8100
|
-
if (
|
|
8278
|
+
if (_t34 instanceof _internalMediaCore.Errors.SdpError) {
|
|
8101
8279
|
this.leave({
|
|
8102
8280
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
8103
8281
|
});
|
|
8104
8282
|
}
|
|
8105
|
-
throw
|
|
8283
|
+
throw _t34;
|
|
8106
8284
|
case 20:
|
|
8107
|
-
|
|
8285
|
+
_context35.prev = 20;
|
|
8108
8286
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
8109
|
-
return
|
|
8287
|
+
return _context35.finish(20);
|
|
8110
8288
|
case 21:
|
|
8111
8289
|
case "end":
|
|
8112
|
-
return
|
|
8290
|
+
return _context35.stop();
|
|
8113
8291
|
}
|
|
8114
|
-
},
|
|
8292
|
+
}, _callee35, this, [[4, 16, 20, 21], [6, 8]]);
|
|
8115
8293
|
}));
|
|
8116
8294
|
function addMediaInternal(_x31, _x32, _x33) {
|
|
8117
8295
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -8179,35 +8357,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8179
8357
|
* @memberof Meeting
|
|
8180
8358
|
*/
|
|
8181
8359
|
function () {
|
|
8182
|
-
var _updateMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
8360
|
+
var _updateMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee36(options) {
|
|
8183
8361
|
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
|
|
8184
|
-
return _regenerator.default.wrap(function (
|
|
8185
|
-
while (1) switch (
|
|
8362
|
+
return _regenerator.default.wrap(function (_context36) {
|
|
8363
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
8186
8364
|
case 0:
|
|
8187
8365
|
this.checkMediaConnection();
|
|
8188
8366
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
8189
8367
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
8190
8368
|
if (this.canUpdateMedia()) {
|
|
8191
|
-
|
|
8369
|
+
_context36.next = 1;
|
|
8192
8370
|
break;
|
|
8193
8371
|
}
|
|
8194
|
-
return
|
|
8372
|
+
return _context36.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
8195
8373
|
case 1:
|
|
8196
8374
|
if (!this.isMultistream) {
|
|
8197
|
-
|
|
8375
|
+
_context36.next = 3;
|
|
8198
8376
|
break;
|
|
8199
8377
|
}
|
|
8200
8378
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
8201
|
-
|
|
8379
|
+
_context36.next = 2;
|
|
8202
8380
|
break;
|
|
8203
8381
|
}
|
|
8204
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');
|
|
8205
8383
|
case 2:
|
|
8206
|
-
|
|
8384
|
+
_context36.next = 4;
|
|
8207
8385
|
break;
|
|
8208
8386
|
case 3:
|
|
8209
8387
|
if (!(shareAudioEnabled !== undefined)) {
|
|
8210
|
-
|
|
8388
|
+
_context36.next = 4;
|
|
8211
8389
|
break;
|
|
8212
8390
|
}
|
|
8213
8391
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -8232,18 +8410,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8232
8410
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
8233
8411
|
}
|
|
8234
8412
|
if (this.isMultistream) {
|
|
8235
|
-
|
|
8413
|
+
_context36.next = 5;
|
|
8236
8414
|
break;
|
|
8237
8415
|
}
|
|
8238
|
-
|
|
8416
|
+
_context36.next = 5;
|
|
8239
8417
|
return this.updateTranscodedMediaConnection();
|
|
8240
8418
|
case 5:
|
|
8241
|
-
return
|
|
8419
|
+
return _context36.abrupt("return", undefined);
|
|
8242
8420
|
case 6:
|
|
8243
8421
|
case "end":
|
|
8244
|
-
return
|
|
8422
|
+
return _context36.stop();
|
|
8245
8423
|
}
|
|
8246
|
-
},
|
|
8424
|
+
}, _callee36, this);
|
|
8247
8425
|
}));
|
|
8248
8426
|
function updateMedia(_x34) {
|
|
8249
8427
|
return _updateMedia.apply(this, arguments);
|
|
@@ -8385,32 +8563,46 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8385
8563
|
);
|
|
8386
8564
|
};
|
|
8387
8565
|
_loggerProxy.default.logger.log('Meeting:index#leave --> Leaving a meeting');
|
|
8388
|
-
return _util2.default.leaveMeeting(this, options).then(function (
|
|
8389
|
-
|
|
8390
|
-
|
|
8391
|
-
|
|
8392
|
-
|
|
8393
|
-
|
|
8394
|
-
|
|
8395
|
-
|
|
8396
|
-
|
|
8397
|
-
|
|
8398
|
-
|
|
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);
|
|
8399
8582
|
|
|
8400
|
-
|
|
8401
|
-
|
|
8402
|
-
|
|
8403
|
-
|
|
8404
|
-
|
|
8405
|
-
|
|
8406
|
-
|
|
8407
|
-
|
|
8408
|
-
|
|
8409
|
-
|
|
8410
|
-
|
|
8411
|
-
|
|
8412
|
-
|
|
8413
|
-
|
|
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) {
|
|
8414
8606
|
// CA team recommends submitting this *after* locus /leave
|
|
8415
8607
|
submitLeaveMetric({
|
|
8416
8608
|
errors: [{
|
|
@@ -8889,10 +9081,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8889
9081
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
8890
9082
|
var main = renderInfo.main,
|
|
8891
9083
|
content = renderInfo.content;
|
|
8892
|
-
var _this$
|
|
8893
|
-
mediaDirection = _this$
|
|
8894
|
-
remoteShareStream = _this$
|
|
8895
|
-
remoteVideoStream = _this$
|
|
9084
|
+
var _this$mediaProperties35 = this.mediaProperties,
|
|
9085
|
+
mediaDirection = _this$mediaProperties35.mediaDirection,
|
|
9086
|
+
remoteShareStream = _this$mediaProperties35.remoteShareStream,
|
|
9087
|
+
remoteVideoStream = _this$mediaProperties35.remoteVideoStream;
|
|
8896
9088
|
var layoutInfo = (0, _lodash.cloneDeep)(this.lastVideoLayoutInfo);
|
|
8897
9089
|
|
|
8898
9090
|
// TODO: We need a real time value for Audio, Video and Share send indicator
|
|
@@ -9072,16 +9264,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9072
9264
|
correlation_id: this.correlationId,
|
|
9073
9265
|
locus_id: this.locusId
|
|
9074
9266
|
});
|
|
9075
|
-
return _util2.default.endMeetingForAll(this).then(function (
|
|
9076
|
-
|
|
9077
|
-
|
|
9078
|
-
|
|
9079
|
-
|
|
9080
|
-
|
|
9081
|
-
|
|
9082
|
-
|
|
9083
|
-
|
|
9084
|
-
|
|
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) {
|
|
9085
9292
|
_this56.meetingFiniteStateMachine.fail(error);
|
|
9086
9293
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
9087
9294
|
// upload logs on leave irrespective of meeting delete
|
|
@@ -9143,12 +9350,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9143
9350
|
*/
|
|
9144
9351
|
}, {
|
|
9145
9352
|
key: "extendMeeting",
|
|
9146
|
-
value: function extendMeeting(
|
|
9147
|
-
var meetingPolicyUrl =
|
|
9148
|
-
meetingInstanceId =
|
|
9149
|
-
participantId =
|
|
9150
|
-
|
|
9151
|
-
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;
|
|
9152
9359
|
if (!meetingInstanceId || !participantId) {
|
|
9153
9360
|
return _promise.default.reject(new Error('Missing meetingInstanceId or participantId'));
|
|
9154
9361
|
}
|
|
@@ -9213,8 +9420,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9213
9420
|
}, {
|
|
9214
9421
|
key: "checkMediaConnection",
|
|
9215
9422
|
value: function checkMediaConnection() {
|
|
9216
|
-
var _this$
|
|
9217
|
-
if ((_this$
|
|
9423
|
+
var _this$mediaProperties36;
|
|
9424
|
+
if ((_this$mediaProperties36 = this.mediaProperties) !== null && _this$mediaProperties36 !== void 0 && _this$mediaProperties36.webrtcMediaConnection) {
|
|
9218
9425
|
return;
|
|
9219
9426
|
}
|
|
9220
9427
|
throw new _webexErrors.NoMediaEstablishedYetError();
|
|
@@ -9229,39 +9436,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9229
9436
|
}, {
|
|
9230
9437
|
key: "enableMusicMode",
|
|
9231
9438
|
value: (function () {
|
|
9232
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9233
|
-
return _regenerator.default.wrap(function (
|
|
9234
|
-
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) {
|
|
9235
9442
|
case 0:
|
|
9236
9443
|
this.checkMediaConnection();
|
|
9237
9444
|
if (this.isMultistream) {
|
|
9238
|
-
|
|
9445
|
+
_context39.next = 1;
|
|
9239
9446
|
break;
|
|
9240
9447
|
}
|
|
9241
9448
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
9242
9449
|
case 1:
|
|
9243
9450
|
if (!shouldEnableMusicMode) {
|
|
9244
|
-
|
|
9451
|
+
_context39.next = 3;
|
|
9245
9452
|
break;
|
|
9246
9453
|
}
|
|
9247
|
-
|
|
9454
|
+
_context39.next = 2;
|
|
9248
9455
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
9249
9456
|
maxaveragebitrate: '64000',
|
|
9250
9457
|
maxplaybackrate: '48000'
|
|
9251
9458
|
});
|
|
9252
9459
|
case 2:
|
|
9253
|
-
|
|
9460
|
+
_context39.next = 4;
|
|
9254
9461
|
break;
|
|
9255
9462
|
case 3:
|
|
9256
|
-
|
|
9463
|
+
_context39.next = 4;
|
|
9257
9464
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
9258
9465
|
case 4:
|
|
9259
9466
|
case "end":
|
|
9260
|
-
return
|
|
9467
|
+
return _context39.stop();
|
|
9261
9468
|
}
|
|
9262
|
-
},
|
|
9469
|
+
}, _callee39, this);
|
|
9263
9470
|
}));
|
|
9264
|
-
function enableMusicMode(
|
|
9471
|
+
function enableMusicMode(_x37) {
|
|
9265
9472
|
return _enableMusicMode.apply(this, arguments);
|
|
9266
9473
|
}
|
|
9267
9474
|
return enableMusicMode;
|
|
@@ -9274,14 +9481,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9274
9481
|
}, {
|
|
9275
9482
|
key: "updateTranscodedMediaConnection",
|
|
9276
9483
|
value: function updateTranscodedMediaConnection() {
|
|
9277
|
-
var _this$
|
|
9278
|
-
_this$mediaProperties37,
|
|
9484
|
+
var _this$mediaProperties37,
|
|
9279
9485
|
_this$mediaProperties38,
|
|
9280
9486
|
_this$mediaProperties39,
|
|
9281
9487
|
_this$mediaProperties40,
|
|
9282
9488
|
_this$mediaProperties41,
|
|
9283
9489
|
_this$mediaProperties42,
|
|
9284
9490
|
_this$mediaProperties43,
|
|
9491
|
+
_this$mediaProperties44,
|
|
9285
9492
|
_this57 = this;
|
|
9286
9493
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
9287
9494
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
@@ -9291,10 +9498,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9291
9498
|
return this.mediaProperties.webrtcMediaConnection.update({
|
|
9292
9499
|
// TODO: RoapMediaConnection is not ready to use stream classes yet, so we pass the raw MediaStreamTrack for now
|
|
9293
9500
|
localTracks: {
|
|
9294
|
-
audio: ((_this$
|
|
9295
|
-
video: ((_this$
|
|
9296
|
-
screenShareVideo: ((_this$
|
|
9297
|
-
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
|
|
9298
9505
|
},
|
|
9299
9506
|
direction: {
|
|
9300
9507
|
audio: _media.default.getDirection(true, this.mediaProperties.mediaDirection.receiveAudio, this.mediaProperties.mediaDirection.sendAudio),
|
|
@@ -9352,25 +9559,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9352
9559
|
}, {
|
|
9353
9560
|
key: "publishStream",
|
|
9354
9561
|
value: (function () {
|
|
9355
|
-
var _publishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9356
|
-
return _regenerator.default.wrap(function (
|
|
9357
|
-
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) {
|
|
9358
9565
|
case 0:
|
|
9359
9566
|
if (stream) {
|
|
9360
|
-
|
|
9567
|
+
_context40.next = 1;
|
|
9361
9568
|
break;
|
|
9362
9569
|
}
|
|
9363
|
-
return
|
|
9570
|
+
return _context40.abrupt("return");
|
|
9364
9571
|
case 1:
|
|
9365
9572
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
9366
|
-
|
|
9573
|
+
_context40.next = 3;
|
|
9367
9574
|
break;
|
|
9368
9575
|
}
|
|
9369
9576
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
9370
|
-
|
|
9577
|
+
_context40.next = 2;
|
|
9371
9578
|
break;
|
|
9372
9579
|
}
|
|
9373
|
-
|
|
9580
|
+
_context40.next = 2;
|
|
9374
9581
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
9375
9582
|
case 2:
|
|
9376
9583
|
this.emitPublishStateChangeEvent({
|
|
@@ -9381,11 +9588,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9381
9588
|
});
|
|
9382
9589
|
case 3:
|
|
9383
9590
|
case "end":
|
|
9384
|
-
return
|
|
9591
|
+
return _context40.stop();
|
|
9385
9592
|
}
|
|
9386
|
-
},
|
|
9593
|
+
}, _callee40, this);
|
|
9387
9594
|
}));
|
|
9388
|
-
function publishStream(
|
|
9595
|
+
function publishStream(_x38, _x39) {
|
|
9389
9596
|
return _publishStream.apply(this, arguments);
|
|
9390
9597
|
}
|
|
9391
9598
|
return publishStream;
|
|
@@ -9401,21 +9608,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9401
9608
|
}, {
|
|
9402
9609
|
key: "unpublishStream",
|
|
9403
9610
|
value: (function () {
|
|
9404
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9405
|
-
return _regenerator.default.wrap(function (
|
|
9406
|
-
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) {
|
|
9407
9614
|
case 0:
|
|
9408
9615
|
if (stream) {
|
|
9409
|
-
|
|
9616
|
+
_context41.next = 1;
|
|
9410
9617
|
break;
|
|
9411
9618
|
}
|
|
9412
|
-
return
|
|
9619
|
+
return _context41.abrupt("return");
|
|
9413
9620
|
case 1:
|
|
9414
9621
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
9415
|
-
|
|
9622
|
+
_context41.next = 2;
|
|
9416
9623
|
break;
|
|
9417
9624
|
}
|
|
9418
|
-
|
|
9625
|
+
_context41.next = 2;
|
|
9419
9626
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
9420
9627
|
case 2:
|
|
9421
9628
|
this.emitPublishStateChangeEvent({
|
|
@@ -9426,11 +9633,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9426
9633
|
});
|
|
9427
9634
|
case 3:
|
|
9428
9635
|
case "end":
|
|
9429
|
-
return
|
|
9636
|
+
return _context41.stop();
|
|
9430
9637
|
}
|
|
9431
|
-
},
|
|
9638
|
+
}, _callee41, this);
|
|
9432
9639
|
}));
|
|
9433
|
-
function unpublishStream(
|
|
9640
|
+
function unpublishStream(_x40, _x41) {
|
|
9434
9641
|
return _unpublishStream.apply(this, arguments);
|
|
9435
9642
|
}
|
|
9436
9643
|
return unpublishStream;
|
|
@@ -9445,19 +9652,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9445
9652
|
}, {
|
|
9446
9653
|
key: "publishStreams",
|
|
9447
9654
|
value: (function () {
|
|
9448
|
-
var _publishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9655
|
+
var _publishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee42(streams) {
|
|
9449
9656
|
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
|
|
9450
9657
|
var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
|
|
9451
|
-
return _regenerator.default.wrap(function (
|
|
9452
|
-
while (1) switch (
|
|
9658
|
+
return _regenerator.default.wrap(function (_context42) {
|
|
9659
|
+
while (1) switch (_context42.prev = _context42.next) {
|
|
9453
9660
|
case 0:
|
|
9454
9661
|
_loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
9455
9662
|
this.checkMediaConnection();
|
|
9456
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))) {
|
|
9457
|
-
|
|
9664
|
+
_context42.next = 1;
|
|
9458
9665
|
break;
|
|
9459
9666
|
}
|
|
9460
|
-
return
|
|
9667
|
+
return _context42.abrupt("return");
|
|
9461
9668
|
case 1:
|
|
9462
9669
|
streamChecks = [{
|
|
9463
9670
|
stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
|
|
@@ -9475,62 +9682,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9475
9682
|
_i = 0, _streamChecks = streamChecks;
|
|
9476
9683
|
case 2:
|
|
9477
9684
|
if (!(_i < _streamChecks.length)) {
|
|
9478
|
-
|
|
9685
|
+
_context42.next = 4;
|
|
9479
9686
|
break;
|
|
9480
9687
|
}
|
|
9481
9688
|
_streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
|
|
9482
9689
|
if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
|
|
9483
|
-
|
|
9690
|
+
_context42.next = 3;
|
|
9484
9691
|
break;
|
|
9485
9692
|
}
|
|
9486
9693
|
throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
|
|
9487
9694
|
case 3:
|
|
9488
9695
|
_i++;
|
|
9489
|
-
|
|
9696
|
+
_context42.next = 2;
|
|
9490
9697
|
break;
|
|
9491
9698
|
case 4:
|
|
9492
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
|
|
9493
9700
|
if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
|
|
9494
|
-
|
|
9701
|
+
_context42.next = 6;
|
|
9495
9702
|
break;
|
|
9496
9703
|
}
|
|
9497
|
-
|
|
9704
|
+
_context42.next = 5;
|
|
9498
9705
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
9499
9706
|
case 5:
|
|
9500
9707
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
9501
9708
|
case 6:
|
|
9502
9709
|
if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
|
|
9503
|
-
|
|
9710
|
+
_context42.next = 8;
|
|
9504
9711
|
break;
|
|
9505
9712
|
}
|
|
9506
|
-
|
|
9713
|
+
_context42.next = 7;
|
|
9507
9714
|
return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
|
|
9508
9715
|
case 7:
|
|
9509
9716
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
9510
9717
|
case 8:
|
|
9511
9718
|
if (!streams.microphone) {
|
|
9512
|
-
|
|
9719
|
+
_context42.next = 9;
|
|
9513
9720
|
break;
|
|
9514
9721
|
}
|
|
9515
|
-
|
|
9722
|
+
_context42.next = 9;
|
|
9516
9723
|
return this.setLocalAudioStream(streams.microphone);
|
|
9517
9724
|
case 9:
|
|
9518
9725
|
if (!streams.camera) {
|
|
9519
|
-
|
|
9726
|
+
_context42.next = 10;
|
|
9520
9727
|
break;
|
|
9521
9728
|
}
|
|
9522
|
-
|
|
9729
|
+
_context42.next = 10;
|
|
9523
9730
|
return this.setLocalVideoStream(streams.camera);
|
|
9524
9731
|
case 10:
|
|
9525
9732
|
if (this.isMultistream) {
|
|
9526
|
-
|
|
9733
|
+
_context42.next = 11;
|
|
9527
9734
|
break;
|
|
9528
9735
|
}
|
|
9529
|
-
|
|
9736
|
+
_context42.next = 11;
|
|
9530
9737
|
return this.updateTranscodedMediaConnection();
|
|
9531
9738
|
case 11:
|
|
9532
9739
|
if (!floorRequestNeeded) {
|
|
9533
|
-
|
|
9740
|
+
_context42.next = 12;
|
|
9534
9741
|
break;
|
|
9535
9742
|
}
|
|
9536
9743
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -9561,15 +9768,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9561
9768
|
// we're sending the http request to Locus to request the screen share floor
|
|
9562
9769
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
9563
9770
|
// and also if sharing from the start, we need confluence to have been created
|
|
9564
|
-
|
|
9771
|
+
_context42.next = 12;
|
|
9565
9772
|
return this.enqueueScreenShareFloorRequest();
|
|
9566
9773
|
case 12:
|
|
9567
9774
|
case "end":
|
|
9568
|
-
return
|
|
9775
|
+
return _context42.stop();
|
|
9569
9776
|
}
|
|
9570
|
-
},
|
|
9777
|
+
}, _callee42, this);
|
|
9571
9778
|
}));
|
|
9572
|
-
function publishStreams(
|
|
9779
|
+
function publishStreams(_x42) {
|
|
9573
9780
|
return _publishStreams.apply(this, arguments);
|
|
9574
9781
|
}
|
|
9575
9782
|
return publishStreams;
|
|
@@ -9584,10 +9791,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9584
9791
|
}, {
|
|
9585
9792
|
key: "unpublishStreams",
|
|
9586
9793
|
value: (function () {
|
|
9587
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9794
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee43(streams) {
|
|
9588
9795
|
var promises, _iterator, _step, stream;
|
|
9589
|
-
return _regenerator.default.wrap(function (
|
|
9590
|
-
while (1) switch (
|
|
9796
|
+
return _regenerator.default.wrap(function (_context43) {
|
|
9797
|
+
while (1) switch (_context43.prev = _context43.next) {
|
|
9591
9798
|
case 0:
|
|
9592
9799
|
_loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
9593
9800
|
this.checkMediaConnection();
|
|
@@ -9619,7 +9826,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9619
9826
|
if (!this.isMultistream) {
|
|
9620
9827
|
promises.push(this.updateTranscodedMediaConnection());
|
|
9621
9828
|
}
|
|
9622
|
-
|
|
9829
|
+
_context43.next = 1;
|
|
9623
9830
|
return _promise.default.all(promises);
|
|
9624
9831
|
case 1:
|
|
9625
9832
|
// we're allowing for the SDK to support just audio share as well
|
|
@@ -9640,11 +9847,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9640
9847
|
}
|
|
9641
9848
|
case 2:
|
|
9642
9849
|
case "end":
|
|
9643
|
-
return
|
|
9850
|
+
return _context43.stop();
|
|
9644
9851
|
}
|
|
9645
|
-
},
|
|
9852
|
+
}, _callee43, this);
|
|
9646
9853
|
}));
|
|
9647
|
-
function unpublishStreams(
|
|
9854
|
+
function unpublishStreams(_x43) {
|
|
9648
9855
|
return _unpublishStreams.apply(this, arguments);
|
|
9649
9856
|
}
|
|
9650
9857
|
return unpublishStreams;
|
|
@@ -9710,16 +9917,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9710
9917
|
}, {
|
|
9711
9918
|
key: "getMediaReachabilityMetricFields",
|
|
9712
9919
|
value: (function () {
|
|
9713
|
-
var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9920
|
+
var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee44() {
|
|
9714
9921
|
var _this$mediaServerIp, _this$mediaConnection, _this$mediaConnection2, _this$mediaConnection3;
|
|
9715
9922
|
var reachabilityMetrics, successKeys, totalSuccessCases, selectedSubnetFirstOctet, isSubnetReachable, selectedCluster;
|
|
9716
|
-
return _regenerator.default.wrap(function (
|
|
9717
|
-
while (1) switch (
|
|
9923
|
+
return _regenerator.default.wrap(function (_context44) {
|
|
9924
|
+
while (1) switch (_context44.prev = _context44.next) {
|
|
9718
9925
|
case 0:
|
|
9719
|
-
|
|
9926
|
+
_context44.next = 1;
|
|
9720
9927
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
9721
9928
|
case 1:
|
|
9722
|
-
reachabilityMetrics =
|
|
9929
|
+
reachabilityMetrics = _context44.sent;
|
|
9723
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'];
|
|
9724
9931
|
totalSuccessCases = successKeys.reduce(function (total, key) {
|
|
9725
9932
|
var value = reachabilityMetrics[key];
|
|
@@ -9736,16 +9943,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9736
9943
|
this.webex.meetings.reachability.isSubnetReachable(selectedSubnetFirstOctet);
|
|
9737
9944
|
}
|
|
9738
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;
|
|
9739
|
-
return
|
|
9946
|
+
return _context44.abrupt("return", _objectSpread(_objectSpread({}, reachabilityMetrics), {}, {
|
|
9740
9947
|
subnet_reachable: isSubnetReachable,
|
|
9741
9948
|
selected_cluster: selectedCluster,
|
|
9742
9949
|
selected_subnet: selectedSubnetFirstOctet ? "".concat(selectedSubnetFirstOctet, ".X.X.X") : null
|
|
9743
9950
|
}));
|
|
9744
9951
|
case 2:
|
|
9745
9952
|
case "end":
|
|
9746
|
-
return
|
|
9953
|
+
return _context44.stop();
|
|
9747
9954
|
}
|
|
9748
|
-
},
|
|
9955
|
+
}, _callee44, this);
|
|
9749
9956
|
}));
|
|
9750
9957
|
function getMediaReachabilityMetricFields() {
|
|
9751
9958
|
return _getMediaReachabilityMetricFields.apply(this, arguments);
|
|
@@ -9762,17 +9969,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9762
9969
|
}, {
|
|
9763
9970
|
key: "setStage",
|
|
9764
9971
|
value: function setStage() {
|
|
9765
|
-
var
|
|
9766
|
-
|
|
9767
|
-
activeSpeakerProportion =
|
|
9768
|
-
customBackground =
|
|
9769
|
-
customLogo =
|
|
9770
|
-
customNameLabel =
|
|
9771
|
-
importantParticipants =
|
|
9772
|
-
|
|
9773
|
-
lockAttendeeViewOnStage =
|
|
9774
|
-
|
|
9775
|
-
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;
|
|
9776
9983
|
var videoLayout = {
|
|
9777
9984
|
overrideDefault: true,
|
|
9778
9985
|
lockAttendeeViewOnStageOnly: lockAttendeeViewOnStage,
|
|
@@ -9868,6 +10075,71 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9868
10075
|
value: function cancelSipCallOut(participantId) {
|
|
9869
10076
|
return this.meetingRequest.cancelSipCallOut(participantId);
|
|
9870
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
|
+
}
|
|
9871
10143
|
}]);
|
|
9872
10144
|
}(_webexCore.StatelessWebexPlugin);
|
|
9873
10145
|
//# sourceMappingURL=index.js.map
|