@webex/plugin-meetings 3.7.0-next.1 → 3.7.0-next.3
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 +268 -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/metrics/constants.js +3 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/types/config.d.ts +1 -0
- package/dist/types/meeting/index.d.ts +19 -0
- package/dist/types/metrics/constants.d.ts +2 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +21 -21
- package/src/config.ts +1 -0
- package/src/meeting/index.ts +71 -0
- package/src/meeting/util.ts +1 -0
- package/src/metrics/constants.ts +2 -0
- package/test/unit/spec/meeting/index.js +71 -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}
|
|
@@ -3740,6 +3745,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3740
3745
|
}
|
|
3741
3746
|
});
|
|
3742
3747
|
}
|
|
3748
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.GUEST_ENTERED_LOBBY, {
|
|
3749
|
+
correlation_id: _this20.correlationId
|
|
3750
|
+
});
|
|
3743
3751
|
_this20.updateLLMConnection();
|
|
3744
3752
|
});
|
|
3745
3753
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
@@ -3764,6 +3772,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3764
3772
|
meetingId: _this20.id
|
|
3765
3773
|
}
|
|
3766
3774
|
});
|
|
3775
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.GUEST_EXITED_LOBBY, {
|
|
3776
|
+
correlation_id: _this20.correlationId
|
|
3777
|
+
});
|
|
3767
3778
|
}
|
|
3768
3779
|
(_this20$rtcMetrics = _this20.rtcMetrics) === null || _this20$rtcMetrics === void 0 ? void 0 : _this20$rtcMetrics.sendNextMetrics();
|
|
3769
3780
|
_this20.updateLLMConnection();
|
|
@@ -4488,6 +4499,64 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4488
4499
|
_triggerProxy.default.trigger(this, options, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
4489
4500
|
}
|
|
4490
4501
|
|
|
4502
|
+
/**
|
|
4503
|
+
* sets the timer for periodic log upload
|
|
4504
|
+
* @returns {void}
|
|
4505
|
+
*/
|
|
4506
|
+
}, {
|
|
4507
|
+
key: "setLogUploadTimer",
|
|
4508
|
+
value: function setLogUploadTimer() {
|
|
4509
|
+
var _this23 = this;
|
|
4510
|
+
// 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
|
|
4511
|
+
var LOG_UPLOAD_INTERVALS = [0.1, 1, 15, 15, 30, 30, 30, 60];
|
|
4512
|
+
var delay = 1000 *
|
|
4513
|
+
// @ts-ignore - config coming from registerPlugin
|
|
4514
|
+
this.config.logUploadIntervalMultiplicationFactor * LOG_UPLOAD_INTERVALS[this.logUploadIntervalIndex];
|
|
4515
|
+
if (this.logUploadIntervalIndex < LOG_UPLOAD_INTERVALS.length - 1) {
|
|
4516
|
+
this.logUploadIntervalIndex += 1;
|
|
4517
|
+
}
|
|
4518
|
+
this.uploadLogsTimer = (0, _commonTimers.safeSetTimeout)(function () {
|
|
4519
|
+
_this23.uploadLogsTimer = undefined;
|
|
4520
|
+
_this23.uploadLogs();
|
|
4521
|
+
|
|
4522
|
+
// just as an extra precaution, to avoid uploading logs forever in case something goes wrong
|
|
4523
|
+
// and the page remains opened, we stop it if there is no media connection
|
|
4524
|
+
if (!_this23.mediaProperties.webrtcMediaConnection) {
|
|
4525
|
+
return;
|
|
4526
|
+
}
|
|
4527
|
+
_this23.setLogUploadTimer();
|
|
4528
|
+
}, delay);
|
|
4529
|
+
}
|
|
4530
|
+
|
|
4531
|
+
/**
|
|
4532
|
+
* Starts a periodic upload of logs
|
|
4533
|
+
*
|
|
4534
|
+
* @returns {undefined}
|
|
4535
|
+
*/
|
|
4536
|
+
}, {
|
|
4537
|
+
key: "startPeriodicLogUpload",
|
|
4538
|
+
value: function startPeriodicLogUpload() {
|
|
4539
|
+
// @ts-ignore - config coming from registerPlugin
|
|
4540
|
+
if (this.config.logUploadIntervalMultiplicationFactor && !this.uploadLogsTimer) {
|
|
4541
|
+
this.logUploadIntervalIndex = 0;
|
|
4542
|
+
this.setLogUploadTimer();
|
|
4543
|
+
}
|
|
4544
|
+
}
|
|
4545
|
+
|
|
4546
|
+
/**
|
|
4547
|
+
* Stops the periodic upload of logs
|
|
4548
|
+
*
|
|
4549
|
+
* @returns {undefined}
|
|
4550
|
+
*/
|
|
4551
|
+
}, {
|
|
4552
|
+
key: "stopPeriodicLogUpload",
|
|
4553
|
+
value: function stopPeriodicLogUpload() {
|
|
4554
|
+
if (this.uploadLogsTimer) {
|
|
4555
|
+
clearTimeout(this.uploadLogsTimer);
|
|
4556
|
+
this.uploadLogsTimer = undefined;
|
|
4557
|
+
}
|
|
4558
|
+
}
|
|
4559
|
+
|
|
4491
4560
|
/**
|
|
4492
4561
|
* Removes remote audio, video and share streams from class instance's mediaProperties
|
|
4493
4562
|
* @returns {undefined}
|
|
@@ -4522,7 +4591,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4522
4591
|
}, {
|
|
4523
4592
|
key: "closeRemoteStreams",
|
|
4524
4593
|
value: function closeRemoteStreams() {
|
|
4525
|
-
var
|
|
4594
|
+
var _this24 = this;
|
|
4526
4595
|
var _this$mediaProperties4 = this.mediaProperties,
|
|
4527
4596
|
remoteAudioStream = _this$mediaProperties4.remoteAudioStream,
|
|
4528
4597
|
remoteVideoStream = _this$mediaProperties4.remoteVideoStream,
|
|
@@ -4536,7 +4605,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4536
4605
|
*/
|
|
4537
4606
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
4538
4607
|
var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
|
|
4539
|
-
_triggerProxy.default.trigger(
|
|
4608
|
+
_triggerProxy.default.trigger(_this24, {
|
|
4540
4609
|
file: 'meeting/index',
|
|
4541
4610
|
function: 'closeRemoteStreams'
|
|
4542
4611
|
}, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
|
|
@@ -4844,7 +4913,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4844
4913
|
}, {
|
|
4845
4914
|
key: "setMercuryListener",
|
|
4846
4915
|
value: function setMercuryListener() {
|
|
4847
|
-
var
|
|
4916
|
+
var _this25 = this;
|
|
4848
4917
|
// Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
|
|
4849
4918
|
// if the meeting has active peer connections, it should try to reconnect.
|
|
4850
4919
|
// @ts-ignore
|
|
@@ -4852,33 +4921,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4852
4921
|
_loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
|
|
4853
4922
|
|
|
4854
4923
|
// Only send restore event when it was disconnected before and for connected later
|
|
4855
|
-
if (!
|
|
4924
|
+
if (!_this25.hasWebsocketConnected) {
|
|
4856
4925
|
// @ts-ignore
|
|
4857
|
-
|
|
4926
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4858
4927
|
name: 'client.mercury.connection.restored',
|
|
4859
4928
|
options: {
|
|
4860
|
-
meetingId:
|
|
4929
|
+
meetingId: _this25.id
|
|
4861
4930
|
}
|
|
4862
4931
|
});
|
|
4863
4932
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
|
4864
|
-
correlation_id:
|
|
4933
|
+
correlation_id: _this25.correlationId
|
|
4865
4934
|
});
|
|
4866
4935
|
}
|
|
4867
|
-
|
|
4936
|
+
_this25.hasWebsocketConnected = true;
|
|
4868
4937
|
});
|
|
4869
4938
|
|
|
4870
4939
|
// @ts-ignore
|
|
4871
4940
|
this.webex.internal.mercury.on(_constants.OFFLINE, function () {
|
|
4872
4941
|
_loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
|
|
4873
4942
|
// @ts-ignore
|
|
4874
|
-
|
|
4943
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4875
4944
|
name: 'client.mercury.connection.lost',
|
|
4876
4945
|
options: {
|
|
4877
|
-
meetingId:
|
|
4946
|
+
meetingId: _this25.id
|
|
4878
4947
|
}
|
|
4879
4948
|
});
|
|
4880
4949
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
|
4881
|
-
correlation_id:
|
|
4950
|
+
correlation_id: _this25.correlationId
|
|
4882
4951
|
});
|
|
4883
4952
|
});
|
|
4884
4953
|
}
|
|
@@ -4980,7 +5049,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4980
5049
|
}, {
|
|
4981
5050
|
key: "muteAudio",
|
|
4982
5051
|
value: function muteAudio() {
|
|
4983
|
-
var
|
|
5052
|
+
var _this26 = this;
|
|
4984
5053
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4985
5054
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4986
5055
|
}
|
|
@@ -4996,22 +5065,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4996
5065
|
|
|
4997
5066
|
// First, stop sending the local audio media
|
|
4998
5067
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
4999
|
-
_util2.default.handleAudioLogging(
|
|
5068
|
+
_util2.default.handleAudioLogging(_this26.mediaProperties.audioStream);
|
|
5000
5069
|
// @ts-ignore
|
|
5001
|
-
|
|
5070
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
5002
5071
|
name: 'client.muted',
|
|
5003
5072
|
payload: {
|
|
5004
5073
|
trigger: 'user-interaction',
|
|
5005
5074
|
mediaType: 'audio'
|
|
5006
5075
|
},
|
|
5007
5076
|
options: {
|
|
5008
|
-
meetingId:
|
|
5077
|
+
meetingId: _this26.id
|
|
5009
5078
|
}
|
|
5010
5079
|
});
|
|
5011
5080
|
}).catch(function (error) {
|
|
5012
5081
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
|
|
5013
|
-
correlation_id:
|
|
5014
|
-
locus_id:
|
|
5082
|
+
correlation_id: _this26.correlationId,
|
|
5083
|
+
locus_id: _this26.locusUrl.split('/').pop(),
|
|
5015
5084
|
reason: error.message,
|
|
5016
5085
|
stack: error.stack
|
|
5017
5086
|
});
|
|
@@ -5030,7 +5099,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5030
5099
|
}, {
|
|
5031
5100
|
key: "unmuteAudio",
|
|
5032
5101
|
value: function unmuteAudio() {
|
|
5033
|
-
var
|
|
5102
|
+
var _this27 = this;
|
|
5034
5103
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5035
5104
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5036
5105
|
}
|
|
@@ -5046,22 +5115,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5046
5115
|
|
|
5047
5116
|
// First, send the control to unmute the participant on the server
|
|
5048
5117
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
5049
|
-
_util2.default.handleAudioLogging(
|
|
5118
|
+
_util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
|
|
5050
5119
|
// @ts-ignore
|
|
5051
|
-
|
|
5120
|
+
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
5052
5121
|
name: 'client.unmuted',
|
|
5053
5122
|
payload: {
|
|
5054
5123
|
trigger: 'user-interaction',
|
|
5055
5124
|
mediaType: 'audio'
|
|
5056
5125
|
},
|
|
5057
5126
|
options: {
|
|
5058
|
-
meetingId:
|
|
5127
|
+
meetingId: _this27.id
|
|
5059
5128
|
}
|
|
5060
5129
|
});
|
|
5061
5130
|
}).catch(function (error) {
|
|
5062
5131
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
|
|
5063
|
-
correlation_id:
|
|
5064
|
-
locus_id:
|
|
5132
|
+
correlation_id: _this27.correlationId,
|
|
5133
|
+
locus_id: _this27.locusUrl.split('/').pop(),
|
|
5065
5134
|
reason: error.message,
|
|
5066
5135
|
stack: error.stack
|
|
5067
5136
|
});
|
|
@@ -5080,7 +5149,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5080
5149
|
}, {
|
|
5081
5150
|
key: "muteVideo",
|
|
5082
5151
|
value: function muteVideo() {
|
|
5083
|
-
var
|
|
5152
|
+
var _this28 = this;
|
|
5084
5153
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5085
5154
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5086
5155
|
}
|
|
@@ -5094,22 +5163,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5094
5163
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
5095
5164
|
}
|
|
5096
5165
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
5097
|
-
_util2.default.handleVideoLogging(
|
|
5166
|
+
_util2.default.handleVideoLogging(_this28.mediaProperties.videoStream);
|
|
5098
5167
|
// @ts-ignore
|
|
5099
|
-
|
|
5168
|
+
_this28.webex.internal.newMetrics.submitClientEvent({
|
|
5100
5169
|
name: 'client.muted',
|
|
5101
5170
|
payload: {
|
|
5102
5171
|
trigger: 'user-interaction',
|
|
5103
5172
|
mediaType: 'video'
|
|
5104
5173
|
},
|
|
5105
5174
|
options: {
|
|
5106
|
-
meetingId:
|
|
5175
|
+
meetingId: _this28.id
|
|
5107
5176
|
}
|
|
5108
5177
|
});
|
|
5109
5178
|
}).catch(function (error) {
|
|
5110
5179
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
|
|
5111
|
-
correlation_id:
|
|
5112
|
-
locus_id:
|
|
5180
|
+
correlation_id: _this28.correlationId,
|
|
5181
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
5113
5182
|
reason: error.message,
|
|
5114
5183
|
stack: error.stack
|
|
5115
5184
|
});
|
|
@@ -5128,7 +5197,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5128
5197
|
}, {
|
|
5129
5198
|
key: "unmuteVideo",
|
|
5130
5199
|
value: function unmuteVideo() {
|
|
5131
|
-
var
|
|
5200
|
+
var _this29 = this;
|
|
5132
5201
|
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
5133
5202
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
5134
5203
|
}
|
|
@@ -5142,22 +5211,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5142
5211
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
5143
5212
|
}
|
|
5144
5213
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
5145
|
-
_util2.default.handleVideoLogging(
|
|
5214
|
+
_util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
|
|
5146
5215
|
// @ts-ignore
|
|
5147
|
-
|
|
5216
|
+
_this29.webex.internal.newMetrics.submitClientEvent({
|
|
5148
5217
|
name: 'client.unmuted',
|
|
5149
5218
|
payload: {
|
|
5150
5219
|
trigger: 'user-interaction',
|
|
5151
5220
|
mediaType: 'video'
|
|
5152
5221
|
},
|
|
5153
5222
|
options: {
|
|
5154
|
-
meetingId:
|
|
5223
|
+
meetingId: _this29.id
|
|
5155
5224
|
}
|
|
5156
5225
|
});
|
|
5157
5226
|
}).catch(function (error) {
|
|
5158
5227
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
|
|
5159
|
-
correlation_id:
|
|
5160
|
-
locus_id:
|
|
5228
|
+
correlation_id: _this29.correlationId,
|
|
5229
|
+
locus_id: _this29.locusUrl.split('/').pop(),
|
|
5161
5230
|
reason: error.message,
|
|
5162
5231
|
stack: error.stack
|
|
5163
5232
|
});
|
|
@@ -5187,7 +5256,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5187
5256
|
key: "joinWithMedia",
|
|
5188
5257
|
value: (function () {
|
|
5189
5258
|
var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
5190
|
-
var
|
|
5259
|
+
var _this30 = this;
|
|
5191
5260
|
var options,
|
|
5192
5261
|
mediaOptions,
|
|
5193
5262
|
_options$joinOptions,
|
|
@@ -5270,7 +5339,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5270
5339
|
case 35:
|
|
5271
5340
|
_context15.next = 37;
|
|
5272
5341
|
return this.addMediaInternal(function () {
|
|
5273
|
-
return
|
|
5342
|
+
return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5274
5343
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5275
5344
|
case 37:
|
|
5276
5345
|
mediaResponse = _context15.sent;
|
|
@@ -5362,7 +5431,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5362
5431
|
}, {
|
|
5363
5432
|
key: "reconnect",
|
|
5364
5433
|
value: function reconnect(options) {
|
|
5365
|
-
var
|
|
5434
|
+
var _this31 = this;
|
|
5366
5435
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
5367
5436
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
5368
5437
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
@@ -5378,10 +5447,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5378
5447
|
while (1) switch (_context16.prev = _context16.next) {
|
|
5379
5448
|
case 0:
|
|
5380
5449
|
_context16.next = 2;
|
|
5381
|
-
return
|
|
5450
|
+
return _this31.waitForRemoteSDPAnswer();
|
|
5382
5451
|
case 2:
|
|
5383
5452
|
_context16.next = 4;
|
|
5384
|
-
return
|
|
5453
|
+
return _this31.waitForMediaConnectionConnected();
|
|
5385
5454
|
case 4:
|
|
5386
5455
|
case "end":
|
|
5387
5456
|
return _context16.stop();
|
|
@@ -5395,7 +5464,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5395
5464
|
return _promise.default.resolve();
|
|
5396
5465
|
}
|
|
5397
5466
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
5398
|
-
|
|
5467
|
+
_this31.uploadLogs({
|
|
5399
5468
|
file: 'meeting/index',
|
|
5400
5469
|
function: 'reconnect'
|
|
5401
5470
|
});
|
|
@@ -5442,19 +5511,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5442
5511
|
}, {
|
|
5443
5512
|
key: "setCaptionLanguage",
|
|
5444
5513
|
value: function setCaptionLanguage(language) {
|
|
5445
|
-
var
|
|
5514
|
+
var _this32 = this;
|
|
5446
5515
|
return new _promise.default(function (resolve, reject) {
|
|
5447
|
-
if (!
|
|
5516
|
+
if (!_this32.isTranscriptionSupported()) {
|
|
5448
5517
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5449
5518
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5450
5519
|
}
|
|
5451
5520
|
try {
|
|
5452
5521
|
var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
|
|
5453
5522
|
// @ts-ignore
|
|
5454
|
-
|
|
5523
|
+
_this32.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5455
5524
|
var statusCode = payload.statusCode;
|
|
5456
5525
|
if (statusCode === 200) {
|
|
5457
|
-
|
|
5526
|
+
_this32.transcription.languageOptions = _objectSpread(_objectSpread({}, _this32.transcription.languageOptions), {}, {
|
|
5458
5527
|
currentCaptionLanguage: language
|
|
5459
5528
|
});
|
|
5460
5529
|
resolve(language);
|
|
@@ -5463,9 +5532,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5463
5532
|
}
|
|
5464
5533
|
};
|
|
5465
5534
|
// @ts-ignore
|
|
5466
|
-
|
|
5535
|
+
_this32.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5467
5536
|
// @ts-ignore
|
|
5468
|
-
|
|
5537
|
+
_this32.webex.internal.voicea.requestLanguage(language);
|
|
5469
5538
|
} catch (error) {
|
|
5470
5539
|
_loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
|
|
5471
5540
|
reject(error);
|
|
@@ -5481,23 +5550,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5481
5550
|
}, {
|
|
5482
5551
|
key: "setSpokenLanguage",
|
|
5483
5552
|
value: function setSpokenLanguage(language) {
|
|
5484
|
-
var
|
|
5553
|
+
var _this33 = this;
|
|
5485
5554
|
return new _promise.default(function (resolve, reject) {
|
|
5486
|
-
if (!
|
|
5555
|
+
if (!_this33.isTranscriptionSupported()) {
|
|
5487
5556
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5488
5557
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5489
5558
|
}
|
|
5490
|
-
if (
|
|
5559
|
+
if (_this33.getCurUserType() !== 'host') {
|
|
5491
5560
|
_loggerProxy.default.logger.error('Meeting:index#setSpokenLanguage --> Only host can set spoken language');
|
|
5492
5561
|
reject(new Error('Only host can set spoken language'));
|
|
5493
5562
|
}
|
|
5494
5563
|
try {
|
|
5495
5564
|
var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
|
|
5496
5565
|
// @ts-ignore
|
|
5497
|
-
|
|
5566
|
+
_this33.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5498
5567
|
var languageCode = payload.languageCode;
|
|
5499
5568
|
if (languageCode) {
|
|
5500
|
-
|
|
5569
|
+
_this33.transcription.languageOptions = _objectSpread(_objectSpread({}, _this33.transcription.languageOptions), {}, {
|
|
5501
5570
|
currentSpokenLanguage: languageCode
|
|
5502
5571
|
});
|
|
5503
5572
|
resolve(languageCode);
|
|
@@ -5507,10 +5576,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5507
5576
|
};
|
|
5508
5577
|
|
|
5509
5578
|
// @ts-ignore
|
|
5510
|
-
|
|
5579
|
+
_this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5511
5580
|
|
|
5512
5581
|
// @ts-ignore
|
|
5513
|
-
|
|
5582
|
+
_this33.webex.internal.voicea.setSpokenLanguage(language);
|
|
5514
5583
|
} catch (error) {
|
|
5515
5584
|
_loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
|
|
5516
5585
|
reject(error);
|
|
@@ -5630,7 +5699,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5630
5699
|
*/
|
|
5631
5700
|
function () {
|
|
5632
5701
|
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
5633
|
-
var
|
|
5702
|
+
var _this34 = this;
|
|
5634
5703
|
var options,
|
|
5635
5704
|
errorMessage,
|
|
5636
5705
|
error,
|
|
@@ -5776,62 +5845,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5776
5845
|
return _context18.abrupt("return", _promise.default.reject(_context18.t0));
|
|
5777
5846
|
case 51:
|
|
5778
5847
|
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5779
|
-
|
|
5780
|
-
|
|
5848
|
+
_this34.meetingFiniteStateMachine.join();
|
|
5849
|
+
_this34.setupLocusMediaRequest();
|
|
5781
5850
|
|
|
5782
5851
|
// @ts-ignore
|
|
5783
|
-
|
|
5784
|
-
(0, _classPrivateFieldSet2.default)(
|
|
5852
|
+
_this34.webex.internal.device.meetingStarted();
|
|
5853
|
+
(0, _classPrivateFieldSet2.default)(_this34, _isoLocalClientMeetingJoinTime, new Date().toISOString());
|
|
5785
5854
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5786
5855
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5787
|
-
correlation_id:
|
|
5856
|
+
correlation_id: _this34.correlationId
|
|
5788
5857
|
});
|
|
5789
5858
|
joinSuccess(join);
|
|
5790
|
-
|
|
5859
|
+
_this34.deferJoin = undefined;
|
|
5791
5860
|
return join;
|
|
5792
5861
|
}).catch(function (error) {
|
|
5793
|
-
var
|
|
5794
|
-
|
|
5862
|
+
var _this34$meetingInfo, _error$error;
|
|
5863
|
+
_this34.meetingFiniteStateMachine.fail(error);
|
|
5795
5864
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
5796
5865
|
|
|
5797
5866
|
// @ts-ignore
|
|
5798
|
-
|
|
5867
|
+
_this34.webex.internal.newMetrics.submitClientEvent({
|
|
5799
5868
|
name: 'client.locus.join.response',
|
|
5800
5869
|
payload: {
|
|
5801
5870
|
identifiers: {
|
|
5802
|
-
meetingLookupUrl: (
|
|
5871
|
+
meetingLookupUrl: (_this34$meetingInfo = _this34.meetingInfo) === null || _this34$meetingInfo === void 0 ? void 0 : _this34$meetingInfo.meetingLookupUrl
|
|
5803
5872
|
}
|
|
5804
5873
|
},
|
|
5805
5874
|
options: {
|
|
5806
|
-
meetingId:
|
|
5875
|
+
meetingId: _this34.id,
|
|
5807
5876
|
rawError: error
|
|
5808
5877
|
}
|
|
5809
5878
|
});
|
|
5810
5879
|
|
|
5811
5880
|
// TODO: change this to error codes and pre defined dictionary
|
|
5812
5881
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
5813
|
-
correlation_id:
|
|
5882
|
+
correlation_id: _this34.correlationId,
|
|
5814
5883
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
5815
5884
|
stack: error.stack
|
|
5816
5885
|
});
|
|
5817
5886
|
|
|
5818
5887
|
// Upload logs on join Failure
|
|
5819
|
-
_triggerProxy.default.trigger(
|
|
5888
|
+
_triggerProxy.default.trigger(_this34, {
|
|
5820
5889
|
file: 'meeting/index',
|
|
5821
5890
|
function: 'join'
|
|
5822
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5891
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this34);
|
|
5823
5892
|
joinFailed(error);
|
|
5824
|
-
|
|
5893
|
+
_this34.deferJoin = undefined;
|
|
5825
5894
|
return _promise.default.reject(error);
|
|
5826
5895
|
}).then(function (join) {
|
|
5827
5896
|
// @ts-ignore - config coming from registerPlugin
|
|
5828
|
-
if (
|
|
5897
|
+
if (_this34.config.enableAutomaticLLM) {
|
|
5829
5898
|
// @ts-ignore
|
|
5830
|
-
|
|
5831
|
-
|
|
5899
|
+
_this34.webex.internal.llm.on('online', _this34.handleLLMOnline);
|
|
5900
|
+
_this34.updateLLMConnection().catch(function (error) {
|
|
5832
5901
|
_loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
|
|
5833
5902
|
_metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
|
|
5834
|
-
correlation_id:
|
|
5903
|
+
correlation_id: _this34.correlationId,
|
|
5835
5904
|
reason: error === null || error === void 0 ? void 0 : error.message,
|
|
5836
5905
|
stack: error.stack
|
|
5837
5906
|
});
|
|
@@ -5863,7 +5932,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5863
5932
|
key: "updateLLMConnection",
|
|
5864
5933
|
value: (function () {
|
|
5865
5934
|
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5866
|
-
var
|
|
5935
|
+
var _this35 = this;
|
|
5867
5936
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
5868
5937
|
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
5869
5938
|
while (1) switch (_context19.prev = _context19.next) {
|
|
@@ -5899,9 +5968,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5899
5968
|
case 10:
|
|
5900
5969
|
return _context19.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
5901
5970
|
// @ts-ignore - Fix type
|
|
5902
|
-
|
|
5971
|
+
_this35.webex.internal.llm.off('event:relay.event', _this35.processRelayEvent);
|
|
5903
5972
|
// @ts-ignore - Fix type
|
|
5904
|
-
|
|
5973
|
+
_this35.webex.internal.llm.on('event:relay.event', _this35.processRelayEvent);
|
|
5905
5974
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
5906
5975
|
return _promise.default.resolve(registerAndConnectResult);
|
|
5907
5976
|
}));
|
|
@@ -5955,7 +6024,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5955
6024
|
}, {
|
|
5956
6025
|
key: "dialInPstn",
|
|
5957
6026
|
value: function dialInPstn() {
|
|
5958
|
-
var
|
|
6027
|
+
var _this36 = this;
|
|
5959
6028
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
5960
6029
|
|
|
5961
6030
|
var correlationId = this.correlationId,
|
|
@@ -5971,10 +6040,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5971
6040
|
}).catch(function (error) {
|
|
5972
6041
|
var _error$error2;
|
|
5973
6042
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
5974
|
-
correlation_id:
|
|
5975
|
-
dial_in_url:
|
|
6043
|
+
correlation_id: _this36.correlationId,
|
|
6044
|
+
dial_in_url: _this36.dialInUrl,
|
|
5976
6045
|
locus_id: locusUrl.split('/').pop(),
|
|
5977
|
-
client_url:
|
|
6046
|
+
client_url: _this36.deviceUrl,
|
|
5978
6047
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
5979
6048
|
stack: error.stack
|
|
5980
6049
|
});
|
|
@@ -5992,7 +6061,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5992
6061
|
}, {
|
|
5993
6062
|
key: "dialOutPstn",
|
|
5994
6063
|
value: function dialOutPstn(phoneNumber) {
|
|
5995
|
-
var
|
|
6064
|
+
var _this37 = this;
|
|
5996
6065
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
5997
6066
|
|
|
5998
6067
|
var correlationId = this.correlationId,
|
|
@@ -6009,10 +6078,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6009
6078
|
}).catch(function (error) {
|
|
6010
6079
|
var _error$error3;
|
|
6011
6080
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
6012
|
-
correlation_id:
|
|
6013
|
-
dial_out_url:
|
|
6081
|
+
correlation_id: _this37.correlationId,
|
|
6082
|
+
dial_out_url: _this37.dialOutUrl,
|
|
6014
6083
|
locus_id: locusUrl.split('/').pop(),
|
|
6015
|
-
client_url:
|
|
6084
|
+
client_url: _this37.deviceUrl,
|
|
6016
6085
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
6017
6086
|
stack: error.stack
|
|
6018
6087
|
});
|
|
@@ -6043,7 +6112,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6043
6112
|
}, {
|
|
6044
6113
|
key: "moveTo",
|
|
6045
6114
|
value: function moveTo(resourceId) {
|
|
6046
|
-
var
|
|
6115
|
+
var _this38 = this;
|
|
6047
6116
|
if (!resourceId) {
|
|
6048
6117
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
6049
6118
|
}
|
|
@@ -6087,12 +6156,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6087
6156
|
while (1) switch (_context20.prev = _context20.next) {
|
|
6088
6157
|
case 0:
|
|
6089
6158
|
_context20.prev = 0;
|
|
6090
|
-
if (!(
|
|
6159
|
+
if (!(_this38.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
6091
6160
|
_context20.next = 4;
|
|
6092
6161
|
break;
|
|
6093
6162
|
}
|
|
6094
6163
|
_context20.next = 4;
|
|
6095
|
-
return
|
|
6164
|
+
return _this38.releaseScreenShareFloor();
|
|
6096
6165
|
case 4:
|
|
6097
6166
|
mediaSettings = {
|
|
6098
6167
|
mediaDirection: {
|
|
@@ -6104,37 +6173,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6104
6173
|
receiveShare: true
|
|
6105
6174
|
}
|
|
6106
6175
|
};
|
|
6107
|
-
|
|
6108
|
-
|
|
6176
|
+
_this38.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
6177
|
+
_this38.mediaProperties.unsetRemoteMedia();
|
|
6109
6178
|
|
|
6110
6179
|
// 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
6180
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
6112
|
-
if (!
|
|
6181
|
+
if (!_this38.statsAnalyzer) {
|
|
6113
6182
|
_context20.next = 10;
|
|
6114
6183
|
break;
|
|
6115
6184
|
}
|
|
6116
6185
|
_context20.next = 10;
|
|
6117
|
-
return
|
|
6186
|
+
return _this38.statsAnalyzer.stopAnalyzer();
|
|
6118
6187
|
case 10:
|
|
6119
6188
|
_context20.next = 12;
|
|
6120
|
-
return
|
|
6189
|
+
return _this38.closeRemoteStreams();
|
|
6121
6190
|
case 12:
|
|
6122
6191
|
_context20.next = 14;
|
|
6123
|
-
return
|
|
6192
|
+
return _this38.closePeerConnections();
|
|
6124
6193
|
case 14:
|
|
6125
|
-
|
|
6126
|
-
|
|
6127
|
-
|
|
6128
|
-
|
|
6194
|
+
_this38.cleanupLocalStreams();
|
|
6195
|
+
_this38.unsetRemoteStreams();
|
|
6196
|
+
_this38.unsetPeerConnections();
|
|
6197
|
+
_this38.reconnectionManager.cleanUp();
|
|
6129
6198
|
_context20.next = 20;
|
|
6130
|
-
return
|
|
6199
|
+
return _this38.addMedia({
|
|
6131
6200
|
audioEnabled: false,
|
|
6132
6201
|
videoEnabled: false,
|
|
6133
6202
|
shareVideoEnabled: true
|
|
6134
6203
|
});
|
|
6135
6204
|
case 20:
|
|
6136
6205
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
6137
|
-
|
|
6206
|
+
_this38.isMoveToInProgress = false;
|
|
6138
6207
|
_context20.next = 29;
|
|
6139
6208
|
break;
|
|
6140
6209
|
case 24:
|
|
@@ -6142,12 +6211,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6142
6211
|
_context20.t0 = _context20["catch"](0);
|
|
6143
6212
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context20.t0);
|
|
6144
6213
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6145
|
-
correlation_id:
|
|
6146
|
-
locus_id:
|
|
6214
|
+
correlation_id: _this38.correlationId,
|
|
6215
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6147
6216
|
reason: _context20.t0.message,
|
|
6148
6217
|
stack: _context20.t0.stack
|
|
6149
6218
|
});
|
|
6150
|
-
|
|
6219
|
+
_this38.isMoveToInProgress = false;
|
|
6151
6220
|
case 29:
|
|
6152
6221
|
case "end":
|
|
6153
6222
|
return _context20.stop();
|
|
@@ -6163,17 +6232,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6163
6232
|
resourceId: resourceId,
|
|
6164
6233
|
moveToResource: true
|
|
6165
6234
|
}).then(function () {
|
|
6166
|
-
|
|
6235
|
+
_this38.meetingFiniteStateMachine.join();
|
|
6167
6236
|
}).catch(function (error) {
|
|
6168
|
-
|
|
6237
|
+
_this38.meetingFiniteStateMachine.fail(error);
|
|
6169
6238
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6170
|
-
correlation_id:
|
|
6171
|
-
locus_id:
|
|
6239
|
+
correlation_id: _this38.correlationId,
|
|
6240
|
+
locus_id: _this38.locusUrl.split('/').pop(),
|
|
6172
6241
|
reason: error.message,
|
|
6173
6242
|
stack: error.stack
|
|
6174
6243
|
});
|
|
6175
6244
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
|
|
6176
|
-
|
|
6245
|
+
_this38.isMoveToInProgress = false;
|
|
6177
6246
|
return _promise.default.reject(error);
|
|
6178
6247
|
});
|
|
6179
6248
|
}
|
|
@@ -6188,7 +6257,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6188
6257
|
}, {
|
|
6189
6258
|
key: "moveFrom",
|
|
6190
6259
|
value: function moveFrom(resourceId) {
|
|
6191
|
-
var
|
|
6260
|
+
var _this39 = this;
|
|
6192
6261
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
6193
6262
|
if (!resourceId) {
|
|
6194
6263
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -6203,19 +6272,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6203
6272
|
}
|
|
6204
6273
|
});
|
|
6205
6274
|
return _util2.default.joinMeetingOptions(this).then(function () {
|
|
6206
|
-
return _util2.default.leaveMeeting(
|
|
6275
|
+
return _util2.default.leaveMeeting(_this39, {
|
|
6207
6276
|
resourceId: resourceId,
|
|
6208
6277
|
correlationId: oldCorrelationId,
|
|
6209
6278
|
moveMeeting: true
|
|
6210
6279
|
}).then(function () {
|
|
6211
|
-
|
|
6280
|
+
_this39.resourceId = '';
|
|
6212
6281
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
6213
6282
|
});
|
|
6214
6283
|
}).catch(function (error) {
|
|
6215
|
-
|
|
6284
|
+
_this39.meetingFiniteStateMachine.fail(error);
|
|
6216
6285
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
6217
|
-
correlation_id:
|
|
6218
|
-
locus_id:
|
|
6286
|
+
correlation_id: _this39.correlationId,
|
|
6287
|
+
locus_id: _this39.locusUrl.split('/').pop(),
|
|
6219
6288
|
reason: error.message,
|
|
6220
6289
|
stack: error.stack
|
|
6221
6290
|
});
|
|
@@ -6328,9 +6397,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6328
6397
|
}, {
|
|
6329
6398
|
key: "forwardEvent",
|
|
6330
6399
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
6331
|
-
var
|
|
6400
|
+
var _this40 = this;
|
|
6332
6401
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
6333
|
-
return _triggerProxy.default.trigger(
|
|
6402
|
+
return _triggerProxy.default.trigger(_this40, {
|
|
6334
6403
|
file: 'meetings',
|
|
6335
6404
|
function: 'addMedia'
|
|
6336
6405
|
}, meetingEventType, data);
|
|
@@ -6517,7 +6586,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6517
6586
|
*/
|
|
6518
6587
|
function () {
|
|
6519
6588
|
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
6520
|
-
var
|
|
6589
|
+
var _this41 = this;
|
|
6521
6590
|
var LOG_HEADER, deferSDPAnswer;
|
|
6522
6591
|
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6523
6592
|
while (1) switch (_context24.prev = _context24.next) {
|
|
@@ -6534,18 +6603,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6534
6603
|
this.sdpResponseTimer = setTimeout(function () {
|
|
6535
6604
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
|
|
6536
6605
|
// @ts-ignore
|
|
6537
|
-
|
|
6606
|
+
_this41.webex.internal.newMetrics.submitClientEvent({
|
|
6538
6607
|
name: 'client.media-engine.remote-sdp-received',
|
|
6539
6608
|
payload: {
|
|
6540
6609
|
canProceed: false,
|
|
6541
6610
|
errors: [
|
|
6542
6611
|
// @ts-ignore
|
|
6543
|
-
|
|
6612
|
+
_this41.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
6544
6613
|
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
|
|
6545
6614
|
})]
|
|
6546
6615
|
},
|
|
6547
6616
|
options: {
|
|
6548
|
-
meetingId:
|
|
6617
|
+
meetingId: _this41.id,
|
|
6549
6618
|
rawError: new Error('Timeout waiting for SDP answer')
|
|
6550
6619
|
}
|
|
6551
6620
|
});
|
|
@@ -7009,10 +7078,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7009
7078
|
}, {
|
|
7010
7079
|
key: "addMedia",
|
|
7011
7080
|
value: function addMedia() {
|
|
7012
|
-
var
|
|
7081
|
+
var _this42 = this;
|
|
7013
7082
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7014
7083
|
return this.addMediaInternal(function () {
|
|
7015
|
-
return
|
|
7084
|
+
return _this42.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
7016
7085
|
}, undefined, false, options);
|
|
7017
7086
|
}
|
|
7018
7087
|
|
|
@@ -7212,21 +7281,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7212
7281
|
|
|
7213
7282
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
7214
7283
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
7215
|
-
|
|
7284
|
+
this.startPeriodicLogUpload();
|
|
7285
|
+
_context33.next = 69;
|
|
7216
7286
|
break;
|
|
7217
|
-
case
|
|
7218
|
-
_context33.prev =
|
|
7287
|
+
case 51:
|
|
7288
|
+
_context33.prev = 51;
|
|
7219
7289
|
_context33.t0 = _context33["catch"](18);
|
|
7220
7290
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context33.t0);
|
|
7221
7291
|
|
|
7222
7292
|
// @ts-ignore
|
|
7223
|
-
_context33.next =
|
|
7293
|
+
_context33.next = 56;
|
|
7224
7294
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7225
|
-
case
|
|
7295
|
+
case 56:
|
|
7226
7296
|
reachabilityMetrics = _context33.sent;
|
|
7227
|
-
_context33.next =
|
|
7297
|
+
_context33.next = 59;
|
|
7228
7298
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7229
|
-
case
|
|
7299
|
+
case 59:
|
|
7230
7300
|
_yield$this$mediaProp2 = _context33.sent;
|
|
7231
7301
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7232
7302
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
@@ -7250,9 +7320,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7250
7320
|
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7251
7321
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7252
7322
|
}));
|
|
7253
|
-
_context33.next =
|
|
7323
|
+
_context33.next = 66;
|
|
7254
7324
|
return this.cleanUpOnAddMediaFailure();
|
|
7255
|
-
case
|
|
7325
|
+
case 66:
|
|
7256
7326
|
// Upload logs on error while adding media
|
|
7257
7327
|
_triggerProxy.default.trigger(this, {
|
|
7258
7328
|
file: 'meeting/index',
|
|
@@ -7264,15 +7334,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7264
7334
|
});
|
|
7265
7335
|
}
|
|
7266
7336
|
throw _context33.t0;
|
|
7267
|
-
case
|
|
7268
|
-
_context33.prev =
|
|
7337
|
+
case 69:
|
|
7338
|
+
_context33.prev = 69;
|
|
7269
7339
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7270
|
-
return _context33.finish(
|
|
7271
|
-
case
|
|
7340
|
+
return _context33.finish(69);
|
|
7341
|
+
case 72:
|
|
7272
7342
|
case "end":
|
|
7273
7343
|
return _context33.stop();
|
|
7274
7344
|
}
|
|
7275
|
-
}, _callee33, this, [[18,
|
|
7345
|
+
}, _callee33, this, [[18, 51, 69, 72]]);
|
|
7276
7346
|
}));
|
|
7277
7347
|
function addMediaInternal(_x32, _x33, _x34) {
|
|
7278
7348
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -7304,7 +7374,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7304
7374
|
* @memberof Meeting
|
|
7305
7375
|
*/
|
|
7306
7376
|
function enqueueMediaUpdate(mediaUpdateType) {
|
|
7307
|
-
var
|
|
7377
|
+
var _this43 = this;
|
|
7308
7378
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7309
7379
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
7310
7380
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -7315,9 +7385,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7315
7385
|
options: options
|
|
7316
7386
|
};
|
|
7317
7387
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
7318
|
-
|
|
7388
|
+
_this43.queuedMediaUpdates.push(queueItem);
|
|
7319
7389
|
if (canUpdateMediaNow) {
|
|
7320
|
-
|
|
7390
|
+
_this43.processNextQueuedMediaUpdate();
|
|
7321
7391
|
}
|
|
7322
7392
|
});
|
|
7323
7393
|
}
|
|
@@ -7422,7 +7492,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7422
7492
|
}, {
|
|
7423
7493
|
key: "acknowledge",
|
|
7424
7494
|
value: function acknowledge(type) {
|
|
7425
|
-
var
|
|
7495
|
+
var _this44 = this;
|
|
7426
7496
|
if (!type) {
|
|
7427
7497
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
7428
7498
|
}
|
|
@@ -7434,12 +7504,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7434
7504
|
}).then(function (response) {
|
|
7435
7505
|
return _promise.default.resolve(response);
|
|
7436
7506
|
}).then(function (response) {
|
|
7437
|
-
|
|
7507
|
+
_this44.meetingFiniteStateMachine.ring(type);
|
|
7438
7508
|
// @ts-ignore
|
|
7439
|
-
|
|
7509
|
+
_this44.webex.internal.newMetrics.submitClientEvent({
|
|
7440
7510
|
name: 'client.alert.displayed',
|
|
7441
7511
|
options: {
|
|
7442
|
-
meetingId:
|
|
7512
|
+
meetingId: _this44.id
|
|
7443
7513
|
}
|
|
7444
7514
|
});
|
|
7445
7515
|
return _promise.default.resolve({
|
|
@@ -7464,12 +7534,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7464
7534
|
}, {
|
|
7465
7535
|
key: "decline",
|
|
7466
7536
|
value: function decline(reason) {
|
|
7467
|
-
var
|
|
7537
|
+
var _this45 = this;
|
|
7468
7538
|
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
7469
|
-
|
|
7539
|
+
_this45.meetingFiniteStateMachine.decline();
|
|
7470
7540
|
return _promise.default.resolve(decline);
|
|
7471
7541
|
}).catch(function (error) {
|
|
7472
|
-
|
|
7542
|
+
_this45.meetingFiniteStateMachine.fail(error);
|
|
7473
7543
|
return _promise.default.reject(error);
|
|
7474
7544
|
});
|
|
7475
7545
|
}
|
|
@@ -7520,7 +7590,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7520
7590
|
}, {
|
|
7521
7591
|
key: "leave",
|
|
7522
7592
|
value: function leave() {
|
|
7523
|
-
var
|
|
7593
|
+
var _this46 = this;
|
|
7524
7594
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7525
7595
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
7526
7596
|
|
|
@@ -7532,7 +7602,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7532
7602
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7533
7603
|
return (
|
|
7534
7604
|
// @ts-ignore
|
|
7535
|
-
|
|
7605
|
+
_this46.webex.internal.newMetrics.submitClientEvent({
|
|
7536
7606
|
name: 'client.call.leave',
|
|
7537
7607
|
payload: _objectSpread({
|
|
7538
7608
|
trigger: 'user-interaction',
|
|
@@ -7540,7 +7610,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7540
7610
|
leaveReason: options.clientEventLeaveReason
|
|
7541
7611
|
}, payload),
|
|
7542
7612
|
options: {
|
|
7543
|
-
meetingId:
|
|
7613
|
+
meetingId: _this46.id
|
|
7544
7614
|
}
|
|
7545
7615
|
})
|
|
7546
7616
|
);
|
|
@@ -7549,24 +7619,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7549
7619
|
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
|
7550
7620
|
// CA team recommends submitting this *after* locus /leave
|
|
7551
7621
|
submitLeaveMetric();
|
|
7552
|
-
|
|
7553
|
-
|
|
7622
|
+
_this46.meetingFiniteStateMachine.leave();
|
|
7623
|
+
_this46.clearMeetingData();
|
|
7554
7624
|
|
|
7555
7625
|
// upload logs on leave irrespective of meeting delete
|
|
7556
|
-
_triggerProxy.default.trigger(
|
|
7626
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7557
7627
|
file: 'meeting/index',
|
|
7558
7628
|
function: 'leave'
|
|
7559
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7629
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7560
7630
|
|
|
7561
7631
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
7562
|
-
if (
|
|
7632
|
+
if (_this46.wirelessShare || _this46.guest) {
|
|
7563
7633
|
// If screen sharing clean the meeting object
|
|
7564
|
-
_triggerProxy.default.trigger(
|
|
7634
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7565
7635
|
file: 'meeting/index',
|
|
7566
7636
|
function: 'leave'
|
|
7567
7637
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
7568
7638
|
reason: options.reason,
|
|
7569
|
-
meetingId:
|
|
7639
|
+
meetingId: _this46.id
|
|
7570
7640
|
});
|
|
7571
7641
|
}
|
|
7572
7642
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
@@ -7583,16 +7653,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7583
7653
|
shownToUser: false
|
|
7584
7654
|
}]
|
|
7585
7655
|
});
|
|
7586
|
-
|
|
7656
|
+
_this46.meetingFiniteStateMachine.fail(error);
|
|
7587
7657
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
7588
7658
|
// upload logs on leave irrespective of meeting delete
|
|
7589
|
-
_triggerProxy.default.trigger(
|
|
7659
|
+
_triggerProxy.default.trigger(_this46, {
|
|
7590
7660
|
file: 'meeting/index',
|
|
7591
7661
|
function: 'leave'
|
|
7592
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7662
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
|
|
7593
7663
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
7594
|
-
correlation_id:
|
|
7595
|
-
locus_id:
|
|
7664
|
+
correlation_id: _this46.correlationId,
|
|
7665
|
+
locus_id: _this46.locusUrl.split('/').pop(),
|
|
7596
7666
|
reason: error.message,
|
|
7597
7667
|
stack: error.stack,
|
|
7598
7668
|
code: error.code
|
|
@@ -7612,7 +7682,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7612
7682
|
}, {
|
|
7613
7683
|
key: "startWhiteboardShare",
|
|
7614
7684
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
7615
|
-
var
|
|
7685
|
+
var _this47 = this;
|
|
7616
7686
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7617
7687
|
return element.name === 'whiteboard';
|
|
7618
7688
|
});
|
|
@@ -7641,13 +7711,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7641
7711
|
body.resourceToken = resourceToken;
|
|
7642
7712
|
}
|
|
7643
7713
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
7644
|
-
|
|
7714
|
+
_this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7645
7715
|
return _promise.default.resolve();
|
|
7646
7716
|
}).catch(function (error) {
|
|
7647
7717
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
7648
7718
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
7649
|
-
correlation_id:
|
|
7650
|
-
locus_id:
|
|
7719
|
+
correlation_id: _this47.correlationId,
|
|
7720
|
+
locus_id: _this47.locusUrl.split('/').pop(),
|
|
7651
7721
|
reason: error.message,
|
|
7652
7722
|
stack: error.stack,
|
|
7653
7723
|
board: {
|
|
@@ -7670,7 +7740,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7670
7740
|
}, {
|
|
7671
7741
|
key: "stopWhiteboardShare",
|
|
7672
7742
|
value: function stopWhiteboardShare(channelUrl) {
|
|
7673
|
-
var
|
|
7743
|
+
var _this48 = this;
|
|
7674
7744
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
7675
7745
|
return element.name === 'whiteboard';
|
|
7676
7746
|
});
|
|
@@ -7693,8 +7763,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7693
7763
|
}).catch(function (error) {
|
|
7694
7764
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
7695
7765
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
7696
|
-
correlation_id:
|
|
7697
|
-
locus_id:
|
|
7766
|
+
correlation_id: _this48.correlationId,
|
|
7767
|
+
locus_id: _this48.locusUrl.split('/').pop(),
|
|
7698
7768
|
reason: error.message,
|
|
7699
7769
|
stack: error.stack,
|
|
7700
7770
|
board: {
|
|
@@ -7716,7 +7786,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7716
7786
|
}, {
|
|
7717
7787
|
key: "requestScreenShareFloor",
|
|
7718
7788
|
value: function requestScreenShareFloor() {
|
|
7719
|
-
var
|
|
7789
|
+
var _this49 = this;
|
|
7720
7790
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
7721
7791
|
_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
7792
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -7747,34 +7817,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7747
7817
|
resourceUrl: this.resourceUrl,
|
|
7748
7818
|
shareInstanceId: this.localShareInstanceId
|
|
7749
7819
|
}).then(function () {
|
|
7750
|
-
|
|
7820
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
7751
7821
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
7752
|
-
correlation_id:
|
|
7753
|
-
locus_id:
|
|
7822
|
+
correlation_id: _this49.correlationId,
|
|
7823
|
+
locus_id: _this49.locusUrl.split('/').pop()
|
|
7754
7824
|
});
|
|
7755
7825
|
return _promise.default.resolve();
|
|
7756
7826
|
}).catch(function (error) {
|
|
7757
7827
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
7758
7828
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
7759
|
-
correlation_id:
|
|
7760
|
-
locus_id:
|
|
7829
|
+
correlation_id: _this49.correlationId,
|
|
7830
|
+
locus_id: _this49.locusUrl.split('/').pop(),
|
|
7761
7831
|
reason: error.message,
|
|
7762
7832
|
stack: error.stack
|
|
7763
7833
|
});
|
|
7764
7834
|
|
|
7765
7835
|
// @ts-ignore
|
|
7766
|
-
|
|
7836
|
+
_this49.webex.internal.newMetrics.submitClientEvent({
|
|
7767
7837
|
name: 'client.share.floor-granted.local',
|
|
7768
7838
|
payload: {
|
|
7769
7839
|
mediaType: 'share',
|
|
7770
7840
|
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
|
7771
|
-
shareInstanceId:
|
|
7841
|
+
shareInstanceId: _this49.localShareInstanceId
|
|
7772
7842
|
},
|
|
7773
7843
|
options: {
|
|
7774
|
-
meetingId:
|
|
7844
|
+
meetingId: _this49.id
|
|
7775
7845
|
}
|
|
7776
7846
|
});
|
|
7777
|
-
|
|
7847
|
+
_this49.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7778
7848
|
return _promise.default.reject(error);
|
|
7779
7849
|
});
|
|
7780
7850
|
}
|
|
@@ -7797,10 +7867,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7797
7867
|
}, {
|
|
7798
7868
|
key: "requestScreenShareFloorIfPending",
|
|
7799
7869
|
value: function requestScreenShareFloorIfPending() {
|
|
7800
|
-
var
|
|
7870
|
+
var _this50 = this;
|
|
7801
7871
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
7802
7872
|
this.requestScreenShareFloor().then(function () {
|
|
7803
|
-
|
|
7873
|
+
_this50.floorGrantPending = false;
|
|
7804
7874
|
});
|
|
7805
7875
|
}
|
|
7806
7876
|
}
|
|
@@ -7814,7 +7884,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7814
7884
|
}, {
|
|
7815
7885
|
key: "releaseScreenShareFloor",
|
|
7816
7886
|
value: function releaseScreenShareFloor() {
|
|
7817
|
-
var
|
|
7887
|
+
var _this51 = this;
|
|
7818
7888
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
7819
7889
|
return element.name === _constants.CONTENT;
|
|
7820
7890
|
});
|
|
@@ -7849,8 +7919,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7849
7919
|
}).catch(function (error) {
|
|
7850
7920
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
7851
7921
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
7852
|
-
correlation_id:
|
|
7853
|
-
locus_id:
|
|
7922
|
+
correlation_id: _this51.correlationId,
|
|
7923
|
+
locus_id: _this51.locusUrl.split('/').pop(),
|
|
7854
7924
|
reason: error.message,
|
|
7855
7925
|
stack: error.stack
|
|
7856
7926
|
});
|
|
@@ -8030,7 +8100,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8030
8100
|
}, {
|
|
8031
8101
|
key: "changeVideoLayout",
|
|
8032
8102
|
value: function changeVideoLayout(layoutType) {
|
|
8033
|
-
var
|
|
8103
|
+
var _this52 = this;
|
|
8034
8104
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
8035
8105
|
var main = renderInfo.main,
|
|
8036
8106
|
content = renderInfo.content;
|
|
@@ -8084,7 +8154,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8084
8154
|
}
|
|
8085
8155
|
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
|
8086
8156
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
8087
|
-
_triggerProxy.default.trigger(
|
|
8157
|
+
_triggerProxy.default.trigger(_this52, {
|
|
8088
8158
|
file: 'meeting/index',
|
|
8089
8159
|
function: 'changeVideoLayout'
|
|
8090
8160
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -8200,7 +8270,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8200
8270
|
}, {
|
|
8201
8271
|
key: "endMeetingForAll",
|
|
8202
8272
|
value: function endMeetingForAll() {
|
|
8203
|
-
var
|
|
8273
|
+
var _this53 = this;
|
|
8204
8274
|
// @ts-ignore
|
|
8205
8275
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
8206
8276
|
name: 'client.call.leave',
|
|
@@ -8218,25 +8288,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8218
8288
|
locus_id: this.locusId
|
|
8219
8289
|
});
|
|
8220
8290
|
return _util2.default.endMeetingForAll(this).then(function (end) {
|
|
8221
|
-
|
|
8222
|
-
|
|
8291
|
+
_this53.meetingFiniteStateMachine.end();
|
|
8292
|
+
_this53.clearMeetingData();
|
|
8223
8293
|
// upload logs on leave irrespective of meeting delete
|
|
8224
|
-
_triggerProxy.default.trigger(
|
|
8294
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8225
8295
|
file: 'meeting/index',
|
|
8226
8296
|
function: 'endMeetingForAll'
|
|
8227
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8297
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8228
8298
|
return end;
|
|
8229
8299
|
}).catch(function (error) {
|
|
8230
|
-
|
|
8300
|
+
_this53.meetingFiniteStateMachine.fail(error);
|
|
8231
8301
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
8232
8302
|
// upload logs on leave irrespective of meeting delete
|
|
8233
|
-
_triggerProxy.default.trigger(
|
|
8303
|
+
_triggerProxy.default.trigger(_this53, {
|
|
8234
8304
|
file: 'meeting/index',
|
|
8235
8305
|
function: 'endMeetingForAll'
|
|
8236
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8306
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
|
|
8237
8307
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
8238
|
-
correlation_id:
|
|
8239
|
-
locus_id:
|
|
8308
|
+
correlation_id: _this53.correlationId,
|
|
8309
|
+
locus_id: _this53.locusUrl.split('/').pop(),
|
|
8240
8310
|
reason: error.message,
|
|
8241
8311
|
stack: error.stack,
|
|
8242
8312
|
code: error.code
|
|
@@ -8378,7 +8448,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8378
8448
|
_this$mediaProperties41,
|
|
8379
8449
|
_this$mediaProperties42,
|
|
8380
8450
|
_this$mediaProperties43,
|
|
8381
|
-
|
|
8451
|
+
_this54 = this;
|
|
8382
8452
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
8383
8453
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
8384
8454
|
if (!this.canUpdateMedia()) {
|
|
@@ -8403,8 +8473,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8403
8473
|
}).catch(function (error) {
|
|
8404
8474
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
8405
8475
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
8406
|
-
correlation_id:
|
|
8407
|
-
locus_id:
|
|
8476
|
+
correlation_id: _this54.correlationId,
|
|
8477
|
+
locus_id: _this54.locusUrl.split('/').pop(),
|
|
8408
8478
|
reason: error.message,
|
|
8409
8479
|
stack: error.stack
|
|
8410
8480
|
});
|