@webex/plugin-meetings 3.8.1 → 3.9.0
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/README.md +26 -13
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +32 -3
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +1 -0
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +26 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +11 -3
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +68 -84
- package/dist/locus-info/index.js.map +1 -1
- package/dist/media/index.js +2 -2
- package/dist/media/index.js.map +1 -1
- package/dist/meeting/brbState.js +17 -14
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +11 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +428 -253
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +19 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/{rtcMetrics/constants.js → meeting/type.js} +1 -5
- package/dist/meeting/type.js.map +1 -0
- package/dist/meeting/util.js +68 -2
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +35 -33
- package/dist/meetings/index.js.map +1 -1
- package/dist/members/index.js +11 -9
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +3 -3
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +18 -6
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +1 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +34 -5
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +42 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +32 -2
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reachability/index.js +5 -10
- package/dist/reachability/index.js.map +1 -1
- package/dist/types/constants.d.ts +28 -0
- package/dist/types/controls-options-manager/enums.d.ts +2 -1
- package/dist/types/controls-options-manager/types.d.ts +4 -1
- package/dist/types/locus-info/index.d.ts +0 -9
- package/dist/types/meeting/brbState.d.ts +0 -1
- package/dist/types/meeting/in-meeting-actions.d.ts +10 -0
- package/dist/types/meeting/index.d.ts +47 -19
- package/dist/types/meeting/request.d.ts +9 -1
- package/dist/types/meeting/request.type.d.ts +74 -0
- package/dist/types/meeting/type.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +3 -0
- package/dist/types/members/index.d.ts +10 -7
- package/dist/types/members/request.d.ts +1 -1
- package/dist/types/members/util.d.ts +7 -3
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/multistream/remoteMedia.d.ts +20 -1
- package/dist/types/multistream/remoteMediaGroup.d.ts +11 -0
- package/dist/types/multistream/sendSlotManager.d.ts +16 -0
- package/dist/types/reachability/index.d.ts +2 -2
- package/dist/webinar/index.js +1 -1
- package/package.json +24 -25
- package/src/constants.ts +32 -2
- package/src/controls-options-manager/enums.ts +1 -0
- package/src/controls-options-manager/types.ts +6 -1
- package/src/controls-options-manager/util.ts +31 -0
- package/src/locus-info/controlsUtils.ts +15 -0
- package/src/locus-info/index.ts +88 -82
- package/src/media/index.ts +2 -2
- package/src/meeting/brbState.ts +13 -9
- package/src/meeting/in-meeting-actions.ts +21 -0
- package/src/meeting/index.ts +254 -71
- package/src/meeting/request.ts +16 -0
- package/src/meeting/request.type.ts +64 -0
- package/src/meeting/type.ts +9 -0
- package/src/meeting/util.ts +73 -2
- package/src/meetings/index.ts +3 -2
- package/src/members/index.ts +13 -10
- package/src/members/request.ts +2 -2
- package/src/members/util.ts +16 -4
- package/src/metrics/constants.ts +1 -0
- package/src/multistream/mediaRequestManager.ts +7 -7
- package/src/multistream/remoteMedia.ts +34 -4
- package/src/multistream/remoteMediaGroup.ts +37 -2
- package/src/multistream/sendSlotManager.ts +34 -2
- package/src/reachability/index.ts +5 -13
- package/test/unit/spec/controls-options-manager/util.js +58 -0
- package/test/unit/spec/locus-info/controlsUtils.js +52 -0
- package/test/unit/spec/locus-info/index.js +218 -82
- package/test/unit/spec/media/index.ts +107 -0
- package/test/unit/spec/meeting/brbState.ts +23 -4
- package/test/unit/spec/meeting/in-meeting-actions.ts +10 -0
- package/test/unit/spec/meeting/index.js +901 -84
- package/test/unit/spec/meeting/request.js +71 -0
- package/test/unit/spec/meeting/utils.js +122 -1
- package/test/unit/spec/meetings/index.js +2 -0
- package/test/unit/spec/members/index.js +68 -9
- package/test/unit/spec/members/request.js +2 -2
- package/test/unit/spec/members/utils.js +27 -7
- package/test/unit/spec/multistream/mediaRequestManager.ts +19 -6
- package/test/unit/spec/multistream/remoteMedia.ts +66 -2
- package/test/unit/spec/multistream/sendSlotManager.ts +59 -0
- package/test/unit/spec/reachability/index.ts +2 -6
- package/dist/annotation/annotation.types.d.ts +0 -42
- package/dist/annotation/constants.d.ts +0 -31
- package/dist/annotation/index.d.ts +0 -117
- package/dist/breakouts/breakout.d.ts +0 -8
- package/dist/breakouts/collection.d.ts +0 -5
- package/dist/breakouts/edit-lock-error.d.ts +0 -15
- package/dist/breakouts/events.d.ts +0 -8
- package/dist/breakouts/index.d.ts +0 -5
- package/dist/breakouts/request.d.ts +0 -22
- package/dist/breakouts/utils.d.ts +0 -15
- package/dist/common/browser-detection.d.ts +0 -9
- package/dist/common/collection.d.ts +0 -48
- package/dist/common/config.d.ts +0 -2
- package/dist/common/errors/captcha-error.d.ts +0 -15
- package/dist/common/errors/intent-to-join.d.ts +0 -16
- package/dist/common/errors/join-meeting.d.ts +0 -17
- package/dist/common/errors/media.d.ts +0 -15
- package/dist/common/errors/no-meeting-info.d.ts +0 -14
- package/dist/common/errors/parameter.d.ts +0 -15
- package/dist/common/errors/password-error.d.ts +0 -15
- package/dist/common/errors/permission.d.ts +0 -14
- package/dist/common/errors/reclaim-host-role-error.d.ts +0 -60
- package/dist/common/errors/reclaim-host-role-error.js +0 -158
- package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
- package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
- package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/common/errors/reconnection-in-progress.js +0 -35
- package/dist/common/errors/reconnection-in-progress.js.map +0 -1
- package/dist/common/errors/reconnection.d.ts +0 -15
- package/dist/common/errors/stats.d.ts +0 -15
- package/dist/common/errors/webex-errors.d.ts +0 -81
- package/dist/common/errors/webex-meetings-error.d.ts +0 -20
- package/dist/common/events/events-scope.d.ts +0 -17
- package/dist/common/events/events.d.ts +0 -12
- package/dist/common/events/trigger-proxy.d.ts +0 -2
- package/dist/common/events/util.d.ts +0 -2
- package/dist/common/logs/logger-config.d.ts +0 -2
- package/dist/common/logs/logger-proxy.d.ts +0 -2
- package/dist/common/logs/request.d.ts +0 -34
- package/dist/common/queue.d.ts +0 -32
- package/dist/config.d.ts +0 -73
- package/dist/constants.d.ts +0 -952
- package/dist/controls-options-manager/constants.d.ts +0 -4
- package/dist/controls-options-manager/enums.d.ts +0 -5
- package/dist/controls-options-manager/index.d.ts +0 -120
- package/dist/controls-options-manager/types.d.ts +0 -43
- package/dist/controls-options-manager/util.d.ts +0 -7
- package/dist/index.d.ts +0 -4
- package/dist/interceptors/index.d.ts +0 -2
- package/dist/interceptors/locusRetry.d.ts +0 -27
- package/dist/interpretation/collection.d.ts +0 -5
- package/dist/interpretation/index.d.ts +0 -5
- package/dist/interpretation/siLanguage.d.ts +0 -5
- package/dist/locus-info/controlsUtils.d.ts +0 -2
- package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
- package/dist/locus-info/fullState.d.ts +0 -2
- package/dist/locus-info/hostUtils.d.ts +0 -2
- package/dist/locus-info/index.d.ts +0 -269
- package/dist/locus-info/infoUtils.d.ts +0 -2
- package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
- package/dist/locus-info/parser.d.ts +0 -212
- package/dist/locus-info/selfUtils.d.ts +0 -2
- package/dist/media/index.d.ts +0 -32
- package/dist/media/properties.d.ts +0 -108
- package/dist/media/util.d.ts +0 -2
- package/dist/mediaQualityMetrics/config.d.ts +0 -233
- package/dist/mediaQualityMetrics/config.js +0 -513
- package/dist/mediaQualityMetrics/config.js.map +0 -1
- package/dist/meeting/effectsState.d.ts +0 -42
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/meeting/in-meeting-actions.d.ts +0 -79
- package/dist/meeting/index.d.ts +0 -1622
- package/dist/meeting/locusMediaRequest.d.ts +0 -74
- package/dist/meeting/muteState.d.ts +0 -116
- package/dist/meeting/request.d.ts +0 -257
- package/dist/meeting/request.type.d.ts +0 -11
- package/dist/meeting/state.d.ts +0 -9
- package/dist/meeting/util.d.ts +0 -2
- package/dist/meeting/voicea-meeting.d.ts +0 -16
- package/dist/meeting-info/collection.d.ts +0 -20
- package/dist/meeting-info/index.d.ts +0 -57
- package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
- package/dist/meeting-info/request.d.ts +0 -22
- package/dist/meeting-info/util.d.ts +0 -2
- package/dist/meeting-info/utilv2.d.ts +0 -2
- package/dist/meetings/collection.d.ts +0 -23
- package/dist/meetings/index.d.ts +0 -296
- package/dist/meetings/meetings.types.d.ts +0 -4
- package/dist/meetings/request.d.ts +0 -27
- package/dist/meetings/util.d.ts +0 -18
- package/dist/member/index.d.ts +0 -148
- package/dist/member/member.types.d.ts +0 -11
- package/dist/member/member.types.js +0 -18
- package/dist/member/member.types.js.map +0 -1
- package/dist/member/types.d.ts +0 -32
- package/dist/member/util.d.ts +0 -2
- package/dist/members/collection.d.ts +0 -24
- package/dist/members/index.d.ts +0 -308
- package/dist/members/request.d.ts +0 -58
- package/dist/members/types.d.ts +0 -25
- package/dist/members/util.d.ts +0 -2
- package/dist/metrics/config.d.ts +0 -169
- package/dist/metrics/config.js +0 -289
- package/dist/metrics/config.js.map +0 -1
- package/dist/metrics/constants.d.ts +0 -59
- package/dist/metrics/index.d.ts +0 -152
- package/dist/multistream/mediaRequestManager.d.ts +0 -119
- package/dist/multistream/receiveSlot.d.ts +0 -68
- package/dist/multistream/receiveSlotManager.d.ts +0 -56
- package/dist/multistream/remoteMedia.d.ts +0 -72
- package/dist/multistream/remoteMediaGroup.d.ts +0 -49
- package/dist/multistream/remoteMediaManager.d.ts +0 -300
- package/dist/multistream/sendSlotManager.d.ts +0 -69
- package/dist/networkQualityMonitor/index.d.ts +0 -70
- package/dist/networkQualityMonitor/index.js +0 -226
- package/dist/networkQualityMonitor/index.js.map +0 -1
- package/dist/peer-connection-manager/index.d.ts +0 -6
- package/dist/peer-connection-manager/index.js +0 -671
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.d.ts +0 -6
- package/dist/peer-connection-manager/util.js +0 -110
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/personal-meeting-room/index.d.ts +0 -47
- package/dist/personal-meeting-room/request.d.ts +0 -14
- package/dist/personal-meeting-room/util.d.ts +0 -2
- package/dist/reachability/clusterReachability.d.ts +0 -109
- package/dist/reachability/index.d.ts +0 -139
- package/dist/reachability/request.d.ts +0 -35
- package/dist/reachability/util.d.ts +0 -8
- package/dist/reactions/constants.d.ts +0 -3
- package/dist/reactions/reactions.d.ts +0 -4
- package/dist/reactions/reactions.type.d.ts +0 -32
- package/dist/reconnection-manager/index.d.ts +0 -112
- package/dist/recording-controller/enums.d.ts +0 -7
- package/dist/recording-controller/index.d.ts +0 -193
- package/dist/recording-controller/util.d.ts +0 -13
- package/dist/roap/collection.d.ts +0 -10
- package/dist/roap/collection.js +0 -63
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.d.ts +0 -47
- package/dist/roap/handler.js +0 -279
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/index.d.ts +0 -116
- package/dist/roap/request.d.ts +0 -35
- package/dist/roap/state.d.ts +0 -9
- package/dist/roap/state.js +0 -127
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/turnDiscovery.d.ts +0 -81
- package/dist/roap/util.d.ts +0 -2
- package/dist/roap/util.js +0 -76
- package/dist/roap/util.js.map +0 -1
- package/dist/rtcMetrics/constants.d.ts +0 -4
- package/dist/rtcMetrics/constants.js.map +0 -1
- package/dist/rtcMetrics/index.d.ts +0 -61
- package/dist/rtcMetrics/index.js +0 -197
- package/dist/rtcMetrics/index.js.map +0 -1
- package/dist/statsAnalyzer/global.d.ts +0 -118
- package/dist/statsAnalyzer/global.js +0 -127
- package/dist/statsAnalyzer/global.js.map +0 -1
- package/dist/statsAnalyzer/index.d.ts +0 -193
- package/dist/statsAnalyzer/index.js +0 -1019
- package/dist/statsAnalyzer/index.js.map +0 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
- package/dist/statsAnalyzer/mqaUtil.js +0 -181
- package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
- package/dist/transcription/index.d.ts +0 -64
- package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
- package/dist/types/networkQualityMonitor/index.d.ts +0 -70
- package/dist/types/rtcMetrics/constants.d.ts +0 -4
- package/dist/types/rtcMetrics/index.d.ts +0 -71
- package/dist/types/statsAnalyzer/global.d.ts +0 -36
- package/dist/types/statsAnalyzer/index.d.ts +0 -217
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/dist/webinar/collection.d.ts +0 -16
- package/dist/webinar/index.d.ts +0 -5
package/dist/meeting/index.js
CHANGED
@@ -382,10 +382,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
382
382
|
/**
|
383
383
|
* @param {Object} attrs
|
384
384
|
* @param {Object} options
|
385
|
+
* @param {Function} callback - if provided, it will be called with the newly created meeting object as soon as the meeting.id is set
|
385
386
|
* @constructor
|
386
387
|
* @memberof Meeting
|
387
388
|
*/
|
388
|
-
function Meeting(attrs, _options) {
|
389
|
+
function Meeting(attrs, _options, callback) {
|
389
390
|
var _attrs$callStateForMe, _attrs$callStateForMe2, _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3, _this$locusInfo4;
|
390
391
|
var _this;
|
391
392
|
(0, _classCallCheck2.default)(this, Meeting);
|
@@ -1489,6 +1490,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
1489
1490
|
* @memberof Meeting
|
1490
1491
|
*/
|
1491
1492
|
_this.id = _uuid.default.v4();
|
1493
|
+
if (callback) {
|
1494
|
+
callback((0, _assertThisInitialized2.default)(_this));
|
1495
|
+
}
|
1496
|
+
|
1492
1497
|
/**
|
1493
1498
|
* Call state used for metrics
|
1494
1499
|
* @instance
|
@@ -2042,7 +2047,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
2042
2047
|
captions: [],
|
2043
2048
|
isListening: false,
|
2044
2049
|
commandText: '',
|
2045
|
-
languageOptions: {
|
2050
|
+
languageOptions: {
|
2051
|
+
currentSpokenLanguage: 'en'
|
2052
|
+
},
|
2046
2053
|
showCaptionBox: false,
|
2047
2054
|
transcribingRequestStatus: 'INACTIVE',
|
2048
2055
|
isCaptioning: false,
|
@@ -2375,6 +2382,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
2375
2382
|
this.callStateForMetrics.correlationId = correlationId;
|
2376
2383
|
}
|
2377
2384
|
|
2385
|
+
/**
|
2386
|
+
* Getter - Returns callStateForMetrics.pstnCorrelationId
|
2387
|
+
* @returns {string | undefined}
|
2388
|
+
*/
|
2389
|
+
}, {
|
2390
|
+
key: "pstnCorrelationId",
|
2391
|
+
get: function get() {
|
2392
|
+
return this.callStateForMetrics.pstnCorrelationId;
|
2393
|
+
}
|
2394
|
+
|
2395
|
+
/**
|
2396
|
+
* Setter - sets callStateForMetrics.pstnCorrelationId
|
2397
|
+
* @param {string | undefined} correlationId
|
2398
|
+
*/,
|
2399
|
+
set: function set(correlationId) {
|
2400
|
+
this.callStateForMetrics.pstnCorrelationId = correlationId;
|
2401
|
+
}
|
2402
|
+
|
2378
2403
|
/**
|
2379
2404
|
* Getter - Returns callStateForMetrics.userNameInput
|
2380
2405
|
* @returns {string}
|
@@ -3400,8 +3425,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3400
3425
|
}
|
3401
3426
|
}
|
3402
3427
|
});
|
3403
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.
|
3404
|
-
var
|
3428
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, function (_ref12) {
|
3429
|
+
var spokenLanguage = _ref12.spokenLanguage;
|
3430
|
+
if (spokenLanguage) {
|
3431
|
+
var _this14$transcription;
|
3432
|
+
if ((_this14$transcription = _this14.transcription) !== null && _this14$transcription !== void 0 && _this14$transcription.languageOptions) {
|
3433
|
+
_this14.transcription.languageOptions.currentSpokenLanguage = spokenLanguage;
|
3434
|
+
}
|
3435
|
+
// @ts-ignore
|
3436
|
+
_this14.webex.internal.voicea.onSpokenLanguageUpdate(spokenLanguage, _this14.id);
|
3437
|
+
_triggerProxy.default.trigger(_this14, {
|
3438
|
+
file: 'meeting/index',
|
3439
|
+
function: 'setupLocusControlsListener'
|
3440
|
+
}, _constants.EVENT_TRIGGERS.MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED, {
|
3441
|
+
spokenLanguage: spokenLanguage,
|
3442
|
+
meetingId: _this14.id
|
3443
|
+
});
|
3444
|
+
}
|
3445
|
+
});
|
3446
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (_ref13) {
|
3447
|
+
var enable = _ref13.enable;
|
3405
3448
|
_triggerProxy.default.trigger(_this14, {
|
3406
3449
|
file: 'meeting/index',
|
3407
3450
|
function: 'setupLocusControlsListener'
|
@@ -3409,24 +3452,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3409
3452
|
enable: enable
|
3410
3453
|
});
|
3411
3454
|
});
|
3412
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (
|
3413
|
-
var breakout =
|
3455
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref14) {
|
3456
|
+
var breakout = _ref14.breakout;
|
3414
3457
|
_this14.breakouts.updateBreakout(breakout);
|
3415
3458
|
_triggerProxy.default.trigger(_this14, {
|
3416
3459
|
file: 'meeting/index',
|
3417
3460
|
function: 'setupLocusControlsListener'
|
3418
3461
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
3419
3462
|
});
|
3420
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (
|
3421
|
-
var interpretation =
|
3463
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref15) {
|
3464
|
+
var interpretation = _ref15.interpretation;
|
3422
3465
|
_this14.simultaneousInterpretation.updateInterpretation(interpretation);
|
3423
3466
|
_triggerProxy.default.trigger(_this14, {
|
3424
3467
|
file: 'meeting/index',
|
3425
3468
|
function: 'setupLocusControlsListener'
|
3426
3469
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
3427
3470
|
});
|
3428
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (
|
3429
|
-
var entryExitTone =
|
3471
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref16) {
|
3472
|
+
var entryExitTone = _ref16.entryExitTone;
|
3430
3473
|
_triggerProxy.default.trigger(_this14, {
|
3431
3474
|
file: 'meeting/index',
|
3432
3475
|
function: 'setupLocusControlsListener'
|
@@ -3434,8 +3477,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3434
3477
|
entryExitTone: entryExitTone
|
3435
3478
|
});
|
3436
3479
|
});
|
3437
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (
|
3438
|
-
var state =
|
3480
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref17) {
|
3481
|
+
var state = _ref17.state;
|
3439
3482
|
_triggerProxy.default.trigger(_this14, {
|
3440
3483
|
file: 'meeting/index',
|
3441
3484
|
function: 'setupLocusControlsListener'
|
@@ -3443,8 +3486,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3443
3486
|
state: state
|
3444
3487
|
});
|
3445
3488
|
});
|
3446
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (
|
3447
|
-
var state =
|
3489
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref18) {
|
3490
|
+
var state = _ref18.state;
|
3448
3491
|
_triggerProxy.default.trigger(_this14, {
|
3449
3492
|
file: 'meeting/index',
|
3450
3493
|
function: 'setupLocusControlsListener'
|
@@ -3452,8 +3495,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3452
3495
|
state: state
|
3453
3496
|
});
|
3454
3497
|
});
|
3455
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (
|
3456
|
-
var state =
|
3498
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref19) {
|
3499
|
+
var state = _ref19.state;
|
3457
3500
|
_triggerProxy.default.trigger(_this14, {
|
3458
3501
|
file: 'meeting/index',
|
3459
3502
|
function: 'setupLocusControlsListener'
|
@@ -3461,8 +3504,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3461
3504
|
state: state
|
3462
3505
|
});
|
3463
3506
|
});
|
3464
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (
|
3465
|
-
var state =
|
3507
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref20) {
|
3508
|
+
var state = _ref20.state;
|
3466
3509
|
_triggerProxy.default.trigger(_this14, {
|
3467
3510
|
file: 'meeting/index',
|
3468
3511
|
function: 'setupLocusControlsListener'
|
@@ -3470,8 +3513,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3470
3513
|
state: state
|
3471
3514
|
});
|
3472
3515
|
});
|
3473
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (
|
3474
|
-
var state =
|
3516
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref21) {
|
3517
|
+
var state = _ref21.state;
|
3475
3518
|
_triggerProxy.default.trigger(_this14, {
|
3476
3519
|
file: 'meeting/index',
|
3477
3520
|
function: 'setupLocusControlsListener'
|
@@ -3479,8 +3522,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3479
3522
|
state: state
|
3480
3523
|
});
|
3481
3524
|
});
|
3482
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (
|
3483
|
-
var state =
|
3525
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref22) {
|
3526
|
+
var state = _ref22.state;
|
3484
3527
|
_triggerProxy.default.trigger(_this14, {
|
3485
3528
|
file: 'meeting/index',
|
3486
3529
|
function: 'setupLocusControlsListener'
|
@@ -3488,8 +3531,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3488
3531
|
state: state
|
3489
3532
|
});
|
3490
3533
|
});
|
3491
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (
|
3492
|
-
var state =
|
3534
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref23) {
|
3535
|
+
var state = _ref23.state;
|
3493
3536
|
_triggerProxy.default.trigger(_this14, {
|
3494
3537
|
file: 'meeting/index',
|
3495
3538
|
function: 'setupLocusControlsListener'
|
@@ -3497,8 +3540,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3497
3540
|
state: state
|
3498
3541
|
});
|
3499
3542
|
});
|
3500
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (
|
3501
|
-
var state =
|
3543
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref24) {
|
3544
|
+
var state = _ref24.state;
|
3502
3545
|
_triggerProxy.default.trigger(_this14, {
|
3503
3546
|
file: 'meeting/index',
|
3504
3547
|
function: 'setupLocusControlsListener'
|
@@ -3506,8 +3549,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3506
3549
|
state: state
|
3507
3550
|
});
|
3508
3551
|
});
|
3509
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (
|
3510
|
-
var state =
|
3552
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref25) {
|
3553
|
+
var state = _ref25.state;
|
3511
3554
|
_this14.webinar.updatePracticeSessionStatus(state);
|
3512
3555
|
_triggerProxy.default.trigger(_this14, {
|
3513
3556
|
file: 'meeting/index',
|
@@ -3516,8 +3559,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3516
3559
|
state: state
|
3517
3560
|
});
|
3518
3561
|
});
|
3519
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (
|
3520
|
-
var state =
|
3562
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref26) {
|
3563
|
+
var state = _ref26.state;
|
3521
3564
|
_triggerProxy.default.trigger(_this14, {
|
3522
3565
|
file: 'meeting/index',
|
3523
3566
|
function: 'setupLocusControlsListener'
|
@@ -3525,8 +3568,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3525
3568
|
state: state
|
3526
3569
|
});
|
3527
3570
|
});
|
3528
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (
|
3529
|
-
var state =
|
3571
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref27) {
|
3572
|
+
var state = _ref27.state;
|
3530
3573
|
_triggerProxy.default.trigger(_this14, {
|
3531
3574
|
file: 'meeting/index',
|
3532
3575
|
function: 'setupLocusControlsListener'
|
@@ -3534,8 +3577,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3534
3577
|
state: state
|
3535
3578
|
});
|
3536
3579
|
});
|
3537
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (
|
3538
|
-
var state =
|
3580
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (_ref28) {
|
3581
|
+
var state = _ref28.state;
|
3539
3582
|
_triggerProxy.default.trigger(_this14, {
|
3540
3583
|
file: 'meeting/index',
|
3541
3584
|
function: 'setupLocusControlsListener'
|
@@ -3543,8 +3586,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3543
3586
|
state: state
|
3544
3587
|
});
|
3545
3588
|
});
|
3546
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (
|
3547
|
-
var state =
|
3589
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (_ref29) {
|
3590
|
+
var state = _ref29.state;
|
3548
3591
|
_triggerProxy.default.trigger(_this14, {
|
3549
3592
|
file: 'meeting/index',
|
3550
3593
|
function: 'setupLocusControlsListener'
|
@@ -3552,6 +3595,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3552
3595
|
state: state
|
3553
3596
|
});
|
3554
3597
|
});
|
3598
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (_ref30) {
|
3599
|
+
var state = _ref30.state;
|
3600
|
+
_triggerProxy.default.trigger(_this14, {
|
3601
|
+
file: 'meeting/index',
|
3602
|
+
function: 'setupLocusControlsListener'
|
3603
|
+
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_POLLING_QA_UPDATED, {
|
3604
|
+
state: state
|
3605
|
+
});
|
3606
|
+
});
|
3555
3607
|
}
|
3556
3608
|
|
3557
3609
|
/**
|
@@ -3591,7 +3643,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3591
3643
|
var _this15 = this;
|
3592
3644
|
// Will get triggered on local and remote share
|
3593
3645
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
3594
|
-
var
|
3646
|
+
var _ref31 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
|
3595
3647
|
var _payload$previous, _payload$previous2;
|
3596
3648
|
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this15$locusInfo, _this15$locusInfo$inf, _this15$webinar, oldShareStatus, sendStartedSharingRemote, _this15$mediaProperti;
|
3597
3649
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
@@ -3626,9 +3678,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3626
3678
|
// There is no concept of local/remote share for whiteboard
|
3627
3679
|
// It does not matter who requested to share the whiteboard, everyone gets the same view
|
3628
3680
|
else if (whiteboardShare.disposition === _constants.FLOOR_ACTION.GRANTED) {
|
3629
|
-
|
3630
|
-
|
3631
|
-
|
3681
|
+
if ((_this15$locusInfo = _this15.locusInfo) !== null && _this15$locusInfo !== void 0 && (_this15$locusInfo$inf = _this15$locusInfo.info) !== null && _this15$locusInfo$inf !== void 0 && _this15$locusInfo$inf.isWebinar && (_this15$webinar = _this15.webinar) !== null && _this15$webinar !== void 0 && _this15$webinar.selfIsAttendee) {
|
3682
|
+
// WHITEBOARD - sharing whiteboard
|
3683
|
+
// Webinar attendee should receive whiteboard as remote share
|
3684
|
+
newShareStatus = _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE;
|
3685
|
+
} else if (_this15.guest) {
|
3686
|
+
// If user is a guest to a meeting, they should receive whiteboard as remote share
|
3687
|
+
newShareStatus = _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE;
|
3688
|
+
} else {
|
3689
|
+
newShareStatus = _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE;
|
3690
|
+
}
|
3632
3691
|
}
|
3633
3692
|
// or if content share is either released or null and whiteboard share is either released or null, no one is sharing
|
3634
3693
|
else if ((previousContentShare && contentShare.disposition === _constants.FLOOR_ACTION.RELEASED || contentShare.disposition === null) && (previousWhiteboardShare && whiteboardShare.disposition === _constants.FLOOR_ACTION.RELEASED || whiteboardShare.disposition === null)) {
|
@@ -3794,7 +3853,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3794
3853
|
}, _callee8, null, [[27,, 31, 34]]);
|
3795
3854
|
}));
|
3796
3855
|
return function (_x8) {
|
3797
|
-
return
|
3856
|
+
return _ref31.apply(this, arguments);
|
3798
3857
|
};
|
3799
3858
|
}());
|
3800
3859
|
}
|
@@ -3908,8 +3967,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
3908
3967
|
});
|
3909
3968
|
}
|
3910
3969
|
});
|
3911
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
3912
|
-
var isInitializing =
|
3970
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref32) {
|
3971
|
+
var isInitializing = _ref32.isInitializing;
|
3913
3972
|
_this19.updateMeetingActions();
|
3914
3973
|
_this19.recordingController.setDisplayHints(_this19.userDisplayHints);
|
3915
3974
|
_this19.recordingController.setUserPolicy(_this19.selfUserPolicies);
|
@@ -4047,7 +4106,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
4047
4106
|
_this21.updateLLMConnection();
|
4048
4107
|
});
|
4049
4108
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
4050
|
-
var
|
4109
|
+
var _ref33 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
4051
4110
|
var _this21$rtcMetrics;
|
4052
4111
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
4053
4112
|
while (1) switch (_context9.prev = _context9.next) {
|
@@ -4081,7 +4140,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
4081
4140
|
}, _callee9);
|
4082
4141
|
}));
|
4083
4142
|
return function (_x9) {
|
4084
|
-
return
|
4143
|
+
return _ref33.apply(this, arguments);
|
4085
4144
|
};
|
4086
4145
|
}());
|
4087
4146
|
|
@@ -4200,7 +4259,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
4200
4259
|
}
|
4201
4260
|
});
|
4202
4261
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
4203
|
-
var
|
4262
|
+
var _ref34 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
|
4204
4263
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
4205
4264
|
while (1) switch (_context10.prev = _context10.next) {
|
4206
4265
|
case 0:
|
@@ -4260,7 +4319,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
4260
4319
|
}, _callee10, null, [[8, 14]]);
|
4261
4320
|
}));
|
4262
4321
|
return function (_x10) {
|
4263
|
-
return
|
4322
|
+
return _ref34.apply(this, arguments);
|
4264
4323
|
};
|
4265
4324
|
}());
|
4266
4325
|
}
|
@@ -4289,11 +4348,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
4289
4348
|
|
4290
4349
|
/**
|
4291
4350
|
* Invite a guest to the call that isn't normally part of this call
|
4292
|
-
* @param {
|
4351
|
+
* @param {Invitee} invitee
|
4293
4352
|
* @param {String} invitee.emailAddress
|
4294
4353
|
* @param {String} invitee.email
|
4295
4354
|
* @param {String} invitee.phoneNumber
|
4296
4355
|
* @param {Boolean} [alertIfActive]
|
4356
|
+
* @param {Boolean} [invitee.skipEmailValidation]
|
4357
|
+
* @param {Boolean} [invitee.isInternalNumber]
|
4297
4358
|
* @returns {Promise} see #members.addMember
|
4298
4359
|
* @public
|
4299
4360
|
* @memberof Meeting
|
@@ -4307,7 +4368,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
4307
4368
|
|
4308
4369
|
/**
|
4309
4370
|
* Cancel an outgoing phone call invitation made during a meeting
|
4310
|
-
* @param {
|
4371
|
+
* @param {Invitee} invitee
|
4311
4372
|
* @param {String} invitee.phoneNumber
|
4312
4373
|
* @returns {Promise} see #members.cancelPhoneInvite
|
4313
4374
|
* @public
|
@@ -4320,17 +4381,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
4320
4381
|
}
|
4321
4382
|
|
4322
4383
|
/**
|
4323
|
-
* Cancel an SIP call invitation made during a meeting
|
4324
|
-
* @param {
|
4384
|
+
* Cancel an SIP/phone call invitation made during a meeting
|
4385
|
+
* @param {Invitee} invitee
|
4325
4386
|
* @param {String} invitee.memberId
|
4326
|
-
* @
|
4387
|
+
* @param {Boolean} [invitee.isInternalNumber] - When cancel phone invitation, if the number is internal
|
4388
|
+
* @returns {Promise} see #members.cancelInviteByMemberId
|
4327
4389
|
* @public
|
4328
4390
|
* @memberof Meeting
|
4329
4391
|
*/
|
4330
4392
|
}, {
|
4331
|
-
key: "
|
4332
|
-
value: function
|
4333
|
-
return this.members.
|
4393
|
+
key: "cancelInviteByMemberId",
|
4394
|
+
value: function cancelInviteByMemberId(invitee) {
|
4395
|
+
return this.members.cancelInviteByMemberId(invitee);
|
4334
4396
|
}
|
4335
4397
|
|
4336
4398
|
/**
|
@@ -4405,6 +4467,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
4405
4467
|
// so we need to explicitly update remote mute for correct logic flow
|
4406
4468
|
_this24.audio.handleServerRemoteMuteUpdate(_this24, enabled);
|
4407
4469
|
}
|
4470
|
+
}).catch(function (error) {
|
4471
|
+
return _promise.default.reject(error);
|
4408
4472
|
}));
|
4409
4473
|
case 11:
|
4410
4474
|
case "end":
|
@@ -4613,6 +4677,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
4613
4677
|
isClosedCaptionActive: _util2.default.isClosedCaptionActive(this.userDisplayHints),
|
4614
4678
|
canStartManualCaption: _util2.default.canStartManualCaption(this.userDisplayHints),
|
4615
4679
|
canStopManualCaption: _util2.default.canStopManualCaption(this.userDisplayHints),
|
4680
|
+
isLocalRecordingStarted: _util2.default.isLocalRecordingStarted(this.userDisplayHints),
|
4681
|
+
isLocalRecordingStopped: _util2.default.isLocalRecordingStopped(this.userDisplayHints),
|
4682
|
+
isLocalRecordingPaused: _util2.default.isLocalRecordingPaused(this.userDisplayHints),
|
4616
4683
|
isManualCaptionActive: _util2.default.isManualCaptionActive(this.userDisplayHints),
|
4617
4684
|
isSaveTranscriptsEnabled: _util2.default.isSaveTranscriptsEnabled(this.userDisplayHints),
|
4618
4685
|
isWebexAssistantActive: _util2.default.isWebexAssistantActive(this.userDisplayHints),
|
@@ -4822,6 +4889,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
4822
4889
|
canDisableRemoteDesktopControl: _util5.default.hasHints({
|
4823
4890
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_RDC_MEETING_OPTION],
|
4824
4891
|
displayHints: this.userDisplayHints
|
4892
|
+
}),
|
4893
|
+
canEnablePollingQA: _util5.default.hasHints({
|
4894
|
+
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_ATTENDEE_START_POLLING_QA],
|
4895
|
+
displayHints: this.userDisplayHints
|
4896
|
+
}),
|
4897
|
+
canDisablePollingQA: _util5.default.hasHints({
|
4898
|
+
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_ATTENDEE_START_POLLING_QA],
|
4899
|
+
displayHints: this.userDisplayHints
|
4825
4900
|
})
|
4826
4901
|
}) || changed;
|
4827
4902
|
}
|
@@ -5343,13 +5418,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
5343
5418
|
|
5344
5419
|
// Only send restore event when it was disconnected before and for connected later
|
5345
5420
|
if (!_this27.hasWebsocketConnected) {
|
5346
|
-
// @ts-ignore
|
5347
|
-
_this27.webex.internal.newMetrics.submitClientEvent({
|
5348
|
-
name: 'client.mercury.connection.restored',
|
5349
|
-
options: {
|
5350
|
-
meetingId: _this27.id
|
5351
|
-
}
|
5352
|
-
});
|
5353
5421
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
5354
5422
|
correlation_id: _this27.correlationId
|
5355
5423
|
});
|
@@ -5360,13 +5428,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
5360
5428
|
// @ts-ignore
|
5361
5429
|
this.webex.internal.mercury.on(_constants.OFFLINE, function () {
|
5362
5430
|
_loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
|
5363
|
-
// @ts-ignore
|
5364
|
-
_this27.webex.internal.newMetrics.submitClientEvent({
|
5365
|
-
name: 'client.mercury.connection.lost',
|
5366
|
-
options: {
|
5367
|
-
meetingId: _this27.id
|
5368
|
-
}
|
5369
|
-
});
|
5370
5431
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
5371
5432
|
correlation_id: _this27.correlationId
|
5372
5433
|
});
|
@@ -6293,24 +6354,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6293
6354
|
_this36.deferJoin = undefined;
|
6294
6355
|
return join;
|
6295
6356
|
}).catch(function (error) {
|
6296
|
-
var
|
6357
|
+
var _error$error;
|
6297
6358
|
_this36.meetingFiniteStateMachine.fail(error);
|
6298
6359
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
6299
6360
|
|
6300
|
-
// @ts-ignore
|
6301
|
-
_this36.webex.internal.newMetrics.submitClientEvent({
|
6302
|
-
name: 'client.locus.join.response',
|
6303
|
-
payload: {
|
6304
|
-
identifiers: {
|
6305
|
-
meetingLookupUrl: (_this36$meetingInfo = _this36.meetingInfo) === null || _this36$meetingInfo === void 0 ? void 0 : _this36$meetingInfo.meetingLookupUrl
|
6306
|
-
}
|
6307
|
-
},
|
6308
|
-
options: {
|
6309
|
-
meetingId: _this36.id,
|
6310
|
-
rawError: error
|
6311
|
-
}
|
6312
|
-
});
|
6313
|
-
|
6314
6361
|
// TODO: change this to error codes and pre defined dictionary
|
6315
6362
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
6316
6363
|
correlation_id: _this36.correlationId,
|
@@ -6464,14 +6511,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6464
6511
|
value: function dialInPstn() {
|
6465
6512
|
var _this38 = this;
|
6466
6513
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
6467
|
-
|
6468
|
-
var
|
6514
|
+
this.pstnCorrelationId = _uuid.default.v4();
|
6515
|
+
var pstnCorrelationId = this.pstnCorrelationId,
|
6469
6516
|
locusUrl = this.locusUrl;
|
6470
6517
|
if (!this.dialInUrl) this.dialInUrl = "dialin:///".concat(_uuid.default.v4());
|
6471
6518
|
return this.meetingRequest
|
6472
6519
|
// @ts-ignore
|
6473
6520
|
.dialIn({
|
6474
|
-
correlationId:
|
6521
|
+
correlationId: pstnCorrelationId,
|
6475
6522
|
dialInUrl: this.dialInUrl,
|
6476
6523
|
locusUrl: locusUrl,
|
6477
6524
|
clientUrl: this.deviceUrl
|
@@ -6480,11 +6527,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6480
6527
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
6481
6528
|
correlation_id: _this38.correlationId,
|
6482
6529
|
dial_in_url: _this38.dialInUrl,
|
6530
|
+
dial_in_correlation_id: pstnCorrelationId,
|
6483
6531
|
locus_id: locusUrl.split('/').pop(),
|
6484
6532
|
client_url: _this38.deviceUrl,
|
6485
6533
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
6486
6534
|
stack: error.stack
|
6487
6535
|
});
|
6536
|
+
if (_this38.pstnCorrelationId === pstnCorrelationId) {
|
6537
|
+
_this38.pstnCorrelationId = undefined;
|
6538
|
+
}
|
6488
6539
|
return _promise.default.reject(error);
|
6489
6540
|
});
|
6490
6541
|
}
|
@@ -6501,14 +6552,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6501
6552
|
value: function dialOutPstn(phoneNumber) {
|
6502
6553
|
var _this39 = this;
|
6503
6554
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
6504
|
-
|
6505
|
-
var
|
6506
|
-
|
6555
|
+
this.pstnCorrelationId = _uuid.default.v4();
|
6556
|
+
var locusUrl = this.locusUrl,
|
6557
|
+
pstnCorrelationId = this.pstnCorrelationId;
|
6507
6558
|
if (!this.dialOutUrl) this.dialOutUrl = "dialout:///".concat(_uuid.default.v4());
|
6508
6559
|
return this.meetingRequest
|
6509
6560
|
// @ts-ignore
|
6510
6561
|
.dialOut({
|
6511
|
-
correlationId:
|
6562
|
+
correlationId: pstnCorrelationId,
|
6512
6563
|
dialOutUrl: this.dialOutUrl,
|
6513
6564
|
phoneNumber: phoneNumber,
|
6514
6565
|
locusUrl: locusUrl,
|
@@ -6518,11 +6569,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6518
6569
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
6519
6570
|
correlation_id: _this39.correlationId,
|
6520
6571
|
dial_out_url: _this39.dialOutUrl,
|
6572
|
+
dial_out_correlation_id: pstnCorrelationId,
|
6521
6573
|
locus_id: locusUrl.split('/').pop(),
|
6522
6574
|
client_url: _this39.deviceUrl,
|
6523
6575
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
6524
6576
|
stack: error.stack
|
6525
6577
|
});
|
6578
|
+
if (_this39.pstnCorrelationId === pstnCorrelationId) {
|
6579
|
+
_this39.pstnCorrelationId = undefined;
|
6580
|
+
}
|
6526
6581
|
return _promise.default.reject(error);
|
6527
6582
|
});
|
6528
6583
|
}
|
@@ -6537,7 +6592,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6537
6592
|
}, {
|
6538
6593
|
key: "disconnectPhoneAudio",
|
6539
6594
|
value: function disconnectPhoneAudio() {
|
6540
|
-
|
6595
|
+
var _this40 = this;
|
6596
|
+
var correlationToClear = this.pstnCorrelationId;
|
6597
|
+
return _promise.default.all([this.isPhoneProvisioned(this.dialInDeviceStatus) ? _util2.default.disconnectPhoneAudio(this, this.dialInUrl) : _promise.default.resolve(), this.isPhoneProvisioned(this.dialOutDeviceStatus) ? _util2.default.disconnectPhoneAudio(this, this.dialOutUrl) : _promise.default.resolve()]).then(function () {
|
6598
|
+
if (_this40.pstnCorrelationId === correlationToClear) {
|
6599
|
+
_this40.pstnCorrelationId = undefined;
|
6600
|
+
}
|
6601
|
+
});
|
6541
6602
|
}
|
6542
6603
|
|
6543
6604
|
/**
|
@@ -6550,7 +6611,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6550
6611
|
}, {
|
6551
6612
|
key: "moveTo",
|
6552
6613
|
value: function moveTo(resourceId) {
|
6553
|
-
var
|
6614
|
+
var _this41 = this;
|
6554
6615
|
if (!resourceId) {
|
6555
6616
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
6556
6617
|
}
|
@@ -6594,12 +6655,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6594
6655
|
while (1) switch (_context21.prev = _context21.next) {
|
6595
6656
|
case 0:
|
6596
6657
|
_context21.prev = 0;
|
6597
|
-
if (!(
|
6658
|
+
if (!(_this41.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
6598
6659
|
_context21.next = 4;
|
6599
6660
|
break;
|
6600
6661
|
}
|
6601
6662
|
_context21.next = 4;
|
6602
|
-
return
|
6663
|
+
return _this41.releaseScreenShareFloor();
|
6603
6664
|
case 4:
|
6604
6665
|
mediaSettings = {
|
6605
6666
|
mediaDirection: {
|
@@ -6611,37 +6672,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6611
6672
|
receiveShare: true
|
6612
6673
|
}
|
6613
6674
|
};
|
6614
|
-
|
6615
|
-
|
6675
|
+
_this41.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
6676
|
+
_this41.mediaProperties.unsetRemoteMedia();
|
6616
6677
|
|
6617
6678
|
// 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
|
6618
6679
|
// once the device answers we close the old connection and create new media server connection with only share enabled
|
6619
|
-
if (!
|
6680
|
+
if (!_this41.statsAnalyzer) {
|
6620
6681
|
_context21.next = 10;
|
6621
6682
|
break;
|
6622
6683
|
}
|
6623
6684
|
_context21.next = 10;
|
6624
|
-
return
|
6685
|
+
return _this41.statsAnalyzer.stopAnalyzer();
|
6625
6686
|
case 10:
|
6626
6687
|
_context21.next = 12;
|
6627
|
-
return
|
6688
|
+
return _this41.closeRemoteStreams();
|
6628
6689
|
case 12:
|
6629
6690
|
_context21.next = 14;
|
6630
|
-
return
|
6691
|
+
return _this41.closePeerConnections();
|
6631
6692
|
case 14:
|
6632
|
-
|
6633
|
-
|
6634
|
-
|
6635
|
-
|
6693
|
+
_this41.cleanupLocalStreams();
|
6694
|
+
_this41.unsetRemoteStreams();
|
6695
|
+
_this41.unsetPeerConnections();
|
6696
|
+
_this41.reconnectionManager.cleanUp();
|
6636
6697
|
_context21.next = 20;
|
6637
|
-
return
|
6698
|
+
return _this41.addMedia({
|
6638
6699
|
audioEnabled: false,
|
6639
6700
|
videoEnabled: false,
|
6640
6701
|
shareVideoEnabled: true
|
6641
6702
|
});
|
6642
6703
|
case 20:
|
6643
6704
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
6644
|
-
|
6705
|
+
_this41.isMoveToInProgress = false;
|
6645
6706
|
_context21.next = 29;
|
6646
6707
|
break;
|
6647
6708
|
case 24:
|
@@ -6649,12 +6710,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6649
6710
|
_context21.t0 = _context21["catch"](0);
|
6650
6711
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context21.t0);
|
6651
6712
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
6652
|
-
correlation_id:
|
6653
|
-
locus_id:
|
6713
|
+
correlation_id: _this41.correlationId,
|
6714
|
+
locus_id: _this41.locusUrl.split('/').pop(),
|
6654
6715
|
reason: _context21.t0.message,
|
6655
6716
|
stack: _context21.t0.stack
|
6656
6717
|
});
|
6657
|
-
|
6718
|
+
_this41.isMoveToInProgress = false;
|
6658
6719
|
case 29:
|
6659
6720
|
case "end":
|
6660
6721
|
return _context21.stop();
|
@@ -6670,17 +6731,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6670
6731
|
resourceId: resourceId,
|
6671
6732
|
moveToResource: true
|
6672
6733
|
}).then(function () {
|
6673
|
-
|
6734
|
+
_this41.meetingFiniteStateMachine.join();
|
6674
6735
|
}).catch(function (error) {
|
6675
|
-
|
6736
|
+
_this41.meetingFiniteStateMachine.fail(error);
|
6676
6737
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
6677
|
-
correlation_id:
|
6678
|
-
locus_id:
|
6738
|
+
correlation_id: _this41.correlationId,
|
6739
|
+
locus_id: _this41.locusUrl.split('/').pop(),
|
6679
6740
|
reason: error.message,
|
6680
6741
|
stack: error.stack
|
6681
6742
|
});
|
6682
6743
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
|
6683
|
-
|
6744
|
+
_this41.isMoveToInProgress = false;
|
6684
6745
|
return _promise.default.reject(error);
|
6685
6746
|
});
|
6686
6747
|
}
|
@@ -6695,7 +6756,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6695
6756
|
}, {
|
6696
6757
|
key: "moveFrom",
|
6697
6758
|
value: function moveFrom(resourceId) {
|
6698
|
-
var
|
6759
|
+
var _this42 = this;
|
6699
6760
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
6700
6761
|
if (!resourceId) {
|
6701
6762
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
@@ -6710,19 +6771,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6710
6771
|
}
|
6711
6772
|
});
|
6712
6773
|
return _util2.default.joinMeetingOptions(this).then(function () {
|
6713
|
-
return _util2.default.leaveMeeting(
|
6774
|
+
return _util2.default.leaveMeeting(_this42, {
|
6714
6775
|
resourceId: resourceId,
|
6715
6776
|
correlationId: oldCorrelationId,
|
6716
6777
|
moveMeeting: true
|
6717
6778
|
}).then(function () {
|
6718
|
-
|
6779
|
+
_this42.resourceId = '';
|
6719
6780
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
6720
6781
|
});
|
6721
6782
|
}).catch(function (error) {
|
6722
|
-
|
6783
|
+
_this42.meetingFiniteStateMachine.fail(error);
|
6723
6784
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
6724
|
-
correlation_id:
|
6725
|
-
locus_id:
|
6785
|
+
correlation_id: _this42.correlationId,
|
6786
|
+
locus_id: _this42.locusUrl.split('/').pop(),
|
6726
6787
|
reason: error.message,
|
6727
6788
|
stack: error.stack
|
6728
6789
|
});
|
@@ -6845,9 +6906,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
6845
6906
|
}, {
|
6846
6907
|
key: "forwardEvent",
|
6847
6908
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
6848
|
-
var
|
6909
|
+
var _this43 = this;
|
6849
6910
|
eventEmitter.on(eventTypeToForward, function (data) {
|
6850
|
-
return _triggerProxy.default.trigger(
|
6911
|
+
return _triggerProxy.default.trigger(_this43, {
|
6851
6912
|
file: 'meetings',
|
6852
6913
|
function: 'addMedia'
|
6853
6914
|
}, meetingEventType, data);
|
@@ -7033,7 +7094,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7033
7094
|
key: "waitForRemoteSDPAnswer",
|
7034
7095
|
value: (function () {
|
7035
7096
|
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee25() {
|
7036
|
-
var
|
7097
|
+
var _this44 = this;
|
7037
7098
|
var LOG_HEADER, deferSDPAnswer;
|
7038
7099
|
return _regenerator.default.wrap(function _callee25$(_context25) {
|
7039
7100
|
while (1) switch (_context25.prev = _context25.next) {
|
@@ -7052,18 +7113,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7052
7113
|
var error = new Error('Timed out waiting for REMOTE SDP ANSWER');
|
7053
7114
|
|
7054
7115
|
// @ts-ignore
|
7055
|
-
|
7116
|
+
_this44.webex.internal.newMetrics.submitClientEvent({
|
7056
7117
|
name: 'client.media-engine.remote-sdp-received',
|
7057
7118
|
payload: {
|
7058
7119
|
canProceed: false,
|
7059
7120
|
errors: [
|
7060
7121
|
// @ts-ignore
|
7061
|
-
|
7122
|
+
_this44.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
7062
7123
|
clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
|
7063
7124
|
})]
|
7064
7125
|
},
|
7065
7126
|
options: {
|
7066
|
-
meetingId:
|
7127
|
+
meetingId: _this44.id,
|
7067
7128
|
rawError: error
|
7068
7129
|
}
|
7069
7130
|
});
|
@@ -7570,10 +7631,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7570
7631
|
}, {
|
7571
7632
|
key: "addMedia",
|
7572
7633
|
value: function addMedia() {
|
7573
|
-
var
|
7634
|
+
var _this45 = this;
|
7574
7635
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
7575
7636
|
return this.addMediaInternal(function () {
|
7576
|
-
return
|
7637
|
+
return _this45.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
7577
7638
|
}, undefined, false, options);
|
7578
7639
|
}
|
7579
7640
|
|
@@ -7606,6 +7667,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7606
7667
|
remoteMediaManagerConfig,
|
7607
7668
|
_options$bundlePolicy,
|
7608
7669
|
bundlePolicy,
|
7670
|
+
_options$additionalMe,
|
7671
|
+
additionalMediaOptions,
|
7672
|
+
rawSendVideo,
|
7673
|
+
rawReceiveVideo,
|
7674
|
+
rawSendAudio,
|
7675
|
+
rawReceiveAudio,
|
7676
|
+
sendVideo,
|
7677
|
+
receiveVideo,
|
7678
|
+
sendAudio,
|
7679
|
+
receiveAudio,
|
7609
7680
|
_this$remoteMediaMana,
|
7610
7681
|
_yield$this$mediaProp,
|
7611
7682
|
connectionType,
|
@@ -7662,17 +7733,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7662
7733
|
}
|
7663
7734
|
throw new _webexErrors.UserNotJoinedError();
|
7664
7735
|
case 10:
|
7665
|
-
localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, _options$bundlePolicy = options.bundlePolicy, bundlePolicy = _options$bundlePolicy === void 0 ? 'max-bundle' : _options$bundlePolicy;
|
7736
|
+
localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, _options$bundlePolicy = options.bundlePolicy, bundlePolicy = _options$bundlePolicy === void 0 ? 'max-bundle' : _options$bundlePolicy, _options$additionalMe = options.additionalMediaOptions, additionalMediaOptions = _options$additionalMe === void 0 ? {} : _options$additionalMe;
|
7737
|
+
rawSendVideo = additionalMediaOptions.sendVideo, rawReceiveVideo = additionalMediaOptions.receiveVideo, rawSendAudio = additionalMediaOptions.sendAudio, rawReceiveAudio = additionalMediaOptions.receiveAudio;
|
7738
|
+
sendVideo = videoEnabled && (rawSendVideo !== null && rawSendVideo !== void 0 ? rawSendVideo : true);
|
7739
|
+
receiveVideo = videoEnabled && (rawReceiveVideo !== null && rawReceiveVideo !== void 0 ? rawReceiveVideo : true);
|
7740
|
+
sendAudio = audioEnabled && (rawSendAudio !== null && rawSendAudio !== void 0 ? rawSendAudio : true);
|
7741
|
+
receiveAudio = audioEnabled && (rawReceiveAudio !== null && rawReceiveAudio !== void 0 ? rawReceiveAudio : true);
|
7666
7742
|
this.allowMediaInLobby = options === null || options === void 0 ? void 0 : options.allowMediaInLobby;
|
7667
7743
|
|
7668
7744
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
7669
7745
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
7670
7746
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
7671
|
-
_context35.next =
|
7747
|
+
_context35.next = 19;
|
7672
7748
|
break;
|
7673
7749
|
}
|
7674
7750
|
throw new _webexErrors.UserInLobbyError();
|
7675
|
-
case
|
7751
|
+
case 19:
|
7676
7752
|
// @ts-ignore
|
7677
7753
|
this.webex.internal.newMetrics.submitClientEvent({
|
7678
7754
|
name: 'client.media.capabilities',
|
@@ -7702,67 +7778,67 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7702
7778
|
// when audioEnabled/videoEnabled is true, we set sendAudio/sendVideo to true even before any streams are published
|
7703
7779
|
// to avoid doing an extra SDP exchange when they are published for the first time
|
7704
7780
|
this.mediaProperties.setMediaDirection({
|
7705
|
-
sendAudio:
|
7706
|
-
sendVideo:
|
7781
|
+
sendAudio: sendAudio,
|
7782
|
+
sendVideo: sendVideo,
|
7707
7783
|
sendShare: false,
|
7708
|
-
receiveAudio:
|
7709
|
-
receiveVideo:
|
7784
|
+
receiveAudio: receiveAudio,
|
7785
|
+
receiveVideo: receiveVideo,
|
7710
7786
|
receiveShare: shareAudioEnabled || shareVideoEnabled
|
7711
7787
|
});
|
7712
7788
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
7713
7789
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
7714
7790
|
this.brbState = (0, _brbState.createBrbState)(this, false);
|
7715
|
-
_context35.prev =
|
7716
|
-
_context35.next =
|
7791
|
+
_context35.prev = 24;
|
7792
|
+
_context35.next = 27;
|
7717
7793
|
return this.setUpLocalStreamReferences(localStreams);
|
7718
|
-
case
|
7794
|
+
case 27:
|
7719
7795
|
this.setMercuryListener();
|
7720
7796
|
this.createStatsAnalyzer();
|
7721
|
-
_context35.prev =
|
7722
|
-
_context35.next =
|
7797
|
+
_context35.prev = 29;
|
7798
|
+
_context35.next = 32;
|
7723
7799
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
7724
|
-
case
|
7725
|
-
_context35.next =
|
7800
|
+
case 32:
|
7801
|
+
_context35.next = 45;
|
7726
7802
|
break;
|
7727
|
-
case
|
7728
|
-
_context35.prev =
|
7729
|
-
_context35.t0 = _context35["catch"](
|
7803
|
+
case 34:
|
7804
|
+
_context35.prev = 34;
|
7805
|
+
_context35.t0 = _context35["catch"](29);
|
7730
7806
|
if (!(_context35.t0 instanceof _multistreamNotSupportedError.default)) {
|
7731
|
-
_context35.next =
|
7807
|
+
_context35.next = 44;
|
7732
7808
|
break;
|
7733
7809
|
}
|
7734
7810
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " we asked for multistream backend (Homer), but got transcoded backend, recreating media connection..."));
|
7735
|
-
_context35.next =
|
7811
|
+
_context35.next = 40;
|
7736
7812
|
return this.downgradeFromMultistreamToTranscoded();
|
7737
|
-
case
|
7738
|
-
_context35.next =
|
7813
|
+
case 40:
|
7814
|
+
_context35.next = 42;
|
7739
7815
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true, undefined);
|
7740
|
-
case
|
7741
|
-
_context35.next =
|
7816
|
+
case 42:
|
7817
|
+
_context35.next = 45;
|
7742
7818
|
break;
|
7743
|
-
case
|
7819
|
+
case 44:
|
7744
7820
|
throw _context35.t0;
|
7745
|
-
case
|
7821
|
+
case 45:
|
7746
7822
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connected, finalizing..."));
|
7747
7823
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
7748
|
-
_context35.next =
|
7824
|
+
_context35.next = 49;
|
7749
7825
|
break;
|
7750
7826
|
}
|
7751
|
-
_context35.next =
|
7827
|
+
_context35.next = 49;
|
7752
7828
|
return this.enqueueScreenShareFloorRequest();
|
7753
|
-
case
|
7754
|
-
_context35.next =
|
7829
|
+
case 49:
|
7830
|
+
_context35.next = 51;
|
7755
7831
|
return this.mediaProperties.getCurrentConnectionInfo();
|
7756
|
-
case
|
7832
|
+
case 51:
|
7757
7833
|
_yield$this$mediaProp = _context35.sent;
|
7758
7834
|
connectionType = _yield$this$mediaProp.connectionType;
|
7759
7835
|
ipVersion = _yield$this$mediaProp.ipVersion;
|
7760
7836
|
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
7761
7837
|
numTransports = _yield$this$mediaProp.numTransports;
|
7762
7838
|
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
7763
|
-
_context35.next =
|
7839
|
+
_context35.next = 59;
|
7764
7840
|
return this.getMediaReachabilityMetricFields();
|
7765
|
-
case
|
7841
|
+
case 59:
|
7766
7842
|
reachabilityMetrics = _context35.sent;
|
7767
7843
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
7768
7844
|
correlation_id: this.correlationId,
|
@@ -7792,21 +7868,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7792
7868
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
7793
7869
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
7794
7870
|
this.startPeriodicLogUpload();
|
7795
|
-
_context35.next =
|
7871
|
+
_context35.next = 85;
|
7796
7872
|
break;
|
7797
|
-
case
|
7798
|
-
_context35.prev =
|
7799
|
-
_context35.t1 = _context35["catch"](
|
7873
|
+
case 67:
|
7874
|
+
_context35.prev = 67;
|
7875
|
+
_context35.t1 = _context35["catch"](24);
|
7800
7876
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context35.t1);
|
7801
7877
|
|
7802
7878
|
// @ts-ignore
|
7803
|
-
_context35.next =
|
7879
|
+
_context35.next = 72;
|
7804
7880
|
return this.getMediaReachabilityMetricFields();
|
7805
|
-
case
|
7881
|
+
case 72:
|
7806
7882
|
_reachabilityMetrics = _context35.sent;
|
7807
|
-
_context35.next =
|
7883
|
+
_context35.next = 75;
|
7808
7884
|
return this.mediaProperties.getCurrentConnectionInfo();
|
7809
|
-
case
|
7885
|
+
case 75:
|
7810
7886
|
_yield$this$mediaProp2 = _context35.sent;
|
7811
7887
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
7812
7888
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
@@ -7830,9 +7906,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7830
7906
|
}, _reachabilityMetrics), _iceCandidateErrors), {}, {
|
7831
7907
|
iceCandidatesCount: this.iceCandidatesCount
|
7832
7908
|
}));
|
7833
|
-
_context35.next =
|
7909
|
+
_context35.next = 82;
|
7834
7910
|
return this.cleanUpOnAddMediaFailure();
|
7835
|
-
case
|
7911
|
+
case 82:
|
7836
7912
|
// Upload logs on error while adding media
|
7837
7913
|
_triggerProxy.default.trigger(this, {
|
7838
7914
|
file: 'meeting/index',
|
@@ -7844,15 +7920,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7844
7920
|
});
|
7845
7921
|
}
|
7846
7922
|
throw _context35.t1;
|
7847
|
-
case
|
7848
|
-
_context35.prev =
|
7923
|
+
case 85:
|
7924
|
+
_context35.prev = 85;
|
7849
7925
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
7850
|
-
return _context35.finish(
|
7851
|
-
case
|
7926
|
+
return _context35.finish(85);
|
7927
|
+
case 88:
|
7852
7928
|
case "end":
|
7853
7929
|
return _context35.stop();
|
7854
7930
|
}
|
7855
|
-
}, _callee35, this, [[
|
7931
|
+
}, _callee35, this, [[24, 67, 85, 88], [29, 34]]);
|
7856
7932
|
}));
|
7857
7933
|
function addMediaInternal(_x33, _x34, _x35) {
|
7858
7934
|
return _addMediaInternal.apply(this, arguments);
|
@@ -7884,7 +7960,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7884
7960
|
* @memberof Meeting
|
7885
7961
|
*/
|
7886
7962
|
function enqueueMediaUpdate(mediaUpdateType) {
|
7887
|
-
var
|
7963
|
+
var _this46 = this;
|
7888
7964
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
7889
7965
|
var canUpdateMediaNow = this.canUpdateMedia();
|
7890
7966
|
return new _promise.default(function (resolve, reject) {
|
@@ -7895,9 +7971,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
7895
7971
|
options: options
|
7896
7972
|
};
|
7897
7973
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
7898
|
-
|
7974
|
+
_this46.queuedMediaUpdates.push(queueItem);
|
7899
7975
|
if (canUpdateMediaNow) {
|
7900
|
-
|
7976
|
+
_this46.processNextQueuedMediaUpdate();
|
7901
7977
|
}
|
7902
7978
|
});
|
7903
7979
|
}
|
@@ -8002,7 +8078,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8002
8078
|
}, {
|
8003
8079
|
key: "acknowledge",
|
8004
8080
|
value: function acknowledge(type) {
|
8005
|
-
var
|
8081
|
+
var _this47 = this;
|
8006
8082
|
if (!type) {
|
8007
8083
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
8008
8084
|
}
|
@@ -8014,12 +8090,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8014
8090
|
}).then(function (response) {
|
8015
8091
|
return _promise.default.resolve(response);
|
8016
8092
|
}).then(function (response) {
|
8017
|
-
|
8093
|
+
_this47.meetingFiniteStateMachine.ring(type);
|
8018
8094
|
// @ts-ignore
|
8019
|
-
|
8095
|
+
_this47.webex.internal.newMetrics.submitClientEvent({
|
8020
8096
|
name: 'client.alert.displayed',
|
8021
8097
|
options: {
|
8022
|
-
meetingId:
|
8098
|
+
meetingId: _this47.id
|
8023
8099
|
}
|
8024
8100
|
});
|
8025
8101
|
return _promise.default.resolve({
|
@@ -8044,12 +8120,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8044
8120
|
}, {
|
8045
8121
|
key: "decline",
|
8046
8122
|
value: function decline(reason) {
|
8047
|
-
var
|
8123
|
+
var _this48 = this;
|
8048
8124
|
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
8049
|
-
|
8125
|
+
_this48.meetingFiniteStateMachine.decline();
|
8050
8126
|
return _promise.default.resolve(decline);
|
8051
8127
|
}).catch(function (error) {
|
8052
|
-
|
8128
|
+
_this48.meetingFiniteStateMachine.fail(error);
|
8053
8129
|
return _promise.default.reject(error);
|
8054
8130
|
});
|
8055
8131
|
}
|
@@ -8100,7 +8176,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8100
8176
|
}, {
|
8101
8177
|
key: "leave",
|
8102
8178
|
value: function leave() {
|
8103
|
-
var
|
8179
|
+
var _this49 = this;
|
8104
8180
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
8105
8181
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
8106
8182
|
|
@@ -8112,7 +8188,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8112
8188
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
8113
8189
|
return (
|
8114
8190
|
// @ts-ignore
|
8115
|
-
|
8191
|
+
_this49.webex.internal.newMetrics.submitClientEvent({
|
8116
8192
|
name: 'client.call.leave',
|
8117
8193
|
payload: _objectSpread({
|
8118
8194
|
trigger: 'user-interaction',
|
@@ -8120,7 +8196,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8120
8196
|
leaveReason: options.clientEventLeaveReason
|
8121
8197
|
}, payload),
|
8122
8198
|
options: {
|
8123
|
-
meetingId:
|
8199
|
+
meetingId: _this49.id
|
8124
8200
|
}
|
8125
8201
|
})
|
8126
8202
|
);
|
@@ -8129,24 +8205,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8129
8205
|
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
8130
8206
|
// CA team recommends submitting this *after* locus /leave
|
8131
8207
|
submitLeaveMetric();
|
8132
|
-
|
8133
|
-
|
8208
|
+
_this49.meetingFiniteStateMachine.leave();
|
8209
|
+
_this49.clearMeetingData();
|
8134
8210
|
|
8135
8211
|
// upload logs on leave irrespective of meeting delete
|
8136
|
-
_triggerProxy.default.trigger(
|
8212
|
+
_triggerProxy.default.trigger(_this49, {
|
8137
8213
|
file: 'meeting/index',
|
8138
8214
|
function: 'leave'
|
8139
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
8215
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
|
8140
8216
|
|
8141
8217
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
8142
|
-
if (
|
8218
|
+
if (_this49.wirelessShare || _this49.guest) {
|
8143
8219
|
// If screen sharing clean the meeting object
|
8144
|
-
_triggerProxy.default.trigger(
|
8220
|
+
_triggerProxy.default.trigger(_this49, {
|
8145
8221
|
file: 'meeting/index',
|
8146
8222
|
function: 'leave'
|
8147
8223
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
8148
8224
|
reason: options.reason,
|
8149
|
-
meetingId:
|
8225
|
+
meetingId: _this49.id
|
8150
8226
|
});
|
8151
8227
|
}
|
8152
8228
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
@@ -8163,16 +8239,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8163
8239
|
shownToUser: false
|
8164
8240
|
}]
|
8165
8241
|
});
|
8166
|
-
|
8242
|
+
_this49.meetingFiniteStateMachine.fail(error);
|
8167
8243
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
8168
8244
|
// upload logs on leave irrespective of meeting delete
|
8169
|
-
_triggerProxy.default.trigger(
|
8245
|
+
_triggerProxy.default.trigger(_this49, {
|
8170
8246
|
file: 'meeting/index',
|
8171
8247
|
function: 'leave'
|
8172
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
8248
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
|
8173
8249
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
8174
|
-
correlation_id:
|
8175
|
-
locus_id:
|
8250
|
+
correlation_id: _this49.correlationId,
|
8251
|
+
locus_id: _this49.locusUrl.split('/').pop(),
|
8176
8252
|
reason: error.message,
|
8177
8253
|
stack: error.stack,
|
8178
8254
|
code: error.code
|
@@ -8192,7 +8268,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8192
8268
|
}, {
|
8193
8269
|
key: "startWhiteboardShare",
|
8194
8270
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
8195
|
-
var
|
8271
|
+
var _this50 = this;
|
8196
8272
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
8197
8273
|
return element.name === 'whiteboard';
|
8198
8274
|
});
|
@@ -8200,6 +8276,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8200
8276
|
return _promise.default.reject(new _parameter.default('Cannot share without channelUrl.'));
|
8201
8277
|
}
|
8202
8278
|
if (whiteboard) {
|
8279
|
+
// @ts-ignore
|
8280
|
+
this.webex.internal.newMetrics.callDiagnosticLatencies.saveTimestamp({
|
8281
|
+
key: 'internal.client.share.initiated'
|
8282
|
+
});
|
8203
8283
|
// @ts-ignore
|
8204
8284
|
this.webex.internal.newMetrics.submitClientEvent({
|
8205
8285
|
name: 'client.share.initiated',
|
@@ -8221,13 +8301,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8221
8301
|
body.resourceToken = resourceToken;
|
8222
8302
|
}
|
8223
8303
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
8224
|
-
|
8304
|
+
_this50.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
8225
8305
|
return _promise.default.resolve();
|
8226
8306
|
}).catch(function (error) {
|
8227
8307
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
8228
8308
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
8229
|
-
correlation_id:
|
8230
|
-
locus_id:
|
8309
|
+
correlation_id: _this50.correlationId,
|
8310
|
+
locus_id: _this50.locusUrl.split('/').pop(),
|
8231
8311
|
reason: error.message,
|
8232
8312
|
stack: error.stack,
|
8233
8313
|
board: {
|
@@ -8250,16 +8330,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8250
8330
|
}, {
|
8251
8331
|
key: "stopWhiteboardShare",
|
8252
8332
|
value: function stopWhiteboardShare(channelUrl) {
|
8253
|
-
var
|
8333
|
+
var _this51 = this;
|
8254
8334
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
8255
8335
|
return element.name === 'whiteboard';
|
8256
8336
|
});
|
8257
8337
|
if (whiteboard) {
|
8338
|
+
// @ts-ignore
|
8339
|
+
this.webex.internal.newMetrics.callDiagnosticLatencies.saveTimestamp({
|
8340
|
+
key: 'internal.client.share.stopped'
|
8341
|
+
});
|
8258
8342
|
// @ts-ignore
|
8259
8343
|
this.webex.internal.newMetrics.submitClientEvent({
|
8260
8344
|
name: 'client.share.stopped',
|
8261
8345
|
payload: {
|
8262
|
-
mediaType: 'whiteboard'
|
8346
|
+
mediaType: 'whiteboard',
|
8347
|
+
// @ts-ignore
|
8348
|
+
shareDuration: this.webex.internal.newMetrics.callDiagnosticLatencies.getShareDuration()
|
8263
8349
|
},
|
8264
8350
|
options: {
|
8265
8351
|
meetingId: this.id
|
@@ -8273,8 +8359,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8273
8359
|
}).catch(function (error) {
|
8274
8360
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
8275
8361
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
8276
|
-
correlation_id:
|
8277
|
-
locus_id:
|
8362
|
+
correlation_id: _this51.correlationId,
|
8363
|
+
locus_id: _this51.locusUrl.split('/').pop(),
|
8278
8364
|
reason: error.message,
|
8279
8365
|
stack: error.stack,
|
8280
8366
|
board: {
|
@@ -8296,7 +8382,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8296
8382
|
}, {
|
8297
8383
|
key: "requestScreenShareFloor",
|
8298
8384
|
value: function requestScreenShareFloor() {
|
8299
|
-
var
|
8385
|
+
var _this52 = this;
|
8300
8386
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
8301
8387
|
_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, ")"));
|
8302
8388
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
@@ -8327,34 +8413,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8327
8413
|
resourceUrl: this.resourceUrl,
|
8328
8414
|
shareInstanceId: this.localShareInstanceId
|
8329
8415
|
}).then(function () {
|
8330
|
-
|
8416
|
+
_this52.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
8331
8417
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
8332
|
-
correlation_id:
|
8333
|
-
locus_id:
|
8418
|
+
correlation_id: _this52.correlationId,
|
8419
|
+
locus_id: _this52.locusUrl.split('/').pop()
|
8334
8420
|
});
|
8335
8421
|
return _promise.default.resolve();
|
8336
8422
|
}).catch(function (error) {
|
8337
8423
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
8338
8424
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
8339
|
-
correlation_id:
|
8340
|
-
locus_id:
|
8425
|
+
correlation_id: _this52.correlationId,
|
8426
|
+
locus_id: _this52.locusUrl.split('/').pop(),
|
8341
8427
|
reason: error.message,
|
8342
8428
|
stack: error.stack
|
8343
8429
|
});
|
8344
8430
|
|
8345
8431
|
// @ts-ignore
|
8346
|
-
|
8432
|
+
_this52.webex.internal.newMetrics.submitClientEvent({
|
8347
8433
|
name: 'client.share.floor-granted.local',
|
8348
8434
|
payload: {
|
8349
8435
|
mediaType: 'share',
|
8350
8436
|
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
8351
|
-
shareInstanceId:
|
8437
|
+
shareInstanceId: _this52.localShareInstanceId
|
8352
8438
|
},
|
8353
8439
|
options: {
|
8354
|
-
meetingId:
|
8440
|
+
meetingId: _this52.id
|
8355
8441
|
}
|
8356
8442
|
});
|
8357
|
-
|
8443
|
+
_this52.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
8358
8444
|
return _promise.default.reject(error);
|
8359
8445
|
});
|
8360
8446
|
}
|
@@ -8377,10 +8463,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8377
8463
|
}, {
|
8378
8464
|
key: "requestScreenShareFloorIfPending",
|
8379
8465
|
value: function requestScreenShareFloorIfPending() {
|
8380
|
-
var
|
8466
|
+
var _this53 = this;
|
8381
8467
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
8382
8468
|
this.requestScreenShareFloor().then(function () {
|
8383
|
-
|
8469
|
+
_this53.floorGrantPending = false;
|
8384
8470
|
});
|
8385
8471
|
}
|
8386
8472
|
}
|
@@ -8394,7 +8480,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8394
8480
|
}, {
|
8395
8481
|
key: "releaseScreenShareFloor",
|
8396
8482
|
value: function releaseScreenShareFloor() {
|
8397
|
-
var
|
8483
|
+
var _this54 = this;
|
8398
8484
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
8399
8485
|
return element.name === _constants.CONTENT;
|
8400
8486
|
});
|
@@ -8405,11 +8491,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8405
8491
|
if (content) {
|
8406
8492
|
var _content$floor;
|
8407
8493
|
// @ts-ignore
|
8494
|
+
this.webex.internal.newMetrics.callDiagnosticLatencies.saveTimestamp({
|
8495
|
+
key: 'internal.client.share.stopped'
|
8496
|
+
});
|
8497
|
+
// @ts-ignore
|
8408
8498
|
this.webex.internal.newMetrics.submitClientEvent({
|
8409
8499
|
name: 'client.share.stopped',
|
8410
8500
|
payload: {
|
8411
8501
|
mediaType: 'share',
|
8412
|
-
shareInstanceId: this.localShareInstanceId
|
8502
|
+
shareInstanceId: this.localShareInstanceId,
|
8503
|
+
// @ts-ignore
|
8504
|
+
shareDuration: this.webex.internal.newMetrics.callDiagnosticLatencies.getShareDuration()
|
8413
8505
|
},
|
8414
8506
|
options: {
|
8415
8507
|
meetingId: this.id
|
@@ -8429,8 +8521,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8429
8521
|
}).catch(function (error) {
|
8430
8522
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
8431
8523
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
8432
|
-
correlation_id:
|
8433
|
-
locus_id:
|
8524
|
+
correlation_id: _this54.correlationId,
|
8525
|
+
locus_id: _this54.locusUrl.split('/').pop(),
|
8434
8526
|
reason: error.message,
|
8435
8527
|
stack: error.stack
|
8436
8528
|
});
|
@@ -8610,7 +8702,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8610
8702
|
}, {
|
8611
8703
|
key: "changeVideoLayout",
|
8612
8704
|
value: function changeVideoLayout(layoutType) {
|
8613
|
-
var
|
8705
|
+
var _this55 = this;
|
8614
8706
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
8615
8707
|
var main = renderInfo.main,
|
8616
8708
|
content = renderInfo.content;
|
@@ -8664,7 +8756,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8664
8756
|
}
|
8665
8757
|
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
8666
8758
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
8667
|
-
_triggerProxy.default.trigger(
|
8759
|
+
_triggerProxy.default.trigger(_this55, {
|
8668
8760
|
file: 'meeting/index',
|
8669
8761
|
function: 'changeVideoLayout'
|
8670
8762
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
@@ -8780,7 +8872,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8780
8872
|
}, {
|
8781
8873
|
key: "endMeetingForAll",
|
8782
8874
|
value: function endMeetingForAll() {
|
8783
|
-
var
|
8875
|
+
var _this56 = this;
|
8784
8876
|
// @ts-ignore
|
8785
8877
|
this.webex.internal.newMetrics.submitClientEvent({
|
8786
8878
|
name: 'client.call.leave',
|
@@ -8798,25 +8890,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8798
8890
|
locus_id: this.locusId
|
8799
8891
|
});
|
8800
8892
|
return _util2.default.endMeetingForAll(this).then(function (end) {
|
8801
|
-
|
8802
|
-
|
8893
|
+
_this56.meetingFiniteStateMachine.end();
|
8894
|
+
_this56.clearMeetingData();
|
8803
8895
|
// upload logs on leave irrespective of meeting delete
|
8804
|
-
_triggerProxy.default.trigger(
|
8896
|
+
_triggerProxy.default.trigger(_this56, {
|
8805
8897
|
file: 'meeting/index',
|
8806
8898
|
function: 'endMeetingForAll'
|
8807
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
8899
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this56);
|
8808
8900
|
return end;
|
8809
8901
|
}).catch(function (error) {
|
8810
|
-
|
8902
|
+
_this56.meetingFiniteStateMachine.fail(error);
|
8811
8903
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
8812
8904
|
// upload logs on leave irrespective of meeting delete
|
8813
|
-
_triggerProxy.default.trigger(
|
8905
|
+
_triggerProxy.default.trigger(_this56, {
|
8814
8906
|
file: 'meeting/index',
|
8815
8907
|
function: 'endMeetingForAll'
|
8816
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
8908
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this56);
|
8817
8909
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
8818
|
-
correlation_id:
|
8819
|
-
locus_id:
|
8910
|
+
correlation_id: _this56.correlationId,
|
8911
|
+
locus_id: _this56.locusUrl.split('/').pop(),
|
8820
8912
|
reason: error.message,
|
8821
8913
|
stack: error.stack,
|
8822
8914
|
code: error.code
|
@@ -8977,7 +9069,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
8977
9069
|
_this$mediaProperties43,
|
8978
9070
|
_this$mediaProperties44,
|
8979
9071
|
_this$mediaProperties45,
|
8980
|
-
|
9072
|
+
_this57 = this;
|
8981
9073
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
8982
9074
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
8983
9075
|
if (!this.canUpdateMedia()) {
|
@@ -9002,8 +9094,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
9002
9094
|
}).catch(function (error) {
|
9003
9095
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
9004
9096
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
9005
|
-
correlation_id:
|
9006
|
-
locus_id:
|
9097
|
+
correlation_id: _this57.correlationId,
|
9098
|
+
locus_id: _this57.locusUrl.split('/').pop(),
|
9007
9099
|
reason: error.message,
|
9008
9100
|
stack: error.stack
|
9009
9101
|
});
|
@@ -9225,13 +9317,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
9225
9317
|
return this.updateTranscodedMediaConnection();
|
9226
9318
|
case 31:
|
9227
9319
|
if (!floorRequestNeeded) {
|
9228
|
-
_context40.next =
|
9320
|
+
_context40.next = 40;
|
9229
9321
|
break;
|
9230
9322
|
}
|
9231
9323
|
this.localShareInstanceId = _uuid.default.v4();
|
9232
9324
|
this.shareCAEventSentStatus.transmitStart = false;
|
9233
9325
|
this.shareCAEventSentStatus.transmitStop = false;
|
9234
9326
|
|
9327
|
+
// @ts-ignore
|
9328
|
+
this.webex.internal.newMetrics.callDiagnosticLatencies.saveTimestamp({
|
9329
|
+
key: 'internal.client.share.initiated'
|
9330
|
+
});
|
9331
|
+
|
9235
9332
|
// @ts-ignore
|
9236
9333
|
this.webex.internal.newMetrics.submitClientEvent({
|
9237
9334
|
name: 'client.share.initiated',
|
@@ -9251,9 +9348,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
9251
9348
|
// we're sending the http request to Locus to request the screen share floor
|
9252
9349
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
9253
9350
|
// and also if sharing from the start, we need confluence to have been created
|
9254
|
-
_context40.next =
|
9351
|
+
_context40.next = 40;
|
9255
9352
|
return this.enqueueScreenShareFloorRequest();
|
9256
|
-
case
|
9353
|
+
case 40:
|
9257
9354
|
case "end":
|
9258
9355
|
return _context40.stop();
|
9259
9356
|
}
|
@@ -9401,7 +9498,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
9401
9498
|
key: "getMediaReachabilityMetricFields",
|
9402
9499
|
value: (function () {
|
9403
9500
|
var _getMediaReachabilityMetricFields = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee42() {
|
9404
|
-
var
|
9501
|
+
var _this$mediaServerIp, _this$mediaConnection, _this$mediaConnection2, _this$mediaConnection3;
|
9502
|
+
var reachabilityMetrics, successKeys, totalSuccessCases, selectedSubnetFirstOctet, isSubnetReachable, selectedCluster;
|
9405
9503
|
return _regenerator.default.wrap(function _callee42$(_context42) {
|
9406
9504
|
while (1) switch (_context42.prev = _context42.next) {
|
9407
9505
|
case 0:
|
@@ -9417,18 +9515,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
9417
9515
|
}
|
9418
9516
|
return total;
|
9419
9517
|
}, 0);
|
9518
|
+
selectedSubnetFirstOctet = (_this$mediaServerIp = this.mediaServerIp) === null || _this$mediaServerIp === void 0 ? void 0 : _this$mediaServerIp.split('.')[0];
|
9420
9519
|
isSubnetReachable = null;
|
9421
|
-
if (totalSuccessCases > 0) {
|
9520
|
+
if (totalSuccessCases > 0 && selectedSubnetFirstOctet) {
|
9521
|
+
isSubnetReachable =
|
9422
9522
|
// @ts-ignore
|
9423
|
-
|
9424
|
-
}
|
9425
|
-
selectedCluster = null;
|
9426
|
-
if (this.mediaConnections && this.mediaConnections.length > 0) {
|
9427
|
-
selectedCluster = this.mediaConnections[0].mediaAgentCluster;
|
9523
|
+
this.webex.meetings.reachability.isSubnetReachable(selectedSubnetFirstOctet);
|
9428
9524
|
}
|
9525
|
+
selectedCluster = (_this$mediaConnection = (_this$mediaConnection2 = this.mediaConnections) === null || _this$mediaConnection2 === void 0 ? void 0 : (_this$mediaConnection3 = _this$mediaConnection2[0]) === null || _this$mediaConnection3 === void 0 ? void 0 : _this$mediaConnection3.mediaAgentCluster) !== null && _this$mediaConnection !== void 0 ? _this$mediaConnection : null;
|
9429
9526
|
return _context42.abrupt("return", _objectSpread(_objectSpread({}, reachabilityMetrics), {}, {
|
9430
|
-
|
9431
|
-
|
9527
|
+
subnet_reachable: isSubnetReachable,
|
9528
|
+
selected_cluster: selectedCluster,
|
9529
|
+
selected_subnet: selectedSubnetFirstOctet ? "".concat(selectedSubnetFirstOctet, ".X.X.X") : null
|
9432
9530
|
}));
|
9433
9531
|
case 10:
|
9434
9532
|
case "end":
|
@@ -9440,7 +9538,84 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
9440
9538
|
return _getMediaReachabilityMetricFields.apply(this, arguments);
|
9441
9539
|
}
|
9442
9540
|
return getMediaReachabilityMetricFields;
|
9443
|
-
}()
|
9541
|
+
}()
|
9542
|
+
/**
|
9543
|
+
* Set the stage for the meeting
|
9544
|
+
*
|
9545
|
+
* @param {SetStageOptions} options Options to use when setting the stage
|
9546
|
+
* @returns {Promise} The locus request
|
9547
|
+
*/
|
9548
|
+
)
|
9549
|
+
}, {
|
9550
|
+
key: "setStage",
|
9551
|
+
value: function setStage() {
|
9552
|
+
var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
9553
|
+
_ref37$activeSpeakerP = _ref37.activeSpeakerProportion,
|
9554
|
+
activeSpeakerProportion = _ref37$activeSpeakerP === void 0 ? 0.5 : _ref37$activeSpeakerP,
|
9555
|
+
customBackground = _ref37.customBackground,
|
9556
|
+
customLogo = _ref37.customLogo,
|
9557
|
+
customNameLabel = _ref37.customNameLabel,
|
9558
|
+
importantParticipants = _ref37.importantParticipants,
|
9559
|
+
_ref37$lockAttendeeVi = _ref37.lockAttendeeViewOnStage,
|
9560
|
+
lockAttendeeViewOnStage = _ref37$lockAttendeeVi === void 0 ? false : _ref37$lockAttendeeVi,
|
9561
|
+
_ref37$showActiveSpea = _ref37.showActiveSpeaker,
|
9562
|
+
showActiveSpeaker = _ref37$showActiveSpea === void 0 ? false : _ref37$showActiveSpea;
|
9563
|
+
var videoLayout = {
|
9564
|
+
overrideDefault: true,
|
9565
|
+
lockAttendeeViewOnStageOnly: lockAttendeeViewOnStage,
|
9566
|
+
stageParameters: {
|
9567
|
+
activeSpeakerProportion: activeSpeakerProportion,
|
9568
|
+
showActiveSpeaker: {
|
9569
|
+
show: showActiveSpeaker,
|
9570
|
+
order: 0
|
9571
|
+
},
|
9572
|
+
stageManagerType: 0
|
9573
|
+
}
|
9574
|
+
};
|
9575
|
+
if (importantParticipants !== null && importantParticipants !== void 0 && importantParticipants.length) {
|
9576
|
+
videoLayout.stageParameters.importantParticipants = importantParticipants.map(function (importantParticipant, index) {
|
9577
|
+
return _objectSpread(_objectSpread({}, importantParticipant), {}, {
|
9578
|
+
order: index + 1
|
9579
|
+
});
|
9580
|
+
});
|
9581
|
+
}
|
9582
|
+
if (customLogo) {
|
9583
|
+
if (!videoLayout.customLayouts) {
|
9584
|
+
videoLayout.customLayouts = {};
|
9585
|
+
}
|
9586
|
+
videoLayout.customLayouts.logo = customLogo;
|
9587
|
+
// eslint-disable-next-line no-bitwise
|
9588
|
+
videoLayout.stageParameters.stageManagerType |= _constants.STAGE_MANAGER_TYPE.LOGO;
|
9589
|
+
}
|
9590
|
+
if (customBackground) {
|
9591
|
+
if (!videoLayout.customLayouts) {
|
9592
|
+
videoLayout.customLayouts = {};
|
9593
|
+
}
|
9594
|
+
videoLayout.customLayouts.background = customBackground;
|
9595
|
+
// eslint-disable-next-line no-bitwise
|
9596
|
+
videoLayout.stageParameters.stageManagerType |= _constants.STAGE_MANAGER_TYPE.BACKGROUND;
|
9597
|
+
}
|
9598
|
+
if (customNameLabel) {
|
9599
|
+
videoLayout.nameLabelStyle = customNameLabel;
|
9600
|
+
// eslint-disable-next-line no-bitwise
|
9601
|
+
videoLayout.stageParameters.stageManagerType |= _constants.STAGE_MANAGER_TYPE.NAME_LABEL;
|
9602
|
+
}
|
9603
|
+
return this.meetingRequest.synchronizeStage(this.locusUrl, videoLayout);
|
9604
|
+
}
|
9605
|
+
|
9606
|
+
/**
|
9607
|
+
* Unset the stage for the meeting
|
9608
|
+
*
|
9609
|
+
* @returns {Promise} The locus request
|
9610
|
+
*/
|
9611
|
+
}, {
|
9612
|
+
key: "unsetStage",
|
9613
|
+
value: function unsetStage() {
|
9614
|
+
var videoLayout = {
|
9615
|
+
overrideDefault: false
|
9616
|
+
};
|
9617
|
+
return this.meetingRequest.synchronizeStage(this.locusUrl, videoLayout);
|
9618
|
+
}
|
9444
9619
|
}]);
|
9445
9620
|
return Meeting;
|
9446
9621
|
}(_webexCore.StatelessWebexPlugin);
|