@webex/plugin-meetings 3.11.0 → 3.12.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 +1173 -877
- 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 +61 -7
- package/dist/types/meeting/request.d.ts +16 -1
- package/dist/types/meeting/request.type.d.ts +5 -0
- package/dist/types/meeting/util.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +4 -2
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/member/util.d.ts +5 -0
- package/dist/types/metrics/constants.d.ts +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 +291 -91
- 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 +291 -76
- 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 +191 -6
- package/src/webinar/utils.ts +16 -0
- package/test/unit/spec/aiEnableRequest/index.ts +981 -0
- package/test/unit/spec/aiEnableRequest/utils.ts +130 -0
- package/test/unit/spec/annotation/index.ts +69 -7
- package/test/unit/spec/hashTree/hashTree.ts +66 -0
- package/test/unit/spec/hashTree/hashTreeParser.ts +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 +829 -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 +474 -37
- package/test/unit/spec/webinar/utils.ts +39 -0
package/dist/meeting/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
4
3
|
var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
5
4
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
6
5
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
7
6
|
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
8
7
|
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
9
8
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
9
|
+
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
10
10
|
var _Array$from = require("@babel/runtime-corejs2/core-js/array/from");
|
|
11
11
|
var _Symbol = require("@babel/runtime-corejs2/core-js/symbol");
|
|
12
12
|
var _Symbol$iterator = require("@babel/runtime-corejs2/core-js/symbol/iterator");
|
|
@@ -16,7 +16,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
16
16
|
value: true
|
|
17
17
|
});
|
|
18
18
|
exports.default = exports.ScreenShareFloorStatus = exports.MEDIA_UPDATE_TYPE = void 0;
|
|
19
|
-
|
|
19
|
+
exports.storeEventForDebugging = storeEventForDebugging;
|
|
20
20
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
21
21
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
22
22
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
@@ -24,6 +24,7 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"))
|
|
|
24
24
|
var _isNan = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/number/is-nan"));
|
|
25
25
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
26
26
|
var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
|
|
27
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
27
28
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
|
|
28
29
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
29
30
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
@@ -40,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,31 @@ 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
|
+
_this.stopTranscription();
|
|
1554
|
+
_this.transcription = undefined;
|
|
1555
|
+
_this.annotation.deregisterEvents();
|
|
1556
|
+
_this.clearDataChannelToken();
|
|
1557
|
+
_context5.next = 1;
|
|
1558
|
+
return _this.cleanupLLMConneciton({
|
|
1559
|
+
throwOnError: false
|
|
1560
|
+
});
|
|
1561
|
+
case 1:
|
|
1562
|
+
case "end":
|
|
1563
|
+
return _context5.stop();
|
|
1564
|
+
}
|
|
1565
|
+
}, _callee5);
|
|
1566
|
+
})));
|
|
1446
1567
|
/**
|
|
1447
1568
|
* starts keepAlives being sent
|
|
1448
1569
|
* @returns {void}
|
|
@@ -1605,6 +1726,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1605
1726
|
_this.simultaneousInterpretation = new _interpretation.default({}, {
|
|
1606
1727
|
parent: _this.webex
|
|
1607
1728
|
});
|
|
1729
|
+
|
|
1730
|
+
// @ts-ignore
|
|
1731
|
+
_this.aiEnableRequest = new _aiEnableRequest.default({}, {
|
|
1732
|
+
parent: _this.webex
|
|
1733
|
+
});
|
|
1734
|
+
|
|
1608
1735
|
/**
|
|
1609
1736
|
* @instance
|
|
1610
1737
|
* @type {Annotation}
|
|
@@ -2184,9 +2311,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2184
2311
|
* @memberof Meeting
|
|
2185
2312
|
*/
|
|
2186
2313
|
_this.recordingController = new _recordingController.default(_this.meetingRequest, {
|
|
2187
|
-
serviceUrl: (_this$
|
|
2188
|
-
sessionId: (_this$
|
|
2189
|
-
locusUrl: (_this$
|
|
2314
|
+
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,
|
|
2315
|
+
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,
|
|
2316
|
+
locusUrl: (_this$locusInfo4 = _this.locusInfo) === null || _this$locusInfo4 === void 0 ? void 0 : _this$locusInfo4.url,
|
|
2190
2317
|
displayHints: []
|
|
2191
2318
|
});
|
|
2192
2319
|
|
|
@@ -2198,7 +2325,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2198
2325
|
* @memberof Meeting
|
|
2199
2326
|
*/
|
|
2200
2327
|
_this.controlsOptionsManager = new _controlsOptionsManager.default(_this.meetingRequest, {
|
|
2201
|
-
locusUrl: (_this$
|
|
2328
|
+
locusUrl: (_this$locusInfo5 = _this.locusInfo) === null || _this$locusInfo5 === void 0 ? void 0 : _this$locusInfo5.url,
|
|
2202
2329
|
displayHints: []
|
|
2203
2330
|
});
|
|
2204
2331
|
_this.setUpLocusInfoListeners();
|
|
@@ -2227,6 +2354,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2227
2354
|
_this.updateTranscodedMediaConnection();
|
|
2228
2355
|
}
|
|
2229
2356
|
};
|
|
2357
|
+
_this.localConstraintsChangeHandler = function () {
|
|
2358
|
+
if (!_this.isMultistream) {
|
|
2359
|
+
var _this$mediaProperties6;
|
|
2360
|
+
(_this$mediaProperties6 = _this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties6 === void 0 ? void 0 : _this$mediaProperties6.updatePreferredBitrateKbps();
|
|
2361
|
+
}
|
|
2362
|
+
};
|
|
2230
2363
|
|
|
2231
2364
|
/**
|
|
2232
2365
|
* Promise that exists if SDP offer has been generated, and resolves once sdp answer is received.
|
|
@@ -2563,20 +2696,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2563
2696
|
}, {
|
|
2564
2697
|
key: "injectMeetingInfo",
|
|
2565
2698
|
value: (function () {
|
|
2566
|
-
var _injectMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2567
|
-
return _regenerator.default.wrap(function (
|
|
2568
|
-
while (1) switch (
|
|
2699
|
+
var _injectMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(meetingInfo, fetchParams, meetingLookupUrl) {
|
|
2700
|
+
return _regenerator.default.wrap(function (_context6) {
|
|
2701
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
2569
2702
|
case 0:
|
|
2570
|
-
|
|
2703
|
+
_context6.next = 1;
|
|
2571
2704
|
return this.prepForFetchMeetingInfo(fetchParams, 'injectMeetingInfo');
|
|
2572
2705
|
case 1:
|
|
2573
2706
|
this.parseMeetingInfo(meetingInfo, this.destination);
|
|
2574
2707
|
this.setMeetingInfo(meetingInfo, meetingLookupUrl);
|
|
2575
2708
|
case 2:
|
|
2576
2709
|
case "end":
|
|
2577
|
-
return
|
|
2710
|
+
return _context6.stop();
|
|
2578
2711
|
}
|
|
2579
|
-
},
|
|
2712
|
+
}, _callee6, this);
|
|
2580
2713
|
}));
|
|
2581
2714
|
function injectMeetingInfo(_x2, _x3, _x4) {
|
|
2582
2715
|
return _injectMeetingInfo.apply(this, arguments);
|
|
@@ -2595,15 +2728,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2595
2728
|
)
|
|
2596
2729
|
}, {
|
|
2597
2730
|
key: "prepForFetchMeetingInfo",
|
|
2598
|
-
value: function prepForFetchMeetingInfo(
|
|
2599
|
-
var
|
|
2600
|
-
password =
|
|
2601
|
-
|
|
2602
|
-
registrationId =
|
|
2603
|
-
|
|
2604
|
-
captchaCode =
|
|
2605
|
-
|
|
2606
|
-
extraParams =
|
|
2731
|
+
value: function prepForFetchMeetingInfo(_ref0, caller) {
|
|
2732
|
+
var _ref0$password = _ref0.password,
|
|
2733
|
+
password = _ref0$password === void 0 ? null : _ref0$password,
|
|
2734
|
+
_ref0$registrationId = _ref0.registrationId,
|
|
2735
|
+
registrationId = _ref0$registrationId === void 0 ? null : _ref0$registrationId,
|
|
2736
|
+
_ref0$captchaCode = _ref0.captchaCode,
|
|
2737
|
+
captchaCode = _ref0$captchaCode === void 0 ? null : _ref0$captchaCode,
|
|
2738
|
+
_ref0$extraParams = _ref0.extraParams,
|
|
2739
|
+
extraParams = _ref0$extraParams === void 0 ? {} : _ref0$extraParams;
|
|
2607
2740
|
// when fetch meeting info is called directly by the client, we want to clear out the random timer for sdk to do it
|
|
2608
2741
|
if (this.fetchMeetingInfoTimeoutId) {
|
|
2609
2742
|
clearTimeout(this.fetchMeetingInfoTimeoutId);
|
|
@@ -2627,18 +2760,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2627
2760
|
}, {
|
|
2628
2761
|
key: "fetchMeetingInfoInternal",
|
|
2629
2762
|
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 (
|
|
2763
|
+
var _fetchMeetingInfoInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(_ref1) {
|
|
2764
|
+
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;
|
|
2765
|
+
return _regenerator.default.wrap(function (_context7) {
|
|
2766
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
2634
2767
|
case 0:
|
|
2635
|
-
destination =
|
|
2636
|
-
|
|
2768
|
+
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;
|
|
2769
|
+
_context7.prev = 1;
|
|
2637
2770
|
captchaInfo = captchaCode ? {
|
|
2638
2771
|
code: captchaCode,
|
|
2639
2772
|
id: this.requiredCaptcha.captchaId
|
|
2640
2773
|
} : null;
|
|
2641
|
-
|
|
2774
|
+
_context7.next = 2;
|
|
2642
2775
|
return this.attrs.meetingInfoProvider.fetchMeetingInfo(destination, destinationType, password, captchaInfo,
|
|
2643
2776
|
// @ts-ignore - config coming from registerPlugin
|
|
2644
2777
|
this.config.installedOrgID, this.locusId, extraParams, {
|
|
@@ -2646,112 +2779,112 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2646
2779
|
sendCAevents: sendCAevents
|
|
2647
2780
|
}, registrationId, null, classificationId);
|
|
2648
2781
|
case 2:
|
|
2649
|
-
info =
|
|
2782
|
+
info = _context7.sent;
|
|
2650
2783
|
this.parseMeetingInfo(info === null || info === void 0 ? void 0 : info.body, this.destination, info === null || info === void 0 ? void 0 : info.errors);
|
|
2651
2784
|
this.setMeetingInfo(info === null || info === void 0 ? void 0 : info.body, info === null || info === void 0 ? void 0 : info.url);
|
|
2652
|
-
return
|
|
2785
|
+
return _context7.abrupt("return", _promise.default.resolve());
|
|
2653
2786
|
case 3:
|
|
2654
|
-
|
|
2655
|
-
|
|
2787
|
+
_context7.prev = 3;
|
|
2788
|
+
_t5 = _context7["catch"](1);
|
|
2656
2789
|
this.updateMeetingActions();
|
|
2657
|
-
if (!(
|
|
2658
|
-
|
|
2790
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2PolicyError)) {
|
|
2791
|
+
_context7.next = 4;
|
|
2659
2792
|
break;
|
|
2660
2793
|
}
|
|
2661
2794
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.POLICY;
|
|
2662
|
-
this.meetingInfoFailureCode =
|
|
2663
|
-
if (
|
|
2664
|
-
this.meetingInfo =
|
|
2795
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2796
|
+
if (_t5.meetingInfo) {
|
|
2797
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2665
2798
|
}
|
|
2666
2799
|
throw new _permission.default();
|
|
2667
2800
|
case 4:
|
|
2668
|
-
if (!(
|
|
2669
|
-
|
|
2801
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2JoinWebinarError)) {
|
|
2802
|
+
_context7.next = 5;
|
|
2670
2803
|
break;
|
|
2671
2804
|
}
|
|
2672
2805
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_REGISTRATION;
|
|
2673
|
-
if (_constants.WEBINAR_ERROR_WEBCAST.includes(
|
|
2806
|
+
if (_constants.WEBINAR_ERROR_WEBCAST.includes(_t5.wbxAppApiCode)) {
|
|
2674
2807
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NEED_JOIN_WITH_WEBCAST;
|
|
2675
|
-
} else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(
|
|
2808
|
+
} else if (_constants.WEBINAR_ERROR_REGISTRATION_ID.includes(_t5.wbxAppApiCode)) {
|
|
2676
2809
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_NEED_REGISTRATION_ID;
|
|
2677
2810
|
}
|
|
2678
|
-
this.meetingInfoFailureCode =
|
|
2679
|
-
if (
|
|
2680
|
-
this.meetingInfo =
|
|
2811
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2812
|
+
if (_t5.meetingInfo) {
|
|
2813
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2681
2814
|
}
|
|
2682
2815
|
this.requiredCaptcha = null;
|
|
2683
2816
|
throw new _joinWebinarError.default();
|
|
2684
2817
|
case 5:
|
|
2685
|
-
if (!(
|
|
2686
|
-
|
|
2818
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2JoinForbiddenError)) {
|
|
2819
|
+
_context7.next = 6;
|
|
2687
2820
|
break;
|
|
2688
2821
|
}
|
|
2689
2822
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.JOIN_FORBIDDEN;
|
|
2690
|
-
this.meetingInfoFailureCode =
|
|
2691
|
-
if (
|
|
2692
|
-
this.meetingInfo =
|
|
2823
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2824
|
+
if (_t5.meetingInfo) {
|
|
2825
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2693
2826
|
}
|
|
2694
2827
|
|
|
2695
2828
|
// Handle the case where user hasn't reached Join Before Host (JBH) time (error code 403003)
|
|
2696
|
-
if (_constants.JOIN_BEFORE_HOST ===
|
|
2829
|
+
if (_constants.JOIN_BEFORE_HOST === _t5.wbxAppApiCode) {
|
|
2697
2830
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.NOT_REACH_JBH;
|
|
2698
2831
|
}
|
|
2699
|
-
throw new _joinForbiddenError.default(this.meetingInfoFailureReason,
|
|
2832
|
+
throw new _joinForbiddenError.default(this.meetingInfoFailureReason, _t5);
|
|
2700
2833
|
case 6:
|
|
2701
|
-
if (!(
|
|
2702
|
-
|
|
2834
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
|
|
2835
|
+
_context7.next = 8;
|
|
2703
2836
|
break;
|
|
2704
2837
|
}
|
|
2705
2838
|
_loggerProxy.default.logger.info(// @ts-ignore
|
|
2706
|
-
"Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - password required (code=").concat(
|
|
2839
|
+
"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
2840
|
|
|
2708
2841
|
// when wbxappapi requires password it still populates partial meeting info in the response
|
|
2709
|
-
if (
|
|
2710
|
-
this.meetingInfo =
|
|
2711
|
-
this.meetingNumber =
|
|
2842
|
+
if (_t5.meetingInfo) {
|
|
2843
|
+
this.meetingInfo = _t5.meetingInfo;
|
|
2844
|
+
this.meetingNumber = _t5.meetingInfo.meetingNumber;
|
|
2712
2845
|
}
|
|
2713
|
-
this.meetingInfoFailureCode =
|
|
2846
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2714
2847
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2715
2848
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2716
2849
|
if (!this.requiredCaptcha) {
|
|
2717
|
-
|
|
2850
|
+
_context7.next = 7;
|
|
2718
2851
|
break;
|
|
2719
2852
|
}
|
|
2720
|
-
|
|
2853
|
+
_context7.next = 7;
|
|
2721
2854
|
return this.refreshCaptcha();
|
|
2722
2855
|
case 7:
|
|
2723
2856
|
throw new _passwordError.default();
|
|
2724
2857
|
case 8:
|
|
2725
|
-
if (!(
|
|
2726
|
-
|
|
2858
|
+
if (!(_t5 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
|
|
2859
|
+
_context7.next = 9;
|
|
2727
2860
|
break;
|
|
2728
2861
|
}
|
|
2729
2862
|
_loggerProxy.default.logger.info(// @ts-ignore
|
|
2730
|
-
"Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ".concat(this.destination, " - captcha required (code=").concat(
|
|
2863
|
+
"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
2864
|
if (this.requiredCaptcha) {
|
|
2732
2865
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_CAPTCHA;
|
|
2733
|
-
} else if (
|
|
2866
|
+
} else if (_t5.isRegistrationIdRequired) {
|
|
2734
2867
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_REGISTRATION_ID;
|
|
2735
2868
|
} else {
|
|
2736
2869
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2737
2870
|
}
|
|
2738
|
-
this.meetingInfoFailureCode =
|
|
2739
|
-
if (
|
|
2871
|
+
this.meetingInfoFailureCode = _t5.wbxAppApiCode;
|
|
2872
|
+
if (_t5.isPasswordRequired) {
|
|
2740
2873
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2741
2874
|
}
|
|
2742
|
-
if (
|
|
2875
|
+
if (_t5.isRegistrationIdRequired) {
|
|
2743
2876
|
this.registrationIdStatus = _constants.REGISTRATION_ID_STATUS.REQUIRED;
|
|
2744
2877
|
}
|
|
2745
|
-
this.requiredCaptcha =
|
|
2878
|
+
this.requiredCaptcha = _t5.captchaInfo;
|
|
2746
2879
|
throw new _captchaError.default();
|
|
2747
2880
|
case 9:
|
|
2748
2881
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
|
|
2749
|
-
throw
|
|
2882
|
+
throw _t5;
|
|
2750
2883
|
case 10:
|
|
2751
2884
|
case "end":
|
|
2752
|
-
return
|
|
2885
|
+
return _context7.stop();
|
|
2753
2886
|
}
|
|
2754
|
-
},
|
|
2887
|
+
}, _callee7, this, [[1, 3]]);
|
|
2755
2888
|
}));
|
|
2756
2889
|
function fetchMeetingInfoInternal(_x5) {
|
|
2757
2890
|
return _fetchMeetingInfoInternal.apply(this, arguments);
|
|
@@ -2768,18 +2901,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2768
2901
|
}, {
|
|
2769
2902
|
key: "refreshPermissionToken",
|
|
2770
2903
|
value: (function () {
|
|
2771
|
-
var _refreshPermissionToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2904
|
+
var _refreshPermissionToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(reason) {
|
|
2772
2905
|
var _this$meetingInfo;
|
|
2773
|
-
var isStartingSpaceInstantV2Meeting, destination, destinationType, permissionTokenExpiryInfo, timeLeft, expiryTime, currentTime,
|
|
2774
|
-
return _regenerator.default.wrap(function (
|
|
2775
|
-
while (1) switch (
|
|
2906
|
+
var isStartingSpaceInstantV2Meeting, destination, destinationType, permissionTokenExpiryInfo, timeLeft, expiryTime, currentTime, _t6;
|
|
2907
|
+
return _regenerator.default.wrap(function (_context8) {
|
|
2908
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
2776
2909
|
case 0:
|
|
2777
2910
|
if ((_this$meetingInfo = this.meetingInfo) !== null && _this$meetingInfo !== void 0 && _this$meetingInfo.permissionToken) {
|
|
2778
|
-
|
|
2911
|
+
_context8.next = 1;
|
|
2779
2912
|
break;
|
|
2780
2913
|
}
|
|
2781
2914
|
_loggerProxy.default.logger.info("Meeting:index#refreshPermissionToken --> cannot refresh the permission token, because we don't have it (reason=".concat(reason, ")"));
|
|
2782
|
-
return
|
|
2915
|
+
return _context8.abrupt("return");
|
|
2783
2916
|
case 1:
|
|
2784
2917
|
isStartingSpaceInstantV2Meeting = this.destinationType === _constants.DESTINATION_TYPE.CONVERSATION_URL &&
|
|
2785
2918
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -2801,8 +2934,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2801
2934
|
reason: reason,
|
|
2802
2935
|
destinationType: destinationType
|
|
2803
2936
|
});
|
|
2804
|
-
|
|
2805
|
-
|
|
2937
|
+
_context8.prev = 2;
|
|
2938
|
+
_context8.next = 3;
|
|
2806
2939
|
return this.fetchMeetingInfoInternal({
|
|
2807
2940
|
destination: destination,
|
|
2808
2941
|
destinationType: destinationType,
|
|
@@ -2812,23 +2945,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2812
2945
|
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
2946
|
});
|
|
2814
2947
|
case 3:
|
|
2815
|
-
|
|
2948
|
+
_context8.next = 5;
|
|
2816
2949
|
break;
|
|
2817
2950
|
case 4:
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
_loggerProxy.default.logger.info('Meeting:index#refreshPermissionToken --> failed to refresh the permission token:',
|
|
2951
|
+
_context8.prev = 4;
|
|
2952
|
+
_t6 = _context8["catch"](2);
|
|
2953
|
+
_loggerProxy.default.logger.info('Meeting:index#refreshPermissionToken --> failed to refresh the permission token:', _t6);
|
|
2821
2954
|
_metrics.default.sendBehavioralMetric(_constants2.default.PERMISSION_TOKEN_REFRESH_ERROR, {
|
|
2822
2955
|
correlationId: this.correlationId,
|
|
2823
|
-
reason:
|
|
2824
|
-
stack:
|
|
2956
|
+
reason: _t6.message,
|
|
2957
|
+
stack: _t6.stack
|
|
2825
2958
|
});
|
|
2826
|
-
throw
|
|
2959
|
+
throw _t6;
|
|
2827
2960
|
case 5:
|
|
2828
2961
|
case "end":
|
|
2829
|
-
return
|
|
2962
|
+
return _context8.stop();
|
|
2830
2963
|
}
|
|
2831
|
-
},
|
|
2964
|
+
}, _callee8, this, [[2, 4]]);
|
|
2832
2965
|
}));
|
|
2833
2966
|
function refreshPermissionToken(_x6) {
|
|
2834
2967
|
return _refreshPermissionToken.apply(this, arguments);
|
|
@@ -2849,22 +2982,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2849
2982
|
}, {
|
|
2850
2983
|
key: "fetchMeetingInfo",
|
|
2851
2984
|
value: (function () {
|
|
2852
|
-
var _fetchMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
2853
|
-
return _regenerator.default.wrap(function (
|
|
2854
|
-
while (1) switch (
|
|
2985
|
+
var _fetchMeetingInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(options) {
|
|
2986
|
+
return _regenerator.default.wrap(function (_context9) {
|
|
2987
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
2855
2988
|
case 0:
|
|
2856
|
-
|
|
2989
|
+
_context9.next = 1;
|
|
2857
2990
|
return this.prepForFetchMeetingInfo(options, 'fetchMeetingInfo');
|
|
2858
2991
|
case 1:
|
|
2859
|
-
return
|
|
2992
|
+
return _context9.abrupt("return", this.fetchMeetingInfoInternal(_objectSpread({
|
|
2860
2993
|
destination: this.destination,
|
|
2861
2994
|
destinationType: this.destinationType
|
|
2862
2995
|
}, options)));
|
|
2863
2996
|
case 2:
|
|
2864
2997
|
case "end":
|
|
2865
|
-
return
|
|
2998
|
+
return _context9.stop();
|
|
2866
2999
|
}
|
|
2867
|
-
},
|
|
3000
|
+
}, _callee9, this);
|
|
2868
3001
|
}));
|
|
2869
3002
|
function fetchMeetingInfo(_x7) {
|
|
2870
3003
|
return _fetchMeetingInfo.apply(this, arguments);
|
|
@@ -3390,10 +3523,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3390
3523
|
key: "setupLocusControlsListener",
|
|
3391
3524
|
value: function setupLocusControlsListener() {
|
|
3392
3525
|
var _this12 = this;
|
|
3393
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (
|
|
3394
|
-
var state =
|
|
3395
|
-
modifiedBy =
|
|
3396
|
-
lastModified =
|
|
3526
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RECORDING_UPDATED, function (_ref10) {
|
|
3527
|
+
var state = _ref10.state,
|
|
3528
|
+
modifiedBy = _ref10.modifiedBy,
|
|
3529
|
+
lastModified = _ref10.lastModified;
|
|
3397
3530
|
var event;
|
|
3398
3531
|
switch (state) {
|
|
3399
3532
|
case _constants.RECORDING_STATE.RECORDING:
|
|
@@ -3424,8 +3557,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3424
3557
|
function: 'setupLocusControlsListener'
|
|
3425
3558
|
}, event, _this12.recording);
|
|
3426
3559
|
});
|
|
3427
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (
|
|
3428
|
-
var meetingContainerUrl =
|
|
3560
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_CONTAINER_UPDATED, function (_ref11) {
|
|
3561
|
+
var meetingContainerUrl = _ref11.meetingContainerUrl;
|
|
3429
3562
|
_triggerProxy.default.trigger(_this12, {
|
|
3430
3563
|
file: 'meeting/index',
|
|
3431
3564
|
function: 'setupLocusControlsListener'
|
|
@@ -3433,9 +3566,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3433
3566
|
meetingContainerUrl: meetingContainerUrl
|
|
3434
3567
|
});
|
|
3435
3568
|
});
|
|
3436
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (
|
|
3437
|
-
var caption =
|
|
3438
|
-
transcribing =
|
|
3569
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (_ref12) {
|
|
3570
|
+
var caption = _ref12.caption,
|
|
3571
|
+
transcribing = _ref12.transcribing;
|
|
3439
3572
|
// user need to be joined to start the llm and receive transcription
|
|
3440
3573
|
if (_this12.isJoined()) {
|
|
3441
3574
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -3452,8 +3585,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3452
3585
|
}
|
|
3453
3586
|
}
|
|
3454
3587
|
});
|
|
3455
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (
|
|
3456
|
-
var spokenLanguage =
|
|
3588
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (_ref13) {
|
|
3589
|
+
var spokenLanguage = _ref13.spokenLanguage;
|
|
3457
3590
|
if (spokenLanguage) {
|
|
3458
3591
|
var _this12$transcription;
|
|
3459
3592
|
if ((_this12$transcription = _this12.transcription) !== null && _this12$transcription !== void 0 && _this12$transcription.languageOptions) {
|
|
@@ -3470,8 +3603,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3470
3603
|
});
|
|
3471
3604
|
}
|
|
3472
3605
|
});
|
|
3473
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (
|
|
3474
|
-
var enable =
|
|
3606
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (_ref14) {
|
|
3607
|
+
var enable = _ref14.enable;
|
|
3475
3608
|
_triggerProxy.default.trigger(_this12, {
|
|
3476
3609
|
file: 'meeting/index',
|
|
3477
3610
|
function: 'setupLocusControlsListener'
|
|
@@ -3479,31 +3612,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3479
3612
|
enable: enable
|
|
3480
3613
|
});
|
|
3481
3614
|
});
|
|
3482
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED, function (
|
|
3483
|
-
var hesiodLlmId =
|
|
3615
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED, function (_ref15) {
|
|
3616
|
+
var hesiodLlmId = _ref15.hesiodLlmId;
|
|
3484
3617
|
if (hesiodLlmId) {
|
|
3485
3618
|
// @ts-ignore
|
|
3486
3619
|
_this12.webex.internal.voicea.onCaptionServiceIdUpdate(hesiodLlmId);
|
|
3487
3620
|
}
|
|
3488
3621
|
});
|
|
3489
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (
|
|
3490
|
-
var breakout =
|
|
3622
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref16) {
|
|
3623
|
+
var breakout = _ref16.breakout;
|
|
3491
3624
|
_this12.breakouts.updateBreakout(breakout);
|
|
3492
3625
|
_triggerProxy.default.trigger(_this12, {
|
|
3493
3626
|
file: 'meeting/index',
|
|
3494
3627
|
function: 'setupLocusControlsListener'
|
|
3495
3628
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
3496
3629
|
});
|
|
3497
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (
|
|
3498
|
-
var interpretation =
|
|
3630
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref17) {
|
|
3631
|
+
var interpretation = _ref17.interpretation;
|
|
3499
3632
|
_this12.simultaneousInterpretation.updateInterpretation(interpretation);
|
|
3500
3633
|
_triggerProxy.default.trigger(_this12, {
|
|
3501
3634
|
file: 'meeting/index',
|
|
3502
3635
|
function: 'setupLocusControlsListener'
|
|
3503
3636
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
3504
3637
|
});
|
|
3505
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (
|
|
3506
|
-
var entryExitTone =
|
|
3638
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref18) {
|
|
3639
|
+
var entryExitTone = _ref18.entryExitTone;
|
|
3507
3640
|
_triggerProxy.default.trigger(_this12, {
|
|
3508
3641
|
file: 'meeting/index',
|
|
3509
3642
|
function: 'setupLocusControlsListener'
|
|
@@ -3511,8 +3644,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3511
3644
|
entryExitTone: entryExitTone
|
|
3512
3645
|
});
|
|
3513
3646
|
});
|
|
3514
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (
|
|
3515
|
-
var state =
|
|
3647
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref19) {
|
|
3648
|
+
var state = _ref19.state;
|
|
3516
3649
|
_triggerProxy.default.trigger(_this12, {
|
|
3517
3650
|
file: 'meeting/index',
|
|
3518
3651
|
function: 'setupLocusControlsListener'
|
|
@@ -3520,8 +3653,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3520
3653
|
state: state
|
|
3521
3654
|
});
|
|
3522
3655
|
});
|
|
3523
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (
|
|
3524
|
-
var state =
|
|
3656
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref20) {
|
|
3657
|
+
var state = _ref20.state;
|
|
3525
3658
|
_triggerProxy.default.trigger(_this12, {
|
|
3526
3659
|
file: 'meeting/index',
|
|
3527
3660
|
function: 'setupLocusControlsListener'
|
|
@@ -3529,8 +3662,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3529
3662
|
state: state
|
|
3530
3663
|
});
|
|
3531
3664
|
});
|
|
3532
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (
|
|
3533
|
-
var state =
|
|
3665
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref21) {
|
|
3666
|
+
var state = _ref21.state;
|
|
3534
3667
|
_triggerProxy.default.trigger(_this12, {
|
|
3535
3668
|
file: 'meeting/index',
|
|
3536
3669
|
function: 'setupLocusControlsListener'
|
|
@@ -3538,8 +3671,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3538
3671
|
state: state
|
|
3539
3672
|
});
|
|
3540
3673
|
});
|
|
3541
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (
|
|
3542
|
-
var state =
|
|
3674
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref22) {
|
|
3675
|
+
var state = _ref22.state;
|
|
3543
3676
|
_triggerProxy.default.trigger(_this12, {
|
|
3544
3677
|
file: 'meeting/index',
|
|
3545
3678
|
function: 'setupLocusControlsListener'
|
|
@@ -3547,8 +3680,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3547
3680
|
state: state
|
|
3548
3681
|
});
|
|
3549
3682
|
});
|
|
3550
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (
|
|
3551
|
-
var state =
|
|
3683
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref23) {
|
|
3684
|
+
var state = _ref23.state;
|
|
3552
3685
|
_triggerProxy.default.trigger(_this12, {
|
|
3553
3686
|
file: 'meeting/index',
|
|
3554
3687
|
function: 'setupLocusControlsListener'
|
|
@@ -3556,8 +3689,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3556
3689
|
state: state
|
|
3557
3690
|
});
|
|
3558
3691
|
});
|
|
3559
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (
|
|
3560
|
-
var state =
|
|
3692
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref24) {
|
|
3693
|
+
var state = _ref24.state;
|
|
3561
3694
|
_triggerProxy.default.trigger(_this12, {
|
|
3562
3695
|
file: 'meeting/index',
|
|
3563
3696
|
function: 'setupLocusControlsListener'
|
|
@@ -3565,8 +3698,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3565
3698
|
state: state
|
|
3566
3699
|
});
|
|
3567
3700
|
});
|
|
3568
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.
|
|
3569
|
-
var
|
|
3701
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED, function (_ref25) {
|
|
3702
|
+
var aiSummaryNotification = _ref25.aiSummaryNotification;
|
|
3703
|
+
_triggerProxy.default.trigger(_this12, {
|
|
3704
|
+
file: 'meeting/index',
|
|
3705
|
+
function: 'setupLocusControlsListener'
|
|
3706
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED, {
|
|
3707
|
+
aiSummaryNotification: aiSummaryNotification
|
|
3708
|
+
});
|
|
3709
|
+
});
|
|
3710
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref26) {
|
|
3711
|
+
var state = _ref26.state;
|
|
3570
3712
|
_triggerProxy.default.trigger(_this12, {
|
|
3571
3713
|
file: 'meeting/index',
|
|
3572
3714
|
function: 'setupLocusControlsListener'
|
|
@@ -3574,8 +3716,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3574
3716
|
state: state
|
|
3575
3717
|
});
|
|
3576
3718
|
});
|
|
3577
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (
|
|
3578
|
-
var state =
|
|
3719
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref27) {
|
|
3720
|
+
var state = _ref27.state;
|
|
3579
3721
|
_triggerProxy.default.trigger(_this12, {
|
|
3580
3722
|
file: 'meeting/index',
|
|
3581
3723
|
function: 'setupLocusControlsListener'
|
|
@@ -3583,8 +3725,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3583
3725
|
state: state
|
|
3584
3726
|
});
|
|
3585
3727
|
});
|
|
3586
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (
|
|
3587
|
-
var state =
|
|
3728
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref28) {
|
|
3729
|
+
var state = _ref28.state;
|
|
3588
3730
|
_this12.webinar.updatePracticeSessionStatus(state);
|
|
3589
3731
|
_triggerProxy.default.trigger(_this12, {
|
|
3590
3732
|
file: 'meeting/index',
|
|
@@ -3593,8 +3735,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3593
3735
|
state: state
|
|
3594
3736
|
});
|
|
3595
3737
|
});
|
|
3596
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (
|
|
3597
|
-
var state =
|
|
3738
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref29) {
|
|
3739
|
+
var state = _ref29.state;
|
|
3598
3740
|
_triggerProxy.default.trigger(_this12, {
|
|
3599
3741
|
file: 'meeting/index',
|
|
3600
3742
|
function: 'setupLocusControlsListener'
|
|
@@ -3602,8 +3744,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3602
3744
|
state: state
|
|
3603
3745
|
});
|
|
3604
3746
|
});
|
|
3605
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (
|
|
3606
|
-
var state =
|
|
3747
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref30) {
|
|
3748
|
+
var state = _ref30.state;
|
|
3607
3749
|
_triggerProxy.default.trigger(_this12, {
|
|
3608
3750
|
file: 'meeting/index',
|
|
3609
3751
|
function: 'setupLocusControlsListener'
|
|
@@ -3611,8 +3753,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3611
3753
|
state: state
|
|
3612
3754
|
});
|
|
3613
3755
|
});
|
|
3614
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (
|
|
3615
|
-
var state =
|
|
3756
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (_ref31) {
|
|
3757
|
+
var state = _ref31.state;
|
|
3616
3758
|
_triggerProxy.default.trigger(_this12, {
|
|
3617
3759
|
file: 'meeting/index',
|
|
3618
3760
|
function: 'setupLocusControlsListener'
|
|
@@ -3620,8 +3762,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3620
3762
|
state: state
|
|
3621
3763
|
});
|
|
3622
3764
|
});
|
|
3623
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (
|
|
3624
|
-
var state =
|
|
3765
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (_ref32) {
|
|
3766
|
+
var state = _ref32.state;
|
|
3625
3767
|
_triggerProxy.default.trigger(_this12, {
|
|
3626
3768
|
file: 'meeting/index',
|
|
3627
3769
|
function: 'setupLocusControlsListener'
|
|
@@ -3629,8 +3771,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3629
3771
|
state: state
|
|
3630
3772
|
});
|
|
3631
3773
|
});
|
|
3632
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (
|
|
3633
|
-
var state =
|
|
3774
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (_ref33) {
|
|
3775
|
+
var state = _ref33.state;
|
|
3634
3776
|
_triggerProxy.default.trigger(_this12, {
|
|
3635
3777
|
file: 'meeting/index',
|
|
3636
3778
|
function: 'setupLocusControlsListener'
|
|
@@ -3638,8 +3780,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3638
3780
|
state: state
|
|
3639
3781
|
});
|
|
3640
3782
|
});
|
|
3641
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (
|
|
3642
|
-
var state =
|
|
3783
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (_ref34) {
|
|
3784
|
+
var state = _ref34.state;
|
|
3643
3785
|
_triggerProxy.default.trigger(_this12, {
|
|
3644
3786
|
file: 'meeting/index',
|
|
3645
3787
|
function: 'setupLocusControlsListener'
|
|
@@ -3686,21 +3828,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3686
3828
|
var _this13 = this;
|
|
3687
3829
|
// Will get triggered on local and remote share
|
|
3688
3830
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
|
3689
|
-
var
|
|
3831
|
+
var _ref35 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(payload) {
|
|
3690
3832
|
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 (
|
|
3833
|
+
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this13$locusInfo, _this13$locusInfo$inf, _this13$webinar, oldShareStatus, sendStartedSharingRemote, _this13$mediaProperti, _t7, _t8;
|
|
3834
|
+
return _regenerator.default.wrap(function (_context0) {
|
|
3835
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
3694
3836
|
case 0:
|
|
3695
3837
|
_payload$current = payload.current, contentShare = _payload$current.content, whiteboardShare = _payload$current.whiteboard;
|
|
3696
3838
|
previousContentShare = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
|
|
3697
3839
|
previousWhiteboardShare = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
|
|
3698
3840
|
_this13.triggerAnnotationInfoEvent(contentShare, previousContentShare);
|
|
3699
3841
|
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
|
-
|
|
3842
|
+
_context0.next = 1;
|
|
3701
3843
|
break;
|
|
3702
3844
|
}
|
|
3703
|
-
return
|
|
3845
|
+
return _context0.abrupt("return");
|
|
3704
3846
|
case 1:
|
|
3705
3847
|
newShareStatus = _this13.shareStatus; // REMOTE - check if remote started sharing
|
|
3706
3848
|
if (_this13.selfId !== contentShare.beneficiaryId && contentShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
|
|
@@ -3738,22 +3880,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3738
3880
|
}
|
|
3739
3881
|
_loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this13.shareStatus, " newShareStatus=").concat(newShareStatus));
|
|
3740
3882
|
if (!(newShareStatus !== _this13.shareStatus)) {
|
|
3741
|
-
|
|
3883
|
+
_context0.next = 17;
|
|
3742
3884
|
break;
|
|
3743
3885
|
}
|
|
3744
3886
|
oldShareStatus = _this13.shareStatus; // update our state before we send out any notifications
|
|
3745
3887
|
_this13.shareStatus = newShareStatus;
|
|
3746
3888
|
|
|
3747
3889
|
// send out "stop" notifications for the old state
|
|
3748
|
-
|
|
3749
|
-
|
|
3890
|
+
_t7 = oldShareStatus;
|
|
3891
|
+
_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
3892
|
break;
|
|
3751
3893
|
case 2:
|
|
3752
3894
|
_triggerProxy.default.trigger(_this13, {
|
|
3753
3895
|
file: 'meetings/index',
|
|
3754
3896
|
function: 'remoteShare'
|
|
3755
3897
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
|
|
3756
|
-
return
|
|
3898
|
+
return _context0.abrupt("continue", 7);
|
|
3757
3899
|
case 3:
|
|
3758
3900
|
_triggerProxy.default.trigger(_this13, {
|
|
3759
3901
|
file: 'meeting/index',
|
|
@@ -3761,7 +3903,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3761
3903
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
3762
3904
|
reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
|
|
3763
3905
|
});
|
|
3764
|
-
return
|
|
3906
|
+
return _context0.abrupt("continue", 7);
|
|
3765
3907
|
case 4:
|
|
3766
3908
|
_triggerProxy.default.trigger(_this13, {
|
|
3767
3909
|
file: 'meeting/index',
|
|
@@ -3784,14 +3926,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3784
3926
|
meetingId: _this13.id
|
|
3785
3927
|
}
|
|
3786
3928
|
});
|
|
3787
|
-
return
|
|
3929
|
+
return _context0.abrupt("continue", 7);
|
|
3788
3930
|
case 5:
|
|
3789
|
-
return
|
|
3931
|
+
return _context0.abrupt("continue", 7);
|
|
3790
3932
|
case 6:
|
|
3791
|
-
return
|
|
3933
|
+
return _context0.abrupt("continue", 7);
|
|
3792
3934
|
case 7:
|
|
3793
|
-
|
|
3794
|
-
|
|
3935
|
+
_t8 = newShareStatus;
|
|
3936
|
+
_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
3937
|
break;
|
|
3796
3938
|
case 8:
|
|
3797
3939
|
sendStartedSharingRemote = function sendStartedSharingRemote() {
|
|
@@ -3817,19 +3959,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3817
3959
|
resourceType: contentShare.resourceType
|
|
3818
3960
|
});
|
|
3819
3961
|
};
|
|
3820
|
-
|
|
3962
|
+
_context0.prev = 9;
|
|
3821
3963
|
if (!((_this13$mediaProperti = _this13.mediaProperties.mediaDirection) !== null && _this13$mediaProperti !== void 0 && _this13$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
|
|
3822
|
-
|
|
3964
|
+
_context0.next = 10;
|
|
3823
3965
|
break;
|
|
3824
3966
|
}
|
|
3825
|
-
|
|
3967
|
+
_context0.next = 10;
|
|
3826
3968
|
return _this13.unpublishStreams([_this13.mediaProperties.shareVideoStream, _this13.mediaProperties.shareAudioStream]);
|
|
3827
3969
|
case 10:
|
|
3828
|
-
|
|
3970
|
+
_context0.prev = 10;
|
|
3829
3971
|
sendStartedSharingRemote();
|
|
3830
|
-
return
|
|
3972
|
+
return _context0.finish(10);
|
|
3831
3973
|
case 11:
|
|
3832
|
-
return
|
|
3974
|
+
return _context0.abrupt("continue", 16);
|
|
3833
3975
|
case 12:
|
|
3834
3976
|
_triggerProxy.default.trigger(_this13, {
|
|
3835
3977
|
file: 'meeting/index',
|
|
@@ -3846,7 +3988,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3846
3988
|
meetingId: _this13.id
|
|
3847
3989
|
}
|
|
3848
3990
|
});
|
|
3849
|
-
return
|
|
3991
|
+
return _context0.abrupt("continue", 16);
|
|
3850
3992
|
case 13:
|
|
3851
3993
|
_triggerProxy.default.trigger(_this13, {
|
|
3852
3994
|
file: 'meeting/index',
|
|
@@ -3865,14 +4007,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3865
4007
|
meetingId: _this13.id
|
|
3866
4008
|
}
|
|
3867
4009
|
});
|
|
3868
|
-
return
|
|
4010
|
+
return _context0.abrupt("continue", 16);
|
|
3869
4011
|
case 14:
|
|
3870
|
-
return
|
|
4012
|
+
return _context0.abrupt("continue", 16);
|
|
3871
4013
|
case 15:
|
|
3872
|
-
return
|
|
4014
|
+
return _context0.abrupt("continue", 16);
|
|
3873
4015
|
case 16:
|
|
3874
4016
|
_this13.members.locusMediaSharesUpdate(payload);
|
|
3875
|
-
|
|
4017
|
+
_context0.next = 18;
|
|
3876
4018
|
break;
|
|
3877
4019
|
case 17:
|
|
3878
4020
|
if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
|
|
@@ -3916,12 +4058,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3916
4058
|
}
|
|
3917
4059
|
case 18:
|
|
3918
4060
|
case "end":
|
|
3919
|
-
return
|
|
4061
|
+
return _context0.stop();
|
|
3920
4062
|
}
|
|
3921
|
-
},
|
|
4063
|
+
}, _callee0, null, [[9,, 10, 11]]);
|
|
3922
4064
|
}));
|
|
3923
4065
|
return function (_x8) {
|
|
3924
|
-
return
|
|
4066
|
+
return _ref35.apply(this, arguments);
|
|
3925
4067
|
};
|
|
3926
4068
|
}());
|
|
3927
4069
|
}
|
|
@@ -3950,6 +4092,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3950
4092
|
_this14.recordingController.setLocusUrl(_this14.locusUrl);
|
|
3951
4093
|
_this14.controlsOptionsManager.setLocusUrl(_this14.locusUrl, !!isMainLocus);
|
|
3952
4094
|
_this14.webinar.locusUrlUpdate(url);
|
|
4095
|
+
// @ts-ignore
|
|
4096
|
+
_this14.webex.internal.llm.setRefreshHandler(function () {
|
|
4097
|
+
return _this14.refreshDataChannelToken();
|
|
4098
|
+
});
|
|
3953
4099
|
_triggerProxy.default.trigger(_this14, {
|
|
3954
4100
|
file: 'meeting/index',
|
|
3955
4101
|
function: 'setUpLocusSelfListener'
|
|
@@ -3973,12 +4119,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3973
4119
|
value: function setUpLocusServicesListener() {
|
|
3974
4120
|
var _this15 = this;
|
|
3975
4121
|
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;
|
|
4122
|
+
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
4123
|
_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
4124
|
_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
4125
|
_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
4126
|
_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
4127
|
_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);
|
|
4128
|
+
_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
4129
|
});
|
|
3983
4130
|
}
|
|
3984
4131
|
|
|
@@ -4037,8 +4184,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4037
4184
|
});
|
|
4038
4185
|
}
|
|
4039
4186
|
});
|
|
4040
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
|
4041
|
-
var isInitializing =
|
|
4187
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref36) {
|
|
4188
|
+
var isInitializing = _ref36.isInitializing;
|
|
4042
4189
|
_this17.updateMeetingActions();
|
|
4043
4190
|
_this17.recordingController.setDisplayHints(_this17.userDisplayHints);
|
|
4044
4191
|
_this17.recordingController.setUserPolicy(_this17.selfUserPolicies);
|
|
@@ -4065,6 +4212,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4065
4212
|
// @ts-ignore - config coming from registerPlugin
|
|
4066
4213
|
if (datachannelUrl && this.config.enableAutomaticLLM) {
|
|
4067
4214
|
this.updateLLMConnection();
|
|
4215
|
+
if (this.webinar.isJoinPracticeSessionDataChannel()) {
|
|
4216
|
+
this.webinar.updatePSDataChannel();
|
|
4217
|
+
}
|
|
4068
4218
|
}
|
|
4069
4219
|
}
|
|
4070
4220
|
|
|
@@ -4176,10 +4326,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4176
4326
|
_this19.updateLLMConnection();
|
|
4177
4327
|
});
|
|
4178
4328
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
4179
|
-
var
|
|
4329
|
+
var _ref37 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(payload) {
|
|
4180
4330
|
var _this19$rtcMetrics;
|
|
4181
|
-
return _regenerator.default.wrap(function (
|
|
4182
|
-
while (1) switch (
|
|
4331
|
+
return _regenerator.default.wrap(function (_context1) {
|
|
4332
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
4183
4333
|
case 0:
|
|
4184
4334
|
_this19.stopKeepAlive();
|
|
4185
4335
|
if (payload) {
|
|
@@ -4205,12 +4355,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4205
4355
|
_this19.updateLLMConnection();
|
|
4206
4356
|
case 1:
|
|
4207
4357
|
case "end":
|
|
4208
|
-
return
|
|
4358
|
+
return _context1.stop();
|
|
4209
4359
|
}
|
|
4210
|
-
},
|
|
4360
|
+
}, _callee1);
|
|
4211
4361
|
}));
|
|
4212
4362
|
return function (_x9) {
|
|
4213
|
-
return
|
|
4363
|
+
return _ref37.apply(this, arguments);
|
|
4214
4364
|
};
|
|
4215
4365
|
}());
|
|
4216
4366
|
|
|
@@ -4262,6 +4412,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4262
4412
|
function: 'setUpLocusInfoSelfListener'
|
|
4263
4413
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
4264
4414
|
});
|
|
4415
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ID_CHANGED, function (payload) {
|
|
4416
|
+
_this19.aiEnableRequest.selfParticipantIdUpdate(payload.selfId);
|
|
4417
|
+
});
|
|
4265
4418
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
|
|
4266
4419
|
var targetChanged = _this19.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
4267
4420
|
_triggerProxy.default.trigger(_this19, {
|
|
@@ -4329,49 +4482,49 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4329
4482
|
}
|
|
4330
4483
|
});
|
|
4331
4484
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
4332
|
-
var
|
|
4333
|
-
var
|
|
4334
|
-
return _regenerator.default.wrap(function (
|
|
4335
|
-
while (1) switch (
|
|
4485
|
+
var _ref38 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
|
|
4486
|
+
var _t9;
|
|
4487
|
+
return _regenerator.default.wrap(function (_context10) {
|
|
4488
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
4336
4489
|
case 0:
|
|
4337
4490
|
if (!_this20.wirelessShare) {
|
|
4338
|
-
|
|
4491
|
+
_context10.next = 2;
|
|
4339
4492
|
break;
|
|
4340
4493
|
}
|
|
4341
4494
|
if (!_this20.mediaProperties.shareVideoStream) {
|
|
4342
|
-
|
|
4495
|
+
_context10.next = 1;
|
|
4343
4496
|
break;
|
|
4344
4497
|
}
|
|
4345
|
-
|
|
4498
|
+
_context10.next = 1;
|
|
4346
4499
|
return _this20.setLocalShareVideoStream(undefined);
|
|
4347
4500
|
case 1:
|
|
4348
4501
|
if (!_this20.mediaProperties.shareAudioStream) {
|
|
4349
|
-
|
|
4502
|
+
_context10.next = 2;
|
|
4350
4503
|
break;
|
|
4351
4504
|
}
|
|
4352
|
-
|
|
4505
|
+
_context10.next = 2;
|
|
4353
4506
|
return _this20.setLocalShareAudioStream(undefined);
|
|
4354
4507
|
case 2:
|
|
4355
4508
|
if (!payload.shouldLeave) {
|
|
4356
|
-
|
|
4509
|
+
_context10.next = 7;
|
|
4357
4510
|
break;
|
|
4358
4511
|
}
|
|
4359
|
-
|
|
4360
|
-
|
|
4512
|
+
_context10.prev = 3;
|
|
4513
|
+
_context10.next = 4;
|
|
4361
4514
|
return _this20.leave({
|
|
4362
4515
|
reason: payload.reason
|
|
4363
4516
|
});
|
|
4364
4517
|
case 4:
|
|
4365
4518
|
_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
|
-
|
|
4519
|
+
_context10.next = 6;
|
|
4367
4520
|
break;
|
|
4368
4521
|
case 5:
|
|
4369
|
-
|
|
4370
|
-
|
|
4522
|
+
_context10.prev = 5;
|
|
4523
|
+
_t9 = _context10["catch"](3);
|
|
4371
4524
|
// @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(
|
|
4525
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(_t9));
|
|
4373
4526
|
case 6:
|
|
4374
|
-
|
|
4527
|
+
_context10.next = 8;
|
|
4375
4528
|
break;
|
|
4376
4529
|
case 7:
|
|
4377
4530
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
@@ -4385,12 +4538,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4385
4538
|
});
|
|
4386
4539
|
case 8:
|
|
4387
4540
|
case "end":
|
|
4388
|
-
return
|
|
4541
|
+
return _context10.stop();
|
|
4389
4542
|
}
|
|
4390
|
-
},
|
|
4543
|
+
}, _callee10, null, [[3, 5]]);
|
|
4391
4544
|
}));
|
|
4392
4545
|
return function (_x0) {
|
|
4393
|
-
return
|
|
4546
|
+
return _ref38.apply(this, arguments);
|
|
4394
4547
|
};
|
|
4395
4548
|
}());
|
|
4396
4549
|
}
|
|
@@ -4508,31 +4661,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4508
4661
|
}, {
|
|
4509
4662
|
key: "beRightBack",
|
|
4510
4663
|
value: (function () {
|
|
4511
|
-
var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
4664
|
+
var _beRightBack = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(enabled) {
|
|
4512
4665
|
var _this22 = this;
|
|
4513
4666
|
var errorMessage, error, _errorMessage, _error;
|
|
4514
|
-
return _regenerator.default.wrap(function (
|
|
4515
|
-
while (1) switch (
|
|
4667
|
+
return _regenerator.default.wrap(function (_context11) {
|
|
4668
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
4516
4669
|
case 0:
|
|
4517
4670
|
if (this.isMultistream) {
|
|
4518
|
-
|
|
4671
|
+
_context11.next = 1;
|
|
4519
4672
|
break;
|
|
4520
4673
|
}
|
|
4521
4674
|
errorMessage = 'Meeting:index#beRightBack --> Not a multistream meeting';
|
|
4522
4675
|
error = new Error(errorMessage);
|
|
4523
4676
|
_loggerProxy.default.logger.error(error);
|
|
4524
|
-
return
|
|
4677
|
+
return _context11.abrupt("return", _promise.default.reject(error));
|
|
4525
4678
|
case 1:
|
|
4526
4679
|
if (this.mediaProperties.webrtcMediaConnection) {
|
|
4527
|
-
|
|
4680
|
+
_context11.next = 2;
|
|
4528
4681
|
break;
|
|
4529
4682
|
}
|
|
4530
4683
|
_errorMessage = 'Meeting:index#beRightBack --> WebRTC media connection is not defined';
|
|
4531
4684
|
_error = new Error(_errorMessage);
|
|
4532
4685
|
_loggerProxy.default.logger.error(_error);
|
|
4533
|
-
return
|
|
4686
|
+
return _context11.abrupt("return", _promise.default.reject(_error));
|
|
4534
4687
|
case 2:
|
|
4535
|
-
return
|
|
4688
|
+
return _context11.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager).then(function () {
|
|
4536
4689
|
if (_this22.audio && enabled) {
|
|
4537
4690
|
// locus mutes the participant with brb enabled request,
|
|
4538
4691
|
// so we need to explicitly update remote mute for correct logic flow
|
|
@@ -4543,9 +4696,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4543
4696
|
}));
|
|
4544
4697
|
case 3:
|
|
4545
4698
|
case "end":
|
|
4546
|
-
return
|
|
4699
|
+
return _context11.stop();
|
|
4547
4700
|
}
|
|
4548
|
-
},
|
|
4701
|
+
}, _callee11, this);
|
|
4549
4702
|
}));
|
|
4550
4703
|
function beRightBack(_x1) {
|
|
4551
4704
|
return _beRightBack.apply(this, arguments);
|
|
@@ -4743,6 +4896,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4743
4896
|
canLowerAllHands: _util2.default.canUserLowerAllHands(this.userDisplayHints),
|
|
4744
4897
|
canLowerSomeoneElsesHand: _util2.default.canUserLowerSomeoneElsesHand(this.userDisplayHints),
|
|
4745
4898
|
bothLeaveAndEndMeetingAvailable: _util2.default.bothLeaveAndEndMeetingAvailable(this.userDisplayHints),
|
|
4899
|
+
requireHostEndMeetingBeforeLeave: _util2.default.requireHostEndMeetingBeforeLeave(this.userDisplayHints),
|
|
4746
4900
|
canEnableClosedCaption: _util2.default.canEnableClosedCaption(this.userDisplayHints),
|
|
4747
4901
|
canStartTranscribing: _util2.default.canStartTranscribing(this.userDisplayHints),
|
|
4748
4902
|
canStopTranscribing: _util2.default.canStopTranscribing(this.userDisplayHints),
|
|
@@ -4972,7 +5126,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4972
5126
|
canDisablePollingQA: _util5.default.hasHints({
|
|
4973
5127
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_ATTENDEE_START_POLLING_QA],
|
|
4974
5128
|
displayHints: this.userDisplayHints
|
|
4975
|
-
})
|
|
5129
|
+
}),
|
|
5130
|
+
canAttendeeRequestAiAssistantEnabled: _util2.default.canAttendeeRequestAiAssistantEnabled(this.userDisplayHints, this.roles),
|
|
5131
|
+
isAttendeeRequestAiAssistantDeclinedAll: _util2.default.attendeeRequestAiAssistantDeclinedAll(this.userDisplayHints)
|
|
4976
5132
|
}) || changed;
|
|
4977
5133
|
}
|
|
4978
5134
|
if (changed) {
|
|
@@ -5054,7 +5210,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5054
5210
|
this.locusInfo.initialSetup({
|
|
5055
5211
|
trigger: 'join-response',
|
|
5056
5212
|
locus: mtgLocus,
|
|
5057
|
-
dataSets: data.dataSets
|
|
5213
|
+
dataSets: data.dataSets,
|
|
5214
|
+
metadata: data.metadata
|
|
5058
5215
|
});
|
|
5059
5216
|
}
|
|
5060
5217
|
|
|
@@ -5169,10 +5326,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5169
5326
|
key: "closeRemoteStreams",
|
|
5170
5327
|
value: function closeRemoteStreams() {
|
|
5171
5328
|
var _this24 = this;
|
|
5172
|
-
var _this$
|
|
5173
|
-
remoteAudioStream = _this$
|
|
5174
|
-
remoteVideoStream = _this$
|
|
5175
|
-
remoteShareStream = _this$
|
|
5329
|
+
var _this$mediaProperties7 = this.mediaProperties,
|
|
5330
|
+
remoteAudioStream = _this$mediaProperties7.remoteAudioStream,
|
|
5331
|
+
remoteVideoStream = _this$mediaProperties7.remoteVideoStream,
|
|
5332
|
+
remoteShareStream = _this$mediaProperties7.remoteShareStream;
|
|
5176
5333
|
|
|
5177
5334
|
/**
|
|
5178
5335
|
* Triggers an event to the developer
|
|
@@ -5216,11 +5373,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5216
5373
|
}, {
|
|
5217
5374
|
key: "setLocalAudioStream",
|
|
5218
5375
|
value: (function () {
|
|
5219
|
-
var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5376
|
+
var _setLocalAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
|
|
5220
5377
|
var _this$audio2;
|
|
5221
5378
|
var oldStream;
|
|
5222
|
-
return _regenerator.default.wrap(function (
|
|
5223
|
-
while (1) switch (
|
|
5379
|
+
return _regenerator.default.wrap(function (_context12) {
|
|
5380
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
5224
5381
|
case 0:
|
|
5225
5382
|
oldStream = this.mediaProperties.audioStream;
|
|
5226
5383
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
@@ -5234,19 +5391,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5234
5391
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5235
5392
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5236
5393
|
if (!(!this.isMultistream || !localStream)) {
|
|
5237
|
-
|
|
5394
|
+
_context12.next = 1;
|
|
5238
5395
|
break;
|
|
5239
5396
|
}
|
|
5240
|
-
|
|
5397
|
+
_context12.next = 1;
|
|
5241
5398
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
|
|
5242
5399
|
case 1:
|
|
5243
|
-
|
|
5400
|
+
_context12.next = 2;
|
|
5244
5401
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
5245
5402
|
case 2:
|
|
5246
5403
|
case "end":
|
|
5247
|
-
return
|
|
5404
|
+
return _context12.stop();
|
|
5248
5405
|
}
|
|
5249
|
-
},
|
|
5406
|
+
}, _callee12, this);
|
|
5250
5407
|
}));
|
|
5251
5408
|
function setLocalAudioStream(_x10) {
|
|
5252
5409
|
return _setLocalAudioStream.apply(this, arguments);
|
|
@@ -5264,16 +5421,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5264
5421
|
}, {
|
|
5265
5422
|
key: "setLocalVideoStream",
|
|
5266
5423
|
value: (function () {
|
|
5267
|
-
var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5424
|
+
var _setLocalVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(localStream) {
|
|
5268
5425
|
var _this$video2;
|
|
5269
5426
|
var oldStream;
|
|
5270
|
-
return _regenerator.default.wrap(function (
|
|
5271
|
-
while (1) switch (
|
|
5427
|
+
return _regenerator.default.wrap(function (_context13) {
|
|
5428
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
5272
5429
|
case 0:
|
|
5273
5430
|
oldStream = this.mediaProperties.videoStream;
|
|
5274
5431
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5275
5432
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5276
5433
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5434
|
+
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
|
|
5277
5435
|
|
|
5278
5436
|
// we don't update this.mediaProperties.mediaDirection.sendVideo, because we always keep it as true to avoid extra SDP exchanges
|
|
5279
5437
|
this.mediaProperties.setLocalVideoStream(localStream);
|
|
@@ -5281,20 +5439,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5281
5439
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5282
5440
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5283
5441
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5442
|
+
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
|
|
5284
5443
|
if (!(!this.isMultistream || !localStream)) {
|
|
5285
|
-
|
|
5444
|
+
_context13.next = 1;
|
|
5286
5445
|
break;
|
|
5287
5446
|
}
|
|
5288
|
-
|
|
5447
|
+
_context13.next = 1;
|
|
5289
5448
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
|
|
5290
5449
|
case 1:
|
|
5291
|
-
|
|
5450
|
+
_context13.next = 2;
|
|
5292
5451
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
5293
5452
|
case 2:
|
|
5294
5453
|
case "end":
|
|
5295
|
-
return
|
|
5454
|
+
return _context13.stop();
|
|
5296
5455
|
}
|
|
5297
|
-
},
|
|
5456
|
+
}, _callee13, this);
|
|
5298
5457
|
}));
|
|
5299
5458
|
function setLocalVideoStream(_x11) {
|
|
5300
5459
|
return _setLocalVideoStream.apply(this, arguments);
|
|
@@ -5313,10 +5472,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5313
5472
|
}, {
|
|
5314
5473
|
key: "setLocalShareVideoStream",
|
|
5315
5474
|
value: (function () {
|
|
5316
|
-
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5475
|
+
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(localDisplayStream) {
|
|
5317
5476
|
var oldStream;
|
|
5318
|
-
return _regenerator.default.wrap(function (
|
|
5319
|
-
while (1) switch (
|
|
5477
|
+
return _regenerator.default.wrap(function (_context14) {
|
|
5478
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
5320
5479
|
case 0:
|
|
5321
5480
|
oldStream = this.mediaProperties.shareVideoStream;
|
|
5322
5481
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
@@ -5328,19 +5487,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5328
5487
|
localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5329
5488
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
5330
5489
|
if (!(!this.isMultistream || !localDisplayStream)) {
|
|
5331
|
-
|
|
5490
|
+
_context14.next = 1;
|
|
5332
5491
|
break;
|
|
5333
5492
|
}
|
|
5334
|
-
|
|
5493
|
+
_context14.next = 1;
|
|
5335
5494
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
|
|
5336
5495
|
case 1:
|
|
5337
|
-
|
|
5496
|
+
_context14.next = 2;
|
|
5338
5497
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
5339
5498
|
case 2:
|
|
5340
5499
|
case "end":
|
|
5341
|
-
return
|
|
5500
|
+
return _context14.stop();
|
|
5342
5501
|
}
|
|
5343
|
-
},
|
|
5502
|
+
}, _callee14, this);
|
|
5344
5503
|
}));
|
|
5345
5504
|
function setLocalShareVideoStream(_x12) {
|
|
5346
5505
|
return _setLocalShareVideoStream.apply(this, arguments);
|
|
@@ -5358,10 +5517,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5358
5517
|
}, {
|
|
5359
5518
|
key: "setLocalShareAudioStream",
|
|
5360
5519
|
value: (function () {
|
|
5361
|
-
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5520
|
+
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(localSystemAudioStream) {
|
|
5362
5521
|
var oldStream;
|
|
5363
|
-
return _regenerator.default.wrap(function (
|
|
5364
|
-
while (1) switch (
|
|
5522
|
+
return _regenerator.default.wrap(function (_context15) {
|
|
5523
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
5365
5524
|
case 0:
|
|
5366
5525
|
oldStream = this.mediaProperties.shareAudioStream;
|
|
5367
5526
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
|
|
@@ -5371,19 +5530,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5371
5530
|
localSystemAudioStream === null || localSystemAudioStream === void 0 ? void 0 : localSystemAudioStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5372
5531
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
5373
5532
|
if (!(!this.isMultistream || !localSystemAudioStream)) {
|
|
5374
|
-
|
|
5533
|
+
_context15.next = 1;
|
|
5375
5534
|
break;
|
|
5376
5535
|
}
|
|
5377
|
-
|
|
5536
|
+
_context15.next = 1;
|
|
5378
5537
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioSlides, oldStream);
|
|
5379
5538
|
case 1:
|
|
5380
|
-
|
|
5539
|
+
_context15.next = 2;
|
|
5381
5540
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
5382
5541
|
case 2:
|
|
5383
5542
|
case "end":
|
|
5384
|
-
return
|
|
5543
|
+
return _context15.stop();
|
|
5385
5544
|
}
|
|
5386
|
-
},
|
|
5545
|
+
}, _callee15, this);
|
|
5387
5546
|
}));
|
|
5388
5547
|
function setLocalShareAudioStream(_x13) {
|
|
5389
5548
|
return _setLocalShareAudioStream.apply(this, arguments);
|
|
@@ -5424,17 +5583,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5424
5583
|
}, {
|
|
5425
5584
|
key: "cleanupLocalStreams",
|
|
5426
5585
|
value: function cleanupLocalStreams() {
|
|
5427
|
-
var _this$
|
|
5428
|
-
audioStream = _this$
|
|
5429
|
-
videoStream = _this$
|
|
5430
|
-
shareAudioStream = _this$
|
|
5431
|
-
shareVideoStream = _this$
|
|
5586
|
+
var _this$mediaProperties8 = this.mediaProperties,
|
|
5587
|
+
audioStream = _this$mediaProperties8.audioStream,
|
|
5588
|
+
videoStream = _this$mediaProperties8.videoStream,
|
|
5589
|
+
shareAudioStream = _this$mediaProperties8.shareAudioStream,
|
|
5590
|
+
shareVideoStream = _this$mediaProperties8.shareVideoStream;
|
|
5432
5591
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5433
5592
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
5434
5593
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5435
5594
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5436
5595
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
5437
5596
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5597
|
+
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
|
|
5438
5598
|
shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
|
|
5439
5599
|
shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
5440
5600
|
shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
@@ -5823,7 +5983,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5823
5983
|
}, {
|
|
5824
5984
|
key: "joinWithMedia",
|
|
5825
5985
|
value: (function () {
|
|
5826
|
-
var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
5986
|
+
var _joinWithMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
5827
5987
|
var _this30 = this;
|
|
5828
5988
|
var options,
|
|
5829
5989
|
mediaOptions,
|
|
@@ -5846,53 +6006,64 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5846
6006
|
shouldRetry,
|
|
5847
6007
|
_error2,
|
|
5848
6008
|
_error3,
|
|
5849
|
-
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
return _regenerator.default.wrap(function (
|
|
5853
|
-
while (1) switch (
|
|
6009
|
+
_args16 = arguments,
|
|
6010
|
+
_t0,
|
|
6011
|
+
_t1;
|
|
6012
|
+
return _regenerator.default.wrap(function (_context16) {
|
|
6013
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
5854
6014
|
case 0:
|
|
5855
|
-
options =
|
|
6015
|
+
options = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : {};
|
|
5856
6016
|
mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
|
|
5857
6017
|
_this$joinWithMediaRe = this.joinWithMediaRetryInfo, isRetry = _this$joinWithMediaRe.isRetry, prevJoinResponse = _this$joinWithMediaRe.prevJoinResponse;
|
|
5858
6018
|
if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
|
|
5859
|
-
|
|
6019
|
+
_context16.next = 1;
|
|
5860
6020
|
break;
|
|
5861
6021
|
}
|
|
5862
|
-
return
|
|
6022
|
+
return _context16.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
|
|
5863
6023
|
case 1:
|
|
5864
6024
|
this.allowMediaInLobby = true;
|
|
5865
6025
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
|
|
5866
6026
|
joined = false;
|
|
5867
6027
|
joinResponse = prevJoinResponse;
|
|
5868
|
-
|
|
6028
|
+
/* Before we do anything, check if RTCPeerConnection is available. Normally this is checked
|
|
6029
|
+
by addMediaInternal() itself when creating the media connection, but since joinWithMedia()
|
|
6030
|
+
is a convenience method that does both join() and addMedia(), we want to fail fast here
|
|
6031
|
+
in case WebRTC is not available at all.
|
|
6032
|
+
*/
|
|
6033
|
+
if (!(_webCapabilities.WebCapabilities.supportsRTCPeerConnection() === _webCapabilities.CapabilityState.NOT_CAPABLE)) {
|
|
6034
|
+
_context16.next = 2;
|
|
6035
|
+
break;
|
|
6036
|
+
}
|
|
6037
|
+
throw new _internalMediaCore.Errors.WebrtcApiNotAvailableError('RTCPeerConnection API is not available in this environment');
|
|
6038
|
+
case 2:
|
|
6039
|
+
_context16.prev = 2;
|
|
5869
6040
|
forceTurnDiscovery = false;
|
|
5870
6041
|
if (joinResponse) {
|
|
5871
|
-
|
|
6042
|
+
_context16.next = 7;
|
|
5872
6043
|
break;
|
|
5873
6044
|
}
|
|
5874
|
-
|
|
6045
|
+
_context16.next = 3;
|
|
5875
6046
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
5876
6047
|
case 3:
|
|
5877
|
-
turnDiscoveryRequest =
|
|
6048
|
+
turnDiscoveryRequest = _context16.sent;
|
|
5878
6049
|
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
5879
6050
|
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
5880
6051
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
|
|
5881
|
-
|
|
6052
|
+
_context16.next = 4;
|
|
5882
6053
|
return this.join(joinOptions);
|
|
5883
6054
|
case 4:
|
|
5884
|
-
joinResponse =
|
|
6055
|
+
joinResponse = _context16.sent;
|
|
5885
6056
|
joined = true;
|
|
5886
6057
|
|
|
5887
6058
|
// if we sent out TURN discovery Roap message with join, process the TURN discovery response
|
|
5888
6059
|
if (!joinOptions.roapMessage) {
|
|
5889
|
-
|
|
6060
|
+
_context16.next = 6;
|
|
5890
6061
|
break;
|
|
5891
6062
|
}
|
|
5892
|
-
|
|
6063
|
+
_context16.next = 5;
|
|
5893
6064
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
5894
6065
|
case 5:
|
|
5895
|
-
_yield$this$roap$hand =
|
|
6066
|
+
_yield$this$roap$hand = _context16.sent;
|
|
5896
6067
|
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
5897
6068
|
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
5898
6069
|
this.turnDiscoverySkippedReason = turnDiscoverySkippedReason;
|
|
@@ -5901,7 +6072,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5901
6072
|
this.roap.abortTurnDiscovery();
|
|
5902
6073
|
}
|
|
5903
6074
|
case 6:
|
|
5904
|
-
|
|
6075
|
+
_context16.next = 8;
|
|
5905
6076
|
break;
|
|
5906
6077
|
case 7:
|
|
5907
6078
|
// This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
|
|
@@ -5909,43 +6080,43 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5909
6080
|
forceTurnDiscovery = true;
|
|
5910
6081
|
joined = true;
|
|
5911
6082
|
case 8:
|
|
5912
|
-
|
|
6083
|
+
_context16.next = 9;
|
|
5913
6084
|
return this.addMediaInternal(function () {
|
|
5914
6085
|
return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5915
6086
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5916
6087
|
case 9:
|
|
5917
|
-
mediaResponse =
|
|
6088
|
+
mediaResponse = _context16.sent;
|
|
5918
6089
|
this.joinWithMediaRetryInfo = {
|
|
5919
6090
|
isRetry: false,
|
|
5920
6091
|
prevJoinResponse: undefined
|
|
5921
6092
|
};
|
|
5922
|
-
return
|
|
6093
|
+
return _context16.abrupt("return", {
|
|
5923
6094
|
join: joinResponse,
|
|
5924
6095
|
media: mediaResponse,
|
|
5925
6096
|
multistreamEnabled: this.isMultistream
|
|
5926
6097
|
});
|
|
5927
6098
|
case 10:
|
|
5928
|
-
|
|
5929
|
-
|
|
5930
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ',
|
|
6099
|
+
_context16.prev = 10;
|
|
6100
|
+
_t0 = _context16["catch"](2);
|
|
6101
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _t0);
|
|
5931
6102
|
this.roap.abortTurnDiscovery();
|
|
5932
6103
|
|
|
5933
6104
|
// if this was the first attempt, let's do a retry
|
|
5934
6105
|
shouldRetry = !isRetry;
|
|
5935
|
-
if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(
|
|
6106
|
+
if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(_t0) || _internalPluginMetrics.CallDiagnosticUtils.isWebrtcApiNotAvailableError(_t0)) {
|
|
5936
6107
|
// errors related to offer creation (for example missing H264 codec) will happen again no matter how many times we try,
|
|
5937
6108
|
// so there is no point doing a retry
|
|
5938
6109
|
shouldRetry = false;
|
|
5939
6110
|
}
|
|
5940
|
-
if (_internalPluginMetrics.CallDiagnosticUtils.isBrowserMediaError(
|
|
6111
|
+
if (_internalPluginMetrics.CallDiagnosticUtils.isBrowserMediaError(_t0)) {
|
|
5941
6112
|
shouldRetry = false;
|
|
5942
6113
|
// eslint-disable-next-line no-ex-assign
|
|
5943
|
-
|
|
6114
|
+
_t0 = (0, _lodash.merge)({
|
|
5944
6115
|
error: {
|
|
5945
6116
|
body: {
|
|
5946
|
-
errorCode: _internalPluginMetrics.CallDiagnosticUtils.getBrowserMediaErrorCode(
|
|
5947
|
-
message: (_error2 =
|
|
5948
|
-
name: (_error3 =
|
|
6117
|
+
errorCode: _internalPluginMetrics.CallDiagnosticUtils.getBrowserMediaErrorCode(_t0),
|
|
6118
|
+
message: (_error2 = _t0) === null || _error2 === void 0 ? void 0 : _error2.message,
|
|
6119
|
+
name: (_error3 = _t0) === null || _error3 === void 0 ? void 0 : _error3.name
|
|
5949
6120
|
}
|
|
5950
6121
|
}
|
|
5951
6122
|
});
|
|
@@ -5953,54 +6124,54 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5953
6124
|
|
|
5954
6125
|
// 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
6126
|
if (!(joined && (isRetry || !shouldRetry))) {
|
|
5956
|
-
|
|
6127
|
+
_context16.next = 14;
|
|
5957
6128
|
break;
|
|
5958
6129
|
}
|
|
5959
|
-
|
|
5960
|
-
|
|
6130
|
+
_context16.prev = 11;
|
|
6131
|
+
_context16.next = 12;
|
|
5961
6132
|
return this.leave({
|
|
5962
6133
|
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
5963
6134
|
reason: 'joinWithMedia failure'
|
|
5964
6135
|
});
|
|
5965
6136
|
case 12:
|
|
5966
|
-
|
|
6137
|
+
_context16.next = 14;
|
|
5967
6138
|
break;
|
|
5968
6139
|
case 13:
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error',
|
|
5972
|
-
leaveError =
|
|
6140
|
+
_context16.prev = 13;
|
|
6141
|
+
_t1 = _context16["catch"](11);
|
|
6142
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _t1);
|
|
6143
|
+
leaveError = _t1;
|
|
5973
6144
|
case 14:
|
|
5974
6145
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
5975
6146
|
correlation_id: this.correlationId,
|
|
5976
6147
|
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
5977
6148
|
// if join fails, we may end up with no locusUrl
|
|
5978
|
-
reason:
|
|
5979
|
-
stack:
|
|
6149
|
+
reason: _t0.message,
|
|
6150
|
+
stack: _t0.stack,
|
|
5980
6151
|
leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message,
|
|
5981
6152
|
isRetry: isRetry
|
|
5982
6153
|
}, {
|
|
5983
|
-
type:
|
|
6154
|
+
type: _t0.name
|
|
5984
6155
|
});
|
|
5985
6156
|
if (!shouldRetry) {
|
|
5986
|
-
|
|
6157
|
+
_context16.next = 15;
|
|
5987
6158
|
break;
|
|
5988
6159
|
}
|
|
5989
6160
|
_loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
|
|
5990
6161
|
this.joinWithMediaRetryInfo.isRetry = true;
|
|
5991
6162
|
this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
|
|
5992
|
-
return
|
|
6163
|
+
return _context16.abrupt("return", this.joinWithMedia(options));
|
|
5993
6164
|
case 15:
|
|
5994
6165
|
this.joinWithMediaRetryInfo = {
|
|
5995
6166
|
isRetry: false,
|
|
5996
6167
|
prevJoinResponse: undefined
|
|
5997
6168
|
};
|
|
5998
|
-
throw
|
|
6169
|
+
throw _t0;
|
|
5999
6170
|
case 16:
|
|
6000
6171
|
case "end":
|
|
6001
|
-
return
|
|
6172
|
+
return _context16.stop();
|
|
6002
6173
|
}
|
|
6003
|
-
},
|
|
6174
|
+
}, _callee16, this, [[2, 10], [11, 13]]);
|
|
6004
6175
|
}));
|
|
6005
6176
|
function joinWithMedia() {
|
|
6006
6177
|
return _joinWithMedia.apply(this, arguments);
|
|
@@ -6030,20 +6201,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6030
6201
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
6031
6202
|
}
|
|
6032
6203
|
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 (
|
|
6204
|
+
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17() {
|
|
6205
|
+
return _regenerator.default.wrap(function (_context17) {
|
|
6206
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
6036
6207
|
case 0:
|
|
6037
|
-
|
|
6208
|
+
_context17.next = 1;
|
|
6038
6209
|
return _this31.waitForRemoteSDPAnswer();
|
|
6039
6210
|
case 1:
|
|
6040
|
-
|
|
6211
|
+
_context17.next = 2;
|
|
6041
6212
|
return _this31.waitForMediaConnectionConnected();
|
|
6042
6213
|
case 2:
|
|
6043
6214
|
case "end":
|
|
6044
|
-
return
|
|
6215
|
+
return _context17.stop();
|
|
6045
6216
|
}
|
|
6046
|
-
},
|
|
6217
|
+
}, _callee17);
|
|
6047
6218
|
}))).then(function () {
|
|
6048
6219
|
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
6049
6220
|
}).catch(function (error) {
|
|
@@ -6083,8 +6254,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6083
6254
|
}, {
|
|
6084
6255
|
key: "isReactionsSupported",
|
|
6085
6256
|
value: function isReactionsSupported() {
|
|
6086
|
-
var _this$
|
|
6087
|
-
if ((_this$
|
|
6257
|
+
var _this$locusInfo6, _this$locusInfo6$cont;
|
|
6258
|
+
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
6259
|
return true;
|
|
6089
6260
|
}
|
|
6090
6261
|
_loggerProxy.default.logger.error('Meeting:index#isReactionsSupported --> Reactions is not supported');
|
|
@@ -6184,47 +6355,47 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6184
6355
|
}, {
|
|
6185
6356
|
key: "startTranscription",
|
|
6186
6357
|
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 (
|
|
6358
|
+
var _startTranscription = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(options) {
|
|
6359
|
+
var _t10;
|
|
6360
|
+
return _regenerator.default.wrap(function (_context18) {
|
|
6361
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
6191
6362
|
case 0:
|
|
6192
6363
|
if (!this.isJoined()) {
|
|
6193
|
-
|
|
6364
|
+
_context18.next = 5;
|
|
6194
6365
|
break;
|
|
6195
6366
|
}
|
|
6196
6367
|
_loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
|
|
6197
|
-
|
|
6368
|
+
_context18.prev = 1;
|
|
6198
6369
|
if (!this.areVoiceaEventsSetup) {
|
|
6199
6370
|
this.setUpVoiceaListeners();
|
|
6200
6371
|
}
|
|
6201
6372
|
|
|
6202
6373
|
// @ts-ignore
|
|
6203
|
-
|
|
6374
|
+
_context18.next = 2;
|
|
6204
6375
|
return this.webex.internal.voicea.turnOnCaptions(options === null || options === void 0 ? void 0 : options.spokenLanguage);
|
|
6205
6376
|
case 2:
|
|
6206
|
-
|
|
6377
|
+
_context18.next = 4;
|
|
6207
6378
|
break;
|
|
6208
6379
|
case 3:
|
|
6209
|
-
|
|
6210
|
-
|
|
6211
|
-
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(
|
|
6380
|
+
_context18.prev = 3;
|
|
6381
|
+
_t10 = _context18["catch"](1);
|
|
6382
|
+
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_t10));
|
|
6212
6383
|
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
|
|
6213
6384
|
correlation_id: this.correlationId,
|
|
6214
|
-
reason:
|
|
6215
|
-
stack:
|
|
6385
|
+
reason: _t10.message,
|
|
6386
|
+
stack: _t10.stack
|
|
6216
6387
|
});
|
|
6217
6388
|
case 4:
|
|
6218
|
-
|
|
6389
|
+
_context18.next = 6;
|
|
6219
6390
|
break;
|
|
6220
6391
|
case 5:
|
|
6221
6392
|
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
|
|
6222
6393
|
throw new Error('Meeting is not joined');
|
|
6223
6394
|
case 6:
|
|
6224
6395
|
case "end":
|
|
6225
|
-
return
|
|
6396
|
+
return _context18.stop();
|
|
6226
6397
|
}
|
|
6227
|
-
},
|
|
6398
|
+
}, _callee18, this, [[1, 3]]);
|
|
6228
6399
|
}));
|
|
6229
6400
|
function startTranscription(_x14) {
|
|
6230
6401
|
return _startTranscription.apply(this, arguments);
|
|
@@ -6239,24 +6410,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6239
6410
|
* @returns {void}
|
|
6240
6411
|
*/
|
|
6241
6412
|
function stopTranscription() {
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT]);
|
|
6413
|
+
// @ts-ignore
|
|
6414
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT]);
|
|
6245
6415
|
|
|
6246
|
-
|
|
6247
|
-
|
|
6416
|
+
// @ts-ignore
|
|
6417
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON]);
|
|
6248
6418
|
|
|
6249
|
-
|
|
6250
|
-
|
|
6419
|
+
// @ts-ignore
|
|
6420
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND]);
|
|
6251
6421
|
|
|
6252
|
-
|
|
6253
|
-
|
|
6422
|
+
// @ts-ignore
|
|
6423
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION]);
|
|
6254
6424
|
|
|
6255
|
-
|
|
6256
|
-
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
}
|
|
6425
|
+
// @ts-ignore
|
|
6426
|
+
this.webex.internal.voicea.deregisterEvents();
|
|
6427
|
+
this.areVoiceaEventsSetup = false;
|
|
6428
|
+
this.triggerStopReceivingTranscriptionEvent();
|
|
6260
6429
|
}
|
|
6261
6430
|
|
|
6262
6431
|
/**
|
|
@@ -6290,7 +6459,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6290
6459
|
* Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
|
|
6291
6460
|
*/
|
|
6292
6461
|
function () {
|
|
6293
|
-
var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6462
|
+
var _join = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
6294
6463
|
var _this34 = this;
|
|
6295
6464
|
var options,
|
|
6296
6465
|
errorMessage,
|
|
@@ -6301,26 +6470,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6301
6470
|
_error4,
|
|
6302
6471
|
_errorMessage3,
|
|
6303
6472
|
_error5,
|
|
6304
|
-
|
|
6305
|
-
|
|
6306
|
-
return _regenerator.default.wrap(function (
|
|
6307
|
-
while (1) switch (
|
|
6473
|
+
_args19 = arguments,
|
|
6474
|
+
_t11;
|
|
6475
|
+
return _regenerator.default.wrap(function (_context19) {
|
|
6476
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
6308
6477
|
case 0:
|
|
6309
|
-
options =
|
|
6478
|
+
options = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : {};
|
|
6310
6479
|
if (this.webex.meetings.registered) {
|
|
6311
|
-
|
|
6480
|
+
_context19.next = 1;
|
|
6312
6481
|
break;
|
|
6313
6482
|
}
|
|
6314
6483
|
errorMessage = 'Meeting:index#join --> Device not registered';
|
|
6315
6484
|
error = new Error(errorMessage);
|
|
6316
6485
|
_loggerProxy.default.logger.error(errorMessage);
|
|
6317
|
-
return
|
|
6486
|
+
return _context19.abrupt("return", _promise.default.reject(error));
|
|
6318
6487
|
case 1:
|
|
6319
6488
|
if (!this.deferJoin) {
|
|
6320
|
-
|
|
6489
|
+
_context19.next = 2;
|
|
6321
6490
|
break;
|
|
6322
6491
|
}
|
|
6323
|
-
return
|
|
6492
|
+
return _context19.abrupt("return", this.deferJoin);
|
|
6324
6493
|
case 2:
|
|
6325
6494
|
// Create a deferred promise for a consistent resolve value from utils.
|
|
6326
6495
|
// This also prevents redundant API calls.
|
|
@@ -6372,15 +6541,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6372
6541
|
this.wirelessShare = true;
|
|
6373
6542
|
}
|
|
6374
6543
|
if (!options.meetingQuality) {
|
|
6375
|
-
|
|
6544
|
+
_context19.next = 6;
|
|
6376
6545
|
break;
|
|
6377
6546
|
}
|
|
6378
6547
|
if (!(typeof options.meetingQuality === 'string')) {
|
|
6379
|
-
|
|
6548
|
+
_context19.next = 4;
|
|
6380
6549
|
break;
|
|
6381
6550
|
}
|
|
6382
6551
|
if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
|
|
6383
|
-
|
|
6552
|
+
_context19.next = 3;
|
|
6384
6553
|
break;
|
|
6385
6554
|
}
|
|
6386
6555
|
_errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
|
|
@@ -6388,16 +6557,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6388
6557
|
_loggerProxy.default.logger.error(_errorMessage2);
|
|
6389
6558
|
joinFailed(_error4);
|
|
6390
6559
|
this.deferJoin = undefined;
|
|
6391
|
-
return
|
|
6560
|
+
return _context19.abrupt("return", _promise.default.reject(_error4));
|
|
6392
6561
|
case 3:
|
|
6393
6562
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
|
|
6394
6563
|
case 4:
|
|
6395
6564
|
if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
|
|
6396
|
-
|
|
6565
|
+
_context19.next = 6;
|
|
6397
6566
|
break;
|
|
6398
6567
|
}
|
|
6399
6568
|
if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
|
|
6400
|
-
|
|
6569
|
+
_context19.next = 5;
|
|
6401
6570
|
break;
|
|
6402
6571
|
}
|
|
6403
6572
|
_errorMessage3 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
|
|
@@ -6405,42 +6574,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6405
6574
|
_error5 = new Error(_errorMessage3);
|
|
6406
6575
|
joinFailed(_error5);
|
|
6407
6576
|
this.deferJoin = undefined;
|
|
6408
|
-
return
|
|
6577
|
+
return _context19.abrupt("return", _promise.default.reject(new Error(_errorMessage3)));
|
|
6409
6578
|
case 5:
|
|
6410
6579
|
if (options.meetingQuality.remote) {
|
|
6411
6580
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
|
|
6412
6581
|
}
|
|
6413
6582
|
case 6:
|
|
6414
6583
|
this.isMultistream = !!options.enableMultistream;
|
|
6415
|
-
|
|
6416
|
-
|
|
6584
|
+
_context19.prev = 7;
|
|
6585
|
+
_context19.next = 8;
|
|
6417
6586
|
return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
|
|
6418
6587
|
case 8:
|
|
6419
|
-
|
|
6588
|
+
_context19.next = 10;
|
|
6420
6589
|
break;
|
|
6421
6590
|
case 9:
|
|
6422
|
-
|
|
6423
|
-
|
|
6424
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:',
|
|
6425
|
-
if (!(
|
|
6426
|
-
|
|
6591
|
+
_context19.prev = 9;
|
|
6592
|
+
_t11 = _context19["catch"](7);
|
|
6593
|
+
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _t11);
|
|
6594
|
+
if (!(_t11 instanceof _captchaError.default || _t11 instanceof _passwordError.default || _t11 instanceof _permission.default)) {
|
|
6595
|
+
_context19.next = 10;
|
|
6427
6596
|
break;
|
|
6428
6597
|
}
|
|
6429
|
-
this.meetingFiniteStateMachine.fail(
|
|
6598
|
+
this.meetingFiniteStateMachine.fail(_t11);
|
|
6430
6599
|
|
|
6431
6600
|
// Upload logs on refreshpermissionToken refresh Failure
|
|
6432
6601
|
_triggerProxy.default.trigger(this, {
|
|
6433
6602
|
file: 'meeting/index',
|
|
6434
6603
|
function: 'join'
|
|
6435
6604
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
6436
|
-
joinFailed(
|
|
6605
|
+
joinFailed(_t11);
|
|
6437
6606
|
this.deferJoin = undefined;
|
|
6438
6607
|
|
|
6439
6608
|
// if refresh permission token requires captcha, password or permission, we are throwing the errors
|
|
6440
6609
|
// and bubble it up to client
|
|
6441
|
-
return
|
|
6610
|
+
return _context19.abrupt("return", _promise.default.reject(_t11));
|
|
6442
6611
|
case 10:
|
|
6443
|
-
return
|
|
6612
|
+
return _context19.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
6444
6613
|
_this34.meetingFiniteStateMachine.join();
|
|
6445
6614
|
_this34.setupLocusMediaRequest();
|
|
6446
6615
|
|
|
@@ -6474,6 +6643,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6474
6643
|
_this34.deferJoin = undefined;
|
|
6475
6644
|
return _promise.default.reject(error);
|
|
6476
6645
|
}).then(function (join) {
|
|
6646
|
+
_this34.saveDataChannelToken(join);
|
|
6477
6647
|
// @ts-ignore - config coming from registerPlugin
|
|
6478
6648
|
if (_this34.config.enableAutomaticLLM) {
|
|
6479
6649
|
// @ts-ignore
|
|
@@ -6493,9 +6663,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6493
6663
|
}));
|
|
6494
6664
|
case 11:
|
|
6495
6665
|
case "end":
|
|
6496
|
-
return
|
|
6666
|
+
return _context19.stop();
|
|
6497
6667
|
}
|
|
6498
|
-
},
|
|
6668
|
+
}, _callee19, this, [[7, 9]]);
|
|
6499
6669
|
}));
|
|
6500
6670
|
function join() {
|
|
6501
6671
|
return _join.apply(this, arguments);
|
|
@@ -6544,28 +6714,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6544
6714
|
this.llmHealthCheckTimer = undefined;
|
|
6545
6715
|
}
|
|
6546
6716
|
}
|
|
6717
|
+
}, {
|
|
6718
|
+
key: "clearDataChannelToken",
|
|
6719
|
+
value:
|
|
6720
|
+
/**
|
|
6721
|
+
* Clears all data channel tokens stored in LLM.
|
|
6722
|
+
* Called during meeting cleanup to ensure stale tokens are not reused.
|
|
6723
|
+
* @returns {void}
|
|
6724
|
+
*/
|
|
6725
|
+
function clearDataChannelToken() {
|
|
6726
|
+
// @ts-ignore
|
|
6727
|
+
this.webex.internal.llm.resetDatachannelTokens();
|
|
6728
|
+
}
|
|
6729
|
+
|
|
6730
|
+
/**
|
|
6731
|
+
* Saves the data channel tokens from the join response into LLM so that
|
|
6732
|
+
* updateLLMConnection / updatePSDataChannel don't need to fetch them from locusInfo.
|
|
6733
|
+
* @param {Object} join - The parsed join response (from MeetingUtil.parseLocusJoin)
|
|
6734
|
+
* @returns {void}
|
|
6735
|
+
*/
|
|
6736
|
+
}, {
|
|
6737
|
+
key: "saveDataChannelToken",
|
|
6738
|
+
value: function saveDataChannelToken(join) {
|
|
6739
|
+
var _join$locus, _join$locus$self, _join$locus2, _join$locus2$self;
|
|
6740
|
+
var datachannelToken = join === null || join === void 0 ? void 0 : (_join$locus = join.locus) === null || _join$locus === void 0 ? void 0 : (_join$locus$self = _join$locus.self) === null || _join$locus$self === void 0 ? void 0 : _join$locus$self.datachannelToken;
|
|
6741
|
+
var practiceSessionDatachannelToken = join === null || join === void 0 ? void 0 : (_join$locus2 = join.locus) === null || _join$locus2 === void 0 ? void 0 : (_join$locus2$self = _join$locus2.self) === null || _join$locus2$self === void 0 ? void 0 : _join$locus2$self.practiceSessionDatachannelToken;
|
|
6742
|
+
if (datachannelToken) {
|
|
6743
|
+
// @ts-ignore
|
|
6744
|
+
this.webex.internal.llm.setDatachannelToken(datachannelToken, _internalPluginLlm.DataChannelTokenType.Default);
|
|
6745
|
+
}
|
|
6746
|
+
if (practiceSessionDatachannelToken) {
|
|
6747
|
+
// @ts-ignore
|
|
6748
|
+
this.webex.internal.llm.setDatachannelToken(practiceSessionDatachannelToken, _internalPluginLlm.DataChannelTokenType.PracticeSession);
|
|
6749
|
+
}
|
|
6750
|
+
}
|
|
6547
6751
|
|
|
6548
6752
|
/**
|
|
6549
6753
|
* Connects to low latency mercury and reconnects if the address has changed
|
|
6550
6754
|
* It will also disconnect if called when the meeting has ended
|
|
6551
|
-
* @param {String} datachannelUrl
|
|
6552
6755
|
* @returns {Promise}
|
|
6553
6756
|
*/
|
|
6554
6757
|
}, {
|
|
6555
6758
|
key: "updateLLMConnection",
|
|
6556
6759
|
value: (function () {
|
|
6557
|
-
var _updateLLMConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
6760
|
+
var _updateLLMConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20() {
|
|
6558
6761
|
var _this36 = this;
|
|
6559
|
-
var
|
|
6560
|
-
return _regenerator.default.wrap(function (
|
|
6561
|
-
while (1) switch (
|
|
6762
|
+
var _ref40, _ref40$url, url, _ref40$info, _ref40$info2, _ref40$info2$datachan, datachannelUrl, isJoined, datachannelToken, dataChannelUrl;
|
|
6763
|
+
return _regenerator.default.wrap(function (_context20) {
|
|
6764
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
6562
6765
|
case 0:
|
|
6563
6766
|
// @ts-ignore - Fix type
|
|
6564
|
-
|
|
6565
|
-
isJoined = this.isJoined(); //
|
|
6566
|
-
|
|
6767
|
+
_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;
|
|
6768
|
+
isJoined = this.isJoined(); // @ts-ignore
|
|
6769
|
+
datachannelToken = this.webex.internal.llm.getDatachannelToken(_internalPluginLlm.DataChannelTokenType.Default);
|
|
6770
|
+
dataChannelUrl = datachannelUrl; // @ts-ignore - Fix type
|
|
6567
6771
|
if (!this.webex.internal.llm.isConnected()) {
|
|
6568
|
-
|
|
6772
|
+
_context20.next = 2;
|
|
6569
6773
|
break;
|
|
6570
6774
|
}
|
|
6571
6775
|
if (!(
|
|
@@ -6573,30 +6777,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6573
6777
|
url === this.webex.internal.llm.getLocusUrl() &&
|
|
6574
6778
|
// @ts-ignore - Fix type
|
|
6575
6779
|
dataChannelUrl === this.webex.internal.llm.getDatachannelUrl() && isJoined)) {
|
|
6576
|
-
|
|
6780
|
+
_context20.next = 1;
|
|
6577
6781
|
break;
|
|
6578
6782
|
}
|
|
6579
|
-
return
|
|
6783
|
+
return _context20.abrupt("return", undefined);
|
|
6580
6784
|
case 1:
|
|
6581
|
-
|
|
6582
|
-
return this.
|
|
6583
|
-
|
|
6584
|
-
|
|
6585
|
-
} : undefined);
|
|
6785
|
+
_context20.next = 2;
|
|
6786
|
+
return this.cleanupLLMConneciton({
|
|
6787
|
+
removeOnlineListener: false
|
|
6788
|
+
});
|
|
6586
6789
|
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
6790
|
if (isJoined) {
|
|
6594
|
-
|
|
6791
|
+
_context20.next = 3;
|
|
6595
6792
|
break;
|
|
6596
6793
|
}
|
|
6597
|
-
return
|
|
6598
|
-
case
|
|
6599
|
-
return
|
|
6794
|
+
return _context20.abrupt("return", undefined);
|
|
6795
|
+
case 3:
|
|
6796
|
+
return _context20.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl, datachannelToken).then(function (registerAndConnectResult) {
|
|
6600
6797
|
// @ts-ignore - Fix type
|
|
6601
6798
|
_this36.webex.internal.llm.off('event:relay.event', _this36.processRelayEvent);
|
|
6602
6799
|
// @ts-ignore - Fix type
|
|
@@ -6609,11 +6806,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6609
6806
|
_this36.startLLMHealthCheckTimer();
|
|
6610
6807
|
return _promise.default.resolve(registerAndConnectResult);
|
|
6611
6808
|
}));
|
|
6612
|
-
case
|
|
6809
|
+
case 4:
|
|
6613
6810
|
case "end":
|
|
6614
|
-
return
|
|
6811
|
+
return _context20.stop();
|
|
6615
6812
|
}
|
|
6616
|
-
},
|
|
6813
|
+
}, _callee20, this);
|
|
6617
6814
|
}));
|
|
6618
6815
|
function updateLLMConnection() {
|
|
6619
6816
|
return _updateLLMConnection.apply(this, arguments);
|
|
@@ -6799,17 +6996,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6799
6996
|
meetingId: this.id
|
|
6800
6997
|
}
|
|
6801
6998
|
});
|
|
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 (
|
|
6999
|
+
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
|
|
7000
|
+
var mediaSettings, _t12;
|
|
7001
|
+
return _regenerator.default.wrap(function (_context21) {
|
|
7002
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
6806
7003
|
case 0:
|
|
6807
|
-
|
|
7004
|
+
_context21.prev = 0;
|
|
6808
7005
|
if (!(_this40.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
6809
|
-
|
|
7006
|
+
_context21.next = 1;
|
|
6810
7007
|
break;
|
|
6811
7008
|
}
|
|
6812
|
-
|
|
7009
|
+
_context21.next = 1;
|
|
6813
7010
|
return _this40.releaseScreenShareFloor();
|
|
6814
7011
|
case 1:
|
|
6815
7012
|
mediaSettings = {
|
|
@@ -6828,23 +7025,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6828
7025
|
// 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
7026
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6830
7027
|
if (!_this40.statsAnalyzer) {
|
|
6831
|
-
|
|
7028
|
+
_context21.next = 2;
|
|
6832
7029
|
break;
|
|
6833
7030
|
}
|
|
6834
|
-
|
|
7031
|
+
_context21.next = 2;
|
|
6835
7032
|
return _this40.statsAnalyzer.stopAnalyzer();
|
|
6836
7033
|
case 2:
|
|
6837
|
-
|
|
7034
|
+
_context21.next = 3;
|
|
6838
7035
|
return _this40.closeRemoteStreams();
|
|
6839
7036
|
case 3:
|
|
6840
|
-
|
|
7037
|
+
_context21.next = 4;
|
|
6841
7038
|
return _this40.closePeerConnections();
|
|
6842
7039
|
case 4:
|
|
6843
7040
|
_this40.cleanupLocalStreams();
|
|
6844
7041
|
_this40.unsetRemoteStreams();
|
|
6845
7042
|
_this40.unsetPeerConnections();
|
|
6846
7043
|
_this40.reconnectionManager.cleanUp();
|
|
6847
|
-
|
|
7044
|
+
_context21.next = 5;
|
|
6848
7045
|
return _this40.addMedia({
|
|
6849
7046
|
audioEnabled: false,
|
|
6850
7047
|
videoEnabled: false,
|
|
@@ -6853,24 +7050,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6853
7050
|
case 5:
|
|
6854
7051
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6855
7052
|
_this40.isMoveToInProgress = false;
|
|
6856
|
-
|
|
7053
|
+
_context21.next = 7;
|
|
6857
7054
|
break;
|
|
6858
7055
|
case 6:
|
|
6859
|
-
|
|
6860
|
-
|
|
6861
|
-
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId',
|
|
7056
|
+
_context21.prev = 6;
|
|
7057
|
+
_t12 = _context21["catch"](0);
|
|
7058
|
+
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _t12);
|
|
6862
7059
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6863
7060
|
correlation_id: _this40.correlationId,
|
|
6864
7061
|
locus_id: _this40.locusUrl.split('/').pop(),
|
|
6865
|
-
reason:
|
|
6866
|
-
stack:
|
|
7062
|
+
reason: _t12.message,
|
|
7063
|
+
stack: _t12.stack
|
|
6867
7064
|
});
|
|
6868
7065
|
_this40.isMoveToInProgress = false;
|
|
6869
7066
|
case 7:
|
|
6870
7067
|
case "end":
|
|
6871
|
-
return
|
|
7068
|
+
return _context21.stop();
|
|
6872
7069
|
}
|
|
6873
|
-
},
|
|
7070
|
+
}, _callee21, null, [[0, 6]]);
|
|
6874
7071
|
})));
|
|
6875
7072
|
_loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
|
|
6876
7073
|
|
|
@@ -6958,10 +7155,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6958
7155
|
}, {
|
|
6959
7156
|
key: "createMediaConnection",
|
|
6960
7157
|
value: (function () {
|
|
6961
|
-
var _createMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7158
|
+
var _createMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(turnServerInfo, bundlePolicy) {
|
|
6962
7159
|
var mc, audioEnabled, videoEnabled, shareEnabled;
|
|
6963
|
-
return _regenerator.default.wrap(function (
|
|
6964
|
-
while (1) switch (
|
|
7160
|
+
return _regenerator.default.wrap(function (_context22) {
|
|
7161
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
6965
7162
|
case 0:
|
|
6966
7163
|
this.rtcMetrics = this.isMultistream ?
|
|
6967
7164
|
// @ts-ignore
|
|
@@ -7003,40 +7200,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7003
7200
|
|
|
7004
7201
|
// publish the streams
|
|
7005
7202
|
if (!this.mediaProperties.audioStream) {
|
|
7006
|
-
|
|
7203
|
+
_context22.next = 1;
|
|
7007
7204
|
break;
|
|
7008
7205
|
}
|
|
7009
7206
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
7010
|
-
|
|
7207
|
+
_context22.next = 1;
|
|
7011
7208
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
7012
7209
|
case 1:
|
|
7013
7210
|
if (!this.mediaProperties.videoStream) {
|
|
7014
|
-
|
|
7211
|
+
_context22.next = 2;
|
|
7015
7212
|
break;
|
|
7016
7213
|
}
|
|
7017
|
-
|
|
7214
|
+
_context22.next = 2;
|
|
7018
7215
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
7019
7216
|
case 2:
|
|
7020
7217
|
if (!this.mediaProperties.shareVideoStream) {
|
|
7021
|
-
|
|
7218
|
+
_context22.next = 3;
|
|
7022
7219
|
break;
|
|
7023
7220
|
}
|
|
7024
|
-
|
|
7221
|
+
_context22.next = 3;
|
|
7025
7222
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
7026
7223
|
case 3:
|
|
7027
7224
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
7028
|
-
|
|
7225
|
+
_context22.next = 4;
|
|
7029
7226
|
break;
|
|
7030
7227
|
}
|
|
7031
|
-
|
|
7228
|
+
_context22.next = 4;
|
|
7032
7229
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
7033
7230
|
case 4:
|
|
7034
|
-
return
|
|
7231
|
+
return _context22.abrupt("return", mc);
|
|
7035
7232
|
case 5:
|
|
7036
7233
|
case "end":
|
|
7037
|
-
return
|
|
7234
|
+
return _context22.stop();
|
|
7038
7235
|
}
|
|
7039
|
-
},
|
|
7236
|
+
}, _callee22, this);
|
|
7040
7237
|
}));
|
|
7041
7238
|
function createMediaConnection(_x15, _x16) {
|
|
7042
7239
|
return _createMediaConnection.apply(this, arguments);
|
|
@@ -7076,11 +7273,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7076
7273
|
}, {
|
|
7077
7274
|
key: "setUpLocalStreamReferences",
|
|
7078
7275
|
value: (function () {
|
|
7079
|
-
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7276
|
+
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(localStreams) {
|
|
7080
7277
|
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 (
|
|
7278
|
+
var setUpStreamPromises, _t13;
|
|
7279
|
+
return _regenerator.default.wrap(function (_context23) {
|
|
7280
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
7084
7281
|
case 0:
|
|
7085
7282
|
setUpStreamPromises = [];
|
|
7086
7283
|
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 +7292,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7095
7292
|
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
7293
|
setUpStreamPromises.push(this.setLocalShareAudioStream(localStreams.screenShare.audio));
|
|
7097
7294
|
}
|
|
7098
|
-
|
|
7099
|
-
|
|
7295
|
+
_context23.prev = 1;
|
|
7296
|
+
_context23.next = 2;
|
|
7100
7297
|
return _promise.default.all(setUpStreamPromises);
|
|
7101
7298
|
case 2:
|
|
7102
|
-
|
|
7299
|
+
_context23.next = 4;
|
|
7103
7300
|
break;
|
|
7104
7301
|
case 3:
|
|
7105
|
-
|
|
7106
|
-
|
|
7107
|
-
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ",
|
|
7108
|
-
throw
|
|
7302
|
+
_context23.prev = 3;
|
|
7303
|
+
_t13 = _context23["catch"](1);
|
|
7304
|
+
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _t13);
|
|
7305
|
+
throw _t13;
|
|
7109
7306
|
case 4:
|
|
7110
7307
|
case "end":
|
|
7111
|
-
return
|
|
7308
|
+
return _context23.stop();
|
|
7112
7309
|
}
|
|
7113
|
-
},
|
|
7310
|
+
}, _callee23, this, [[1, 3]]);
|
|
7114
7311
|
}));
|
|
7115
7312
|
function setUpLocalStreamReferences(_x17) {
|
|
7116
7313
|
return _setUpLocalStreamReferences.apply(this, arguments);
|
|
@@ -7127,72 +7324,72 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7127
7324
|
}, {
|
|
7128
7325
|
key: "waitForMediaConnectionConnected",
|
|
7129
7326
|
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 (
|
|
7327
|
+
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
7328
|
+
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;
|
|
7329
|
+
return _regenerator.default.wrap(function (_context24) {
|
|
7330
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
7134
7331
|
case 0:
|
|
7135
|
-
|
|
7136
|
-
|
|
7137
|
-
return this.mediaProperties.waitForMediaConnectionConnected();
|
|
7332
|
+
_context24.prev = 0;
|
|
7333
|
+
_context24.next = 1;
|
|
7334
|
+
return this.mediaProperties.waitForMediaConnectionConnected(this.correlationId);
|
|
7138
7335
|
case 1:
|
|
7139
|
-
|
|
7336
|
+
_context24.next = 5;
|
|
7140
7337
|
break;
|
|
7141
7338
|
case 2:
|
|
7142
|
-
|
|
7143
|
-
|
|
7144
|
-
iceConnected =
|
|
7339
|
+
_context24.prev = 2;
|
|
7340
|
+
_t14 = _context24["catch"](0);
|
|
7341
|
+
iceConnected = _t14.iceConnected;
|
|
7145
7342
|
if (this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
7146
|
-
|
|
7343
|
+
_context24.next = 4;
|
|
7147
7344
|
break;
|
|
7148
7345
|
}
|
|
7149
|
-
|
|
7150
|
-
|
|
7151
|
-
|
|
7152
|
-
|
|
7153
|
-
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
|
|
7157
|
-
|
|
7346
|
+
_t15 = this.webex.internal.newMetrics;
|
|
7347
|
+
_t16 = !this.turnServerUsed;
|
|
7348
|
+
_t17 = this.addMediaData.icePhaseCallback();
|
|
7349
|
+
_t18 = this.webex.internal.newMetrics.callDiagnosticMetrics;
|
|
7350
|
+
_t19 = _internalPluginMetrics.CallDiagnosticUtils;
|
|
7351
|
+
_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';
|
|
7352
|
+
_t21 = iceConnected;
|
|
7353
|
+
_t22 = this.turnServerUsed;
|
|
7354
|
+
_context24.next = 3;
|
|
7158
7355
|
return this.webex.meetings.reachability.isWebexMediaBackendUnreachable().catch(function () {
|
|
7159
7356
|
return false;
|
|
7160
7357
|
});
|
|
7161
7358
|
case 3:
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
signalingState:
|
|
7165
|
-
iceConnected:
|
|
7166
|
-
turnServerUsed:
|
|
7167
|
-
unreachable:
|
|
7359
|
+
_t23 = _context24.sent;
|
|
7360
|
+
_t24 = _t19.generateClientErrorCodeForIceFailure.call(_t19, {
|
|
7361
|
+
signalingState: _t20,
|
|
7362
|
+
iceConnected: _t21,
|
|
7363
|
+
turnServerUsed: _t22,
|
|
7364
|
+
unreachable: _t23
|
|
7168
7365
|
});
|
|
7169
|
-
|
|
7170
|
-
clientErrorCode:
|
|
7366
|
+
_t25 = _t18.getErrorPayloadForClientErrorCode.call(_t18, {
|
|
7367
|
+
clientErrorCode: _t24
|
|
7171
7368
|
});
|
|
7172
|
-
|
|
7173
|
-
_t26 = {
|
|
7174
|
-
canProceed: _t15,
|
|
7175
|
-
icePhase: _t16,
|
|
7176
|
-
errors: _t25
|
|
7177
|
-
};
|
|
7369
|
+
_t26 = [_t25];
|
|
7178
7370
|
_t27 = {
|
|
7371
|
+
canProceed: _t16,
|
|
7372
|
+
icePhase: _t17,
|
|
7373
|
+
errors: _t26
|
|
7374
|
+
};
|
|
7375
|
+
_t28 = {
|
|
7179
7376
|
meetingId: this.id,
|
|
7180
|
-
rawError:
|
|
7377
|
+
rawError: _t14
|
|
7181
7378
|
};
|
|
7182
|
-
|
|
7379
|
+
_t15.submitClientEvent.call(_t15, {
|
|
7183
7380
|
name: 'client.ice.end',
|
|
7184
|
-
payload:
|
|
7185
|
-
options:
|
|
7381
|
+
payload: _t27,
|
|
7382
|
+
options: _t28
|
|
7186
7383
|
});
|
|
7187
7384
|
case 4:
|
|
7188
7385
|
timedOutError = new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
|
|
7189
|
-
timedOutError.cause =
|
|
7386
|
+
timedOutError.cause = _t14;
|
|
7190
7387
|
throw timedOutError;
|
|
7191
7388
|
case 5:
|
|
7192
7389
|
case "end":
|
|
7193
|
-
return
|
|
7390
|
+
return _context24.stop();
|
|
7194
7391
|
}
|
|
7195
|
-
},
|
|
7392
|
+
}, _callee24, this, [[0, 2]]);
|
|
7196
7393
|
}));
|
|
7197
7394
|
function waitForMediaConnectionConnected() {
|
|
7198
7395
|
return _waitForMediaConnectionConnected.apply(this, arguments);
|
|
@@ -7259,19 +7456,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7259
7456
|
}, {
|
|
7260
7457
|
key: "waitForRemoteSDPAnswer",
|
|
7261
7458
|
value: (function () {
|
|
7262
|
-
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7459
|
+
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25() {
|
|
7263
7460
|
var _this44 = this;
|
|
7264
7461
|
var LOG_HEADER, deferSDPAnswer;
|
|
7265
|
-
return _regenerator.default.wrap(function (
|
|
7266
|
-
while (1) switch (
|
|
7462
|
+
return _regenerator.default.wrap(function (_context25) {
|
|
7463
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
7267
7464
|
case 0:
|
|
7268
7465
|
LOG_HEADER = 'Meeting:index#addMedia():waitForRemoteSDPAnswer -->';
|
|
7269
7466
|
if (this.deferSDPAnswer) {
|
|
7270
|
-
|
|
7467
|
+
_context25.next = 1;
|
|
7271
7468
|
break;
|
|
7272
7469
|
}
|
|
7273
7470
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
|
|
7274
|
-
return
|
|
7471
|
+
return _context25.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
|
|
7275
7472
|
case 1:
|
|
7276
7473
|
deferSDPAnswer = this.deferSDPAnswer;
|
|
7277
7474
|
this.sdpResponseTimer = setTimeout(function () {
|
|
@@ -7297,12 +7494,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7297
7494
|
deferSDPAnswer.reject(error);
|
|
7298
7495
|
}, _constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT);
|
|
7299
7496
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " waiting for REMOTE SDP ANSWER..."));
|
|
7300
|
-
return
|
|
7497
|
+
return _context25.abrupt("return", deferSDPAnswer.promise);
|
|
7301
7498
|
case 2:
|
|
7302
7499
|
case "end":
|
|
7303
|
-
return
|
|
7500
|
+
return _context25.stop();
|
|
7304
7501
|
}
|
|
7305
|
-
},
|
|
7502
|
+
}, _callee25, this);
|
|
7306
7503
|
}));
|
|
7307
7504
|
function waitForRemoteSDPAnswer() {
|
|
7308
7505
|
return _waitForRemoteSDPAnswer.apply(this, arguments);
|
|
@@ -7321,28 +7518,28 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7321
7518
|
}, {
|
|
7322
7519
|
key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
|
|
7323
7520
|
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 (
|
|
7521
|
+
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(remoteMediaManagerConfig, bundlePolicy) {
|
|
7522
|
+
var LOG_HEADER, _t29;
|
|
7523
|
+
return _regenerator.default.wrap(function (_context26) {
|
|
7524
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
7328
7525
|
case 0:
|
|
7329
7526
|
LOG_HEADER = 'Meeting:index#addMedia():retryEstablishMediaConnectionWithForcedTurnDiscovery -->';
|
|
7330
|
-
|
|
7331
|
-
|
|
7527
|
+
_context26.prev = 1;
|
|
7528
|
+
_context26.next = 2;
|
|
7332
7529
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
|
|
7333
7530
|
case 2:
|
|
7334
|
-
|
|
7531
|
+
_context26.next = 4;
|
|
7335
7532
|
break;
|
|
7336
7533
|
case 3:
|
|
7337
|
-
|
|
7338
|
-
|
|
7339
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "),
|
|
7340
|
-
throw
|
|
7534
|
+
_context26.prev = 3;
|
|
7535
|
+
_t29 = _context26["catch"](1);
|
|
7536
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _t29);
|
|
7537
|
+
throw _t29;
|
|
7341
7538
|
case 4:
|
|
7342
7539
|
case "end":
|
|
7343
|
-
return
|
|
7540
|
+
return _context26.stop();
|
|
7344
7541
|
}
|
|
7345
|
-
},
|
|
7542
|
+
}, _callee26, this, [[1, 3]]);
|
|
7346
7543
|
}));
|
|
7347
7544
|
function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x18, _x19) {
|
|
7348
7545
|
return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -7362,14 +7559,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7362
7559
|
}, {
|
|
7363
7560
|
key: "retryWithForcedTurnDiscovery",
|
|
7364
7561
|
value: (function () {
|
|
7365
|
-
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7562
|
+
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27(remoteMediaManagerConfig, bundlePolicy) {
|
|
7366
7563
|
var LOG_HEADER;
|
|
7367
|
-
return _regenerator.default.wrap(function (
|
|
7368
|
-
while (1) switch (
|
|
7564
|
+
return _regenerator.default.wrap(function (_context27) {
|
|
7565
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
7369
7566
|
case 0:
|
|
7370
7567
|
this.addMediaData.retriedWithTurnServer = true;
|
|
7371
7568
|
LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
|
|
7372
|
-
|
|
7569
|
+
_context27.next = 1;
|
|
7373
7570
|
return this.cleanUpBeforeRetryWithTurnServer();
|
|
7374
7571
|
case 1:
|
|
7375
7572
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
|
|
@@ -7379,22 +7576,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7379
7576
|
reason: 'forcingTurnTls'
|
|
7380
7577
|
});
|
|
7381
7578
|
if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
|
|
7382
|
-
|
|
7579
|
+
_context27.next = 2;
|
|
7383
7580
|
break;
|
|
7384
7581
|
}
|
|
7385
7582
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
|
|
7386
|
-
|
|
7583
|
+
_context27.next = 2;
|
|
7387
7584
|
return this.join({
|
|
7388
7585
|
rejoin: true
|
|
7389
7586
|
});
|
|
7390
7587
|
case 2:
|
|
7391
|
-
|
|
7588
|
+
_context27.next = 3;
|
|
7392
7589
|
return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
7393
7590
|
case 3:
|
|
7394
7591
|
case "end":
|
|
7395
|
-
return
|
|
7592
|
+
return _context27.stop();
|
|
7396
7593
|
}
|
|
7397
|
-
},
|
|
7594
|
+
}, _callee27, this);
|
|
7398
7595
|
}));
|
|
7399
7596
|
function retryWithForcedTurnDiscovery(_x20, _x21) {
|
|
7400
7597
|
return _retryWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -7416,30 +7613,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7416
7613
|
}, {
|
|
7417
7614
|
key: "handleWaitForMediaConnectionConnectedError",
|
|
7418
7615
|
value: (function () {
|
|
7419
|
-
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7616
|
+
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee28(error, remoteMediaManagerConfig, bundlePolicy) {
|
|
7420
7617
|
var LOG_HEADER;
|
|
7421
|
-
return _regenerator.default.wrap(function (
|
|
7422
|
-
while (1) switch (
|
|
7618
|
+
return _regenerator.default.wrap(function (_context28) {
|
|
7619
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
7423
7620
|
case 0:
|
|
7424
7621
|
LOG_HEADER = 'Meeting:index#addMedia():handleWaitForMediaConnectionConnectedError -->'; // @ts-ignore - config coming from registerPlugin
|
|
7425
7622
|
if (this.turnServerUsed) {
|
|
7426
|
-
|
|
7623
|
+
_context28.next = 2;
|
|
7427
7624
|
break;
|
|
7428
7625
|
}
|
|
7429
7626
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " error waiting for media to connect on UDP, TCP, retrying using TURN-TLS, "), error);
|
|
7430
|
-
|
|
7627
|
+
_context28.next = 1;
|
|
7431
7628
|
return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
7432
7629
|
case 1:
|
|
7433
|
-
|
|
7630
|
+
_context28.next = 3;
|
|
7434
7631
|
break;
|
|
7435
7632
|
case 2:
|
|
7436
7633
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error waiting for media to connect using UDP, TCP and TURN-TLS"), error);
|
|
7437
7634
|
throw new _webexErrors.AddMediaFailed(error);
|
|
7438
7635
|
case 3:
|
|
7439
7636
|
case "end":
|
|
7440
|
-
return
|
|
7637
|
+
return _context28.stop();
|
|
7441
7638
|
}
|
|
7442
|
-
},
|
|
7639
|
+
}, _callee28, this);
|
|
7443
7640
|
}));
|
|
7444
7641
|
function handleWaitForMediaConnectionConnectedError(_x22, _x23, _x24) {
|
|
7445
7642
|
return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
|
|
@@ -7457,20 +7654,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7457
7654
|
}, {
|
|
7458
7655
|
key: "doTurnDiscovery",
|
|
7459
7656
|
value: (function () {
|
|
7460
|
-
var _doTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7657
|
+
var _doTurnDiscovery = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee29(isReconnecting, isForced) {
|
|
7461
7658
|
var cdl, turnDiscoveryResult;
|
|
7462
|
-
return _regenerator.default.wrap(function (
|
|
7463
|
-
while (1) switch (
|
|
7659
|
+
return _regenerator.default.wrap(function (_context29) {
|
|
7660
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
7464
7661
|
case 0:
|
|
7465
7662
|
// @ts-ignore
|
|
7466
7663
|
cdl = this.webex.internal.newMetrics.callDiagnosticLatencies; // @ts-ignore
|
|
7467
7664
|
this.webex.internal.newMetrics.submitInternalEvent({
|
|
7468
7665
|
name: 'internal.client.add-media.turn-discovery.start'
|
|
7469
7666
|
});
|
|
7470
|
-
|
|
7667
|
+
_context29.next = 1;
|
|
7471
7668
|
return this.roap.doTurnDiscovery(this, isReconnecting, isForced);
|
|
7472
7669
|
case 1:
|
|
7473
|
-
turnDiscoveryResult =
|
|
7670
|
+
turnDiscoveryResult = _context29.sent;
|
|
7474
7671
|
this.turnDiscoverySkippedReason = turnDiscoveryResult === null || turnDiscoveryResult === void 0 ? void 0 : turnDiscoveryResult.turnDiscoverySkippedReason;
|
|
7475
7672
|
this.turnServerUsed = !this.turnDiscoverySkippedReason;
|
|
7476
7673
|
|
|
@@ -7486,12 +7683,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7486
7683
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer
|
|
7487
7684
|
});
|
|
7488
7685
|
}
|
|
7489
|
-
return
|
|
7686
|
+
return _context29.abrupt("return", turnDiscoveryResult);
|
|
7490
7687
|
case 2:
|
|
7491
7688
|
case "end":
|
|
7492
|
-
return
|
|
7689
|
+
return _context29.stop();
|
|
7493
7690
|
}
|
|
7494
|
-
},
|
|
7691
|
+
}, _callee29, this);
|
|
7495
7692
|
}));
|
|
7496
7693
|
function doTurnDiscovery(_x25, _x26) {
|
|
7497
7694
|
return _doTurnDiscovery.apply(this, arguments);
|
|
@@ -7512,35 +7709,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7512
7709
|
}, {
|
|
7513
7710
|
key: "establishMediaConnection",
|
|
7514
7711
|
value: (function () {
|
|
7515
|
-
var _establishMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7712
|
+
var _establishMediaConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee30(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
|
|
7516
7713
|
var _this$locusMediaReque;
|
|
7517
|
-
var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc,
|
|
7518
|
-
return _regenerator.default.wrap(function (
|
|
7519
|
-
while (1) switch (
|
|
7714
|
+
var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc, _t30, _t31;
|
|
7715
|
+
return _regenerator.default.wrap(function (_context30) {
|
|
7716
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
7520
7717
|
case 0:
|
|
7521
7718
|
LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->';
|
|
7522
7719
|
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
7720
|
if (this.isMoveToInProgress && this.turnServerUsed) {
|
|
7524
7721
|
isForced = true;
|
|
7525
7722
|
}
|
|
7526
|
-
|
|
7723
|
+
_context30.prev = 1;
|
|
7527
7724
|
if (turnServerInfo) {
|
|
7528
|
-
|
|
7725
|
+
_context30.next = 3;
|
|
7529
7726
|
break;
|
|
7530
7727
|
}
|
|
7531
|
-
|
|
7728
|
+
_context30.next = 2;
|
|
7532
7729
|
return this.doTurnDiscovery(isReconnecting, isForced);
|
|
7533
7730
|
case 2:
|
|
7534
|
-
_yield$this$doTurnDis =
|
|
7731
|
+
_yield$this$doTurnDis = _context30.sent;
|
|
7535
7732
|
turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
|
|
7536
7733
|
case 3:
|
|
7537
|
-
|
|
7734
|
+
_context30.next = 4;
|
|
7538
7735
|
return this.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
7539
7736
|
case 4:
|
|
7540
|
-
mc =
|
|
7737
|
+
mc = _context30.sent;
|
|
7541
7738
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created this.isMultistream=").concat(this.isMultistream));
|
|
7542
7739
|
if (!this.isMultistream) {
|
|
7543
|
-
|
|
7740
|
+
_context30.next = 5;
|
|
7544
7741
|
break;
|
|
7545
7742
|
}
|
|
7546
7743
|
this.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(this.receiveSlotManager, this.mediaRequestManagers, remoteMediaManagerConfig);
|
|
@@ -7548,40 +7745,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7548
7745
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.InterpretationAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED);
|
|
7549
7746
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
|
|
7550
7747
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
|
|
7551
|
-
|
|
7748
|
+
_context30.next = 5;
|
|
7552
7749
|
return this.remoteMediaManager.start();
|
|
7553
7750
|
case 5:
|
|
7554
|
-
|
|
7751
|
+
_context30.next = 6;
|
|
7555
7752
|
return mc.initiateOffer();
|
|
7556
7753
|
case 6:
|
|
7557
|
-
|
|
7754
|
+
_context30.next = 7;
|
|
7558
7755
|
return this.waitForRemoteSDPAnswer();
|
|
7559
7756
|
case 7:
|
|
7560
7757
|
this.handleMediaLogging(this.mediaProperties);
|
|
7561
|
-
|
|
7758
|
+
_context30.next = 9;
|
|
7562
7759
|
break;
|
|
7563
7760
|
case 8:
|
|
7564
|
-
|
|
7565
|
-
|
|
7566
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "),
|
|
7567
|
-
throw
|
|
7761
|
+
_context30.prev = 8;
|
|
7762
|
+
_t30 = _context30["catch"](1);
|
|
7763
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _t30);
|
|
7764
|
+
throw _t30;
|
|
7568
7765
|
case 9:
|
|
7569
|
-
|
|
7570
|
-
|
|
7766
|
+
_context30.prev = 9;
|
|
7767
|
+
_context30.next = 10;
|
|
7571
7768
|
return this.waitForMediaConnectionConnected();
|
|
7572
7769
|
case 10:
|
|
7573
|
-
|
|
7770
|
+
_context30.next = 12;
|
|
7574
7771
|
break;
|
|
7575
7772
|
case 11:
|
|
7576
|
-
|
|
7577
|
-
|
|
7578
|
-
|
|
7579
|
-
return this.handleWaitForMediaConnectionConnectedError(
|
|
7773
|
+
_context30.prev = 11;
|
|
7774
|
+
_t31 = _context30["catch"](9);
|
|
7775
|
+
_context30.next = 12;
|
|
7776
|
+
return this.handleWaitForMediaConnectionConnectedError(_t31, remoteMediaManagerConfig, bundlePolicy);
|
|
7580
7777
|
case 12:
|
|
7581
7778
|
case "end":
|
|
7582
|
-
return
|
|
7779
|
+
return _context30.stop();
|
|
7583
7780
|
}
|
|
7584
|
-
},
|
|
7781
|
+
}, _callee30, this, [[1, 8], [9, 11]]);
|
|
7585
7782
|
}));
|
|
7586
7783
|
function establishMediaConnection(_x27, _x28, _x29, _x30) {
|
|
7587
7784
|
return _establishMediaConnection.apply(this, arguments);
|
|
@@ -7598,16 +7795,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7598
7795
|
}, {
|
|
7599
7796
|
key: "cleanUpOnAddMediaFailure",
|
|
7600
7797
|
value: (function () {
|
|
7601
|
-
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7798
|
+
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee31() {
|
|
7602
7799
|
var _this$networkQualityM, _this$statsMonitor;
|
|
7603
|
-
return _regenerator.default.wrap(function (
|
|
7604
|
-
while (1) switch (
|
|
7800
|
+
return _regenerator.default.wrap(function (_context31) {
|
|
7801
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
7605
7802
|
case 0:
|
|
7606
7803
|
if (!this.statsAnalyzer) {
|
|
7607
|
-
|
|
7804
|
+
_context31.next = 1;
|
|
7608
7805
|
break;
|
|
7609
7806
|
}
|
|
7610
|
-
|
|
7807
|
+
_context31.next = 1;
|
|
7611
7808
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7612
7809
|
case 1:
|
|
7613
7810
|
this.statsAnalyzer = null;
|
|
@@ -7618,7 +7815,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7618
7815
|
|
|
7619
7816
|
// when media fails, we want to upload a webrtc dump to see whats going on
|
|
7620
7817
|
// this function is async, but returns once the stats have been gathered
|
|
7621
|
-
|
|
7818
|
+
_context31.next = 2;
|
|
7622
7819
|
return this.forceSendStatsReport({
|
|
7623
7820
|
callFrom: 'addMedia'
|
|
7624
7821
|
});
|
|
@@ -7629,9 +7826,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7629
7826
|
}
|
|
7630
7827
|
case 3:
|
|
7631
7828
|
case "end":
|
|
7632
|
-
return
|
|
7829
|
+
return _context31.stop();
|
|
7633
7830
|
}
|
|
7634
|
-
},
|
|
7831
|
+
}, _callee31, this);
|
|
7635
7832
|
}));
|
|
7636
7833
|
function cleanUpOnAddMediaFailure() {
|
|
7637
7834
|
return _cleanUpOnAddMediaFailure.apply(this, arguments);
|
|
@@ -7649,16 +7846,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7649
7846
|
}, {
|
|
7650
7847
|
key: "downgradeFromMultistreamToTranscoded",
|
|
7651
7848
|
value: (function () {
|
|
7652
|
-
var _downgradeFromMultistreamToTranscoded = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7849
|
+
var _downgradeFromMultistreamToTranscoded = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee32() {
|
|
7653
7850
|
var _this$networkQualityM2, _this$statsMonitor2, _this$locusMediaReque2;
|
|
7654
|
-
return _regenerator.default.wrap(function (
|
|
7655
|
-
while (1) switch (
|
|
7851
|
+
return _regenerator.default.wrap(function (_context32) {
|
|
7852
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
7656
7853
|
case 0:
|
|
7657
7854
|
if (!this.statsAnalyzer) {
|
|
7658
|
-
|
|
7855
|
+
_context32.next = 1;
|
|
7659
7856
|
break;
|
|
7660
7857
|
}
|
|
7661
|
-
|
|
7858
|
+
_context32.next = 1;
|
|
7662
7859
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7663
7860
|
case 1:
|
|
7664
7861
|
this.statsAnalyzer = null;
|
|
@@ -7676,9 +7873,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7676
7873
|
this.createStatsAnalyzer();
|
|
7677
7874
|
case 2:
|
|
7678
7875
|
case "end":
|
|
7679
|
-
return
|
|
7876
|
+
return _context32.stop();
|
|
7680
7877
|
}
|
|
7681
|
-
},
|
|
7878
|
+
}, _callee32, this);
|
|
7682
7879
|
}));
|
|
7683
7880
|
function downgradeFromMultistreamToTranscoded() {
|
|
7684
7881
|
return _downgradeFromMultistreamToTranscoded.apply(this, arguments);
|
|
@@ -7696,11 +7893,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7696
7893
|
}, {
|
|
7697
7894
|
key: "cleanUpBeforeRetryWithTurnServer",
|
|
7698
7895
|
value: (function () {
|
|
7699
|
-
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
7700
|
-
return _regenerator.default.wrap(function (
|
|
7701
|
-
while (1) switch (
|
|
7896
|
+
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee33() {
|
|
7897
|
+
return _regenerator.default.wrap(function (_context33) {
|
|
7898
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
7702
7899
|
case 0:
|
|
7703
|
-
|
|
7900
|
+
_context33.next = 1;
|
|
7704
7901
|
return this.forceSendStatsReport({
|
|
7705
7902
|
callFrom: 'cleanUpBeforeRetryWithTurnServer'
|
|
7706
7903
|
});
|
|
@@ -7720,9 +7917,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7720
7917
|
}
|
|
7721
7918
|
case 2:
|
|
7722
7919
|
case "end":
|
|
7723
|
-
return
|
|
7920
|
+
return _context33.stop();
|
|
7724
7921
|
}
|
|
7725
|
-
},
|
|
7922
|
+
}, _callee33, this);
|
|
7726
7923
|
}));
|
|
7727
7924
|
function cleanUpBeforeRetryWithTurnServer() {
|
|
7728
7925
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
@@ -7732,35 +7929,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7732
7929
|
}, {
|
|
7733
7930
|
key: "cleanUpBeforeReconnection",
|
|
7734
7931
|
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 (
|
|
7932
|
+
var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee34() {
|
|
7933
|
+
var _t32;
|
|
7934
|
+
return _regenerator.default.wrap(function (_context34) {
|
|
7935
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7739
7936
|
case 0:
|
|
7740
|
-
|
|
7741
|
-
|
|
7937
|
+
_context34.prev = 0;
|
|
7938
|
+
_context34.next = 1;
|
|
7742
7939
|
return this.forceSendStatsReport({
|
|
7743
7940
|
callFrom: 'cleanUpBeforeReconnection'
|
|
7744
7941
|
});
|
|
7745
7942
|
case 1:
|
|
7746
7943
|
if (!this.statsAnalyzer) {
|
|
7747
|
-
|
|
7944
|
+
_context34.next = 2;
|
|
7748
7945
|
break;
|
|
7749
7946
|
}
|
|
7750
|
-
|
|
7947
|
+
_context34.next = 2;
|
|
7751
7948
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7752
7949
|
case 2:
|
|
7753
|
-
|
|
7950
|
+
_context34.next = 4;
|
|
7754
7951
|
break;
|
|
7755
7952
|
case 3:
|
|
7756
|
-
|
|
7757
|
-
|
|
7758
|
-
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ',
|
|
7953
|
+
_context34.prev = 3;
|
|
7954
|
+
_t32 = _context34["catch"](0);
|
|
7955
|
+
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _t32);
|
|
7759
7956
|
case 4:
|
|
7760
7957
|
case "end":
|
|
7761
|
-
return
|
|
7958
|
+
return _context34.stop();
|
|
7762
7959
|
}
|
|
7763
|
-
},
|
|
7960
|
+
}, _callee34, this, [[0, 3]]);
|
|
7764
7961
|
}));
|
|
7765
7962
|
function cleanUpBeforeReconnection() {
|
|
7766
7963
|
return _cleanUpBeforeReconnection.apply(this, arguments);
|
|
@@ -7828,7 +8025,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7828
8025
|
}, {
|
|
7829
8026
|
key: "addMediaInternal",
|
|
7830
8027
|
value: (function () {
|
|
7831
|
-
var _addMediaInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
8028
|
+
var _addMediaInternal = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee35(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
|
|
7832
8029
|
var options,
|
|
7833
8030
|
LOG_HEADER,
|
|
7834
8031
|
localStreams,
|
|
@@ -7845,6 +8042,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7845
8042
|
bundlePolicy,
|
|
7846
8043
|
_options$additionalMe,
|
|
7847
8044
|
additionalMediaOptions,
|
|
8045
|
+
_options$allowPublish,
|
|
8046
|
+
allowPublishMediaInLobby,
|
|
7848
8047
|
rawSendVideo,
|
|
7849
8048
|
rawReceiveVideo,
|
|
7850
8049
|
rawSendAudio,
|
|
@@ -7862,7 +8061,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7862
8061
|
numTransports,
|
|
7863
8062
|
iceCandidateErrors,
|
|
7864
8063
|
reachabilityMetrics,
|
|
7865
|
-
_this$mediaProperties13,
|
|
7866
8064
|
_this$mediaProperties14,
|
|
7867
8065
|
_this$mediaProperties15,
|
|
7868
8066
|
_this$mediaProperties16,
|
|
@@ -7883,36 +8081,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7883
8081
|
_this$mediaProperties31,
|
|
7884
8082
|
_this$mediaProperties32,
|
|
7885
8083
|
_this$mediaProperties33,
|
|
8084
|
+
_this$mediaProperties34,
|
|
7886
8085
|
_reachabilityMetrics,
|
|
7887
8086
|
_yield$this$mediaProp2,
|
|
7888
8087
|
_selectedCandidatePairChanges,
|
|
7889
8088
|
_numTransports,
|
|
7890
8089
|
_iceCandidateErrors,
|
|
7891
|
-
|
|
7892
|
-
|
|
7893
|
-
|
|
7894
|
-
return _regenerator.default.wrap(function (
|
|
7895
|
-
while (1) switch (
|
|
8090
|
+
_args35 = arguments,
|
|
8091
|
+
_t33,
|
|
8092
|
+
_t34;
|
|
8093
|
+
return _regenerator.default.wrap(function (_context35) {
|
|
8094
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
7896
8095
|
case 0:
|
|
7897
|
-
options =
|
|
8096
|
+
options = _args35.length > 3 && _args35[3] !== undefined ? _args35[3] : {};
|
|
7898
8097
|
this.addMediaData.retriedWithTurnServer = false;
|
|
7899
8098
|
this.addMediaData.icePhaseCallback = icePhaseCallback;
|
|
7900
8099
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
7901
8100
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
7902
8101
|
_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
8102
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
7904
|
-
|
|
8103
|
+
_context35.next = 1;
|
|
7905
8104
|
break;
|
|
7906
8105
|
}
|
|
7907
8106
|
throw new _webexErrors.MeetingNotActiveError();
|
|
7908
8107
|
case 1:
|
|
7909
8108
|
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
7910
|
-
|
|
8109
|
+
_context35.next = 2;
|
|
7911
8110
|
break;
|
|
7912
8111
|
}
|
|
7913
8112
|
throw new _webexErrors.UserNotJoinedError();
|
|
7914
8113
|
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;
|
|
8114
|
+
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
8115
|
rawSendVideo = additionalMediaOptions.sendVideo, rawReceiveVideo = additionalMediaOptions.receiveVideo, rawSendAudio = additionalMediaOptions.sendAudio, rawReceiveAudio = additionalMediaOptions.receiveAudio;
|
|
7917
8116
|
sendVideo = videoEnabled && (rawSendVideo !== null && rawSendVideo !== void 0 ? rawSendVideo : true);
|
|
7918
8117
|
receiveVideo = videoEnabled && (rawReceiveVideo !== null && rawReceiveVideo !== void 0 ? rawReceiveVideo : true);
|
|
@@ -7923,9 +8122,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7923
8122
|
// @ts-ignore
|
|
7924
8123
|
ipver = _util2.default.getIpVersion(this.webex); // used just for metrics
|
|
7925
8124
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
7926
|
-
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
7927
8125
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
7928
|
-
|
|
8126
|
+
_context35.next = 3;
|
|
7929
8127
|
break;
|
|
7930
8128
|
}
|
|
7931
8129
|
throw new _webexErrors.UserInLobbyError();
|
|
@@ -7969,58 +8167,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7969
8167
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
7970
8168
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
7971
8169
|
this.brbState = (0, _brbState.createBrbState)(this, false);
|
|
7972
|
-
|
|
7973
|
-
|
|
8170
|
+
_context35.prev = 4;
|
|
8171
|
+
if (!(allowPublishMediaInLobby || !this.isUserUnadmitted)) {
|
|
8172
|
+
_context35.next = 5;
|
|
8173
|
+
break;
|
|
8174
|
+
}
|
|
8175
|
+
_context35.next = 5;
|
|
7974
8176
|
return this.setUpLocalStreamReferences(localStreams);
|
|
7975
8177
|
case 5:
|
|
7976
8178
|
this.setMercuryListener();
|
|
7977
8179
|
this.createStatsAnalyzer();
|
|
7978
|
-
|
|
7979
|
-
|
|
8180
|
+
_context35.prev = 6;
|
|
8181
|
+
_context35.next = 7;
|
|
7980
8182
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7981
8183
|
case 7:
|
|
7982
|
-
|
|
8184
|
+
_context35.next = 12;
|
|
7983
8185
|
break;
|
|
7984
8186
|
case 8:
|
|
7985
|
-
|
|
7986
|
-
|
|
7987
|
-
if (!(
|
|
7988
|
-
|
|
8187
|
+
_context35.prev = 8;
|
|
8188
|
+
_t33 = _context35["catch"](6);
|
|
8189
|
+
if (!(_t33 instanceof _multistreamNotSupportedError.default)) {
|
|
8190
|
+
_context35.next = 11;
|
|
7989
8191
|
break;
|
|
7990
8192
|
}
|
|
7991
8193
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " we asked for multistream backend (Homer), but got transcoded backend, recreating media connection..."));
|
|
7992
|
-
|
|
8194
|
+
_context35.next = 9;
|
|
7993
8195
|
return this.downgradeFromMultistreamToTranscoded();
|
|
7994
8196
|
case 9:
|
|
7995
|
-
|
|
8197
|
+
_context35.next = 10;
|
|
7996
8198
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true, undefined);
|
|
7997
8199
|
case 10:
|
|
7998
|
-
|
|
8200
|
+
_context35.next = 12;
|
|
7999
8201
|
break;
|
|
8000
8202
|
case 11:
|
|
8001
|
-
throw
|
|
8203
|
+
throw _t33;
|
|
8002
8204
|
case 12:
|
|
8003
8205
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connected, finalizing..."));
|
|
8004
8206
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
8005
|
-
|
|
8207
|
+
_context35.next = 13;
|
|
8006
8208
|
break;
|
|
8007
8209
|
}
|
|
8008
|
-
|
|
8210
|
+
_context35.next = 13;
|
|
8009
8211
|
return this.enqueueScreenShareFloorRequest();
|
|
8010
8212
|
case 13:
|
|
8011
|
-
|
|
8213
|
+
_context35.next = 14;
|
|
8012
8214
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
8013
8215
|
case 14:
|
|
8014
|
-
_yield$this$mediaProp =
|
|
8216
|
+
_yield$this$mediaProp = _context35.sent;
|
|
8015
8217
|
connectionType = _yield$this$mediaProp.connectionType;
|
|
8016
8218
|
ipVersion = _yield$this$mediaProp.ipVersion;
|
|
8017
8219
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
8018
8220
|
numTransports = _yield$this$mediaProp.numTransports;
|
|
8019
8221
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
8020
|
-
|
|
8222
|
+
_context35.next = 15;
|
|
8021
8223
|
return this.getMediaReachabilityMetricFields();
|
|
8022
8224
|
case 15:
|
|
8023
|
-
reachabilityMetrics =
|
|
8225
|
+
reachabilityMetrics = _context35.sent;
|
|
8024
8226
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
8025
8227
|
correlation_id: this.correlationId,
|
|
8026
8228
|
locus_id: this.locusUrl.split('/').pop(),
|
|
@@ -8050,31 +8252,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8050
8252
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
8051
8253
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
8052
8254
|
this.startPeriodicLogUpload();
|
|
8053
|
-
|
|
8255
|
+
_context35.next = 20;
|
|
8054
8256
|
break;
|
|
8055
8257
|
case 16:
|
|
8056
|
-
|
|
8057
|
-
|
|
8058
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
8258
|
+
_context35.prev = 16;
|
|
8259
|
+
_t34 = _context35["catch"](4);
|
|
8260
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _t34);
|
|
8059
8261
|
|
|
8060
8262
|
// @ts-ignore
|
|
8061
|
-
|
|
8263
|
+
_context35.next = 17;
|
|
8062
8264
|
return this.getMediaReachabilityMetricFields();
|
|
8063
8265
|
case 17:
|
|
8064
|
-
_reachabilityMetrics =
|
|
8065
|
-
|
|
8266
|
+
_reachabilityMetrics = _context35.sent;
|
|
8267
|
+
_context35.next = 18;
|
|
8066
8268
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
8067
8269
|
case 18:
|
|
8068
|
-
_yield$this$mediaProp2 =
|
|
8270
|
+
_yield$this$mediaProp2 = _context35.sent;
|
|
8069
8271
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
8070
8272
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
8071
8273
|
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
8072
8274
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
8073
8275
|
correlation_id: this.correlationId,
|
|
8074
8276
|
locus_id: this.locusUrl.split('/').pop(),
|
|
8075
|
-
reason:
|
|
8076
|
-
stack:
|
|
8077
|
-
code:
|
|
8277
|
+
reason: _t34.message,
|
|
8278
|
+
stack: _t34.stack,
|
|
8279
|
+
code: _t34.code,
|
|
8078
8280
|
selectedCandidatePairChanges: _selectedCandidatePairChanges,
|
|
8079
8281
|
numTransports: _numTransports,
|
|
8080
8282
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
@@ -8082,14 +8284,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8082
8284
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer,
|
|
8083
8285
|
isMultistream: this.isMultistream,
|
|
8084
8286
|
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry,
|
|
8085
|
-
signalingState: ((_this$
|
|
8086
|
-
connectionState: ((_this$
|
|
8087
|
-
iceConnectionState: ((_this$
|
|
8287
|
+
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',
|
|
8288
|
+
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',
|
|
8289
|
+
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
8290
|
}, _reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
8089
8291
|
iceCandidatesCount: this.iceCandidatesCount,
|
|
8090
8292
|
ipver: ipver
|
|
8091
8293
|
}));
|
|
8092
|
-
|
|
8294
|
+
_context35.next = 19;
|
|
8093
8295
|
return this.cleanUpOnAddMediaFailure();
|
|
8094
8296
|
case 19:
|
|
8095
8297
|
// Upload logs on error while adding media
|
|
@@ -8097,21 +8299,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8097
8299
|
file: 'meeting/index',
|
|
8098
8300
|
function: 'addMedia'
|
|
8099
8301
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
8100
|
-
if (
|
|
8302
|
+
if (_t34 instanceof _internalMediaCore.Errors.SdpError) {
|
|
8101
8303
|
this.leave({
|
|
8102
8304
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
8103
8305
|
});
|
|
8104
8306
|
}
|
|
8105
|
-
throw
|
|
8307
|
+
throw _t34;
|
|
8106
8308
|
case 20:
|
|
8107
|
-
|
|
8309
|
+
_context35.prev = 20;
|
|
8108
8310
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
8109
|
-
return
|
|
8311
|
+
return _context35.finish(20);
|
|
8110
8312
|
case 21:
|
|
8111
8313
|
case "end":
|
|
8112
|
-
return
|
|
8314
|
+
return _context35.stop();
|
|
8113
8315
|
}
|
|
8114
|
-
},
|
|
8316
|
+
}, _callee35, this, [[4, 16, 20, 21], [6, 8]]);
|
|
8115
8317
|
}));
|
|
8116
8318
|
function addMediaInternal(_x31, _x32, _x33) {
|
|
8117
8319
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -8179,35 +8381,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8179
8381
|
* @memberof Meeting
|
|
8180
8382
|
*/
|
|
8181
8383
|
function () {
|
|
8182
|
-
var _updateMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
8384
|
+
var _updateMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee36(options) {
|
|
8183
8385
|
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
|
|
8184
|
-
return _regenerator.default.wrap(function (
|
|
8185
|
-
while (1) switch (
|
|
8386
|
+
return _regenerator.default.wrap(function (_context36) {
|
|
8387
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
8186
8388
|
case 0:
|
|
8187
8389
|
this.checkMediaConnection();
|
|
8188
8390
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
8189
8391
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
8190
8392
|
if (this.canUpdateMedia()) {
|
|
8191
|
-
|
|
8393
|
+
_context36.next = 1;
|
|
8192
8394
|
break;
|
|
8193
8395
|
}
|
|
8194
|
-
return
|
|
8396
|
+
return _context36.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
8195
8397
|
case 1:
|
|
8196
8398
|
if (!this.isMultistream) {
|
|
8197
|
-
|
|
8399
|
+
_context36.next = 3;
|
|
8198
8400
|
break;
|
|
8199
8401
|
}
|
|
8200
8402
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
8201
|
-
|
|
8403
|
+
_context36.next = 2;
|
|
8202
8404
|
break;
|
|
8203
8405
|
}
|
|
8204
8406
|
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
8407
|
case 2:
|
|
8206
|
-
|
|
8408
|
+
_context36.next = 4;
|
|
8207
8409
|
break;
|
|
8208
8410
|
case 3:
|
|
8209
8411
|
if (!(shareAudioEnabled !== undefined)) {
|
|
8210
|
-
|
|
8412
|
+
_context36.next = 4;
|
|
8211
8413
|
break;
|
|
8212
8414
|
}
|
|
8213
8415
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -8232,18 +8434,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8232
8434
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
8233
8435
|
}
|
|
8234
8436
|
if (this.isMultistream) {
|
|
8235
|
-
|
|
8437
|
+
_context36.next = 5;
|
|
8236
8438
|
break;
|
|
8237
8439
|
}
|
|
8238
|
-
|
|
8440
|
+
_context36.next = 5;
|
|
8239
8441
|
return this.updateTranscodedMediaConnection();
|
|
8240
8442
|
case 5:
|
|
8241
|
-
return
|
|
8443
|
+
return _context36.abrupt("return", undefined);
|
|
8242
8444
|
case 6:
|
|
8243
8445
|
case "end":
|
|
8244
|
-
return
|
|
8446
|
+
return _context36.stop();
|
|
8245
8447
|
}
|
|
8246
|
-
},
|
|
8448
|
+
}, _callee36, this);
|
|
8247
8449
|
}));
|
|
8248
8450
|
function updateMedia(_x34) {
|
|
8249
8451
|
return _updateMedia.apply(this, arguments);
|
|
@@ -8385,32 +8587,46 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8385
8587
|
);
|
|
8386
8588
|
};
|
|
8387
8589
|
_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
|
-
|
|
8590
|
+
return _util2.default.leaveMeeting(this, options).then(/*#__PURE__*/function () {
|
|
8591
|
+
var _ref42 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee37(leave) {
|
|
8592
|
+
return _regenerator.default.wrap(function (_context37) {
|
|
8593
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
8594
|
+
case 0:
|
|
8595
|
+
// CA team recommends submitting this *after* locus /leave
|
|
8596
|
+
submitLeaveMetric();
|
|
8597
|
+
_this49.meetingFiniteStateMachine.leave();
|
|
8598
|
+
_context37.next = 1;
|
|
8599
|
+
return _this49.clearMeetingData();
|
|
8600
|
+
case 1:
|
|
8601
|
+
// upload logs on leave irrespective of meeting delete
|
|
8602
|
+
_triggerProxy.default.trigger(_this49, {
|
|
8603
|
+
file: 'meeting/index',
|
|
8604
|
+
function: 'leave'
|
|
8605
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
|
|
8399
8606
|
|
|
8400
|
-
|
|
8401
|
-
|
|
8402
|
-
|
|
8403
|
-
|
|
8404
|
-
|
|
8405
|
-
|
|
8406
|
-
|
|
8407
|
-
|
|
8408
|
-
|
|
8409
|
-
|
|
8410
|
-
|
|
8411
|
-
|
|
8412
|
-
|
|
8413
|
-
|
|
8607
|
+
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
8608
|
+
if (_this49.wirelessShare || _this49.guest) {
|
|
8609
|
+
// If screen sharing clean the meeting object
|
|
8610
|
+
_triggerProxy.default.trigger(_this49, {
|
|
8611
|
+
file: 'meeting/index',
|
|
8612
|
+
function: 'leave'
|
|
8613
|
+
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
8614
|
+
reason: options.reason,
|
|
8615
|
+
meetingId: _this49.id
|
|
8616
|
+
});
|
|
8617
|
+
}
|
|
8618
|
+
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
8619
|
+
return _context37.abrupt("return", leave);
|
|
8620
|
+
case 2:
|
|
8621
|
+
case "end":
|
|
8622
|
+
return _context37.stop();
|
|
8623
|
+
}
|
|
8624
|
+
}, _callee37);
|
|
8625
|
+
}));
|
|
8626
|
+
return function (_x35) {
|
|
8627
|
+
return _ref42.apply(this, arguments);
|
|
8628
|
+
};
|
|
8629
|
+
}()).catch(function (error) {
|
|
8414
8630
|
// CA team recommends submitting this *after* locus /leave
|
|
8415
8631
|
submitLeaveMetric({
|
|
8416
8632
|
errors: [{
|
|
@@ -8889,10 +9105,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8889
9105
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
8890
9106
|
var main = renderInfo.main,
|
|
8891
9107
|
content = renderInfo.content;
|
|
8892
|
-
var _this$
|
|
8893
|
-
mediaDirection = _this$
|
|
8894
|
-
remoteShareStream = _this$
|
|
8895
|
-
remoteVideoStream = _this$
|
|
9108
|
+
var _this$mediaProperties35 = this.mediaProperties,
|
|
9109
|
+
mediaDirection = _this$mediaProperties35.mediaDirection,
|
|
9110
|
+
remoteShareStream = _this$mediaProperties35.remoteShareStream,
|
|
9111
|
+
remoteVideoStream = _this$mediaProperties35.remoteVideoStream;
|
|
8896
9112
|
var layoutInfo = (0, _lodash.cloneDeep)(this.lastVideoLayoutInfo);
|
|
8897
9113
|
|
|
8898
9114
|
// TODO: We need a real time value for Audio, Video and Share send indicator
|
|
@@ -9072,16 +9288,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9072
9288
|
correlation_id: this.correlationId,
|
|
9073
9289
|
locus_id: this.locusId
|
|
9074
9290
|
});
|
|
9075
|
-
return _util2.default.endMeetingForAll(this).then(function (
|
|
9076
|
-
|
|
9077
|
-
|
|
9078
|
-
|
|
9079
|
-
|
|
9080
|
-
|
|
9081
|
-
|
|
9082
|
-
|
|
9083
|
-
|
|
9084
|
-
|
|
9291
|
+
return _util2.default.endMeetingForAll(this).then(/*#__PURE__*/function () {
|
|
9292
|
+
var _ref43 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee38(end) {
|
|
9293
|
+
return _regenerator.default.wrap(function (_context38) {
|
|
9294
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
9295
|
+
case 0:
|
|
9296
|
+
_this56.meetingFiniteStateMachine.end();
|
|
9297
|
+
_context38.next = 1;
|
|
9298
|
+
return _this56.clearMeetingData();
|
|
9299
|
+
case 1:
|
|
9300
|
+
// upload logs on leave irrespective of meeting delete
|
|
9301
|
+
_triggerProxy.default.trigger(_this56, {
|
|
9302
|
+
file: 'meeting/index',
|
|
9303
|
+
function: 'endMeetingForAll'
|
|
9304
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this56);
|
|
9305
|
+
return _context38.abrupt("return", end);
|
|
9306
|
+
case 2:
|
|
9307
|
+
case "end":
|
|
9308
|
+
return _context38.stop();
|
|
9309
|
+
}
|
|
9310
|
+
}, _callee38);
|
|
9311
|
+
}));
|
|
9312
|
+
return function (_x36) {
|
|
9313
|
+
return _ref43.apply(this, arguments);
|
|
9314
|
+
};
|
|
9315
|
+
}()).catch(function (error) {
|
|
9085
9316
|
_this56.meetingFiniteStateMachine.fail(error);
|
|
9086
9317
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
9087
9318
|
// upload logs on leave irrespective of meeting delete
|
|
@@ -9143,12 +9374,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9143
9374
|
*/
|
|
9144
9375
|
}, {
|
|
9145
9376
|
key: "extendMeeting",
|
|
9146
|
-
value: function extendMeeting(
|
|
9147
|
-
var meetingPolicyUrl =
|
|
9148
|
-
meetingInstanceId =
|
|
9149
|
-
participantId =
|
|
9150
|
-
|
|
9151
|
-
extensionMinutes =
|
|
9377
|
+
value: function extendMeeting(_ref44) {
|
|
9378
|
+
var meetingPolicyUrl = _ref44.meetingPolicyUrl,
|
|
9379
|
+
meetingInstanceId = _ref44.meetingInstanceId,
|
|
9380
|
+
participantId = _ref44.participantId,
|
|
9381
|
+
_ref44$extensionMinut = _ref44.extensionMinutes,
|
|
9382
|
+
extensionMinutes = _ref44$extensionMinut === void 0 ? 30 : _ref44$extensionMinut;
|
|
9152
9383
|
if (!meetingInstanceId || !participantId) {
|
|
9153
9384
|
return _promise.default.reject(new Error('Missing meetingInstanceId or participantId'));
|
|
9154
9385
|
}
|
|
@@ -9213,8 +9444,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9213
9444
|
}, {
|
|
9214
9445
|
key: "checkMediaConnection",
|
|
9215
9446
|
value: function checkMediaConnection() {
|
|
9216
|
-
var _this$
|
|
9217
|
-
if ((_this$
|
|
9447
|
+
var _this$mediaProperties36;
|
|
9448
|
+
if ((_this$mediaProperties36 = this.mediaProperties) !== null && _this$mediaProperties36 !== void 0 && _this$mediaProperties36.webrtcMediaConnection) {
|
|
9218
9449
|
return;
|
|
9219
9450
|
}
|
|
9220
9451
|
throw new _webexErrors.NoMediaEstablishedYetError();
|
|
@@ -9229,39 +9460,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9229
9460
|
}, {
|
|
9230
9461
|
key: "enableMusicMode",
|
|
9231
9462
|
value: (function () {
|
|
9232
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9233
|
-
return _regenerator.default.wrap(function (
|
|
9234
|
-
while (1) switch (
|
|
9463
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee39(shouldEnableMusicMode) {
|
|
9464
|
+
return _regenerator.default.wrap(function (_context39) {
|
|
9465
|
+
while (1) switch (_context39.prev = _context39.next) {
|
|
9235
9466
|
case 0:
|
|
9236
9467
|
this.checkMediaConnection();
|
|
9237
9468
|
if (this.isMultistream) {
|
|
9238
|
-
|
|
9469
|
+
_context39.next = 1;
|
|
9239
9470
|
break;
|
|
9240
9471
|
}
|
|
9241
9472
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
9242
9473
|
case 1:
|
|
9243
9474
|
if (!shouldEnableMusicMode) {
|
|
9244
|
-
|
|
9475
|
+
_context39.next = 3;
|
|
9245
9476
|
break;
|
|
9246
9477
|
}
|
|
9247
|
-
|
|
9478
|
+
_context39.next = 2;
|
|
9248
9479
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
9249
9480
|
maxaveragebitrate: '64000',
|
|
9250
9481
|
maxplaybackrate: '48000'
|
|
9251
9482
|
});
|
|
9252
9483
|
case 2:
|
|
9253
|
-
|
|
9484
|
+
_context39.next = 4;
|
|
9254
9485
|
break;
|
|
9255
9486
|
case 3:
|
|
9256
|
-
|
|
9487
|
+
_context39.next = 4;
|
|
9257
9488
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
9258
9489
|
case 4:
|
|
9259
9490
|
case "end":
|
|
9260
|
-
return
|
|
9491
|
+
return _context39.stop();
|
|
9261
9492
|
}
|
|
9262
|
-
},
|
|
9493
|
+
}, _callee39, this);
|
|
9263
9494
|
}));
|
|
9264
|
-
function enableMusicMode(
|
|
9495
|
+
function enableMusicMode(_x37) {
|
|
9265
9496
|
return _enableMusicMode.apply(this, arguments);
|
|
9266
9497
|
}
|
|
9267
9498
|
return enableMusicMode;
|
|
@@ -9274,14 +9505,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9274
9505
|
}, {
|
|
9275
9506
|
key: "updateTranscodedMediaConnection",
|
|
9276
9507
|
value: function updateTranscodedMediaConnection() {
|
|
9277
|
-
var _this$
|
|
9278
|
-
_this$mediaProperties37,
|
|
9508
|
+
var _this$mediaProperties37,
|
|
9279
9509
|
_this$mediaProperties38,
|
|
9280
9510
|
_this$mediaProperties39,
|
|
9281
9511
|
_this$mediaProperties40,
|
|
9282
9512
|
_this$mediaProperties41,
|
|
9283
9513
|
_this$mediaProperties42,
|
|
9284
9514
|
_this$mediaProperties43,
|
|
9515
|
+
_this$mediaProperties44,
|
|
9285
9516
|
_this57 = this;
|
|
9286
9517
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
9287
9518
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
@@ -9291,10 +9522,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9291
9522
|
return this.mediaProperties.webrtcMediaConnection.update({
|
|
9292
9523
|
// TODO: RoapMediaConnection is not ready to use stream classes yet, so we pass the raw MediaStreamTrack for now
|
|
9293
9524
|
localTracks: {
|
|
9294
|
-
audio: ((_this$
|
|
9295
|
-
video: ((_this$
|
|
9296
|
-
screenShareVideo: ((_this$
|
|
9297
|
-
screenShareAudio: ((_this$
|
|
9525
|
+
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,
|
|
9526
|
+
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,
|
|
9527
|
+
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,
|
|
9528
|
+
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
9529
|
},
|
|
9299
9530
|
direction: {
|
|
9300
9531
|
audio: _media.default.getDirection(true, this.mediaProperties.mediaDirection.receiveAudio, this.mediaProperties.mediaDirection.sendAudio),
|
|
@@ -9352,25 +9583,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9352
9583
|
}, {
|
|
9353
9584
|
key: "publishStream",
|
|
9354
9585
|
value: (function () {
|
|
9355
|
-
var _publishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9356
|
-
return _regenerator.default.wrap(function (
|
|
9357
|
-
while (1) switch (
|
|
9586
|
+
var _publishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee40(mediaType, stream) {
|
|
9587
|
+
return _regenerator.default.wrap(function (_context40) {
|
|
9588
|
+
while (1) switch (_context40.prev = _context40.next) {
|
|
9358
9589
|
case 0:
|
|
9359
9590
|
if (stream) {
|
|
9360
|
-
|
|
9591
|
+
_context40.next = 1;
|
|
9361
9592
|
break;
|
|
9362
9593
|
}
|
|
9363
|
-
return
|
|
9594
|
+
return _context40.abrupt("return");
|
|
9364
9595
|
case 1:
|
|
9365
9596
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
9366
|
-
|
|
9597
|
+
_context40.next = 3;
|
|
9367
9598
|
break;
|
|
9368
9599
|
}
|
|
9369
9600
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
9370
|
-
|
|
9601
|
+
_context40.next = 2;
|
|
9371
9602
|
break;
|
|
9372
9603
|
}
|
|
9373
|
-
|
|
9604
|
+
_context40.next = 2;
|
|
9374
9605
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
9375
9606
|
case 2:
|
|
9376
9607
|
this.emitPublishStateChangeEvent({
|
|
@@ -9381,11 +9612,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9381
9612
|
});
|
|
9382
9613
|
case 3:
|
|
9383
9614
|
case "end":
|
|
9384
|
-
return
|
|
9615
|
+
return _context40.stop();
|
|
9385
9616
|
}
|
|
9386
|
-
},
|
|
9617
|
+
}, _callee40, this);
|
|
9387
9618
|
}));
|
|
9388
|
-
function publishStream(
|
|
9619
|
+
function publishStream(_x38, _x39) {
|
|
9389
9620
|
return _publishStream.apply(this, arguments);
|
|
9390
9621
|
}
|
|
9391
9622
|
return publishStream;
|
|
@@ -9401,21 +9632,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9401
9632
|
}, {
|
|
9402
9633
|
key: "unpublishStream",
|
|
9403
9634
|
value: (function () {
|
|
9404
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9405
|
-
return _regenerator.default.wrap(function (
|
|
9406
|
-
while (1) switch (
|
|
9635
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee41(mediaType, stream) {
|
|
9636
|
+
return _regenerator.default.wrap(function (_context41) {
|
|
9637
|
+
while (1) switch (_context41.prev = _context41.next) {
|
|
9407
9638
|
case 0:
|
|
9408
9639
|
if (stream) {
|
|
9409
|
-
|
|
9640
|
+
_context41.next = 1;
|
|
9410
9641
|
break;
|
|
9411
9642
|
}
|
|
9412
|
-
return
|
|
9643
|
+
return _context41.abrupt("return");
|
|
9413
9644
|
case 1:
|
|
9414
9645
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
9415
|
-
|
|
9646
|
+
_context41.next = 2;
|
|
9416
9647
|
break;
|
|
9417
9648
|
}
|
|
9418
|
-
|
|
9649
|
+
_context41.next = 2;
|
|
9419
9650
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
9420
9651
|
case 2:
|
|
9421
9652
|
this.emitPublishStateChangeEvent({
|
|
@@ -9426,11 +9657,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9426
9657
|
});
|
|
9427
9658
|
case 3:
|
|
9428
9659
|
case "end":
|
|
9429
|
-
return
|
|
9660
|
+
return _context41.stop();
|
|
9430
9661
|
}
|
|
9431
|
-
},
|
|
9662
|
+
}, _callee41, this);
|
|
9432
9663
|
}));
|
|
9433
|
-
function unpublishStream(
|
|
9664
|
+
function unpublishStream(_x40, _x41) {
|
|
9434
9665
|
return _unpublishStream.apply(this, arguments);
|
|
9435
9666
|
}
|
|
9436
9667
|
return unpublishStream;
|
|
@@ -9445,19 +9676,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9445
9676
|
}, {
|
|
9446
9677
|
key: "publishStreams",
|
|
9447
9678
|
value: (function () {
|
|
9448
|
-
var _publishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9679
|
+
var _publishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee42(streams) {
|
|
9449
9680
|
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
|
|
9450
9681
|
var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
|
|
9451
|
-
return _regenerator.default.wrap(function (
|
|
9452
|
-
while (1) switch (
|
|
9682
|
+
return _regenerator.default.wrap(function (_context42) {
|
|
9683
|
+
while (1) switch (_context42.prev = _context42.next) {
|
|
9453
9684
|
case 0:
|
|
9454
9685
|
_loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
9455
9686
|
this.checkMediaConnection();
|
|
9456
9687
|
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
|
-
|
|
9688
|
+
_context42.next = 1;
|
|
9458
9689
|
break;
|
|
9459
9690
|
}
|
|
9460
|
-
return
|
|
9691
|
+
return _context42.abrupt("return");
|
|
9461
9692
|
case 1:
|
|
9462
9693
|
streamChecks = [{
|
|
9463
9694
|
stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
|
|
@@ -9475,62 +9706,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9475
9706
|
_i = 0, _streamChecks = streamChecks;
|
|
9476
9707
|
case 2:
|
|
9477
9708
|
if (!(_i < _streamChecks.length)) {
|
|
9478
|
-
|
|
9709
|
+
_context42.next = 4;
|
|
9479
9710
|
break;
|
|
9480
9711
|
}
|
|
9481
9712
|
_streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
|
|
9482
9713
|
if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
|
|
9483
|
-
|
|
9714
|
+
_context42.next = 3;
|
|
9484
9715
|
break;
|
|
9485
9716
|
}
|
|
9486
9717
|
throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
|
|
9487
9718
|
case 3:
|
|
9488
9719
|
_i++;
|
|
9489
|
-
|
|
9720
|
+
_context42.next = 2;
|
|
9490
9721
|
break;
|
|
9491
9722
|
case 4:
|
|
9492
9723
|
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
9724
|
if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
|
|
9494
|
-
|
|
9725
|
+
_context42.next = 6;
|
|
9495
9726
|
break;
|
|
9496
9727
|
}
|
|
9497
|
-
|
|
9728
|
+
_context42.next = 5;
|
|
9498
9729
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
9499
9730
|
case 5:
|
|
9500
9731
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
9501
9732
|
case 6:
|
|
9502
9733
|
if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
|
|
9503
|
-
|
|
9734
|
+
_context42.next = 8;
|
|
9504
9735
|
break;
|
|
9505
9736
|
}
|
|
9506
|
-
|
|
9737
|
+
_context42.next = 7;
|
|
9507
9738
|
return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
|
|
9508
9739
|
case 7:
|
|
9509
9740
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
9510
9741
|
case 8:
|
|
9511
9742
|
if (!streams.microphone) {
|
|
9512
|
-
|
|
9743
|
+
_context42.next = 9;
|
|
9513
9744
|
break;
|
|
9514
9745
|
}
|
|
9515
|
-
|
|
9746
|
+
_context42.next = 9;
|
|
9516
9747
|
return this.setLocalAudioStream(streams.microphone);
|
|
9517
9748
|
case 9:
|
|
9518
9749
|
if (!streams.camera) {
|
|
9519
|
-
|
|
9750
|
+
_context42.next = 10;
|
|
9520
9751
|
break;
|
|
9521
9752
|
}
|
|
9522
|
-
|
|
9753
|
+
_context42.next = 10;
|
|
9523
9754
|
return this.setLocalVideoStream(streams.camera);
|
|
9524
9755
|
case 10:
|
|
9525
9756
|
if (this.isMultistream) {
|
|
9526
|
-
|
|
9757
|
+
_context42.next = 11;
|
|
9527
9758
|
break;
|
|
9528
9759
|
}
|
|
9529
|
-
|
|
9760
|
+
_context42.next = 11;
|
|
9530
9761
|
return this.updateTranscodedMediaConnection();
|
|
9531
9762
|
case 11:
|
|
9532
9763
|
if (!floorRequestNeeded) {
|
|
9533
|
-
|
|
9764
|
+
_context42.next = 12;
|
|
9534
9765
|
break;
|
|
9535
9766
|
}
|
|
9536
9767
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -9561,15 +9792,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9561
9792
|
// we're sending the http request to Locus to request the screen share floor
|
|
9562
9793
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
9563
9794
|
// and also if sharing from the start, we need confluence to have been created
|
|
9564
|
-
|
|
9795
|
+
_context42.next = 12;
|
|
9565
9796
|
return this.enqueueScreenShareFloorRequest();
|
|
9566
9797
|
case 12:
|
|
9567
9798
|
case "end":
|
|
9568
|
-
return
|
|
9799
|
+
return _context42.stop();
|
|
9569
9800
|
}
|
|
9570
|
-
},
|
|
9801
|
+
}, _callee42, this);
|
|
9571
9802
|
}));
|
|
9572
|
-
function publishStreams(
|
|
9803
|
+
function publishStreams(_x42) {
|
|
9573
9804
|
return _publishStreams.apply(this, arguments);
|
|
9574
9805
|
}
|
|
9575
9806
|
return publishStreams;
|
|
@@ -9584,10 +9815,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9584
9815
|
}, {
|
|
9585
9816
|
key: "unpublishStreams",
|
|
9586
9817
|
value: (function () {
|
|
9587
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9818
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee43(streams) {
|
|
9588
9819
|
var promises, _iterator, _step, stream;
|
|
9589
|
-
return _regenerator.default.wrap(function (
|
|
9590
|
-
while (1) switch (
|
|
9820
|
+
return _regenerator.default.wrap(function (_context43) {
|
|
9821
|
+
while (1) switch (_context43.prev = _context43.next) {
|
|
9591
9822
|
case 0:
|
|
9592
9823
|
_loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
9593
9824
|
this.checkMediaConnection();
|
|
@@ -9619,7 +9850,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9619
9850
|
if (!this.isMultistream) {
|
|
9620
9851
|
promises.push(this.updateTranscodedMediaConnection());
|
|
9621
9852
|
}
|
|
9622
|
-
|
|
9853
|
+
_context43.next = 1;
|
|
9623
9854
|
return _promise.default.all(promises);
|
|
9624
9855
|
case 1:
|
|
9625
9856
|
// we're allowing for the SDK to support just audio share as well
|
|
@@ -9640,11 +9871,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9640
9871
|
}
|
|
9641
9872
|
case 2:
|
|
9642
9873
|
case "end":
|
|
9643
|
-
return
|
|
9874
|
+
return _context43.stop();
|
|
9644
9875
|
}
|
|
9645
|
-
},
|
|
9876
|
+
}, _callee43, this);
|
|
9646
9877
|
}));
|
|
9647
|
-
function unpublishStreams(
|
|
9878
|
+
function unpublishStreams(_x43) {
|
|
9648
9879
|
return _unpublishStreams.apply(this, arguments);
|
|
9649
9880
|
}
|
|
9650
9881
|
return unpublishStreams;
|
|
@@ -9710,16 +9941,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9710
9941
|
}, {
|
|
9711
9942
|
key: "getMediaReachabilityMetricFields",
|
|
9712
9943
|
value: (function () {
|
|
9713
|
-
var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
9944
|
+
var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee44() {
|
|
9714
9945
|
var _this$mediaServerIp, _this$mediaConnection, _this$mediaConnection2, _this$mediaConnection3;
|
|
9715
9946
|
var reachabilityMetrics, successKeys, totalSuccessCases, selectedSubnetFirstOctet, isSubnetReachable, selectedCluster;
|
|
9716
|
-
return _regenerator.default.wrap(function (
|
|
9717
|
-
while (1) switch (
|
|
9947
|
+
return _regenerator.default.wrap(function (_context44) {
|
|
9948
|
+
while (1) switch (_context44.prev = _context44.next) {
|
|
9718
9949
|
case 0:
|
|
9719
|
-
|
|
9950
|
+
_context44.next = 1;
|
|
9720
9951
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
9721
9952
|
case 1:
|
|
9722
|
-
reachabilityMetrics =
|
|
9953
|
+
reachabilityMetrics = _context44.sent;
|
|
9723
9954
|
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
9955
|
totalSuccessCases = successKeys.reduce(function (total, key) {
|
|
9725
9956
|
var value = reachabilityMetrics[key];
|
|
@@ -9736,16 +9967,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9736
9967
|
this.webex.meetings.reachability.isSubnetReachable(selectedSubnetFirstOctet);
|
|
9737
9968
|
}
|
|
9738
9969
|
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
|
|
9970
|
+
return _context44.abrupt("return", _objectSpread(_objectSpread({}, reachabilityMetrics), {}, {
|
|
9740
9971
|
subnet_reachable: isSubnetReachable,
|
|
9741
9972
|
selected_cluster: selectedCluster,
|
|
9742
9973
|
selected_subnet: selectedSubnetFirstOctet ? "".concat(selectedSubnetFirstOctet, ".X.X.X") : null
|
|
9743
9974
|
}));
|
|
9744
9975
|
case 2:
|
|
9745
9976
|
case "end":
|
|
9746
|
-
return
|
|
9977
|
+
return _context44.stop();
|
|
9747
9978
|
}
|
|
9748
|
-
},
|
|
9979
|
+
}, _callee44, this);
|
|
9749
9980
|
}));
|
|
9750
9981
|
function getMediaReachabilityMetricFields() {
|
|
9751
9982
|
return _getMediaReachabilityMetricFields.apply(this, arguments);
|
|
@@ -9762,17 +9993,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9762
9993
|
}, {
|
|
9763
9994
|
key: "setStage",
|
|
9764
9995
|
value: function setStage() {
|
|
9765
|
-
var
|
|
9766
|
-
|
|
9767
|
-
activeSpeakerProportion =
|
|
9768
|
-
customBackground =
|
|
9769
|
-
customLogo =
|
|
9770
|
-
customNameLabel =
|
|
9771
|
-
importantParticipants =
|
|
9772
|
-
|
|
9773
|
-
lockAttendeeViewOnStage =
|
|
9774
|
-
|
|
9775
|
-
showActiveSpeaker =
|
|
9996
|
+
var _ref45 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
9997
|
+
_ref45$activeSpeakerP = _ref45.activeSpeakerProportion,
|
|
9998
|
+
activeSpeakerProportion = _ref45$activeSpeakerP === void 0 ? 0.5 : _ref45$activeSpeakerP,
|
|
9999
|
+
customBackground = _ref45.customBackground,
|
|
10000
|
+
customLogo = _ref45.customLogo,
|
|
10001
|
+
customNameLabel = _ref45.customNameLabel,
|
|
10002
|
+
importantParticipants = _ref45.importantParticipants,
|
|
10003
|
+
_ref45$lockAttendeeVi = _ref45.lockAttendeeViewOnStage,
|
|
10004
|
+
lockAttendeeViewOnStage = _ref45$lockAttendeeVi === void 0 ? false : _ref45$lockAttendeeVi,
|
|
10005
|
+
_ref45$showActiveSpea = _ref45.showActiveSpeaker,
|
|
10006
|
+
showActiveSpeaker = _ref45$showActiveSpea === void 0 ? false : _ref45$showActiveSpea;
|
|
9776
10007
|
var videoLayout = {
|
|
9777
10008
|
overrideDefault: true,
|
|
9778
10009
|
lockAttendeeViewOnStageOnly: lockAttendeeViewOnStage,
|
|
@@ -9868,6 +10099,71 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
9868
10099
|
value: function cancelSipCallOut(participantId) {
|
|
9869
10100
|
return this.meetingRequest.cancelSipCallOut(participantId);
|
|
9870
10101
|
}
|
|
10102
|
+
|
|
10103
|
+
/**
|
|
10104
|
+
* Method to get new data
|
|
10105
|
+
* @returns {Promise}
|
|
10106
|
+
*/
|
|
10107
|
+
}, {
|
|
10108
|
+
key: "refreshDataChannelToken",
|
|
10109
|
+
value: (function () {
|
|
10110
|
+
var _refreshDataChannelToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee45() {
|
|
10111
|
+
var isPracticeSession, dataChannelTokenType, res, msg, _t35;
|
|
10112
|
+
return _regenerator.default.wrap(function (_context45) {
|
|
10113
|
+
while (1) switch (_context45.prev = _context45.next) {
|
|
10114
|
+
case 0:
|
|
10115
|
+
isPracticeSession = this.webinar.isJoinPracticeSessionDataChannel();
|
|
10116
|
+
dataChannelTokenType = this.getDataChannelTokenType();
|
|
10117
|
+
_context45.prev = 1;
|
|
10118
|
+
_context45.next = 2;
|
|
10119
|
+
return this.meetingRequest.fetchDatachannelToken({
|
|
10120
|
+
locusUrl: this.locusUrl,
|
|
10121
|
+
requestingParticipantId: this.members.selfId,
|
|
10122
|
+
isPracticeSession: isPracticeSession
|
|
10123
|
+
});
|
|
10124
|
+
case 2:
|
|
10125
|
+
res = _context45.sent;
|
|
10126
|
+
return _context45.abrupt("return", {
|
|
10127
|
+
body: {
|
|
10128
|
+
datachannelToken: res.body.datachannelToken,
|
|
10129
|
+
dataChannelTokenType: dataChannelTokenType
|
|
10130
|
+
}
|
|
10131
|
+
});
|
|
10132
|
+
case 3:
|
|
10133
|
+
_context45.prev = 3;
|
|
10134
|
+
_t35 = _context45["catch"](1);
|
|
10135
|
+
msg = (_t35 === null || _t35 === void 0 ? void 0 : _t35.message) || String(_t35);
|
|
10136
|
+
_loggerProxy.default.logger.warn("Meeting:index#refreshDataChannelToken --> DataChannel token refresh failed (likely locus changed or participant left): ".concat(msg), {
|
|
10137
|
+
statusCode: _t35 === null || _t35 === void 0 ? void 0 : _t35.statusCode
|
|
10138
|
+
});
|
|
10139
|
+
return _context45.abrupt("return", null);
|
|
10140
|
+
case 4:
|
|
10141
|
+
case "end":
|
|
10142
|
+
return _context45.stop();
|
|
10143
|
+
}
|
|
10144
|
+
}, _callee45, this, [[1, 3]]);
|
|
10145
|
+
}));
|
|
10146
|
+
function refreshDataChannelToken() {
|
|
10147
|
+
return _refreshDataChannelToken.apply(this, arguments);
|
|
10148
|
+
}
|
|
10149
|
+
return refreshDataChannelToken;
|
|
10150
|
+
}()
|
|
10151
|
+
/**
|
|
10152
|
+
* Determines the current data channel token type based on the meeting state.
|
|
10153
|
+
*
|
|
10154
|
+
* variant should be used when connecting to the LLM data channel.
|
|
10155
|
+
*
|
|
10156
|
+
* @returns {DataChannelTokenType} The token type representing the current session mode.
|
|
10157
|
+
*/
|
|
10158
|
+
)
|
|
10159
|
+
}, {
|
|
10160
|
+
key: "getDataChannelTokenType",
|
|
10161
|
+
value: function getDataChannelTokenType() {
|
|
10162
|
+
if (this.webinar.isJoinPracticeSessionDataChannel()) {
|
|
10163
|
+
return _internalPluginLlm.DataChannelTokenType.PracticeSession;
|
|
10164
|
+
}
|
|
10165
|
+
return _internalPluginLlm.DataChannelTokenType.Default;
|
|
10166
|
+
}
|
|
9871
10167
|
}]);
|
|
9872
10168
|
}(_webexCore.StatelessWebexPlugin);
|
|
9873
10169
|
//# sourceMappingURL=index.js.map
|