@webex/plugin-meetings 3.7.0-next.57 → 3.7.0-next.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting/brbState.js +167 -0
- package/dist/meeting/brbState.js.map +1 -0
- package/dist/meeting/index.js +251 -254
- package/dist/meeting/index.js.map +1 -1
- package/dist/reachability/index.js +31 -3
- package/dist/reachability/index.js.map +1 -1
- package/dist/types/meeting/brbState.d.ts +54 -0
- package/dist/types/meeting/index.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +9 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +3 -3
- package/src/meeting/brbState.ts +169 -0
- package/src/meeting/index.ts +8 -16
- package/src/reachability/index.ts +29 -1
- package/test/unit/spec/meeting/brbState.ts +114 -0
- package/test/unit/spec/meeting/index.js +14 -25
- package/test/unit/spec/reachability/index.ts +120 -10
package/dist/meeting/index.js
CHANGED
|
@@ -88,6 +88,7 @@ var _permission = _interopRequireDefault(require("../common/errors/permission"))
|
|
|
88
88
|
var _locusMediaRequest = require("./locusMediaRequest");
|
|
89
89
|
var _connectionStateHandler = require("./connectionStateHandler");
|
|
90
90
|
var _joinWebinarError = _interopRequireDefault(require("../common/errors/join-webinar-error"));
|
|
91
|
+
var _brbState = require("./brbState");
|
|
91
92
|
var _multistreamNotSupportedError = _interopRequireDefault(require("../common/errors/multistream-not-supported-error"));
|
|
92
93
|
var _joinForbiddenError = _interopRequireDefault(require("../common/errors/join-forbidden-error"));
|
|
93
94
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
@@ -509,6 +510,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
509
510
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "turnServerUsed", void 0);
|
|
510
511
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "areVoiceaEventsSetup", false);
|
|
511
512
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "isMoveToInProgress", false);
|
|
513
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "brbState", void 0);
|
|
512
514
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "voiceaListenerCallbacks", (0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)({}, _internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, function (payload) {
|
|
513
515
|
_this.transcription.languageOptions = payload;
|
|
514
516
|
_loggerProxy.default.logger.debug("".concat(_util.default.getScopeLog({
|
|
@@ -3907,6 +3909,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3907
3909
|
}
|
|
3908
3910
|
});
|
|
3909
3911
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BRB_CHANGED, function (payload) {
|
|
3912
|
+
var _this20$brbState, _payload$brb;
|
|
3913
|
+
(_this20$brbState = _this20.brbState) === null || _this20$brbState === void 0 ? void 0 : _this20$brbState.handleServerBrbUpdate(payload === null || payload === void 0 ? void 0 : (_payload$brb = payload.brb) === null || _payload$brb === void 0 ? void 0 : _payload$brb.enabled);
|
|
3910
3914
|
_triggerProxy.default.trigger(_this20, {
|
|
3911
3915
|
file: 'meeting/index',
|
|
3912
3916
|
function: 'setUpLocusInfoSelfListener'
|
|
@@ -4123,7 +4127,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4123
4127
|
key: "beRightBack",
|
|
4124
4128
|
value: (function () {
|
|
4125
4129
|
var _beRightBack = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(enabled) {
|
|
4126
|
-
var _this23 = this;
|
|
4127
4130
|
var errorMessage, error, _errorMessage, _error;
|
|
4128
4131
|
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
4129
4132
|
while (1) switch (_context11.prev = _context11.next) {
|
|
@@ -4146,17 +4149,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4146
4149
|
_loggerProxy.default.logger.error(_error);
|
|
4147
4150
|
return _context11.abrupt("return", _promise.default.reject(_error));
|
|
4148
4151
|
case 10:
|
|
4149
|
-
return _context11.abrupt("return", this.
|
|
4150
|
-
enabled: enabled,
|
|
4151
|
-
locusUrl: this.locusUrl,
|
|
4152
|
-
deviceUrl: this.deviceUrl,
|
|
4153
|
-
selfId: this.selfId
|
|
4154
|
-
}).then(function () {
|
|
4155
|
-
_this23.sendSlotManager.setSourceStateOverride(_internalMediaCore.MediaType.VideoMain, enabled ? 'away' : null);
|
|
4156
|
-
}).catch(function (error) {
|
|
4157
|
-
_loggerProxy.default.logger.error('Meeting:index#beRightBack --> Error ', error);
|
|
4158
|
-
return _promise.default.reject(error);
|
|
4159
|
-
}));
|
|
4152
|
+
return _context11.abrupt("return", this.brbState.enable(enabled, this.sendSlotManager));
|
|
4160
4153
|
case 11:
|
|
4161
4154
|
case "end":
|
|
4162
4155
|
return _context11.stop();
|
|
@@ -4651,7 +4644,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4651
4644
|
}, {
|
|
4652
4645
|
key: "setLogUploadTimer",
|
|
4653
4646
|
value: function setLogUploadTimer() {
|
|
4654
|
-
var
|
|
4647
|
+
var _this23 = this;
|
|
4655
4648
|
// start with short timeouts and increase them later on so in case users have very long multi-hour meetings we don't get too fragmented logs
|
|
4656
4649
|
var LOG_UPLOAD_INTERVALS = [0.1, 15, 30, 60]; // in minutes
|
|
4657
4650
|
|
|
@@ -4662,15 +4655,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4662
4655
|
this.logUploadIntervalIndex += 1;
|
|
4663
4656
|
}
|
|
4664
4657
|
this.uploadLogsTimer = (0, _commonTimers.safeSetTimeout)(function () {
|
|
4665
|
-
|
|
4666
|
-
|
|
4658
|
+
_this23.uploadLogsTimer = undefined;
|
|
4659
|
+
_this23.uploadLogs();
|
|
4667
4660
|
|
|
4668
4661
|
// just as an extra precaution, to avoid uploading logs forever in case something goes wrong
|
|
4669
4662
|
// and the page remains opened, we stop it if there is no media connection
|
|
4670
|
-
if (!
|
|
4663
|
+
if (!_this23.mediaProperties.webrtcMediaConnection) {
|
|
4671
4664
|
return;
|
|
4672
4665
|
}
|
|
4673
|
-
|
|
4666
|
+
_this23.setLogUploadTimer();
|
|
4674
4667
|
}, delay);
|
|
4675
4668
|
}
|
|
4676
4669
|
|
|
@@ -4737,7 +4730,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4737
4730
|
}, {
|
|
4738
4731
|
key: "closeRemoteStreams",
|
|
4739
4732
|
value: function closeRemoteStreams() {
|
|
4740
|
-
var
|
|
4733
|
+
var _this24 = this;
|
|
4741
4734
|
var _this$mediaProperties6 = this.mediaProperties,
|
|
4742
4735
|
remoteAudioStream = _this$mediaProperties6.remoteAudioStream,
|
|
4743
4736
|
remoteVideoStream = _this$mediaProperties6.remoteVideoStream,
|
|
@@ -4751,7 +4744,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4751
4744
|
*/
|
|
4752
4745
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
4753
4746
|
var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
|
|
4754
|
-
_triggerProxy.default.trigger(
|
|
4747
|
+
_triggerProxy.default.trigger(_this24, {
|
|
4755
4748
|
file: 'meeting/index',
|
|
4756
4749
|
function: 'closeRemoteStreams'
|
|
4757
4750
|
}, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
|
|
@@ -5059,7 +5052,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5059
5052
|
}, {
|
|
5060
5053
|
key: "setMercuryListener",
|
|
5061
5054
|
value: function setMercuryListener() {
|
|
5062
|
-
var
|
|
5055
|
+
var _this25 = this;
|
|
5063
5056
|
// Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
|
|
5064
5057
|
// if the meeting has active peer connections, it should try to reconnect.
|
|
5065
5058
|
// @ts-ignore
|
|
@@ -5067,33 +5060,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5067
5060
|
_loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
|
|
5068
5061
|
|
|
5069
5062
|
// Only send restore event when it was disconnected before and for connected later
|
|
5070
|
-
if (!
|
|
5063
|
+
if (!_this25.hasWebsocketConnected) {
|
|
5071
5064
|
// @ts-ignore
|
|
5072
|
-
|
|
5065
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
5073
5066
|
name: 'client.mercury.connection.restored',
|
|
5074
5067
|
options: {
|
|
5075
|
-
meetingId:
|
|
5068
|
+
meetingId: _this25.id
|
|
5076
5069
|
}
|
|
5077
5070
|
});
|
|
5078
5071
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
|
5079
|
-
correlation_id:
|
|
5072
|
+
correlation_id: _this25.correlationId
|
|
5080
5073
|
});
|
|
5081
5074
|
}
|
|
5082
|
-
|
|
5075
|
+
_this25.hasWebsocketConnected = true;
|
|
5083
5076
|
});
|
|
5084
5077
|
|
|
5085
5078
|
// @ts-ignore
|
|
5086
5079
|
this.webex.internal.mercury.on(_constants.OFFLINE, function () {
|
|
5087
5080
|
_loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
|
|
5088
5081
|
// @ts-ignore
|
|
5089
|
-
|
|
5082
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
5090
5083
|
name: 'client.mercury.connection.lost',
|
|
5091
5084
|
options: {
|
|
5092
|
-
meetingId:
|
|
5085
|
+
meetingId: _this25.id
|
|
5093
5086
|
}
|
|
5094
5087
|
});
|
|
5095
5088
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
|
5096
|
-
correlation_id:
|
|
5089
|
+
correlation_id: _this25.correlationId
|
|
5097
5090
|
});
|
|
5098
5091
|
});
|
|
5099
5092
|
}
|
|
@@ -5200,7 +5193,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5200
5193
|
}, {
|
|
5201
5194
|
key: "muteAudio",
|
|
5202
5195
|
value: function muteAudio() {
|
|
5203
|
-
var
|
|
5196
|
+
var _this26 = this;
|
|
5204
5197
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5205
5198
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5206
5199
|
}
|
|
@@ -5216,22 +5209,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5216
5209
|
|
|
5217
5210
|
// First, stop sending the local audio media
|
|
5218
5211
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
5219
|
-
_util2.default.handleAudioLogging(
|
|
5212
|
+
_util2.default.handleAudioLogging(_this26.mediaProperties.audioStream);
|
|
5220
5213
|
// @ts-ignore
|
|
5221
|
-
|
|
5214
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
5222
5215
|
name: 'client.muted',
|
|
5223
5216
|
payload: {
|
|
5224
5217
|
trigger: 'user-interaction',
|
|
5225
5218
|
mediaType: 'audio'
|
|
5226
5219
|
},
|
|
5227
5220
|
options: {
|
|
5228
|
-
meetingId:
|
|
5221
|
+
meetingId: _this26.id
|
|
5229
5222
|
}
|
|
5230
5223
|
});
|
|
5231
5224
|
}).catch(function (error) {
|
|
5232
5225
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
|
|
5233
|
-
correlation_id:
|
|
5234
|
-
locus_id:
|
|
5226
|
+
correlation_id: _this26.correlationId,
|
|
5227
|
+
locus_id: _this26.locusUrl.split('/').pop(),
|
|
5235
5228
|
reason: error.message,
|
|
5236
5229
|
stack: error.stack
|
|
5237
5230
|
});
|
|
@@ -5250,7 +5243,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5250
5243
|
}, {
|
|
5251
5244
|
key: "unmuteAudio",
|
|
5252
5245
|
value: function unmuteAudio() {
|
|
5253
|
-
var
|
|
5246
|
+
var _this27 = this;
|
|
5254
5247
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5255
5248
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5256
5249
|
}
|
|
@@ -5266,22 +5259,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5266
5259
|
|
|
5267
5260
|
// First, send the control to unmute the participant on the server
|
|
5268
5261
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
5269
|
-
_util2.default.handleAudioLogging(
|
|
5262
|
+
_util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
|
|
5270
5263
|
// @ts-ignore
|
|
5271
|
-
|
|
5264
|
+
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
5272
5265
|
name: 'client.unmuted',
|
|
5273
5266
|
payload: {
|
|
5274
5267
|
trigger: 'user-interaction',
|
|
5275
5268
|
mediaType: 'audio'
|
|
5276
5269
|
},
|
|
5277
5270
|
options: {
|
|
5278
|
-
meetingId:
|
|
5271
|
+
meetingId: _this27.id
|
|
5279
5272
|
}
|
|
5280
5273
|
});
|
|
5281
5274
|
}).catch(function (error) {
|
|
5282
5275
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
|
|
5283
|
-
correlation_id:
|
|
5284
|
-
locus_id:
|
|
5276
|
+
correlation_id: _this27.correlationId,
|
|
5277
|
+
locus_id: _this27.locusUrl.split('/').pop(),
|
|
5285
5278
|
reason: error.message,
|
|
5286
5279
|
stack: error.stack
|
|
5287
5280
|
});
|
|
@@ -5300,7 +5293,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5300
5293
|
}, {
|
|
5301
5294
|
key: "muteVideo",
|
|
5302
5295
|
value: function muteVideo() {
|
|
5303
|
-
var
|
|
5296
|
+
var _this28 = this;
|
|
5304
5297
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5305
5298
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5306
5299
|
}
|
|
@@ -5314,22 +5307,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5314
5307
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
5315
5308
|
}
|
|
5316
5309
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
5317
|
-
_util2.default.handleVideoLogging(
|
|
5310
|
+
_util2.default.handleVideoLogging(_this28.mediaProperties.videoStream);
|
|
5318
5311
|
// @ts-ignore
|
|
5319
|
-
|
|
5312
|
+
_this28.webex.internal.newMetrics.submitClientEvent({
|
|
5320
5313
|
name: 'client.muted',
|
|
5321
5314
|
payload: {
|
|
5322
5315
|
trigger: 'user-interaction',
|
|
5323
5316
|
mediaType: 'video'
|
|
5324
5317
|
},
|
|
5325
5318
|
options: {
|
|
5326
|
-
meetingId:
|
|
5319
|
+
meetingId: _this28.id
|
|
5327
5320
|
}
|
|
5328
5321
|
});
|
|
5329
5322
|
}).catch(function (error) {
|
|
5330
5323
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
|
|
5331
|
-
correlation_id:
|
|
5332
|
-
locus_id:
|
|
5324
|
+
correlation_id: _this28.correlationId,
|
|
5325
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
5333
5326
|
reason: error.message,
|
|
5334
5327
|
stack: error.stack
|
|
5335
5328
|
});
|
|
@@ -5348,7 +5341,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5348
5341
|
}, {
|
|
5349
5342
|
key: "unmuteVideo",
|
|
5350
5343
|
value: function unmuteVideo() {
|
|
5351
|
-
var
|
|
5344
|
+
var _this29 = this;
|
|
5352
5345
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5353
5346
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5354
5347
|
}
|
|
@@ -5362,22 +5355,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5362
5355
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
5363
5356
|
}
|
|
5364
5357
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
5365
|
-
_util2.default.handleVideoLogging(
|
|
5358
|
+
_util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
|
|
5366
5359
|
// @ts-ignore
|
|
5367
|
-
|
|
5360
|
+
_this29.webex.internal.newMetrics.submitClientEvent({
|
|
5368
5361
|
name: 'client.unmuted',
|
|
5369
5362
|
payload: {
|
|
5370
5363
|
trigger: 'user-interaction',
|
|
5371
5364
|
mediaType: 'video'
|
|
5372
5365
|
},
|
|
5373
5366
|
options: {
|
|
5374
|
-
meetingId:
|
|
5367
|
+
meetingId: _this29.id
|
|
5375
5368
|
}
|
|
5376
5369
|
});
|
|
5377
5370
|
}).catch(function (error) {
|
|
5378
5371
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
|
|
5379
|
-
correlation_id:
|
|
5380
|
-
locus_id:
|
|
5372
|
+
correlation_id: _this29.correlationId,
|
|
5373
|
+
locus_id: _this29.locusUrl.split('/').pop(),
|
|
5381
5374
|
reason: error.message,
|
|
5382
5375
|
stack: error.stack
|
|
5383
5376
|
});
|
|
@@ -5407,7 +5400,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5407
5400
|
key: "joinWithMedia",
|
|
5408
5401
|
value: (function () {
|
|
5409
5402
|
var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
5410
|
-
var
|
|
5403
|
+
var _this30 = this;
|
|
5411
5404
|
var options,
|
|
5412
5405
|
mediaOptions,
|
|
5413
5406
|
_options$joinOptions,
|
|
@@ -5490,7 +5483,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5490
5483
|
case 35:
|
|
5491
5484
|
_context16.next = 37;
|
|
5492
5485
|
return this.addMediaInternal(function () {
|
|
5493
|
-
return
|
|
5486
|
+
return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5494
5487
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5495
5488
|
case 37:
|
|
5496
5489
|
mediaResponse = _context16.sent;
|
|
@@ -5585,7 +5578,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5585
5578
|
}, {
|
|
5586
5579
|
key: "reconnect",
|
|
5587
5580
|
value: function reconnect(options) {
|
|
5588
|
-
var
|
|
5581
|
+
var _this31 = this;
|
|
5589
5582
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
5590
5583
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
5591
5584
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
@@ -5601,10 +5594,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5601
5594
|
while (1) switch (_context17.prev = _context17.next) {
|
|
5602
5595
|
case 0:
|
|
5603
5596
|
_context17.next = 2;
|
|
5604
|
-
return
|
|
5597
|
+
return _this31.waitForRemoteSDPAnswer();
|
|
5605
5598
|
case 2:
|
|
5606
5599
|
_context17.next = 4;
|
|
5607
|
-
return
|
|
5600
|
+
return _this31.waitForMediaConnectionConnected();
|
|
5608
5601
|
case 4:
|
|
5609
5602
|
case "end":
|
|
5610
5603
|
return _context17.stop();
|
|
@@ -5618,7 +5611,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5618
5611
|
return _promise.default.resolve();
|
|
5619
5612
|
}
|
|
5620
5613
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
5621
|
-
|
|
5614
|
+
_this31.uploadLogs({
|
|
5622
5615
|
file: 'meeting/index',
|
|
5623
5616
|
function: 'reconnect'
|
|
5624
5617
|
});
|
|
@@ -5665,19 +5658,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5665
5658
|
}, {
|
|
5666
5659
|
key: "setCaptionLanguage",
|
|
5667
5660
|
value: function setCaptionLanguage(language) {
|
|
5668
|
-
var
|
|
5661
|
+
var _this32 = this;
|
|
5669
5662
|
return new _promise.default(function (resolve, reject) {
|
|
5670
|
-
if (!
|
|
5663
|
+
if (!_this32.isTranscriptionSupported()) {
|
|
5671
5664
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5672
5665
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5673
5666
|
}
|
|
5674
5667
|
try {
|
|
5675
5668
|
var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
|
|
5676
5669
|
// @ts-ignore
|
|
5677
|
-
|
|
5670
|
+
_this32.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5678
5671
|
var statusCode = payload.statusCode;
|
|
5679
5672
|
if (statusCode === 200) {
|
|
5680
|
-
|
|
5673
|
+
_this32.transcription.languageOptions = _objectSpread(_objectSpread({}, _this32.transcription.languageOptions), {}, {
|
|
5681
5674
|
currentCaptionLanguage: language
|
|
5682
5675
|
});
|
|
5683
5676
|
resolve(language);
|
|
@@ -5686,9 +5679,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5686
5679
|
}
|
|
5687
5680
|
};
|
|
5688
5681
|
// @ts-ignore
|
|
5689
|
-
|
|
5682
|
+
_this32.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5690
5683
|
// @ts-ignore
|
|
5691
|
-
|
|
5684
|
+
_this32.webex.internal.voicea.requestLanguage(language);
|
|
5692
5685
|
} catch (error) {
|
|
5693
5686
|
_loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
|
|
5694
5687
|
reject(error);
|
|
@@ -5704,23 +5697,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5704
5697
|
}, {
|
|
5705
5698
|
key: "setSpokenLanguage",
|
|
5706
5699
|
value: function setSpokenLanguage(language) {
|
|
5707
|
-
var
|
|
5700
|
+
var _this33 = this;
|
|
5708
5701
|
return new _promise.default(function (resolve, reject) {
|
|
5709
|
-
if (!
|
|
5702
|
+
if (!_this33.isTranscriptionSupported()) {
|
|
5710
5703
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5711
5704
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5712
5705
|
}
|
|
5713
|
-
if (
|
|
5706
|
+
if (_this33.getCurUserType() !== 'host') {
|
|
5714
5707
|
_loggerProxy.default.logger.error('Meeting:index#setSpokenLanguage --> Only host can set spoken language');
|
|
5715
5708
|
reject(new Error('Only host can set spoken language'));
|
|
5716
5709
|
}
|
|
5717
5710
|
try {
|
|
5718
5711
|
var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
|
|
5719
5712
|
// @ts-ignore
|
|
5720
|
-
|
|
5713
|
+
_this33.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5721
5714
|
var languageCode = payload.languageCode;
|
|
5722
5715
|
if (languageCode) {
|
|
5723
|
-
|
|
5716
|
+
_this33.transcription.languageOptions = _objectSpread(_objectSpread({}, _this33.transcription.languageOptions), {}, {
|
|
5724
5717
|
currentSpokenLanguage: languageCode
|
|
5725
5718
|
});
|
|
5726
5719
|
resolve(languageCode);
|
|
@@ -5730,10 +5723,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5730
5723
|
};
|
|
5731
5724
|
|
|
5732
5725
|
// @ts-ignore
|
|
5733
|
-
|
|
5726
|
+
_this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5734
5727
|
|
|
5735
5728
|
// @ts-ignore
|
|
5736
|
-
|
|
5729
|
+
_this33.webex.internal.voicea.setSpokenLanguage(language);
|
|
5737
5730
|
} catch (error) {
|
|
5738
5731
|
_loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
|
|
5739
5732
|
reject(error);
|
|
@@ -5856,7 +5849,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5856
5849
|
*/
|
|
5857
5850
|
function () {
|
|
5858
5851
|
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5859
|
-
var
|
|
5852
|
+
var _this34 = this;
|
|
5860
5853
|
var options,
|
|
5861
5854
|
errorMessage,
|
|
5862
5855
|
error,
|
|
@@ -6005,62 +5998,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6005
5998
|
return _context19.abrupt("return", _promise.default.reject(_context19.t0));
|
|
6006
5999
|
case 51:
|
|
6007
6000
|
return _context19.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
6008
|
-
|
|
6009
|
-
|
|
6001
|
+
_this34.meetingFiniteStateMachine.join();
|
|
6002
|
+
_this34.setupLocusMediaRequest();
|
|
6010
6003
|
|
|
6011
6004
|
// @ts-ignore
|
|
6012
|
-
|
|
6013
|
-
(0, _classPrivateFieldSet2.default)(
|
|
6005
|
+
_this34.webex.internal.device.meetingStarted();
|
|
6006
|
+
(0, _classPrivateFieldSet2.default)(_this34, _isoLocalClientMeetingJoinTime, new Date().toISOString());
|
|
6014
6007
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
6015
6008
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
6016
|
-
correlation_id:
|
|
6009
|
+
correlation_id: _this34.correlationId
|
|
6017
6010
|
});
|
|
6018
6011
|
joinSuccess(join);
|
|
6019
|
-
|
|
6012
|
+
_this34.deferJoin = undefined;
|
|
6020
6013
|
return join;
|
|
6021
6014
|
}).catch(function (error) {
|
|
6022
|
-
var
|
|
6023
|
-
|
|
6015
|
+
var _this34$meetingInfo, _error$error;
|
|
6016
|
+
_this34.meetingFiniteStateMachine.fail(error);
|
|
6024
6017
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
6025
6018
|
|
|
6026
6019
|
// @ts-ignore
|
|
6027
|
-
|
|
6020
|
+
_this34.webex.internal.newMetrics.submitClientEvent({
|
|
6028
6021
|
name: 'client.locus.join.response',
|
|
6029
6022
|
payload: {
|
|
6030
6023
|
identifiers: {
|
|
6031
|
-
meetingLookupUrl: (
|
|
6024
|
+
meetingLookupUrl: (_this34$meetingInfo = _this34.meetingInfo) === null || _this34$meetingInfo === void 0 ? void 0 : _this34$meetingInfo.meetingLookupUrl
|
|
6032
6025
|
}
|
|
6033
6026
|
},
|
|
6034
6027
|
options: {
|
|
6035
|
-
meetingId:
|
|
6028
|
+
meetingId: _this34.id,
|
|
6036
6029
|
rawError: error
|
|
6037
6030
|
}
|
|
6038
6031
|
});
|
|
6039
6032
|
|
|
6040
6033
|
// TODO: change this to error codes and pre defined dictionary
|
|
6041
6034
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
6042
|
-
correlation_id:
|
|
6035
|
+
correlation_id: _this34.correlationId,
|
|
6043
6036
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
6044
6037
|
stack: error.stack
|
|
6045
6038
|
});
|
|
6046
6039
|
|
|
6047
6040
|
// Upload logs on join Failure
|
|
6048
|
-
_triggerProxy.default.trigger(
|
|
6041
|
+
_triggerProxy.default.trigger(_this34, {
|
|
6049
6042
|
file: 'meeting/index',
|
|
6050
6043
|
function: 'join'
|
|
6051
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
6044
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this34);
|
|
6052
6045
|
joinFailed(error);
|
|
6053
|
-
|
|
6046
|
+
_this34.deferJoin = undefined;
|
|
6054
6047
|
return _promise.default.reject(error);
|
|
6055
6048
|
}).then(function (join) {
|
|
6056
6049
|
// @ts-ignore - config coming from registerPlugin
|
|
6057
|
-
if (
|
|
6050
|
+
if (_this34.config.enableAutomaticLLM) {
|
|
6058
6051
|
// @ts-ignore
|
|
6059
|
-
|
|
6060
|
-
|
|
6052
|
+
_this34.webex.internal.llm.on('online', _this34.handleLLMOnline);
|
|
6053
|
+
_this34.updateLLMConnection().catch(function (error) {
|
|
6061
6054
|
_loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
|
|
6062
6055
|
_metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
|
|
6063
|
-
correlation_id:
|
|
6056
|
+
correlation_id: _this34.correlationId,
|
|
6064
6057
|
reason: error === null || error === void 0 ? void 0 : error.message,
|
|
6065
6058
|
stack: error.stack
|
|
6066
6059
|
});
|
|
@@ -6092,7 +6085,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6092
6085
|
key: "updateLLMConnection",
|
|
6093
6086
|
value: (function () {
|
|
6094
6087
|
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
|
|
6095
|
-
var
|
|
6088
|
+
var _this35 = this;
|
|
6096
6089
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, practiceSessionDatachannelUrl, isJoined, dataChannelUrl;
|
|
6097
6090
|
return _regenerator.default.wrap(function _callee20$(_context20) {
|
|
6098
6091
|
while (1) switch (_context20.prev = _context20.next) {
|
|
@@ -6129,9 +6122,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6129
6122
|
case 11:
|
|
6130
6123
|
return _context20.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl).then(function (registerAndConnectResult) {
|
|
6131
6124
|
// @ts-ignore - Fix type
|
|
6132
|
-
|
|
6125
|
+
_this35.webex.internal.llm.off('event:relay.event', _this35.processRelayEvent);
|
|
6133
6126
|
// @ts-ignore - Fix type
|
|
6134
|
-
|
|
6127
|
+
_this35.webex.internal.llm.on('event:relay.event', _this35.processRelayEvent);
|
|
6135
6128
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
6136
6129
|
return _promise.default.resolve(registerAndConnectResult);
|
|
6137
6130
|
}));
|
|
@@ -6185,7 +6178,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6185
6178
|
}, {
|
|
6186
6179
|
key: "dialInPstn",
|
|
6187
6180
|
value: function dialInPstn() {
|
|
6188
|
-
var
|
|
6181
|
+
var _this36 = this;
|
|
6189
6182
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
6190
6183
|
|
|
6191
6184
|
var correlationId = this.correlationId,
|
|
@@ -6201,10 +6194,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6201
6194
|
}).catch(function (error) {
|
|
6202
6195
|
var _error$error2;
|
|
6203
6196
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
6204
|
-
correlation_id:
|
|
6205
|
-
dial_in_url:
|
|
6197
|
+
correlation_id: _this36.correlationId,
|
|
6198
|
+
dial_in_url: _this36.dialInUrl,
|
|
6206
6199
|
locus_id: locusUrl.split('/').pop(),
|
|
6207
|
-
client_url:
|
|
6200
|
+
client_url: _this36.deviceUrl,
|
|
6208
6201
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
6209
6202
|
stack: error.stack
|
|
6210
6203
|
});
|
|
@@ -6222,7 +6215,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6222
6215
|
}, {
|
|
6223
6216
|
key: "dialOutPstn",
|
|
6224
6217
|
value: function dialOutPstn(phoneNumber) {
|
|
6225
|
-
var
|
|
6218
|
+
var _this37 = this;
|
|
6226
6219
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
6227
6220
|
|
|
6228
6221
|
var correlationId = this.correlationId,
|
|
@@ -6239,10 +6232,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6239
6232
|
}).catch(function (error) {
|
|
6240
6233
|
var _error$error3;
|
|
6241
6234
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
6242
|
-
correlation_id:
|
|
6243
|
-
dial_out_url:
|
|
6235
|
+
correlation_id: _this37.correlationId,
|
|
6236
|
+
dial_out_url: _this37.dialOutUrl,
|
|
6244
6237
|
locus_id: locusUrl.split('/').pop(),
|
|
6245
|
-
client_url:
|
|
6238
|
+
client_url: _this37.deviceUrl,
|
|
6246
6239
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
6247
6240
|
stack: error.stack
|
|
6248
6241
|
});
|
|
@@ -6273,7 +6266,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6273
6266
|
}, {
|
|
6274
6267
|
key: "moveTo",
|
|
6275
6268
|
value: function moveTo(resourceId) {
|
|
6276
|
-
var
|
|
6269
|
+
var _this38 = this;
|
|
6277
6270
|
if (!resourceId) {
|
|
6278
6271
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
6279
6272
|
}
|
|
@@ -6317,12 +6310,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6317
6310
|
while (1) switch (_context21.prev = _context21.next) {
|
|
6318
6311
|
case 0:
|
|
6319
6312
|
_context21.prev = 0;
|
|
6320
|
-
if (!(
|
|
6313
|
+
if (!(_this38.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
6321
6314
|
_context21.next = 4;
|
|
6322
6315
|
break;
|
|
6323
6316
|
}
|
|
6324
6317
|
_context21.next = 4;
|
|
6325
|
-
return
|
|
6318
|
+
return _this38.releaseScreenShareFloor();
|
|
6326
6319
|
case 4:
|
|
6327
6320
|
mediaSettings = {
|
|
6328
6321
|
mediaDirection: {
|
|
@@ -6334,37 +6327,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6334
6327
|
receiveShare: true
|
|
6335
6328
|
}
|
|
6336
6329
|
};
|
|
6337
|
-
|
|
6338
|
-
|
|
6330
|
+
_this38.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
6331
|
+
_this38.mediaProperties.unsetRemoteMedia();
|
|
6339
6332
|
|
|
6340
6333
|
// 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
|
|
6341
6334
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6342
|
-
if (!
|
|
6335
|
+
if (!_this38.statsAnalyzer) {
|
|
6343
6336
|
_context21.next = 10;
|
|
6344
6337
|
break;
|
|
6345
6338
|
}
|
|
6346
6339
|
_context21.next = 10;
|
|
6347
|
-
return
|
|
6340
|
+
return _this38.statsAnalyzer.stopAnalyzer();
|
|
6348
6341
|
case 10:
|
|
6349
6342
|
_context21.next = 12;
|
|
6350
|
-
return
|
|
6343
|
+
return _this38.closeRemoteStreams();
|
|
6351
6344
|
case 12:
|
|
6352
6345
|
_context21.next = 14;
|
|
6353
|
-
return
|
|
6346
|
+
return _this38.closePeerConnections();
|
|
6354
6347
|
case 14:
|
|
6355
|
-
|
|
6356
|
-
|
|
6357
|
-
|
|
6358
|
-
|
|
6348
|
+
_this38.cleanupLocalStreams();
|
|
6349
|
+
_this38.unsetRemoteStreams();
|
|
6350
|
+
_this38.unsetPeerConnections();
|
|
6351
|
+
_this38.reconnectionManager.cleanUp();
|
|
6359
6352
|
_context21.next = 20;
|
|
6360
|
-
return
|
|
6353
|
+
return _this38.addMedia({
|
|
6361
6354
|
audioEnabled: false,
|
|
6362
6355
|
videoEnabled: false,
|
|
6363
6356
|
shareVideoEnabled: true
|
|
6364
6357
|
});
|
|
6365
6358
|
case 20:
|
|
6366
6359
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6367
|
-
|
|
6360
|
+
_this38.isMoveToInProgress = false;
|
|
6368
6361
|
_context21.next = 29;
|
|
6369
6362
|
break;
|
|
6370
6363
|
case 24:
|
|
@@ -6372,12 +6365,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6372
6365
|
_context21.t0 = _context21["catch"](0);
|
|
6373
6366
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context21.t0);
|
|
6374
6367
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6375
|
-
correlation_id:
|
|
6376
|
-
locus_id:
|
|
6368
|
+
correlation_id: _this38.correlationId,
|
|
6369
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6377
6370
|
reason: _context21.t0.message,
|
|
6378
6371
|
stack: _context21.t0.stack
|
|
6379
6372
|
});
|
|
6380
|
-
|
|
6373
|
+
_this38.isMoveToInProgress = false;
|
|
6381
6374
|
case 29:
|
|
6382
6375
|
case "end":
|
|
6383
6376
|
return _context21.stop();
|
|
@@ -6393,17 +6386,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6393
6386
|
resourceId: resourceId,
|
|
6394
6387
|
moveToResource: true
|
|
6395
6388
|
}).then(function () {
|
|
6396
|
-
|
|
6389
|
+
_this38.meetingFiniteStateMachine.join();
|
|
6397
6390
|
}).catch(function (error) {
|
|
6398
|
-
|
|
6391
|
+
_this38.meetingFiniteStateMachine.fail(error);
|
|
6399
6392
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6400
|
-
correlation_id:
|
|
6401
|
-
locus_id:
|
|
6393
|
+
correlation_id: _this38.correlationId,
|
|
6394
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6402
6395
|
reason: error.message,
|
|
6403
6396
|
stack: error.stack
|
|
6404
6397
|
});
|
|
6405
6398
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
|
|
6406
|
-
|
|
6399
|
+
_this38.isMoveToInProgress = false;
|
|
6407
6400
|
return _promise.default.reject(error);
|
|
6408
6401
|
});
|
|
6409
6402
|
}
|
|
@@ -6418,7 +6411,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6418
6411
|
}, {
|
|
6419
6412
|
key: "moveFrom",
|
|
6420
6413
|
value: function moveFrom(resourceId) {
|
|
6421
|
-
var
|
|
6414
|
+
var _this39 = this;
|
|
6422
6415
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
6423
6416
|
if (!resourceId) {
|
|
6424
6417
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -6433,19 +6426,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6433
6426
|
}
|
|
6434
6427
|
});
|
|
6435
6428
|
return _util2.default.joinMeetingOptions(this).then(function () {
|
|
6436
|
-
return _util2.default.leaveMeeting(
|
|
6429
|
+
return _util2.default.leaveMeeting(_this39, {
|
|
6437
6430
|
resourceId: resourceId,
|
|
6438
6431
|
correlationId: oldCorrelationId,
|
|
6439
6432
|
moveMeeting: true
|
|
6440
6433
|
}).then(function () {
|
|
6441
|
-
|
|
6434
|
+
_this39.resourceId = '';
|
|
6442
6435
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
6443
6436
|
});
|
|
6444
6437
|
}).catch(function (error) {
|
|
6445
|
-
|
|
6438
|
+
_this39.meetingFiniteStateMachine.fail(error);
|
|
6446
6439
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
6447
|
-
correlation_id:
|
|
6448
|
-
locus_id:
|
|
6440
|
+
correlation_id: _this39.correlationId,
|
|
6441
|
+
locus_id: _this39.locusUrl.split('/').pop(),
|
|
6449
6442
|
reason: error.message,
|
|
6450
6443
|
stack: error.stack
|
|
6451
6444
|
});
|
|
@@ -6480,6 +6473,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6480
6473
|
new _internalPluginMetrics.RtcMetrics(this.webex, {
|
|
6481
6474
|
meetingId: this.id
|
|
6482
6475
|
}, this.correlationId) : undefined;
|
|
6476
|
+
|
|
6477
|
+
// ongoing reachability checks slow down new media connections especially on Firefox, so we stop them
|
|
6478
|
+
this.getWebexObject().meetings.reachability.stopReachability();
|
|
6483
6479
|
mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(), this.id, {
|
|
6484
6480
|
rtcMetrics: this.rtcMetrics,
|
|
6485
6481
|
mediaProperties: this.mediaProperties,
|
|
@@ -6505,36 +6501,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6505
6501
|
|
|
6506
6502
|
// publish the streams
|
|
6507
6503
|
if (!this.mediaProperties.audioStream) {
|
|
6508
|
-
_context22.next =
|
|
6504
|
+
_context22.next = 10;
|
|
6509
6505
|
break;
|
|
6510
6506
|
}
|
|
6511
6507
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
6512
|
-
_context22.next =
|
|
6508
|
+
_context22.next = 10;
|
|
6513
6509
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
6514
|
-
case
|
|
6510
|
+
case 10:
|
|
6515
6511
|
if (!this.mediaProperties.videoStream) {
|
|
6516
|
-
_context22.next =
|
|
6512
|
+
_context22.next = 13;
|
|
6517
6513
|
break;
|
|
6518
6514
|
}
|
|
6519
|
-
_context22.next =
|
|
6515
|
+
_context22.next = 13;
|
|
6520
6516
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
6521
|
-
case
|
|
6517
|
+
case 13:
|
|
6522
6518
|
if (!this.mediaProperties.shareVideoStream) {
|
|
6523
|
-
_context22.next =
|
|
6519
|
+
_context22.next = 16;
|
|
6524
6520
|
break;
|
|
6525
6521
|
}
|
|
6526
|
-
_context22.next =
|
|
6522
|
+
_context22.next = 16;
|
|
6527
6523
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
6528
|
-
case
|
|
6524
|
+
case 16:
|
|
6529
6525
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
6530
|
-
_context22.next =
|
|
6526
|
+
_context22.next = 19;
|
|
6531
6527
|
break;
|
|
6532
6528
|
}
|
|
6533
|
-
_context22.next =
|
|
6529
|
+
_context22.next = 19;
|
|
6534
6530
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
6535
|
-
case 18:
|
|
6536
|
-
return _context22.abrupt("return", mc);
|
|
6537
6531
|
case 19:
|
|
6532
|
+
return _context22.abrupt("return", mc);
|
|
6533
|
+
case 20:
|
|
6538
6534
|
case "end":
|
|
6539
6535
|
return _context22.stop();
|
|
6540
6536
|
}
|
|
@@ -6558,9 +6554,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6558
6554
|
}, {
|
|
6559
6555
|
key: "forwardEvent",
|
|
6560
6556
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
6561
|
-
var
|
|
6557
|
+
var _this40 = this;
|
|
6562
6558
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
6563
|
-
return _triggerProxy.default.trigger(
|
|
6559
|
+
return _triggerProxy.default.trigger(_this40, {
|
|
6564
6560
|
file: 'meetings',
|
|
6565
6561
|
function: 'addMedia'
|
|
6566
6562
|
}, meetingEventType, data);
|
|
@@ -6737,7 +6733,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6737
6733
|
key: "waitForRemoteSDPAnswer",
|
|
6738
6734
|
value: (function () {
|
|
6739
6735
|
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee25() {
|
|
6740
|
-
var
|
|
6736
|
+
var _this41 = this;
|
|
6741
6737
|
var LOG_HEADER, deferSDPAnswer;
|
|
6742
6738
|
return _regenerator.default.wrap(function _callee25$(_context25) {
|
|
6743
6739
|
while (1) switch (_context25.prev = _context25.next) {
|
|
@@ -6754,18 +6750,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6754
6750
|
this.sdpResponseTimer = setTimeout(function () {
|
|
6755
6751
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
|
|
6756
6752
|
// @ts-ignore
|
|
6757
|
-
|
|
6753
|
+
_this41.webex.internal.newMetrics.submitClientEvent({
|
|
6758
6754
|
name: 'client.media-engine.remote-sdp-received',
|
|
6759
6755
|
payload: {
|
|
6760
6756
|
canProceed: false,
|
|
6761
6757
|
errors: [
|
|
6762
6758
|
// @ts-ignore
|
|
6763
|
-
|
|
6759
|
+
_this41.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
6764
6760
|
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
|
|
6765
6761
|
})]
|
|
6766
6762
|
},
|
|
6767
6763
|
options: {
|
|
6768
|
-
meetingId:
|
|
6764
|
+
meetingId: _this41.id,
|
|
6769
6765
|
rawError: new Error('Timeout waiting for SDP answer')
|
|
6770
6766
|
}
|
|
6771
6767
|
});
|
|
@@ -7272,10 +7268,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7272
7268
|
}, {
|
|
7273
7269
|
key: "addMedia",
|
|
7274
7270
|
value: function addMedia() {
|
|
7275
|
-
var
|
|
7271
|
+
var _this42 = this;
|
|
7276
7272
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7277
7273
|
return this.addMediaInternal(function () {
|
|
7278
|
-
return
|
|
7274
|
+
return _this42.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
7279
7275
|
}, undefined, false, options);
|
|
7280
7276
|
}
|
|
7281
7277
|
|
|
@@ -7412,54 +7408,55 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7412
7408
|
});
|
|
7413
7409
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
7414
7410
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
7415
|
-
|
|
7416
|
-
_context35.
|
|
7411
|
+
this.brbState = (0, _brbState.createBrbState)(this, false);
|
|
7412
|
+
_context35.prev = 19;
|
|
7413
|
+
_context35.next = 22;
|
|
7417
7414
|
return this.setUpLocalStreamReferences(localStreams);
|
|
7418
|
-
case
|
|
7415
|
+
case 22:
|
|
7419
7416
|
this.setMercuryListener();
|
|
7420
7417
|
this.createStatsAnalyzer();
|
|
7421
|
-
_context35.prev =
|
|
7422
|
-
_context35.next =
|
|
7418
|
+
_context35.prev = 24;
|
|
7419
|
+
_context35.next = 27;
|
|
7423
7420
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7424
|
-
case
|
|
7425
|
-
_context35.next =
|
|
7421
|
+
case 27:
|
|
7422
|
+
_context35.next = 40;
|
|
7426
7423
|
break;
|
|
7427
|
-
case
|
|
7428
|
-
_context35.prev =
|
|
7429
|
-
_context35.t0 = _context35["catch"](
|
|
7424
|
+
case 29:
|
|
7425
|
+
_context35.prev = 29;
|
|
7426
|
+
_context35.t0 = _context35["catch"](24);
|
|
7430
7427
|
if (!(_context35.t0 instanceof _multistreamNotSupportedError.default)) {
|
|
7431
|
-
_context35.next =
|
|
7428
|
+
_context35.next = 39;
|
|
7432
7429
|
break;
|
|
7433
7430
|
}
|
|
7434
7431
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " we asked for multistream backend (Homer), but got transcoded backend, recreating media connection..."));
|
|
7435
|
-
_context35.next =
|
|
7432
|
+
_context35.next = 35;
|
|
7436
7433
|
return this.downgradeFromMultistreamToTranscoded();
|
|
7437
|
-
case
|
|
7438
|
-
_context35.next =
|
|
7434
|
+
case 35:
|
|
7435
|
+
_context35.next = 37;
|
|
7439
7436
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true, undefined);
|
|
7440
|
-
case
|
|
7441
|
-
_context35.next =
|
|
7437
|
+
case 37:
|
|
7438
|
+
_context35.next = 40;
|
|
7442
7439
|
break;
|
|
7443
|
-
case 38:
|
|
7444
|
-
throw _context35.t0;
|
|
7445
7440
|
case 39:
|
|
7441
|
+
throw _context35.t0;
|
|
7442
|
+
case 40:
|
|
7446
7443
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
7447
|
-
_context35.next =
|
|
7444
|
+
_context35.next = 43;
|
|
7448
7445
|
break;
|
|
7449
7446
|
}
|
|
7450
|
-
_context35.next =
|
|
7447
|
+
_context35.next = 43;
|
|
7451
7448
|
return this.enqueueScreenShareFloorRequest();
|
|
7452
|
-
case
|
|
7453
|
-
_context35.next =
|
|
7449
|
+
case 43:
|
|
7450
|
+
_context35.next = 45;
|
|
7454
7451
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7455
|
-
case
|
|
7452
|
+
case 45:
|
|
7456
7453
|
_yield$this$mediaProp = _context35.sent;
|
|
7457
7454
|
connectionType = _yield$this$mediaProp.connectionType;
|
|
7458
7455
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
7459
7456
|
numTransports = _yield$this$mediaProp.numTransports;
|
|
7460
|
-
_context35.next =
|
|
7457
|
+
_context35.next = 51;
|
|
7461
7458
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7462
|
-
case
|
|
7459
|
+
case 51:
|
|
7463
7460
|
reachabilityStats = _context35.sent;
|
|
7464
7461
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7465
7462
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
@@ -7486,21 +7483,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7486
7483
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
7487
7484
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
7488
7485
|
this.startPeriodicLogUpload();
|
|
7489
|
-
_context35.next =
|
|
7486
|
+
_context35.next = 78;
|
|
7490
7487
|
break;
|
|
7491
|
-
case
|
|
7492
|
-
_context35.prev =
|
|
7493
|
-
_context35.t1 = _context35["catch"](
|
|
7488
|
+
case 60:
|
|
7489
|
+
_context35.prev = 60;
|
|
7490
|
+
_context35.t1 = _context35["catch"](19);
|
|
7494
7491
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context35.t1);
|
|
7495
7492
|
|
|
7496
7493
|
// @ts-ignore
|
|
7497
|
-
_context35.next =
|
|
7494
|
+
_context35.next = 65;
|
|
7498
7495
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7499
|
-
case
|
|
7496
|
+
case 65:
|
|
7500
7497
|
reachabilityMetrics = _context35.sent;
|
|
7501
|
-
_context35.next =
|
|
7498
|
+
_context35.next = 68;
|
|
7502
7499
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7503
|
-
case
|
|
7500
|
+
case 68:
|
|
7504
7501
|
_yield$this$mediaProp2 = _context35.sent;
|
|
7505
7502
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7506
7503
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
@@ -7524,9 +7521,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7524
7521
|
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7525
7522
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7526
7523
|
}));
|
|
7527
|
-
_context35.next =
|
|
7524
|
+
_context35.next = 75;
|
|
7528
7525
|
return this.cleanUpOnAddMediaFailure();
|
|
7529
|
-
case
|
|
7526
|
+
case 75:
|
|
7530
7527
|
// Upload logs on error while adding media
|
|
7531
7528
|
_triggerProxy.default.trigger(this, {
|
|
7532
7529
|
file: 'meeting/index',
|
|
@@ -7538,15 +7535,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7538
7535
|
});
|
|
7539
7536
|
}
|
|
7540
7537
|
throw _context35.t1;
|
|
7541
|
-
case
|
|
7542
|
-
_context35.prev =
|
|
7538
|
+
case 78:
|
|
7539
|
+
_context35.prev = 78;
|
|
7543
7540
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7544
|
-
return _context35.finish(
|
|
7545
|
-
case
|
|
7541
|
+
return _context35.finish(78);
|
|
7542
|
+
case 81:
|
|
7546
7543
|
case "end":
|
|
7547
7544
|
return _context35.stop();
|
|
7548
7545
|
}
|
|
7549
|
-
}, _callee35, this, [[
|
|
7546
|
+
}, _callee35, this, [[19, 60, 78, 81], [24, 29]]);
|
|
7550
7547
|
}));
|
|
7551
7548
|
function addMediaInternal(_x33, _x34, _x35) {
|
|
7552
7549
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -7578,7 +7575,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7578
7575
|
* @memberof Meeting
|
|
7579
7576
|
*/
|
|
7580
7577
|
function enqueueMediaUpdate(mediaUpdateType) {
|
|
7581
|
-
var
|
|
7578
|
+
var _this43 = this;
|
|
7582
7579
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7583
7580
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
7584
7581
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -7589,9 +7586,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7589
7586
|
options: options
|
|
7590
7587
|
};
|
|
7591
7588
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
7592
|
-
|
|
7589
|
+
_this43.queuedMediaUpdates.push(queueItem);
|
|
7593
7590
|
if (canUpdateMediaNow) {
|
|
7594
|
-
|
|
7591
|
+
_this43.processNextQueuedMediaUpdate();
|
|
7595
7592
|
}
|
|
7596
7593
|
});
|
|
7597
7594
|
}
|
|
@@ -7696,7 +7693,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7696
7693
|
}, {
|
|
7697
7694
|
key: "acknowledge",
|
|
7698
7695
|
value: function acknowledge(type) {
|
|
7699
|
-
var
|
|
7696
|
+
var _this44 = this;
|
|
7700
7697
|
if (!type) {
|
|
7701
7698
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
7702
7699
|
}
|
|
@@ -7708,12 +7705,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7708
7705
|
}).then(function (response) {
|
|
7709
7706
|
return _promise.default.resolve(response);
|
|
7710
7707
|
}).then(function (response) {
|
|
7711
|
-
|
|
7708
|
+
_this44.meetingFiniteStateMachine.ring(type);
|
|
7712
7709
|
// @ts-ignore
|
|
7713
|
-
|
|
7710
|
+
_this44.webex.internal.newMetrics.submitClientEvent({
|
|
7714
7711
|
name: 'client.alert.displayed',
|
|
7715
7712
|
options: {
|
|
7716
|
-
meetingId:
|
|
7713
|
+
meetingId: _this44.id
|
|
7717
7714
|
}
|
|
7718
7715
|
});
|
|
7719
7716
|
return _promise.default.resolve({
|
|
@@ -7738,12 +7735,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7738
7735
|
}, {
|
|
7739
7736
|
key: "decline",
|
|
7740
7737
|
value: function decline(reason) {
|
|
7741
|
-
var
|
|
7738
|
+
var _this45 = this;
|
|
7742
7739
|
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
7743
|
-
|
|
7740
|
+
_this45.meetingFiniteStateMachine.decline();
|
|
7744
7741
|
return _promise.default.resolve(decline);
|
|
7745
7742
|
}).catch(function (error) {
|
|
7746
|
-
|
|
7743
|
+
_this45.meetingFiniteStateMachine.fail(error);
|
|
7747
7744
|
return _promise.default.reject(error);
|
|
7748
7745
|
});
|
|
7749
7746
|
}
|
|
@@ -7794,7 +7791,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7794
7791
|
}, {
|
|
7795
7792
|
key: "leave",
|
|
7796
7793
|
value: function leave() {
|
|
7797
|
-
var
|
|
7794
|
+
var _this46 = this;
|
|
7798
7795
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7799
7796
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
7800
7797
|
|
|
@@ -7806,7 +7803,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7806
7803
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7807
7804
|
return (
|
|
7808
7805
|
// @ts-ignore
|
|
7809
|
-
|
|
7806
|
+
_this46.webex.internal.newMetrics.submitClientEvent({
|
|
7810
7807
|
name: 'client.call.leave',
|
|
7811
7808
|
payload: _objectSpread({
|
|
7812
7809
|
trigger: 'user-interaction',
|
|
@@ -7814,7 +7811,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7814
7811
|
leaveReason: options.clientEventLeaveReason
|
|
7815
7812
|
}, payload),
|
|
7816
7813
|
options: {
|
|
7817
|
-
meetingId:
|
|
7814
|
+
meetingId: _this46.id
|
|
7818
7815
|
}
|
|
7819
7816
|
})
|
|
7820
7817
|
);
|
|
@@ -7823,24 +7820,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7823
7820
|
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
|
7824
7821
|
// CA team recommends submitting this *after* locus /leave
|
|
7825
7822
|
submitLeaveMetric();
|
|
7826
|
-
|
|
7827
|
-
|
|
7823
|
+
_this46.meetingFiniteStateMachine.leave();
|
|
7824
|
+
_this46.clearMeetingData();
|
|
7828
7825
|
|
|
7829
7826
|
// upload logs on leave irrespective of meeting delete
|
|
7830
|
-
_triggerProxy.default.trigger(
|
|
7827
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7831
7828
|
file: 'meeting/index',
|
|
7832
7829
|
function: 'leave'
|
|
7833
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7830
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7834
7831
|
|
|
7835
7832
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
7836
|
-
if (
|
|
7833
|
+
if (_this46.wirelessShare || _this46.guest) {
|
|
7837
7834
|
// If screen sharing clean the meeting object
|
|
7838
|
-
_triggerProxy.default.trigger(
|
|
7835
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7839
7836
|
file: 'meeting/index',
|
|
7840
7837
|
function: 'leave'
|
|
7841
7838
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
7842
7839
|
reason: options.reason,
|
|
7843
|
-
meetingId:
|
|
7840
|
+
meetingId: _this46.id
|
|
7844
7841
|
});
|
|
7845
7842
|
}
|
|
7846
7843
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
@@ -7857,16 +7854,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7857
7854
|
shownToUser: false
|
|
7858
7855
|
}]
|
|
7859
7856
|
});
|
|
7860
|
-
|
|
7857
|
+
_this46.meetingFiniteStateMachine.fail(error);
|
|
7861
7858
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
7862
7859
|
// upload logs on leave irrespective of meeting delete
|
|
7863
|
-
_triggerProxy.default.trigger(
|
|
7860
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7864
7861
|
file: 'meeting/index',
|
|
7865
7862
|
function: 'leave'
|
|
7866
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7863
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7867
7864
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
7868
|
-
correlation_id:
|
|
7869
|
-
locus_id:
|
|
7865
|
+
correlation_id: _this46.correlationId,
|
|
7866
|
+
locus_id: _this46.locusUrl.split('/').pop(),
|
|
7870
7867
|
reason: error.message,
|
|
7871
7868
|
stack: error.stack,
|
|
7872
7869
|
code: error.code
|
|
@@ -7886,7 +7883,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7886
7883
|
}, {
|
|
7887
7884
|
key: "startWhiteboardShare",
|
|
7888
7885
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
7889
|
-
var
|
|
7886
|
+
var _this47 = this;
|
|
7890
7887
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7891
7888
|
return element.name === 'whiteboard';
|
|
7892
7889
|
});
|
|
@@ -7915,13 +7912,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7915
7912
|
body.resourceToken = resourceToken;
|
|
7916
7913
|
}
|
|
7917
7914
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
7918
|
-
|
|
7915
|
+
_this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7919
7916
|
return _promise.default.resolve();
|
|
7920
7917
|
}).catch(function (error) {
|
|
7921
7918
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
7922
7919
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
7923
|
-
correlation_id:
|
|
7924
|
-
locus_id:
|
|
7920
|
+
correlation_id: _this47.correlationId,
|
|
7921
|
+
locus_id: _this47.locusUrl.split('/').pop(),
|
|
7925
7922
|
reason: error.message,
|
|
7926
7923
|
stack: error.stack,
|
|
7927
7924
|
board: {
|
|
@@ -7944,7 +7941,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7944
7941
|
}, {
|
|
7945
7942
|
key: "stopWhiteboardShare",
|
|
7946
7943
|
value: function stopWhiteboardShare(channelUrl) {
|
|
7947
|
-
var
|
|
7944
|
+
var _this48 = this;
|
|
7948
7945
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7949
7946
|
return element.name === 'whiteboard';
|
|
7950
7947
|
});
|
|
@@ -7967,8 +7964,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7967
7964
|
}).catch(function (error) {
|
|
7968
7965
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
7969
7966
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
7970
|
-
correlation_id:
|
|
7971
|
-
locus_id:
|
|
7967
|
+
correlation_id: _this48.correlationId,
|
|
7968
|
+
locus_id: _this48.locusUrl.split('/').pop(),
|
|
7972
7969
|
reason: error.message,
|
|
7973
7970
|
stack: error.stack,
|
|
7974
7971
|
board: {
|
|
@@ -7990,7 +7987,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7990
7987
|
}, {
|
|
7991
7988
|
key: "requestScreenShareFloor",
|
|
7992
7989
|
value: function requestScreenShareFloor() {
|
|
7993
|
-
var
|
|
7990
|
+
var _this49 = this;
|
|
7994
7991
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
7995
7992
|
_loggerProxy.default.logger.log("Meeting:index#requestScreenShareFloor --> NOT requesting floor, because we don't have the share stream anymore (shareStream=".concat(this.mediaProperties.shareVideoStream ? 'yes' : 'no', ", sendShare=").concat(this.mediaProperties.mediaDirection.sendShare, ")"));
|
|
7996
7993
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -8021,34 +8018,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8021
8018
|
resourceUrl: this.resourceUrl,
|
|
8022
8019
|
shareInstanceId: this.localShareInstanceId
|
|
8023
8020
|
}).then(function () {
|
|
8024
|
-
|
|
8021
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
8025
8022
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
8026
|
-
correlation_id:
|
|
8027
|
-
locus_id:
|
|
8023
|
+
correlation_id: _this49.correlationId,
|
|
8024
|
+
locus_id: _this49.locusUrl.split('/').pop()
|
|
8028
8025
|
});
|
|
8029
8026
|
return _promise.default.resolve();
|
|
8030
8027
|
}).catch(function (error) {
|
|
8031
8028
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
8032
8029
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
8033
|
-
correlation_id:
|
|
8034
|
-
locus_id:
|
|
8030
|
+
correlation_id: _this49.correlationId,
|
|
8031
|
+
locus_id: _this49.locusUrl.split('/').pop(),
|
|
8035
8032
|
reason: error.message,
|
|
8036
8033
|
stack: error.stack
|
|
8037
8034
|
});
|
|
8038
8035
|
|
|
8039
8036
|
// @ts-ignore
|
|
8040
|
-
|
|
8037
|
+
_this49.webex.internal.newMetrics.submitClientEvent({
|
|
8041
8038
|
name: 'client.share.floor-granted.local',
|
|
8042
8039
|
payload: {
|
|
8043
8040
|
mediaType: 'share',
|
|
8044
8041
|
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
|
8045
|
-
shareInstanceId:
|
|
8042
|
+
shareInstanceId: _this49.localShareInstanceId
|
|
8046
8043
|
},
|
|
8047
8044
|
options: {
|
|
8048
|
-
meetingId:
|
|
8045
|
+
meetingId: _this49.id
|
|
8049
8046
|
}
|
|
8050
8047
|
});
|
|
8051
|
-
|
|
8048
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
8052
8049
|
return _promise.default.reject(error);
|
|
8053
8050
|
});
|
|
8054
8051
|
}
|
|
@@ -8071,10 +8068,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8071
8068
|
}, {
|
|
8072
8069
|
key: "requestScreenShareFloorIfPending",
|
|
8073
8070
|
value: function requestScreenShareFloorIfPending() {
|
|
8074
|
-
var
|
|
8071
|
+
var _this50 = this;
|
|
8075
8072
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
8076
8073
|
this.requestScreenShareFloor().then(function () {
|
|
8077
|
-
|
|
8074
|
+
_this50.floorGrantPending = false;
|
|
8078
8075
|
});
|
|
8079
8076
|
}
|
|
8080
8077
|
}
|
|
@@ -8088,7 +8085,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8088
8085
|
}, {
|
|
8089
8086
|
key: "releaseScreenShareFloor",
|
|
8090
8087
|
value: function releaseScreenShareFloor() {
|
|
8091
|
-
var
|
|
8088
|
+
var _this51 = this;
|
|
8092
8089
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
8093
8090
|
return element.name === _constants.CONTENT;
|
|
8094
8091
|
});
|
|
@@ -8123,8 +8120,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8123
8120
|
}).catch(function (error) {
|
|
8124
8121
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
8125
8122
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
8126
|
-
correlation_id:
|
|
8127
|
-
locus_id:
|
|
8123
|
+
correlation_id: _this51.correlationId,
|
|
8124
|
+
locus_id: _this51.locusUrl.split('/').pop(),
|
|
8128
8125
|
reason: error.message,
|
|
8129
8126
|
stack: error.stack
|
|
8130
8127
|
});
|
|
@@ -8304,7 +8301,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8304
8301
|
}, {
|
|
8305
8302
|
key: "changeVideoLayout",
|
|
8306
8303
|
value: function changeVideoLayout(layoutType) {
|
|
8307
|
-
var
|
|
8304
|
+
var _this52 = this;
|
|
8308
8305
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
8309
8306
|
var main = renderInfo.main,
|
|
8310
8307
|
content = renderInfo.content;
|
|
@@ -8358,7 +8355,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8358
8355
|
}
|
|
8359
8356
|
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
|
8360
8357
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
8361
|
-
_triggerProxy.default.trigger(
|
|
8358
|
+
_triggerProxy.default.trigger(_this52, {
|
|
8362
8359
|
file: 'meeting/index',
|
|
8363
8360
|
function: 'changeVideoLayout'
|
|
8364
8361
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -8474,7 +8471,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8474
8471
|
}, {
|
|
8475
8472
|
key: "endMeetingForAll",
|
|
8476
8473
|
value: function endMeetingForAll() {
|
|
8477
|
-
var
|
|
8474
|
+
var _this53 = this;
|
|
8478
8475
|
// @ts-ignore
|
|
8479
8476
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
8480
8477
|
name: 'client.call.leave',
|
|
@@ -8492,25 +8489,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8492
8489
|
locus_id: this.locusId
|
|
8493
8490
|
});
|
|
8494
8491
|
return _util2.default.endMeetingForAll(this).then(function (end) {
|
|
8495
|
-
|
|
8496
|
-
|
|
8492
|
+
_this53.meetingFiniteStateMachine.end();
|
|
8493
|
+
_this53.clearMeetingData();
|
|
8497
8494
|
// upload logs on leave irrespective of meeting delete
|
|
8498
|
-
_triggerProxy.default.trigger(
|
|
8495
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8499
8496
|
file: 'meeting/index',
|
|
8500
8497
|
function: 'endMeetingForAll'
|
|
8501
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8498
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8502
8499
|
return end;
|
|
8503
8500
|
}).catch(function (error) {
|
|
8504
|
-
|
|
8501
|
+
_this53.meetingFiniteStateMachine.fail(error);
|
|
8505
8502
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
8506
8503
|
// upload logs on leave irrespective of meeting delete
|
|
8507
|
-
_triggerProxy.default.trigger(
|
|
8504
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8508
8505
|
file: 'meeting/index',
|
|
8509
8506
|
function: 'endMeetingForAll'
|
|
8510
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8507
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8511
8508
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
8512
|
-
correlation_id:
|
|
8513
|
-
locus_id:
|
|
8509
|
+
correlation_id: _this53.correlationId,
|
|
8510
|
+
locus_id: _this53.locusUrl.split('/').pop(),
|
|
8514
8511
|
reason: error.message,
|
|
8515
8512
|
stack: error.stack,
|
|
8516
8513
|
code: error.code
|
|
@@ -8652,7 +8649,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8652
8649
|
_this$mediaProperties43,
|
|
8653
8650
|
_this$mediaProperties44,
|
|
8654
8651
|
_this$mediaProperties45,
|
|
8655
|
-
|
|
8652
|
+
_this54 = this;
|
|
8656
8653
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
8657
8654
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
8658
8655
|
if (!this.canUpdateMedia()) {
|
|
@@ -8677,8 +8674,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8677
8674
|
}).catch(function (error) {
|
|
8678
8675
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
8679
8676
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
8680
|
-
correlation_id:
|
|
8681
|
-
locus_id:
|
|
8677
|
+
correlation_id: _this54.correlationId,
|
|
8678
|
+
locus_id: _this54.locusUrl.split('/').pop(),
|
|
8682
8679
|
reason: error.message,
|
|
8683
8680
|
stack: error.stack
|
|
8684
8681
|
});
|