@webex/plugin-meetings 3.7.0-next.1 → 3.7.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting/index.js +262 -198
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +1 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/types/config.d.ts +1 -0
- package/dist/types/meeting/index.d.ts +19 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +21 -21
- package/src/config.ts +1 -0
- package/src/meeting/index.ts +65 -0
- package/src/meeting/util.ts +1 -0
- package/test/unit/spec/meeting/index.js +57 -0
- package/test/unit/spec/meeting/utils.js +2 -0
package/dist/meeting/index.js
CHANGED
|
@@ -39,6 +39,7 @@ var _lodash = require("lodash");
|
|
|
39
39
|
var _jwtDecode = _interopRequireDefault(require("jwt-decode"));
|
|
40
40
|
var _webexCore = require("@webex/webex-core");
|
|
41
41
|
var _common = require("@webex/common");
|
|
42
|
+
var _commonTimers = require("@webex/common-timers");
|
|
42
43
|
var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
|
|
43
44
|
var _internalMediaCore = require("@webex/internal-media-core");
|
|
44
45
|
var _mediaHelpers = require("@webex/media-helpers");
|
|
@@ -552,6 +553,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
552
553
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidateErrors", void 0);
|
|
553
554
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidatesCount", void 0);
|
|
554
555
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "rtcMetrics", void 0);
|
|
556
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "uploadLogsTimer", void 0);
|
|
557
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "logUploadIntervalIndex", void 0);
|
|
555
558
|
/**
|
|
556
559
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
557
560
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -1434,6 +1437,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1434
1437
|
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with generated correlation id from sdk ".concat(_this.id));
|
|
1435
1438
|
_this.callStateForMetrics.correlationId = _this.id;
|
|
1436
1439
|
}
|
|
1440
|
+
_this.logUploadIntervalIndex = 0;
|
|
1441
|
+
|
|
1437
1442
|
/**
|
|
1438
1443
|
* @instance
|
|
1439
1444
|
* @type {String}
|
|
@@ -4488,6 +4493,64 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4488
4493
|
_triggerProxy.default.trigger(this, options, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
4489
4494
|
}
|
|
4490
4495
|
|
|
4496
|
+
/**
|
|
4497
|
+
* sets the timer for periodic log upload
|
|
4498
|
+
* @returns {void}
|
|
4499
|
+
*/
|
|
4500
|
+
}, {
|
|
4501
|
+
key: "setLogUploadTimer",
|
|
4502
|
+
value: function setLogUploadTimer() {
|
|
4503
|
+
var _this23 = this;
|
|
4504
|
+
// 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
|
|
4505
|
+
var LOG_UPLOAD_INTERVALS = [0.1, 1, 15, 15, 30, 30, 30, 60];
|
|
4506
|
+
var delay = 1000 *
|
|
4507
|
+
// @ts-ignore - config coming from registerPlugin
|
|
4508
|
+
this.config.logUploadIntervalMultiplicationFactor * LOG_UPLOAD_INTERVALS[this.logUploadIntervalIndex];
|
|
4509
|
+
if (this.logUploadIntervalIndex < LOG_UPLOAD_INTERVALS.length - 1) {
|
|
4510
|
+
this.logUploadIntervalIndex += 1;
|
|
4511
|
+
}
|
|
4512
|
+
this.uploadLogsTimer = (0, _commonTimers.safeSetTimeout)(function () {
|
|
4513
|
+
_this23.uploadLogsTimer = undefined;
|
|
4514
|
+
_this23.uploadLogs();
|
|
4515
|
+
|
|
4516
|
+
// just as an extra precaution, to avoid uploading logs forever in case something goes wrong
|
|
4517
|
+
// and the page remains opened, we stop it if there is no media connection
|
|
4518
|
+
if (!_this23.mediaProperties.webrtcMediaConnection) {
|
|
4519
|
+
return;
|
|
4520
|
+
}
|
|
4521
|
+
_this23.setLogUploadTimer();
|
|
4522
|
+
}, delay);
|
|
4523
|
+
}
|
|
4524
|
+
|
|
4525
|
+
/**
|
|
4526
|
+
* Starts a periodic upload of logs
|
|
4527
|
+
*
|
|
4528
|
+
* @returns {undefined}
|
|
4529
|
+
*/
|
|
4530
|
+
}, {
|
|
4531
|
+
key: "startPeriodicLogUpload",
|
|
4532
|
+
value: function startPeriodicLogUpload() {
|
|
4533
|
+
// @ts-ignore - config coming from registerPlugin
|
|
4534
|
+
if (this.config.logUploadIntervalMultiplicationFactor && !this.uploadLogsTimer) {
|
|
4535
|
+
this.logUploadIntervalIndex = 0;
|
|
4536
|
+
this.setLogUploadTimer();
|
|
4537
|
+
}
|
|
4538
|
+
}
|
|
4539
|
+
|
|
4540
|
+
/**
|
|
4541
|
+
* Stops the periodic upload of logs
|
|
4542
|
+
*
|
|
4543
|
+
* @returns {undefined}
|
|
4544
|
+
*/
|
|
4545
|
+
}, {
|
|
4546
|
+
key: "stopPeriodicLogUpload",
|
|
4547
|
+
value: function stopPeriodicLogUpload() {
|
|
4548
|
+
if (this.uploadLogsTimer) {
|
|
4549
|
+
clearTimeout(this.uploadLogsTimer);
|
|
4550
|
+
this.uploadLogsTimer = undefined;
|
|
4551
|
+
}
|
|
4552
|
+
}
|
|
4553
|
+
|
|
4491
4554
|
/**
|
|
4492
4555
|
* Removes remote audio, video and share streams from class instance's mediaProperties
|
|
4493
4556
|
* @returns {undefined}
|
|
@@ -4522,7 +4585,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4522
4585
|
}, {
|
|
4523
4586
|
key: "closeRemoteStreams",
|
|
4524
4587
|
value: function closeRemoteStreams() {
|
|
4525
|
-
var
|
|
4588
|
+
var _this24 = this;
|
|
4526
4589
|
var _this$mediaProperties4 = this.mediaProperties,
|
|
4527
4590
|
remoteAudioStream = _this$mediaProperties4.remoteAudioStream,
|
|
4528
4591
|
remoteVideoStream = _this$mediaProperties4.remoteVideoStream,
|
|
@@ -4536,7 +4599,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4536
4599
|
*/
|
|
4537
4600
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
4538
4601
|
var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
|
|
4539
|
-
_triggerProxy.default.trigger(
|
|
4602
|
+
_triggerProxy.default.trigger(_this24, {
|
|
4540
4603
|
file: 'meeting/index',
|
|
4541
4604
|
function: 'closeRemoteStreams'
|
|
4542
4605
|
}, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
|
|
@@ -4844,7 +4907,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4844
4907
|
}, {
|
|
4845
4908
|
key: "setMercuryListener",
|
|
4846
4909
|
value: function setMercuryListener() {
|
|
4847
|
-
var
|
|
4910
|
+
var _this25 = this;
|
|
4848
4911
|
// Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
|
|
4849
4912
|
// if the meeting has active peer connections, it should try to reconnect.
|
|
4850
4913
|
// @ts-ignore
|
|
@@ -4852,33 +4915,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4852
4915
|
_loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
|
|
4853
4916
|
|
|
4854
4917
|
// Only send restore event when it was disconnected before and for connected later
|
|
4855
|
-
if (!
|
|
4918
|
+
if (!_this25.hasWebsocketConnected) {
|
|
4856
4919
|
// @ts-ignore
|
|
4857
|
-
|
|
4920
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4858
4921
|
name: 'client.mercury.connection.restored',
|
|
4859
4922
|
options: {
|
|
4860
|
-
meetingId:
|
|
4923
|
+
meetingId: _this25.id
|
|
4861
4924
|
}
|
|
4862
4925
|
});
|
|
4863
4926
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
|
4864
|
-
correlation_id:
|
|
4927
|
+
correlation_id: _this25.correlationId
|
|
4865
4928
|
});
|
|
4866
4929
|
}
|
|
4867
|
-
|
|
4930
|
+
_this25.hasWebsocketConnected = true;
|
|
4868
4931
|
});
|
|
4869
4932
|
|
|
4870
4933
|
// @ts-ignore
|
|
4871
4934
|
this.webex.internal.mercury.on(_constants.OFFLINE, function () {
|
|
4872
4935
|
_loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
|
|
4873
4936
|
// @ts-ignore
|
|
4874
|
-
|
|
4937
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4875
4938
|
name: 'client.mercury.connection.lost',
|
|
4876
4939
|
options: {
|
|
4877
|
-
meetingId:
|
|
4940
|
+
meetingId: _this25.id
|
|
4878
4941
|
}
|
|
4879
4942
|
});
|
|
4880
4943
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
|
4881
|
-
correlation_id:
|
|
4944
|
+
correlation_id: _this25.correlationId
|
|
4882
4945
|
});
|
|
4883
4946
|
});
|
|
4884
4947
|
}
|
|
@@ -4980,7 +5043,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4980
5043
|
}, {
|
|
4981
5044
|
key: "muteAudio",
|
|
4982
5045
|
value: function muteAudio() {
|
|
4983
|
-
var
|
|
5046
|
+
var _this26 = this;
|
|
4984
5047
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4985
5048
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4986
5049
|
}
|
|
@@ -4996,22 +5059,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4996
5059
|
|
|
4997
5060
|
// First, stop sending the local audio media
|
|
4998
5061
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
4999
|
-
_util2.default.handleAudioLogging(
|
|
5062
|
+
_util2.default.handleAudioLogging(_this26.mediaProperties.audioStream);
|
|
5000
5063
|
// @ts-ignore
|
|
5001
|
-
|
|
5064
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
5002
5065
|
name: 'client.muted',
|
|
5003
5066
|
payload: {
|
|
5004
5067
|
trigger: 'user-interaction',
|
|
5005
5068
|
mediaType: 'audio'
|
|
5006
5069
|
},
|
|
5007
5070
|
options: {
|
|
5008
|
-
meetingId:
|
|
5071
|
+
meetingId: _this26.id
|
|
5009
5072
|
}
|
|
5010
5073
|
});
|
|
5011
5074
|
}).catch(function (error) {
|
|
5012
5075
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
|
|
5013
|
-
correlation_id:
|
|
5014
|
-
locus_id:
|
|
5076
|
+
correlation_id: _this26.correlationId,
|
|
5077
|
+
locus_id: _this26.locusUrl.split('/').pop(),
|
|
5015
5078
|
reason: error.message,
|
|
5016
5079
|
stack: error.stack
|
|
5017
5080
|
});
|
|
@@ -5030,7 +5093,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5030
5093
|
}, {
|
|
5031
5094
|
key: "unmuteAudio",
|
|
5032
5095
|
value: function unmuteAudio() {
|
|
5033
|
-
var
|
|
5096
|
+
var _this27 = this;
|
|
5034
5097
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5035
5098
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5036
5099
|
}
|
|
@@ -5046,22 +5109,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5046
5109
|
|
|
5047
5110
|
// First, send the control to unmute the participant on the server
|
|
5048
5111
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
5049
|
-
_util2.default.handleAudioLogging(
|
|
5112
|
+
_util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
|
|
5050
5113
|
// @ts-ignore
|
|
5051
|
-
|
|
5114
|
+
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
5052
5115
|
name: 'client.unmuted',
|
|
5053
5116
|
payload: {
|
|
5054
5117
|
trigger: 'user-interaction',
|
|
5055
5118
|
mediaType: 'audio'
|
|
5056
5119
|
},
|
|
5057
5120
|
options: {
|
|
5058
|
-
meetingId:
|
|
5121
|
+
meetingId: _this27.id
|
|
5059
5122
|
}
|
|
5060
5123
|
});
|
|
5061
5124
|
}).catch(function (error) {
|
|
5062
5125
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
|
|
5063
|
-
correlation_id:
|
|
5064
|
-
locus_id:
|
|
5126
|
+
correlation_id: _this27.correlationId,
|
|
5127
|
+
locus_id: _this27.locusUrl.split('/').pop(),
|
|
5065
5128
|
reason: error.message,
|
|
5066
5129
|
stack: error.stack
|
|
5067
5130
|
});
|
|
@@ -5080,7 +5143,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5080
5143
|
}, {
|
|
5081
5144
|
key: "muteVideo",
|
|
5082
5145
|
value: function muteVideo() {
|
|
5083
|
-
var
|
|
5146
|
+
var _this28 = this;
|
|
5084
5147
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5085
5148
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5086
5149
|
}
|
|
@@ -5094,22 +5157,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5094
5157
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
5095
5158
|
}
|
|
5096
5159
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
5097
|
-
_util2.default.handleVideoLogging(
|
|
5160
|
+
_util2.default.handleVideoLogging(_this28.mediaProperties.videoStream);
|
|
5098
5161
|
// @ts-ignore
|
|
5099
|
-
|
|
5162
|
+
_this28.webex.internal.newMetrics.submitClientEvent({
|
|
5100
5163
|
name: 'client.muted',
|
|
5101
5164
|
payload: {
|
|
5102
5165
|
trigger: 'user-interaction',
|
|
5103
5166
|
mediaType: 'video'
|
|
5104
5167
|
},
|
|
5105
5168
|
options: {
|
|
5106
|
-
meetingId:
|
|
5169
|
+
meetingId: _this28.id
|
|
5107
5170
|
}
|
|
5108
5171
|
});
|
|
5109
5172
|
}).catch(function (error) {
|
|
5110
5173
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
|
|
5111
|
-
correlation_id:
|
|
5112
|
-
locus_id:
|
|
5174
|
+
correlation_id: _this28.correlationId,
|
|
5175
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
5113
5176
|
reason: error.message,
|
|
5114
5177
|
stack: error.stack
|
|
5115
5178
|
});
|
|
@@ -5128,7 +5191,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5128
5191
|
}, {
|
|
5129
5192
|
key: "unmuteVideo",
|
|
5130
5193
|
value: function unmuteVideo() {
|
|
5131
|
-
var
|
|
5194
|
+
var _this29 = this;
|
|
5132
5195
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5133
5196
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5134
5197
|
}
|
|
@@ -5142,22 +5205,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5142
5205
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
5143
5206
|
}
|
|
5144
5207
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
5145
|
-
_util2.default.handleVideoLogging(
|
|
5208
|
+
_util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
|
|
5146
5209
|
// @ts-ignore
|
|
5147
|
-
|
|
5210
|
+
_this29.webex.internal.newMetrics.submitClientEvent({
|
|
5148
5211
|
name: 'client.unmuted',
|
|
5149
5212
|
payload: {
|
|
5150
5213
|
trigger: 'user-interaction',
|
|
5151
5214
|
mediaType: 'video'
|
|
5152
5215
|
},
|
|
5153
5216
|
options: {
|
|
5154
|
-
meetingId:
|
|
5217
|
+
meetingId: _this29.id
|
|
5155
5218
|
}
|
|
5156
5219
|
});
|
|
5157
5220
|
}).catch(function (error) {
|
|
5158
5221
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
|
|
5159
|
-
correlation_id:
|
|
5160
|
-
locus_id:
|
|
5222
|
+
correlation_id: _this29.correlationId,
|
|
5223
|
+
locus_id: _this29.locusUrl.split('/').pop(),
|
|
5161
5224
|
reason: error.message,
|
|
5162
5225
|
stack: error.stack
|
|
5163
5226
|
});
|
|
@@ -5187,7 +5250,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5187
5250
|
key: "joinWithMedia",
|
|
5188
5251
|
value: (function () {
|
|
5189
5252
|
var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
5190
|
-
var
|
|
5253
|
+
var _this30 = this;
|
|
5191
5254
|
var options,
|
|
5192
5255
|
mediaOptions,
|
|
5193
5256
|
_options$joinOptions,
|
|
@@ -5270,7 +5333,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5270
5333
|
case 35:
|
|
5271
5334
|
_context15.next = 37;
|
|
5272
5335
|
return this.addMediaInternal(function () {
|
|
5273
|
-
return
|
|
5336
|
+
return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5274
5337
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5275
5338
|
case 37:
|
|
5276
5339
|
mediaResponse = _context15.sent;
|
|
@@ -5362,7 +5425,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5362
5425
|
}, {
|
|
5363
5426
|
key: "reconnect",
|
|
5364
5427
|
value: function reconnect(options) {
|
|
5365
|
-
var
|
|
5428
|
+
var _this31 = this;
|
|
5366
5429
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
5367
5430
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
5368
5431
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
@@ -5378,10 +5441,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5378
5441
|
while (1) switch (_context16.prev = _context16.next) {
|
|
5379
5442
|
case 0:
|
|
5380
5443
|
_context16.next = 2;
|
|
5381
|
-
return
|
|
5444
|
+
return _this31.waitForRemoteSDPAnswer();
|
|
5382
5445
|
case 2:
|
|
5383
5446
|
_context16.next = 4;
|
|
5384
|
-
return
|
|
5447
|
+
return _this31.waitForMediaConnectionConnected();
|
|
5385
5448
|
case 4:
|
|
5386
5449
|
case "end":
|
|
5387
5450
|
return _context16.stop();
|
|
@@ -5395,7 +5458,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5395
5458
|
return _promise.default.resolve();
|
|
5396
5459
|
}
|
|
5397
5460
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
5398
|
-
|
|
5461
|
+
_this31.uploadLogs({
|
|
5399
5462
|
file: 'meeting/index',
|
|
5400
5463
|
function: 'reconnect'
|
|
5401
5464
|
});
|
|
@@ -5442,19 +5505,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5442
5505
|
}, {
|
|
5443
5506
|
key: "setCaptionLanguage",
|
|
5444
5507
|
value: function setCaptionLanguage(language) {
|
|
5445
|
-
var
|
|
5508
|
+
var _this32 = this;
|
|
5446
5509
|
return new _promise.default(function (resolve, reject) {
|
|
5447
|
-
if (!
|
|
5510
|
+
if (!_this32.isTranscriptionSupported()) {
|
|
5448
5511
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5449
5512
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5450
5513
|
}
|
|
5451
5514
|
try {
|
|
5452
5515
|
var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
|
|
5453
5516
|
// @ts-ignore
|
|
5454
|
-
|
|
5517
|
+
_this32.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5455
5518
|
var statusCode = payload.statusCode;
|
|
5456
5519
|
if (statusCode === 200) {
|
|
5457
|
-
|
|
5520
|
+
_this32.transcription.languageOptions = _objectSpread(_objectSpread({}, _this32.transcription.languageOptions), {}, {
|
|
5458
5521
|
currentCaptionLanguage: language
|
|
5459
5522
|
});
|
|
5460
5523
|
resolve(language);
|
|
@@ -5463,9 +5526,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5463
5526
|
}
|
|
5464
5527
|
};
|
|
5465
5528
|
// @ts-ignore
|
|
5466
|
-
|
|
5529
|
+
_this32.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5467
5530
|
// @ts-ignore
|
|
5468
|
-
|
|
5531
|
+
_this32.webex.internal.voicea.requestLanguage(language);
|
|
5469
5532
|
} catch (error) {
|
|
5470
5533
|
_loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
|
|
5471
5534
|
reject(error);
|
|
@@ -5481,23 +5544,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5481
5544
|
}, {
|
|
5482
5545
|
key: "setSpokenLanguage",
|
|
5483
5546
|
value: function setSpokenLanguage(language) {
|
|
5484
|
-
var
|
|
5547
|
+
var _this33 = this;
|
|
5485
5548
|
return new _promise.default(function (resolve, reject) {
|
|
5486
|
-
if (!
|
|
5549
|
+
if (!_this33.isTranscriptionSupported()) {
|
|
5487
5550
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5488
5551
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5489
5552
|
}
|
|
5490
|
-
if (
|
|
5553
|
+
if (_this33.getCurUserType() !== 'host') {
|
|
5491
5554
|
_loggerProxy.default.logger.error('Meeting:index#setSpokenLanguage --> Only host can set spoken language');
|
|
5492
5555
|
reject(new Error('Only host can set spoken language'));
|
|
5493
5556
|
}
|
|
5494
5557
|
try {
|
|
5495
5558
|
var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
|
|
5496
5559
|
// @ts-ignore
|
|
5497
|
-
|
|
5560
|
+
_this33.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5498
5561
|
var languageCode = payload.languageCode;
|
|
5499
5562
|
if (languageCode) {
|
|
5500
|
-
|
|
5563
|
+
_this33.transcription.languageOptions = _objectSpread(_objectSpread({}, _this33.transcription.languageOptions), {}, {
|
|
5501
5564
|
currentSpokenLanguage: languageCode
|
|
5502
5565
|
});
|
|
5503
5566
|
resolve(languageCode);
|
|
@@ -5507,10 +5570,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5507
5570
|
};
|
|
5508
5571
|
|
|
5509
5572
|
// @ts-ignore
|
|
5510
|
-
|
|
5573
|
+
_this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5511
5574
|
|
|
5512
5575
|
// @ts-ignore
|
|
5513
|
-
|
|
5576
|
+
_this33.webex.internal.voicea.setSpokenLanguage(language);
|
|
5514
5577
|
} catch (error) {
|
|
5515
5578
|
_loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
|
|
5516
5579
|
reject(error);
|
|
@@ -5630,7 +5693,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5630
5693
|
*/
|
|
5631
5694
|
function () {
|
|
5632
5695
|
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
5633
|
-
var
|
|
5696
|
+
var _this34 = this;
|
|
5634
5697
|
var options,
|
|
5635
5698
|
errorMessage,
|
|
5636
5699
|
error,
|
|
@@ -5776,62 +5839,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5776
5839
|
return _context18.abrupt("return", _promise.default.reject(_context18.t0));
|
|
5777
5840
|
case 51:
|
|
5778
5841
|
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5779
|
-
|
|
5780
|
-
|
|
5842
|
+
_this34.meetingFiniteStateMachine.join();
|
|
5843
|
+
_this34.setupLocusMediaRequest();
|
|
5781
5844
|
|
|
5782
5845
|
// @ts-ignore
|
|
5783
|
-
|
|
5784
|
-
(0, _classPrivateFieldSet2.default)(
|
|
5846
|
+
_this34.webex.internal.device.meetingStarted();
|
|
5847
|
+
(0, _classPrivateFieldSet2.default)(_this34, _isoLocalClientMeetingJoinTime, new Date().toISOString());
|
|
5785
5848
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5786
5849
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5787
|
-
correlation_id:
|
|
5850
|
+
correlation_id: _this34.correlationId
|
|
5788
5851
|
});
|
|
5789
5852
|
joinSuccess(join);
|
|
5790
|
-
|
|
5853
|
+
_this34.deferJoin = undefined;
|
|
5791
5854
|
return join;
|
|
5792
5855
|
}).catch(function (error) {
|
|
5793
|
-
var
|
|
5794
|
-
|
|
5856
|
+
var _this34$meetingInfo, _error$error;
|
|
5857
|
+
_this34.meetingFiniteStateMachine.fail(error);
|
|
5795
5858
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
5796
5859
|
|
|
5797
5860
|
// @ts-ignore
|
|
5798
|
-
|
|
5861
|
+
_this34.webex.internal.newMetrics.submitClientEvent({
|
|
5799
5862
|
name: 'client.locus.join.response',
|
|
5800
5863
|
payload: {
|
|
5801
5864
|
identifiers: {
|
|
5802
|
-
meetingLookupUrl: (
|
|
5865
|
+
meetingLookupUrl: (_this34$meetingInfo = _this34.meetingInfo) === null || _this34$meetingInfo === void 0 ? void 0 : _this34$meetingInfo.meetingLookupUrl
|
|
5803
5866
|
}
|
|
5804
5867
|
},
|
|
5805
5868
|
options: {
|
|
5806
|
-
meetingId:
|
|
5869
|
+
meetingId: _this34.id,
|
|
5807
5870
|
rawError: error
|
|
5808
5871
|
}
|
|
5809
5872
|
});
|
|
5810
5873
|
|
|
5811
5874
|
// TODO: change this to error codes and pre defined dictionary
|
|
5812
5875
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
5813
|
-
correlation_id:
|
|
5876
|
+
correlation_id: _this34.correlationId,
|
|
5814
5877
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
5815
5878
|
stack: error.stack
|
|
5816
5879
|
});
|
|
5817
5880
|
|
|
5818
5881
|
// Upload logs on join Failure
|
|
5819
|
-
_triggerProxy.default.trigger(
|
|
5882
|
+
_triggerProxy.default.trigger(_this34, {
|
|
5820
5883
|
file: 'meeting/index',
|
|
5821
5884
|
function: 'join'
|
|
5822
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5885
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this34);
|
|
5823
5886
|
joinFailed(error);
|
|
5824
|
-
|
|
5887
|
+
_this34.deferJoin = undefined;
|
|
5825
5888
|
return _promise.default.reject(error);
|
|
5826
5889
|
}).then(function (join) {
|
|
5827
5890
|
// @ts-ignore - config coming from registerPlugin
|
|
5828
|
-
if (
|
|
5891
|
+
if (_this34.config.enableAutomaticLLM) {
|
|
5829
5892
|
// @ts-ignore
|
|
5830
|
-
|
|
5831
|
-
|
|
5893
|
+
_this34.webex.internal.llm.on('online', _this34.handleLLMOnline);
|
|
5894
|
+
_this34.updateLLMConnection().catch(function (error) {
|
|
5832
5895
|
_loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
|
|
5833
5896
|
_metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
|
|
5834
|
-
correlation_id:
|
|
5897
|
+
correlation_id: _this34.correlationId,
|
|
5835
5898
|
reason: error === null || error === void 0 ? void 0 : error.message,
|
|
5836
5899
|
stack: error.stack
|
|
5837
5900
|
});
|
|
@@ -5863,7 +5926,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5863
5926
|
key: "updateLLMConnection",
|
|
5864
5927
|
value: (function () {
|
|
5865
5928
|
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5866
|
-
var
|
|
5929
|
+
var _this35 = this;
|
|
5867
5930
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
5868
5931
|
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
5869
5932
|
while (1) switch (_context19.prev = _context19.next) {
|
|
@@ -5899,9 +5962,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5899
5962
|
case 10:
|
|
5900
5963
|
return _context19.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
5901
5964
|
// @ts-ignore - Fix type
|
|
5902
|
-
|
|
5965
|
+
_this35.webex.internal.llm.off('event:relay.event', _this35.processRelayEvent);
|
|
5903
5966
|
// @ts-ignore - Fix type
|
|
5904
|
-
|
|
5967
|
+
_this35.webex.internal.llm.on('event:relay.event', _this35.processRelayEvent);
|
|
5905
5968
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
5906
5969
|
return _promise.default.resolve(registerAndConnectResult);
|
|
5907
5970
|
}));
|
|
@@ -5955,7 +6018,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5955
6018
|
}, {
|
|
5956
6019
|
key: "dialInPstn",
|
|
5957
6020
|
value: function dialInPstn() {
|
|
5958
|
-
var
|
|
6021
|
+
var _this36 = this;
|
|
5959
6022
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
5960
6023
|
|
|
5961
6024
|
var correlationId = this.correlationId,
|
|
@@ -5971,10 +6034,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5971
6034
|
}).catch(function (error) {
|
|
5972
6035
|
var _error$error2;
|
|
5973
6036
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
5974
|
-
correlation_id:
|
|
5975
|
-
dial_in_url:
|
|
6037
|
+
correlation_id: _this36.correlationId,
|
|
6038
|
+
dial_in_url: _this36.dialInUrl,
|
|
5976
6039
|
locus_id: locusUrl.split('/').pop(),
|
|
5977
|
-
client_url:
|
|
6040
|
+
client_url: _this36.deviceUrl,
|
|
5978
6041
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
5979
6042
|
stack: error.stack
|
|
5980
6043
|
});
|
|
@@ -5992,7 +6055,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5992
6055
|
}, {
|
|
5993
6056
|
key: "dialOutPstn",
|
|
5994
6057
|
value: function dialOutPstn(phoneNumber) {
|
|
5995
|
-
var
|
|
6058
|
+
var _this37 = this;
|
|
5996
6059
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
5997
6060
|
|
|
5998
6061
|
var correlationId = this.correlationId,
|
|
@@ -6009,10 +6072,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6009
6072
|
}).catch(function (error) {
|
|
6010
6073
|
var _error$error3;
|
|
6011
6074
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
6012
|
-
correlation_id:
|
|
6013
|
-
dial_out_url:
|
|
6075
|
+
correlation_id: _this37.correlationId,
|
|
6076
|
+
dial_out_url: _this37.dialOutUrl,
|
|
6014
6077
|
locus_id: locusUrl.split('/').pop(),
|
|
6015
|
-
client_url:
|
|
6078
|
+
client_url: _this37.deviceUrl,
|
|
6016
6079
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
6017
6080
|
stack: error.stack
|
|
6018
6081
|
});
|
|
@@ -6043,7 +6106,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6043
6106
|
}, {
|
|
6044
6107
|
key: "moveTo",
|
|
6045
6108
|
value: function moveTo(resourceId) {
|
|
6046
|
-
var
|
|
6109
|
+
var _this38 = this;
|
|
6047
6110
|
if (!resourceId) {
|
|
6048
6111
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
6049
6112
|
}
|
|
@@ -6087,12 +6150,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6087
6150
|
while (1) switch (_context20.prev = _context20.next) {
|
|
6088
6151
|
case 0:
|
|
6089
6152
|
_context20.prev = 0;
|
|
6090
|
-
if (!(
|
|
6153
|
+
if (!(_this38.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
6091
6154
|
_context20.next = 4;
|
|
6092
6155
|
break;
|
|
6093
6156
|
}
|
|
6094
6157
|
_context20.next = 4;
|
|
6095
|
-
return
|
|
6158
|
+
return _this38.releaseScreenShareFloor();
|
|
6096
6159
|
case 4:
|
|
6097
6160
|
mediaSettings = {
|
|
6098
6161
|
mediaDirection: {
|
|
@@ -6104,37 +6167,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6104
6167
|
receiveShare: true
|
|
6105
6168
|
}
|
|
6106
6169
|
};
|
|
6107
|
-
|
|
6108
|
-
|
|
6170
|
+
_this38.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
6171
|
+
_this38.mediaProperties.unsetRemoteMedia();
|
|
6109
6172
|
|
|
6110
6173
|
// 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
|
|
6111
6174
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6112
|
-
if (!
|
|
6175
|
+
if (!_this38.statsAnalyzer) {
|
|
6113
6176
|
_context20.next = 10;
|
|
6114
6177
|
break;
|
|
6115
6178
|
}
|
|
6116
6179
|
_context20.next = 10;
|
|
6117
|
-
return
|
|
6180
|
+
return _this38.statsAnalyzer.stopAnalyzer();
|
|
6118
6181
|
case 10:
|
|
6119
6182
|
_context20.next = 12;
|
|
6120
|
-
return
|
|
6183
|
+
return _this38.closeRemoteStreams();
|
|
6121
6184
|
case 12:
|
|
6122
6185
|
_context20.next = 14;
|
|
6123
|
-
return
|
|
6186
|
+
return _this38.closePeerConnections();
|
|
6124
6187
|
case 14:
|
|
6125
|
-
|
|
6126
|
-
|
|
6127
|
-
|
|
6128
|
-
|
|
6188
|
+
_this38.cleanupLocalStreams();
|
|
6189
|
+
_this38.unsetRemoteStreams();
|
|
6190
|
+
_this38.unsetPeerConnections();
|
|
6191
|
+
_this38.reconnectionManager.cleanUp();
|
|
6129
6192
|
_context20.next = 20;
|
|
6130
|
-
return
|
|
6193
|
+
return _this38.addMedia({
|
|
6131
6194
|
audioEnabled: false,
|
|
6132
6195
|
videoEnabled: false,
|
|
6133
6196
|
shareVideoEnabled: true
|
|
6134
6197
|
});
|
|
6135
6198
|
case 20:
|
|
6136
6199
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6137
|
-
|
|
6200
|
+
_this38.isMoveToInProgress = false;
|
|
6138
6201
|
_context20.next = 29;
|
|
6139
6202
|
break;
|
|
6140
6203
|
case 24:
|
|
@@ -6142,12 +6205,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6142
6205
|
_context20.t0 = _context20["catch"](0);
|
|
6143
6206
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context20.t0);
|
|
6144
6207
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6145
|
-
correlation_id:
|
|
6146
|
-
locus_id:
|
|
6208
|
+
correlation_id: _this38.correlationId,
|
|
6209
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6147
6210
|
reason: _context20.t0.message,
|
|
6148
6211
|
stack: _context20.t0.stack
|
|
6149
6212
|
});
|
|
6150
|
-
|
|
6213
|
+
_this38.isMoveToInProgress = false;
|
|
6151
6214
|
case 29:
|
|
6152
6215
|
case "end":
|
|
6153
6216
|
return _context20.stop();
|
|
@@ -6163,17 +6226,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6163
6226
|
resourceId: resourceId,
|
|
6164
6227
|
moveToResource: true
|
|
6165
6228
|
}).then(function () {
|
|
6166
|
-
|
|
6229
|
+
_this38.meetingFiniteStateMachine.join();
|
|
6167
6230
|
}).catch(function (error) {
|
|
6168
|
-
|
|
6231
|
+
_this38.meetingFiniteStateMachine.fail(error);
|
|
6169
6232
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6170
|
-
correlation_id:
|
|
6171
|
-
locus_id:
|
|
6233
|
+
correlation_id: _this38.correlationId,
|
|
6234
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6172
6235
|
reason: error.message,
|
|
6173
6236
|
stack: error.stack
|
|
6174
6237
|
});
|
|
6175
6238
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
|
|
6176
|
-
|
|
6239
|
+
_this38.isMoveToInProgress = false;
|
|
6177
6240
|
return _promise.default.reject(error);
|
|
6178
6241
|
});
|
|
6179
6242
|
}
|
|
@@ -6188,7 +6251,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6188
6251
|
}, {
|
|
6189
6252
|
key: "moveFrom",
|
|
6190
6253
|
value: function moveFrom(resourceId) {
|
|
6191
|
-
var
|
|
6254
|
+
var _this39 = this;
|
|
6192
6255
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
6193
6256
|
if (!resourceId) {
|
|
6194
6257
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -6203,19 +6266,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6203
6266
|
}
|
|
6204
6267
|
});
|
|
6205
6268
|
return _util2.default.joinMeetingOptions(this).then(function () {
|
|
6206
|
-
return _util2.default.leaveMeeting(
|
|
6269
|
+
return _util2.default.leaveMeeting(_this39, {
|
|
6207
6270
|
resourceId: resourceId,
|
|
6208
6271
|
correlationId: oldCorrelationId,
|
|
6209
6272
|
moveMeeting: true
|
|
6210
6273
|
}).then(function () {
|
|
6211
|
-
|
|
6274
|
+
_this39.resourceId = '';
|
|
6212
6275
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
6213
6276
|
});
|
|
6214
6277
|
}).catch(function (error) {
|
|
6215
|
-
|
|
6278
|
+
_this39.meetingFiniteStateMachine.fail(error);
|
|
6216
6279
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
6217
|
-
correlation_id:
|
|
6218
|
-
locus_id:
|
|
6280
|
+
correlation_id: _this39.correlationId,
|
|
6281
|
+
locus_id: _this39.locusUrl.split('/').pop(),
|
|
6219
6282
|
reason: error.message,
|
|
6220
6283
|
stack: error.stack
|
|
6221
6284
|
});
|
|
@@ -6328,9 +6391,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6328
6391
|
}, {
|
|
6329
6392
|
key: "forwardEvent",
|
|
6330
6393
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
6331
|
-
var
|
|
6394
|
+
var _this40 = this;
|
|
6332
6395
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
6333
|
-
return _triggerProxy.default.trigger(
|
|
6396
|
+
return _triggerProxy.default.trigger(_this40, {
|
|
6334
6397
|
file: 'meetings',
|
|
6335
6398
|
function: 'addMedia'
|
|
6336
6399
|
}, meetingEventType, data);
|
|
@@ -6517,7 +6580,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6517
6580
|
*/
|
|
6518
6581
|
function () {
|
|
6519
6582
|
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
6520
|
-
var
|
|
6583
|
+
var _this41 = this;
|
|
6521
6584
|
var LOG_HEADER, deferSDPAnswer;
|
|
6522
6585
|
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6523
6586
|
while (1) switch (_context24.prev = _context24.next) {
|
|
@@ -6534,18 +6597,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6534
6597
|
this.sdpResponseTimer = setTimeout(function () {
|
|
6535
6598
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
|
|
6536
6599
|
// @ts-ignore
|
|
6537
|
-
|
|
6600
|
+
_this41.webex.internal.newMetrics.submitClientEvent({
|
|
6538
6601
|
name: 'client.media-engine.remote-sdp-received',
|
|
6539
6602
|
payload: {
|
|
6540
6603
|
canProceed: false,
|
|
6541
6604
|
errors: [
|
|
6542
6605
|
// @ts-ignore
|
|
6543
|
-
|
|
6606
|
+
_this41.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
6544
6607
|
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
|
|
6545
6608
|
})]
|
|
6546
6609
|
},
|
|
6547
6610
|
options: {
|
|
6548
|
-
meetingId:
|
|
6611
|
+
meetingId: _this41.id,
|
|
6549
6612
|
rawError: new Error('Timeout waiting for SDP answer')
|
|
6550
6613
|
}
|
|
6551
6614
|
});
|
|
@@ -7009,10 +7072,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7009
7072
|
}, {
|
|
7010
7073
|
key: "addMedia",
|
|
7011
7074
|
value: function addMedia() {
|
|
7012
|
-
var
|
|
7075
|
+
var _this42 = this;
|
|
7013
7076
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7014
7077
|
return this.addMediaInternal(function () {
|
|
7015
|
-
return
|
|
7078
|
+
return _this42.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
7016
7079
|
}, undefined, false, options);
|
|
7017
7080
|
}
|
|
7018
7081
|
|
|
@@ -7212,21 +7275,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7212
7275
|
|
|
7213
7276
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
7214
7277
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
7215
|
-
|
|
7278
|
+
this.startPeriodicLogUpload();
|
|
7279
|
+
_context33.next = 69;
|
|
7216
7280
|
break;
|
|
7217
|
-
case
|
|
7218
|
-
_context33.prev =
|
|
7281
|
+
case 51:
|
|
7282
|
+
_context33.prev = 51;
|
|
7219
7283
|
_context33.t0 = _context33["catch"](18);
|
|
7220
7284
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context33.t0);
|
|
7221
7285
|
|
|
7222
7286
|
// @ts-ignore
|
|
7223
|
-
_context33.next =
|
|
7287
|
+
_context33.next = 56;
|
|
7224
7288
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7225
|
-
case
|
|
7289
|
+
case 56:
|
|
7226
7290
|
reachabilityMetrics = _context33.sent;
|
|
7227
|
-
_context33.next =
|
|
7291
|
+
_context33.next = 59;
|
|
7228
7292
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7229
|
-
case
|
|
7293
|
+
case 59:
|
|
7230
7294
|
_yield$this$mediaProp2 = _context33.sent;
|
|
7231
7295
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7232
7296
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
@@ -7250,9 +7314,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7250
7314
|
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7251
7315
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7252
7316
|
}));
|
|
7253
|
-
_context33.next =
|
|
7317
|
+
_context33.next = 66;
|
|
7254
7318
|
return this.cleanUpOnAddMediaFailure();
|
|
7255
|
-
case
|
|
7319
|
+
case 66:
|
|
7256
7320
|
// Upload logs on error while adding media
|
|
7257
7321
|
_triggerProxy.default.trigger(this, {
|
|
7258
7322
|
file: 'meeting/index',
|
|
@@ -7264,15 +7328,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7264
7328
|
});
|
|
7265
7329
|
}
|
|
7266
7330
|
throw _context33.t0;
|
|
7267
|
-
case
|
|
7268
|
-
_context33.prev =
|
|
7331
|
+
case 69:
|
|
7332
|
+
_context33.prev = 69;
|
|
7269
7333
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7270
|
-
return _context33.finish(
|
|
7271
|
-
case
|
|
7334
|
+
return _context33.finish(69);
|
|
7335
|
+
case 72:
|
|
7272
7336
|
case "end":
|
|
7273
7337
|
return _context33.stop();
|
|
7274
7338
|
}
|
|
7275
|
-
}, _callee33, this, [[18,
|
|
7339
|
+
}, _callee33, this, [[18, 51, 69, 72]]);
|
|
7276
7340
|
}));
|
|
7277
7341
|
function addMediaInternal(_x32, _x33, _x34) {
|
|
7278
7342
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -7304,7 +7368,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7304
7368
|
* @memberof Meeting
|
|
7305
7369
|
*/
|
|
7306
7370
|
function enqueueMediaUpdate(mediaUpdateType) {
|
|
7307
|
-
var
|
|
7371
|
+
var _this43 = this;
|
|
7308
7372
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7309
7373
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
7310
7374
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -7315,9 +7379,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7315
7379
|
options: options
|
|
7316
7380
|
};
|
|
7317
7381
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
7318
|
-
|
|
7382
|
+
_this43.queuedMediaUpdates.push(queueItem);
|
|
7319
7383
|
if (canUpdateMediaNow) {
|
|
7320
|
-
|
|
7384
|
+
_this43.processNextQueuedMediaUpdate();
|
|
7321
7385
|
}
|
|
7322
7386
|
});
|
|
7323
7387
|
}
|
|
@@ -7422,7 +7486,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7422
7486
|
}, {
|
|
7423
7487
|
key: "acknowledge",
|
|
7424
7488
|
value: function acknowledge(type) {
|
|
7425
|
-
var
|
|
7489
|
+
var _this44 = this;
|
|
7426
7490
|
if (!type) {
|
|
7427
7491
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
7428
7492
|
}
|
|
@@ -7434,12 +7498,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7434
7498
|
}).then(function (response) {
|
|
7435
7499
|
return _promise.default.resolve(response);
|
|
7436
7500
|
}).then(function (response) {
|
|
7437
|
-
|
|
7501
|
+
_this44.meetingFiniteStateMachine.ring(type);
|
|
7438
7502
|
// @ts-ignore
|
|
7439
|
-
|
|
7503
|
+
_this44.webex.internal.newMetrics.submitClientEvent({
|
|
7440
7504
|
name: 'client.alert.displayed',
|
|
7441
7505
|
options: {
|
|
7442
|
-
meetingId:
|
|
7506
|
+
meetingId: _this44.id
|
|
7443
7507
|
}
|
|
7444
7508
|
});
|
|
7445
7509
|
return _promise.default.resolve({
|
|
@@ -7464,12 +7528,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7464
7528
|
}, {
|
|
7465
7529
|
key: "decline",
|
|
7466
7530
|
value: function decline(reason) {
|
|
7467
|
-
var
|
|
7531
|
+
var _this45 = this;
|
|
7468
7532
|
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
7469
|
-
|
|
7533
|
+
_this45.meetingFiniteStateMachine.decline();
|
|
7470
7534
|
return _promise.default.resolve(decline);
|
|
7471
7535
|
}).catch(function (error) {
|
|
7472
|
-
|
|
7536
|
+
_this45.meetingFiniteStateMachine.fail(error);
|
|
7473
7537
|
return _promise.default.reject(error);
|
|
7474
7538
|
});
|
|
7475
7539
|
}
|
|
@@ -7520,7 +7584,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7520
7584
|
}, {
|
|
7521
7585
|
key: "leave",
|
|
7522
7586
|
value: function leave() {
|
|
7523
|
-
var
|
|
7587
|
+
var _this46 = this;
|
|
7524
7588
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7525
7589
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
7526
7590
|
|
|
@@ -7532,7 +7596,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7532
7596
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7533
7597
|
return (
|
|
7534
7598
|
// @ts-ignore
|
|
7535
|
-
|
|
7599
|
+
_this46.webex.internal.newMetrics.submitClientEvent({
|
|
7536
7600
|
name: 'client.call.leave',
|
|
7537
7601
|
payload: _objectSpread({
|
|
7538
7602
|
trigger: 'user-interaction',
|
|
@@ -7540,7 +7604,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7540
7604
|
leaveReason: options.clientEventLeaveReason
|
|
7541
7605
|
}, payload),
|
|
7542
7606
|
options: {
|
|
7543
|
-
meetingId:
|
|
7607
|
+
meetingId: _this46.id
|
|
7544
7608
|
}
|
|
7545
7609
|
})
|
|
7546
7610
|
);
|
|
@@ -7549,24 +7613,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7549
7613
|
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
|
7550
7614
|
// CA team recommends submitting this *after* locus /leave
|
|
7551
7615
|
submitLeaveMetric();
|
|
7552
|
-
|
|
7553
|
-
|
|
7616
|
+
_this46.meetingFiniteStateMachine.leave();
|
|
7617
|
+
_this46.clearMeetingData();
|
|
7554
7618
|
|
|
7555
7619
|
// upload logs on leave irrespective of meeting delete
|
|
7556
|
-
_triggerProxy.default.trigger(
|
|
7620
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7557
7621
|
file: 'meeting/index',
|
|
7558
7622
|
function: 'leave'
|
|
7559
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7623
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7560
7624
|
|
|
7561
7625
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
7562
|
-
if (
|
|
7626
|
+
if (_this46.wirelessShare || _this46.guest) {
|
|
7563
7627
|
// If screen sharing clean the meeting object
|
|
7564
|
-
_triggerProxy.default.trigger(
|
|
7628
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7565
7629
|
file: 'meeting/index',
|
|
7566
7630
|
function: 'leave'
|
|
7567
7631
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
7568
7632
|
reason: options.reason,
|
|
7569
|
-
meetingId:
|
|
7633
|
+
meetingId: _this46.id
|
|
7570
7634
|
});
|
|
7571
7635
|
}
|
|
7572
7636
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
@@ -7583,16 +7647,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7583
7647
|
shownToUser: false
|
|
7584
7648
|
}]
|
|
7585
7649
|
});
|
|
7586
|
-
|
|
7650
|
+
_this46.meetingFiniteStateMachine.fail(error);
|
|
7587
7651
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
7588
7652
|
// upload logs on leave irrespective of meeting delete
|
|
7589
|
-
_triggerProxy.default.trigger(
|
|
7653
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7590
7654
|
file: 'meeting/index',
|
|
7591
7655
|
function: 'leave'
|
|
7592
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7656
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7593
7657
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
7594
|
-
correlation_id:
|
|
7595
|
-
locus_id:
|
|
7658
|
+
correlation_id: _this46.correlationId,
|
|
7659
|
+
locus_id: _this46.locusUrl.split('/').pop(),
|
|
7596
7660
|
reason: error.message,
|
|
7597
7661
|
stack: error.stack,
|
|
7598
7662
|
code: error.code
|
|
@@ -7612,7 +7676,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7612
7676
|
}, {
|
|
7613
7677
|
key: "startWhiteboardShare",
|
|
7614
7678
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
7615
|
-
var
|
|
7679
|
+
var _this47 = this;
|
|
7616
7680
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7617
7681
|
return element.name === 'whiteboard';
|
|
7618
7682
|
});
|
|
@@ -7641,13 +7705,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7641
7705
|
body.resourceToken = resourceToken;
|
|
7642
7706
|
}
|
|
7643
7707
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
7644
|
-
|
|
7708
|
+
_this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7645
7709
|
return _promise.default.resolve();
|
|
7646
7710
|
}).catch(function (error) {
|
|
7647
7711
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
7648
7712
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
7649
|
-
correlation_id:
|
|
7650
|
-
locus_id:
|
|
7713
|
+
correlation_id: _this47.correlationId,
|
|
7714
|
+
locus_id: _this47.locusUrl.split('/').pop(),
|
|
7651
7715
|
reason: error.message,
|
|
7652
7716
|
stack: error.stack,
|
|
7653
7717
|
board: {
|
|
@@ -7670,7 +7734,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7670
7734
|
}, {
|
|
7671
7735
|
key: "stopWhiteboardShare",
|
|
7672
7736
|
value: function stopWhiteboardShare(channelUrl) {
|
|
7673
|
-
var
|
|
7737
|
+
var _this48 = this;
|
|
7674
7738
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7675
7739
|
return element.name === 'whiteboard';
|
|
7676
7740
|
});
|
|
@@ -7693,8 +7757,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7693
7757
|
}).catch(function (error) {
|
|
7694
7758
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
7695
7759
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
7696
|
-
correlation_id:
|
|
7697
|
-
locus_id:
|
|
7760
|
+
correlation_id: _this48.correlationId,
|
|
7761
|
+
locus_id: _this48.locusUrl.split('/').pop(),
|
|
7698
7762
|
reason: error.message,
|
|
7699
7763
|
stack: error.stack,
|
|
7700
7764
|
board: {
|
|
@@ -7716,7 +7780,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7716
7780
|
}, {
|
|
7717
7781
|
key: "requestScreenShareFloor",
|
|
7718
7782
|
value: function requestScreenShareFloor() {
|
|
7719
|
-
var
|
|
7783
|
+
var _this49 = this;
|
|
7720
7784
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
7721
7785
|
_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, ")"));
|
|
7722
7786
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -7747,34 +7811,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7747
7811
|
resourceUrl: this.resourceUrl,
|
|
7748
7812
|
shareInstanceId: this.localShareInstanceId
|
|
7749
7813
|
}).then(function () {
|
|
7750
|
-
|
|
7814
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
7751
7815
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
7752
|
-
correlation_id:
|
|
7753
|
-
locus_id:
|
|
7816
|
+
correlation_id: _this49.correlationId,
|
|
7817
|
+
locus_id: _this49.locusUrl.split('/').pop()
|
|
7754
7818
|
});
|
|
7755
7819
|
return _promise.default.resolve();
|
|
7756
7820
|
}).catch(function (error) {
|
|
7757
7821
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
7758
7822
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
7759
|
-
correlation_id:
|
|
7760
|
-
locus_id:
|
|
7823
|
+
correlation_id: _this49.correlationId,
|
|
7824
|
+
locus_id: _this49.locusUrl.split('/').pop(),
|
|
7761
7825
|
reason: error.message,
|
|
7762
7826
|
stack: error.stack
|
|
7763
7827
|
});
|
|
7764
7828
|
|
|
7765
7829
|
// @ts-ignore
|
|
7766
|
-
|
|
7830
|
+
_this49.webex.internal.newMetrics.submitClientEvent({
|
|
7767
7831
|
name: 'client.share.floor-granted.local',
|
|
7768
7832
|
payload: {
|
|
7769
7833
|
mediaType: 'share',
|
|
7770
7834
|
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
|
7771
|
-
shareInstanceId:
|
|
7835
|
+
shareInstanceId: _this49.localShareInstanceId
|
|
7772
7836
|
},
|
|
7773
7837
|
options: {
|
|
7774
|
-
meetingId:
|
|
7838
|
+
meetingId: _this49.id
|
|
7775
7839
|
}
|
|
7776
7840
|
});
|
|
7777
|
-
|
|
7841
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7778
7842
|
return _promise.default.reject(error);
|
|
7779
7843
|
});
|
|
7780
7844
|
}
|
|
@@ -7797,10 +7861,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7797
7861
|
}, {
|
|
7798
7862
|
key: "requestScreenShareFloorIfPending",
|
|
7799
7863
|
value: function requestScreenShareFloorIfPending() {
|
|
7800
|
-
var
|
|
7864
|
+
var _this50 = this;
|
|
7801
7865
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
7802
7866
|
this.requestScreenShareFloor().then(function () {
|
|
7803
|
-
|
|
7867
|
+
_this50.floorGrantPending = false;
|
|
7804
7868
|
});
|
|
7805
7869
|
}
|
|
7806
7870
|
}
|
|
@@ -7814,7 +7878,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7814
7878
|
}, {
|
|
7815
7879
|
key: "releaseScreenShareFloor",
|
|
7816
7880
|
value: function releaseScreenShareFloor() {
|
|
7817
|
-
var
|
|
7881
|
+
var _this51 = this;
|
|
7818
7882
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
7819
7883
|
return element.name === _constants.CONTENT;
|
|
7820
7884
|
});
|
|
@@ -7849,8 +7913,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7849
7913
|
}).catch(function (error) {
|
|
7850
7914
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
7851
7915
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
7852
|
-
correlation_id:
|
|
7853
|
-
locus_id:
|
|
7916
|
+
correlation_id: _this51.correlationId,
|
|
7917
|
+
locus_id: _this51.locusUrl.split('/').pop(),
|
|
7854
7918
|
reason: error.message,
|
|
7855
7919
|
stack: error.stack
|
|
7856
7920
|
});
|
|
@@ -8030,7 +8094,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8030
8094
|
}, {
|
|
8031
8095
|
key: "changeVideoLayout",
|
|
8032
8096
|
value: function changeVideoLayout(layoutType) {
|
|
8033
|
-
var
|
|
8097
|
+
var _this52 = this;
|
|
8034
8098
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
8035
8099
|
var main = renderInfo.main,
|
|
8036
8100
|
content = renderInfo.content;
|
|
@@ -8084,7 +8148,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8084
8148
|
}
|
|
8085
8149
|
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
|
8086
8150
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
8087
|
-
_triggerProxy.default.trigger(
|
|
8151
|
+
_triggerProxy.default.trigger(_this52, {
|
|
8088
8152
|
file: 'meeting/index',
|
|
8089
8153
|
function: 'changeVideoLayout'
|
|
8090
8154
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -8200,7 +8264,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8200
8264
|
}, {
|
|
8201
8265
|
key: "endMeetingForAll",
|
|
8202
8266
|
value: function endMeetingForAll() {
|
|
8203
|
-
var
|
|
8267
|
+
var _this53 = this;
|
|
8204
8268
|
// @ts-ignore
|
|
8205
8269
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
8206
8270
|
name: 'client.call.leave',
|
|
@@ -8218,25 +8282,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8218
8282
|
locus_id: this.locusId
|
|
8219
8283
|
});
|
|
8220
8284
|
return _util2.default.endMeetingForAll(this).then(function (end) {
|
|
8221
|
-
|
|
8222
|
-
|
|
8285
|
+
_this53.meetingFiniteStateMachine.end();
|
|
8286
|
+
_this53.clearMeetingData();
|
|
8223
8287
|
// upload logs on leave irrespective of meeting delete
|
|
8224
|
-
_triggerProxy.default.trigger(
|
|
8288
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8225
8289
|
file: 'meeting/index',
|
|
8226
8290
|
function: 'endMeetingForAll'
|
|
8227
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8291
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8228
8292
|
return end;
|
|
8229
8293
|
}).catch(function (error) {
|
|
8230
|
-
|
|
8294
|
+
_this53.meetingFiniteStateMachine.fail(error);
|
|
8231
8295
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
8232
8296
|
// upload logs on leave irrespective of meeting delete
|
|
8233
|
-
_triggerProxy.default.trigger(
|
|
8297
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8234
8298
|
file: 'meeting/index',
|
|
8235
8299
|
function: 'endMeetingForAll'
|
|
8236
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8300
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8237
8301
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
8238
|
-
correlation_id:
|
|
8239
|
-
locus_id:
|
|
8302
|
+
correlation_id: _this53.correlationId,
|
|
8303
|
+
locus_id: _this53.locusUrl.split('/').pop(),
|
|
8240
8304
|
reason: error.message,
|
|
8241
8305
|
stack: error.stack,
|
|
8242
8306
|
code: error.code
|
|
@@ -8378,7 +8442,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8378
8442
|
_this$mediaProperties41,
|
|
8379
8443
|
_this$mediaProperties42,
|
|
8380
8444
|
_this$mediaProperties43,
|
|
8381
|
-
|
|
8445
|
+
_this54 = this;
|
|
8382
8446
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
8383
8447
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
8384
8448
|
if (!this.canUpdateMedia()) {
|
|
@@ -8403,8 +8467,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8403
8467
|
}).catch(function (error) {
|
|
8404
8468
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
8405
8469
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
8406
|
-
correlation_id:
|
|
8407
|
-
locus_id:
|
|
8470
|
+
correlation_id: _this54.correlationId,
|
|
8471
|
+
locus_id: _this54.locusUrl.split('/').pop(),
|
|
8408
8472
|
reason: error.message,
|
|
8409
8473
|
stack: error.stack
|
|
8410
8474
|
});
|