@webex/plugin-meetings 3.7.0-next.56 → 3.7.0-next.58
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 +237 -243
- package/dist/meeting/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/webinar/index.js +1 -1
- package/package.json +3 -3
- package/src/meeting/brbState.ts +169 -0
- package/src/meeting/index.ts +10 -18
- package/test/unit/spec/meeting/brbState.ts +114 -0
- package/test/unit/spec/meeting/index.js +29 -26
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({
|
|
@@ -681,8 +683,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
681
683
|
* @returns {undefined}
|
|
682
684
|
*/
|
|
683
685
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "roapMessageReceived", function (roapMessage) {
|
|
684
|
-
var mediaServer = _util3.default.getMediaServer(roapMessage.sdp);
|
|
685
|
-
if (_this.isMultistream && mediaServer !== 'homer') {
|
|
686
|
+
var mediaServer = roapMessage.messageType === 'ANSWER' ? _util3.default.getMediaServer(roapMessage.sdp) : undefined;
|
|
687
|
+
if (_this.isMultistream && mediaServer && mediaServer !== 'homer') {
|
|
686
688
|
throw new _multistreamNotSupportedError.default("Client asked for multistream backend (Homer), but got ".concat(mediaServer, " instead"));
|
|
687
689
|
}
|
|
688
690
|
_this.mediaProperties.webrtcMediaConnection.roapMessageReceived(roapMessage);
|
|
@@ -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
|
});
|
|
@@ -6558,9 +6551,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6558
6551
|
}, {
|
|
6559
6552
|
key: "forwardEvent",
|
|
6560
6553
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
6561
|
-
var
|
|
6554
|
+
var _this40 = this;
|
|
6562
6555
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
6563
|
-
return _triggerProxy.default.trigger(
|
|
6556
|
+
return _triggerProxy.default.trigger(_this40, {
|
|
6564
6557
|
file: 'meetings',
|
|
6565
6558
|
function: 'addMedia'
|
|
6566
6559
|
}, meetingEventType, data);
|
|
@@ -6737,7 +6730,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6737
6730
|
key: "waitForRemoteSDPAnswer",
|
|
6738
6731
|
value: (function () {
|
|
6739
6732
|
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee25() {
|
|
6740
|
-
var
|
|
6733
|
+
var _this41 = this;
|
|
6741
6734
|
var LOG_HEADER, deferSDPAnswer;
|
|
6742
6735
|
return _regenerator.default.wrap(function _callee25$(_context25) {
|
|
6743
6736
|
while (1) switch (_context25.prev = _context25.next) {
|
|
@@ -6754,18 +6747,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6754
6747
|
this.sdpResponseTimer = setTimeout(function () {
|
|
6755
6748
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
|
|
6756
6749
|
// @ts-ignore
|
|
6757
|
-
|
|
6750
|
+
_this41.webex.internal.newMetrics.submitClientEvent({
|
|
6758
6751
|
name: 'client.media-engine.remote-sdp-received',
|
|
6759
6752
|
payload: {
|
|
6760
6753
|
canProceed: false,
|
|
6761
6754
|
errors: [
|
|
6762
6755
|
// @ts-ignore
|
|
6763
|
-
|
|
6756
|
+
_this41.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
6764
6757
|
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
|
|
6765
6758
|
})]
|
|
6766
6759
|
},
|
|
6767
6760
|
options: {
|
|
6768
|
-
meetingId:
|
|
6761
|
+
meetingId: _this41.id,
|
|
6769
6762
|
rawError: new Error('Timeout waiting for SDP answer')
|
|
6770
6763
|
}
|
|
6771
6764
|
});
|
|
@@ -7272,10 +7265,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7272
7265
|
}, {
|
|
7273
7266
|
key: "addMedia",
|
|
7274
7267
|
value: function addMedia() {
|
|
7275
|
-
var
|
|
7268
|
+
var _this42 = this;
|
|
7276
7269
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7277
7270
|
return this.addMediaInternal(function () {
|
|
7278
|
-
return
|
|
7271
|
+
return _this42.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
7279
7272
|
}, undefined, false, options);
|
|
7280
7273
|
}
|
|
7281
7274
|
|
|
@@ -7412,54 +7405,55 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7412
7405
|
});
|
|
7413
7406
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
7414
7407
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
7415
|
-
|
|
7416
|
-
_context35.
|
|
7408
|
+
this.brbState = (0, _brbState.createBrbState)(this, false);
|
|
7409
|
+
_context35.prev = 19;
|
|
7410
|
+
_context35.next = 22;
|
|
7417
7411
|
return this.setUpLocalStreamReferences(localStreams);
|
|
7418
|
-
case
|
|
7412
|
+
case 22:
|
|
7419
7413
|
this.setMercuryListener();
|
|
7420
7414
|
this.createStatsAnalyzer();
|
|
7421
|
-
_context35.prev =
|
|
7422
|
-
_context35.next =
|
|
7415
|
+
_context35.prev = 24;
|
|
7416
|
+
_context35.next = 27;
|
|
7423
7417
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7424
|
-
case
|
|
7425
|
-
_context35.next =
|
|
7418
|
+
case 27:
|
|
7419
|
+
_context35.next = 40;
|
|
7426
7420
|
break;
|
|
7427
|
-
case
|
|
7428
|
-
_context35.prev =
|
|
7429
|
-
_context35.t0 = _context35["catch"](
|
|
7421
|
+
case 29:
|
|
7422
|
+
_context35.prev = 29;
|
|
7423
|
+
_context35.t0 = _context35["catch"](24);
|
|
7430
7424
|
if (!(_context35.t0 instanceof _multistreamNotSupportedError.default)) {
|
|
7431
|
-
_context35.next =
|
|
7425
|
+
_context35.next = 39;
|
|
7432
7426
|
break;
|
|
7433
7427
|
}
|
|
7434
7428
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " we asked for multistream backend (Homer), but got transcoded backend, recreating media connection..."));
|
|
7435
|
-
_context35.next =
|
|
7429
|
+
_context35.next = 35;
|
|
7436
7430
|
return this.downgradeFromMultistreamToTranscoded();
|
|
7437
|
-
case
|
|
7438
|
-
_context35.next =
|
|
7431
|
+
case 35:
|
|
7432
|
+
_context35.next = 37;
|
|
7439
7433
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true, undefined);
|
|
7440
|
-
case
|
|
7441
|
-
_context35.next =
|
|
7434
|
+
case 37:
|
|
7435
|
+
_context35.next = 40;
|
|
7442
7436
|
break;
|
|
7443
|
-
case 38:
|
|
7444
|
-
throw _context35.t0;
|
|
7445
7437
|
case 39:
|
|
7438
|
+
throw _context35.t0;
|
|
7439
|
+
case 40:
|
|
7446
7440
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
7447
|
-
_context35.next =
|
|
7441
|
+
_context35.next = 43;
|
|
7448
7442
|
break;
|
|
7449
7443
|
}
|
|
7450
|
-
_context35.next =
|
|
7444
|
+
_context35.next = 43;
|
|
7451
7445
|
return this.enqueueScreenShareFloorRequest();
|
|
7452
|
-
case
|
|
7453
|
-
_context35.next =
|
|
7446
|
+
case 43:
|
|
7447
|
+
_context35.next = 45;
|
|
7454
7448
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7455
|
-
case
|
|
7449
|
+
case 45:
|
|
7456
7450
|
_yield$this$mediaProp = _context35.sent;
|
|
7457
7451
|
connectionType = _yield$this$mediaProp.connectionType;
|
|
7458
7452
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
7459
7453
|
numTransports = _yield$this$mediaProp.numTransports;
|
|
7460
|
-
_context35.next =
|
|
7454
|
+
_context35.next = 51;
|
|
7461
7455
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7462
|
-
case
|
|
7456
|
+
case 51:
|
|
7463
7457
|
reachabilityStats = _context35.sent;
|
|
7464
7458
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7465
7459
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
@@ -7486,21 +7480,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7486
7480
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
7487
7481
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
7488
7482
|
this.startPeriodicLogUpload();
|
|
7489
|
-
_context35.next =
|
|
7483
|
+
_context35.next = 78;
|
|
7490
7484
|
break;
|
|
7491
|
-
case
|
|
7492
|
-
_context35.prev =
|
|
7493
|
-
_context35.t1 = _context35["catch"](
|
|
7485
|
+
case 60:
|
|
7486
|
+
_context35.prev = 60;
|
|
7487
|
+
_context35.t1 = _context35["catch"](19);
|
|
7494
7488
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context35.t1);
|
|
7495
7489
|
|
|
7496
7490
|
// @ts-ignore
|
|
7497
|
-
_context35.next =
|
|
7491
|
+
_context35.next = 65;
|
|
7498
7492
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7499
|
-
case
|
|
7493
|
+
case 65:
|
|
7500
7494
|
reachabilityMetrics = _context35.sent;
|
|
7501
|
-
_context35.next =
|
|
7495
|
+
_context35.next = 68;
|
|
7502
7496
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7503
|
-
case
|
|
7497
|
+
case 68:
|
|
7504
7498
|
_yield$this$mediaProp2 = _context35.sent;
|
|
7505
7499
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7506
7500
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
@@ -7524,9 +7518,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7524
7518
|
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7525
7519
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7526
7520
|
}));
|
|
7527
|
-
_context35.next =
|
|
7521
|
+
_context35.next = 75;
|
|
7528
7522
|
return this.cleanUpOnAddMediaFailure();
|
|
7529
|
-
case
|
|
7523
|
+
case 75:
|
|
7530
7524
|
// Upload logs on error while adding media
|
|
7531
7525
|
_triggerProxy.default.trigger(this, {
|
|
7532
7526
|
file: 'meeting/index',
|
|
@@ -7538,15 +7532,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7538
7532
|
});
|
|
7539
7533
|
}
|
|
7540
7534
|
throw _context35.t1;
|
|
7541
|
-
case
|
|
7542
|
-
_context35.prev =
|
|
7535
|
+
case 78:
|
|
7536
|
+
_context35.prev = 78;
|
|
7543
7537
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7544
|
-
return _context35.finish(
|
|
7545
|
-
case
|
|
7538
|
+
return _context35.finish(78);
|
|
7539
|
+
case 81:
|
|
7546
7540
|
case "end":
|
|
7547
7541
|
return _context35.stop();
|
|
7548
7542
|
}
|
|
7549
|
-
}, _callee35, this, [[
|
|
7543
|
+
}, _callee35, this, [[19, 60, 78, 81], [24, 29]]);
|
|
7550
7544
|
}));
|
|
7551
7545
|
function addMediaInternal(_x33, _x34, _x35) {
|
|
7552
7546
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -7578,7 +7572,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7578
7572
|
* @memberof Meeting
|
|
7579
7573
|
*/
|
|
7580
7574
|
function enqueueMediaUpdate(mediaUpdateType) {
|
|
7581
|
-
var
|
|
7575
|
+
var _this43 = this;
|
|
7582
7576
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7583
7577
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
7584
7578
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -7589,9 +7583,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7589
7583
|
options: options
|
|
7590
7584
|
};
|
|
7591
7585
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
7592
|
-
|
|
7586
|
+
_this43.queuedMediaUpdates.push(queueItem);
|
|
7593
7587
|
if (canUpdateMediaNow) {
|
|
7594
|
-
|
|
7588
|
+
_this43.processNextQueuedMediaUpdate();
|
|
7595
7589
|
}
|
|
7596
7590
|
});
|
|
7597
7591
|
}
|
|
@@ -7696,7 +7690,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7696
7690
|
}, {
|
|
7697
7691
|
key: "acknowledge",
|
|
7698
7692
|
value: function acknowledge(type) {
|
|
7699
|
-
var
|
|
7693
|
+
var _this44 = this;
|
|
7700
7694
|
if (!type) {
|
|
7701
7695
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
7702
7696
|
}
|
|
@@ -7708,12 +7702,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7708
7702
|
}).then(function (response) {
|
|
7709
7703
|
return _promise.default.resolve(response);
|
|
7710
7704
|
}).then(function (response) {
|
|
7711
|
-
|
|
7705
|
+
_this44.meetingFiniteStateMachine.ring(type);
|
|
7712
7706
|
// @ts-ignore
|
|
7713
|
-
|
|
7707
|
+
_this44.webex.internal.newMetrics.submitClientEvent({
|
|
7714
7708
|
name: 'client.alert.displayed',
|
|
7715
7709
|
options: {
|
|
7716
|
-
meetingId:
|
|
7710
|
+
meetingId: _this44.id
|
|
7717
7711
|
}
|
|
7718
7712
|
});
|
|
7719
7713
|
return _promise.default.resolve({
|
|
@@ -7738,12 +7732,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7738
7732
|
}, {
|
|
7739
7733
|
key: "decline",
|
|
7740
7734
|
value: function decline(reason) {
|
|
7741
|
-
var
|
|
7735
|
+
var _this45 = this;
|
|
7742
7736
|
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
7743
|
-
|
|
7737
|
+
_this45.meetingFiniteStateMachine.decline();
|
|
7744
7738
|
return _promise.default.resolve(decline);
|
|
7745
7739
|
}).catch(function (error) {
|
|
7746
|
-
|
|
7740
|
+
_this45.meetingFiniteStateMachine.fail(error);
|
|
7747
7741
|
return _promise.default.reject(error);
|
|
7748
7742
|
});
|
|
7749
7743
|
}
|
|
@@ -7794,7 +7788,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7794
7788
|
}, {
|
|
7795
7789
|
key: "leave",
|
|
7796
7790
|
value: function leave() {
|
|
7797
|
-
var
|
|
7791
|
+
var _this46 = this;
|
|
7798
7792
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7799
7793
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
7800
7794
|
|
|
@@ -7806,7 +7800,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7806
7800
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7807
7801
|
return (
|
|
7808
7802
|
// @ts-ignore
|
|
7809
|
-
|
|
7803
|
+
_this46.webex.internal.newMetrics.submitClientEvent({
|
|
7810
7804
|
name: 'client.call.leave',
|
|
7811
7805
|
payload: _objectSpread({
|
|
7812
7806
|
trigger: 'user-interaction',
|
|
@@ -7814,7 +7808,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7814
7808
|
leaveReason: options.clientEventLeaveReason
|
|
7815
7809
|
}, payload),
|
|
7816
7810
|
options: {
|
|
7817
|
-
meetingId:
|
|
7811
|
+
meetingId: _this46.id
|
|
7818
7812
|
}
|
|
7819
7813
|
})
|
|
7820
7814
|
);
|
|
@@ -7823,24 +7817,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7823
7817
|
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
|
7824
7818
|
// CA team recommends submitting this *after* locus /leave
|
|
7825
7819
|
submitLeaveMetric();
|
|
7826
|
-
|
|
7827
|
-
|
|
7820
|
+
_this46.meetingFiniteStateMachine.leave();
|
|
7821
|
+
_this46.clearMeetingData();
|
|
7828
7822
|
|
|
7829
7823
|
// upload logs on leave irrespective of meeting delete
|
|
7830
|
-
_triggerProxy.default.trigger(
|
|
7824
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7831
7825
|
file: 'meeting/index',
|
|
7832
7826
|
function: 'leave'
|
|
7833
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7827
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7834
7828
|
|
|
7835
7829
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
7836
|
-
if (
|
|
7830
|
+
if (_this46.wirelessShare || _this46.guest) {
|
|
7837
7831
|
// If screen sharing clean the meeting object
|
|
7838
|
-
_triggerProxy.default.trigger(
|
|
7832
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7839
7833
|
file: 'meeting/index',
|
|
7840
7834
|
function: 'leave'
|
|
7841
7835
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
7842
7836
|
reason: options.reason,
|
|
7843
|
-
meetingId:
|
|
7837
|
+
meetingId: _this46.id
|
|
7844
7838
|
});
|
|
7845
7839
|
}
|
|
7846
7840
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
@@ -7857,16 +7851,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7857
7851
|
shownToUser: false
|
|
7858
7852
|
}]
|
|
7859
7853
|
});
|
|
7860
|
-
|
|
7854
|
+
_this46.meetingFiniteStateMachine.fail(error);
|
|
7861
7855
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
7862
7856
|
// upload logs on leave irrespective of meeting delete
|
|
7863
|
-
_triggerProxy.default.trigger(
|
|
7857
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7864
7858
|
file: 'meeting/index',
|
|
7865
7859
|
function: 'leave'
|
|
7866
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7860
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7867
7861
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
7868
|
-
correlation_id:
|
|
7869
|
-
locus_id:
|
|
7862
|
+
correlation_id: _this46.correlationId,
|
|
7863
|
+
locus_id: _this46.locusUrl.split('/').pop(),
|
|
7870
7864
|
reason: error.message,
|
|
7871
7865
|
stack: error.stack,
|
|
7872
7866
|
code: error.code
|
|
@@ -7886,7 +7880,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7886
7880
|
}, {
|
|
7887
7881
|
key: "startWhiteboardShare",
|
|
7888
7882
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
7889
|
-
var
|
|
7883
|
+
var _this47 = this;
|
|
7890
7884
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7891
7885
|
return element.name === 'whiteboard';
|
|
7892
7886
|
});
|
|
@@ -7915,13 +7909,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7915
7909
|
body.resourceToken = resourceToken;
|
|
7916
7910
|
}
|
|
7917
7911
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
7918
|
-
|
|
7912
|
+
_this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7919
7913
|
return _promise.default.resolve();
|
|
7920
7914
|
}).catch(function (error) {
|
|
7921
7915
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
7922
7916
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
7923
|
-
correlation_id:
|
|
7924
|
-
locus_id:
|
|
7917
|
+
correlation_id: _this47.correlationId,
|
|
7918
|
+
locus_id: _this47.locusUrl.split('/').pop(),
|
|
7925
7919
|
reason: error.message,
|
|
7926
7920
|
stack: error.stack,
|
|
7927
7921
|
board: {
|
|
@@ -7944,7 +7938,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7944
7938
|
}, {
|
|
7945
7939
|
key: "stopWhiteboardShare",
|
|
7946
7940
|
value: function stopWhiteboardShare(channelUrl) {
|
|
7947
|
-
var
|
|
7941
|
+
var _this48 = this;
|
|
7948
7942
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7949
7943
|
return element.name === 'whiteboard';
|
|
7950
7944
|
});
|
|
@@ -7967,8 +7961,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7967
7961
|
}).catch(function (error) {
|
|
7968
7962
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
7969
7963
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
7970
|
-
correlation_id:
|
|
7971
|
-
locus_id:
|
|
7964
|
+
correlation_id: _this48.correlationId,
|
|
7965
|
+
locus_id: _this48.locusUrl.split('/').pop(),
|
|
7972
7966
|
reason: error.message,
|
|
7973
7967
|
stack: error.stack,
|
|
7974
7968
|
board: {
|
|
@@ -7990,7 +7984,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7990
7984
|
}, {
|
|
7991
7985
|
key: "requestScreenShareFloor",
|
|
7992
7986
|
value: function requestScreenShareFloor() {
|
|
7993
|
-
var
|
|
7987
|
+
var _this49 = this;
|
|
7994
7988
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
7995
7989
|
_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
7990
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -8021,34 +8015,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8021
8015
|
resourceUrl: this.resourceUrl,
|
|
8022
8016
|
shareInstanceId: this.localShareInstanceId
|
|
8023
8017
|
}).then(function () {
|
|
8024
|
-
|
|
8018
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
8025
8019
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
8026
|
-
correlation_id:
|
|
8027
|
-
locus_id:
|
|
8020
|
+
correlation_id: _this49.correlationId,
|
|
8021
|
+
locus_id: _this49.locusUrl.split('/').pop()
|
|
8028
8022
|
});
|
|
8029
8023
|
return _promise.default.resolve();
|
|
8030
8024
|
}).catch(function (error) {
|
|
8031
8025
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
8032
8026
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
8033
|
-
correlation_id:
|
|
8034
|
-
locus_id:
|
|
8027
|
+
correlation_id: _this49.correlationId,
|
|
8028
|
+
locus_id: _this49.locusUrl.split('/').pop(),
|
|
8035
8029
|
reason: error.message,
|
|
8036
8030
|
stack: error.stack
|
|
8037
8031
|
});
|
|
8038
8032
|
|
|
8039
8033
|
// @ts-ignore
|
|
8040
|
-
|
|
8034
|
+
_this49.webex.internal.newMetrics.submitClientEvent({
|
|
8041
8035
|
name: 'client.share.floor-granted.local',
|
|
8042
8036
|
payload: {
|
|
8043
8037
|
mediaType: 'share',
|
|
8044
8038
|
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
|
8045
|
-
shareInstanceId:
|
|
8039
|
+
shareInstanceId: _this49.localShareInstanceId
|
|
8046
8040
|
},
|
|
8047
8041
|
options: {
|
|
8048
|
-
meetingId:
|
|
8042
|
+
meetingId: _this49.id
|
|
8049
8043
|
}
|
|
8050
8044
|
});
|
|
8051
|
-
|
|
8045
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
8052
8046
|
return _promise.default.reject(error);
|
|
8053
8047
|
});
|
|
8054
8048
|
}
|
|
@@ -8071,10 +8065,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8071
8065
|
}, {
|
|
8072
8066
|
key: "requestScreenShareFloorIfPending",
|
|
8073
8067
|
value: function requestScreenShareFloorIfPending() {
|
|
8074
|
-
var
|
|
8068
|
+
var _this50 = this;
|
|
8075
8069
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
8076
8070
|
this.requestScreenShareFloor().then(function () {
|
|
8077
|
-
|
|
8071
|
+
_this50.floorGrantPending = false;
|
|
8078
8072
|
});
|
|
8079
8073
|
}
|
|
8080
8074
|
}
|
|
@@ -8088,7 +8082,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8088
8082
|
}, {
|
|
8089
8083
|
key: "releaseScreenShareFloor",
|
|
8090
8084
|
value: function releaseScreenShareFloor() {
|
|
8091
|
-
var
|
|
8085
|
+
var _this51 = this;
|
|
8092
8086
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
8093
8087
|
return element.name === _constants.CONTENT;
|
|
8094
8088
|
});
|
|
@@ -8123,8 +8117,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8123
8117
|
}).catch(function (error) {
|
|
8124
8118
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
8125
8119
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
8126
|
-
correlation_id:
|
|
8127
|
-
locus_id:
|
|
8120
|
+
correlation_id: _this51.correlationId,
|
|
8121
|
+
locus_id: _this51.locusUrl.split('/').pop(),
|
|
8128
8122
|
reason: error.message,
|
|
8129
8123
|
stack: error.stack
|
|
8130
8124
|
});
|
|
@@ -8304,7 +8298,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8304
8298
|
}, {
|
|
8305
8299
|
key: "changeVideoLayout",
|
|
8306
8300
|
value: function changeVideoLayout(layoutType) {
|
|
8307
|
-
var
|
|
8301
|
+
var _this52 = this;
|
|
8308
8302
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
8309
8303
|
var main = renderInfo.main,
|
|
8310
8304
|
content = renderInfo.content;
|
|
@@ -8358,7 +8352,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8358
8352
|
}
|
|
8359
8353
|
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
|
8360
8354
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
8361
|
-
_triggerProxy.default.trigger(
|
|
8355
|
+
_triggerProxy.default.trigger(_this52, {
|
|
8362
8356
|
file: 'meeting/index',
|
|
8363
8357
|
function: 'changeVideoLayout'
|
|
8364
8358
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -8474,7 +8468,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8474
8468
|
}, {
|
|
8475
8469
|
key: "endMeetingForAll",
|
|
8476
8470
|
value: function endMeetingForAll() {
|
|
8477
|
-
var
|
|
8471
|
+
var _this53 = this;
|
|
8478
8472
|
// @ts-ignore
|
|
8479
8473
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
8480
8474
|
name: 'client.call.leave',
|
|
@@ -8492,25 +8486,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8492
8486
|
locus_id: this.locusId
|
|
8493
8487
|
});
|
|
8494
8488
|
return _util2.default.endMeetingForAll(this).then(function (end) {
|
|
8495
|
-
|
|
8496
|
-
|
|
8489
|
+
_this53.meetingFiniteStateMachine.end();
|
|
8490
|
+
_this53.clearMeetingData();
|
|
8497
8491
|
// upload logs on leave irrespective of meeting delete
|
|
8498
|
-
_triggerProxy.default.trigger(
|
|
8492
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8499
8493
|
file: 'meeting/index',
|
|
8500
8494
|
function: 'endMeetingForAll'
|
|
8501
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8495
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8502
8496
|
return end;
|
|
8503
8497
|
}).catch(function (error) {
|
|
8504
|
-
|
|
8498
|
+
_this53.meetingFiniteStateMachine.fail(error);
|
|
8505
8499
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
8506
8500
|
// upload logs on leave irrespective of meeting delete
|
|
8507
|
-
_triggerProxy.default.trigger(
|
|
8501
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8508
8502
|
file: 'meeting/index',
|
|
8509
8503
|
function: 'endMeetingForAll'
|
|
8510
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8504
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8511
8505
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
8512
|
-
correlation_id:
|
|
8513
|
-
locus_id:
|
|
8506
|
+
correlation_id: _this53.correlationId,
|
|
8507
|
+
locus_id: _this53.locusUrl.split('/').pop(),
|
|
8514
8508
|
reason: error.message,
|
|
8515
8509
|
stack: error.stack,
|
|
8516
8510
|
code: error.code
|
|
@@ -8652,7 +8646,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8652
8646
|
_this$mediaProperties43,
|
|
8653
8647
|
_this$mediaProperties44,
|
|
8654
8648
|
_this$mediaProperties45,
|
|
8655
|
-
|
|
8649
|
+
_this54 = this;
|
|
8656
8650
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
8657
8651
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
8658
8652
|
if (!this.canUpdateMedia()) {
|
|
@@ -8677,8 +8671,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8677
8671
|
}).catch(function (error) {
|
|
8678
8672
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
8679
8673
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
8680
|
-
correlation_id:
|
|
8681
|
-
locus_id:
|
|
8674
|
+
correlation_id: _this54.correlationId,
|
|
8675
|
+
locus_id: _this54.locusUrl.split('/').pop(),
|
|
8682
8676
|
reason: error.message,
|
|
8683
8677
|
stack: error.stack
|
|
8684
8678
|
});
|