@webex/plugin-meetings 3.0.0-beta.202 → 3.0.0-beta.203
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +4 -4
- package/dist/locus-info/index.js.map +1 -1
- package/dist/meeting/index.js +314 -301
- package/dist/meeting/index.js.map +1 -1
- package/dist/types/meeting/index.d.ts +5 -0
- package/package.json +19 -19
- package/src/locus-info/index.ts +8 -8
- package/src/meeting/index.ts +40 -26
- package/test/unit/spec/locus-info/index.js +33 -23
- package/test/unit/spec/meeting/index.js +30 -9
- package/test/unit/spec/meetings/index.js +1 -1
package/dist/meeting/index.js
CHANGED
|
@@ -31,7 +31,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
31
31
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
32
32
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
33
33
|
var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
|
|
34
|
-
var _defer2 = _interopRequireDefault(require("lodash/defer"));
|
|
35
34
|
var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
|
|
36
35
|
var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
37
36
|
var _uuid = _interopRequireDefault(require("uuid"));
|
|
@@ -1812,8 +1811,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1812
1811
|
case 21:
|
|
1813
1812
|
_context3.prev = 21;
|
|
1814
1813
|
_context3.t0 = _context3["catch"](6);
|
|
1814
|
+
this.updateMeetingActions();
|
|
1815
1815
|
if (!(_context3.t0 instanceof _meetingInfoV.MeetingInfoV2PolicyError)) {
|
|
1816
|
-
_context3.next =
|
|
1816
|
+
_context3.next = 31;
|
|
1817
1817
|
break;
|
|
1818
1818
|
}
|
|
1819
1819
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.POLICY;
|
|
@@ -1822,9 +1822,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1822
1822
|
this.meetingInfo = _context3.t0.meetingInfo;
|
|
1823
1823
|
}
|
|
1824
1824
|
throw new _permission.default();
|
|
1825
|
-
case
|
|
1825
|
+
case 31:
|
|
1826
1826
|
if (!(_context3.t0 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
|
|
1827
|
-
_context3.next =
|
|
1827
|
+
_context3.next = 43;
|
|
1828
1828
|
break;
|
|
1829
1829
|
}
|
|
1830
1830
|
_loggerProxy.default.logger.info( // @ts-ignore
|
|
@@ -1839,16 +1839,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1839
1839
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
1840
1840
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
1841
1841
|
if (!this.requiredCaptcha) {
|
|
1842
|
-
_context3.next =
|
|
1842
|
+
_context3.next = 40;
|
|
1843
1843
|
break;
|
|
1844
1844
|
}
|
|
1845
|
-
_context3.next =
|
|
1845
|
+
_context3.next = 40;
|
|
1846
1846
|
return this.refreshCaptcha();
|
|
1847
|
-
case
|
|
1847
|
+
case 40:
|
|
1848
1848
|
throw new _passwordError.default();
|
|
1849
|
-
case
|
|
1849
|
+
case 43:
|
|
1850
1850
|
if (!(_context3.t0 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
|
|
1851
|
-
_context3.next =
|
|
1851
|
+
_context3.next = 52;
|
|
1852
1852
|
break;
|
|
1853
1853
|
}
|
|
1854
1854
|
_loggerProxy.default.logger.info( // @ts-ignore
|
|
@@ -1860,10 +1860,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1860
1860
|
}
|
|
1861
1861
|
this.requiredCaptcha = _context3.t0.captchaInfo;
|
|
1862
1862
|
throw new _captchaError.default();
|
|
1863
|
-
case
|
|
1863
|
+
case 52:
|
|
1864
1864
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
|
|
1865
1865
|
throw _context3.t0;
|
|
1866
|
-
case
|
|
1866
|
+
case 54:
|
|
1867
1867
|
case "end":
|
|
1868
1868
|
return _context3.stop();
|
|
1869
1869
|
}
|
|
@@ -2800,14 +2800,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2800
2800
|
}, {
|
|
2801
2801
|
key: "handleDataChannelUrlChange",
|
|
2802
2802
|
value: function handleDataChannelUrlChange(datachannelUrl) {
|
|
2803
|
-
var _this18 = this;
|
|
2804
2803
|
// @ts-ignore - config coming from registerPlugin
|
|
2805
2804
|
if (datachannelUrl && this.config.enableAutomaticLLM) {
|
|
2806
|
-
|
|
2807
|
-
// after the MEETING_INFO_UPDATED callback finishes
|
|
2808
|
-
(0, _defer2.default)(function () {
|
|
2809
|
-
_this18.updateLLMConnection();
|
|
2810
|
-
});
|
|
2805
|
+
this.updateLLMConnection();
|
|
2811
2806
|
}
|
|
2812
2807
|
}
|
|
2813
2808
|
|
|
@@ -2820,10 +2815,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2820
2815
|
}, {
|
|
2821
2816
|
key: "setUpLocusEmbeddedAppsListener",
|
|
2822
2817
|
value: function setUpLocusEmbeddedAppsListener() {
|
|
2823
|
-
var
|
|
2818
|
+
var _this18 = this;
|
|
2824
2819
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.EMBEDDED_APPS_UPDATED, function (embeddedApps) {
|
|
2825
2820
|
if (embeddedApps) {
|
|
2826
|
-
_triggerProxy.default.trigger(
|
|
2821
|
+
_triggerProxy.default.trigger(_this18, {
|
|
2827
2822
|
file: 'meeting/index',
|
|
2828
2823
|
function: 'setUpLocusEmbeddedAppsListener'
|
|
2829
2824
|
}, _constants.EVENT_TRIGGERS.MEETING_EMBEDDED_APPS_UPDATE, embeddedApps);
|
|
@@ -2840,11 +2835,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2840
2835
|
}, {
|
|
2841
2836
|
key: "setUpLocusInfoSelfListener",
|
|
2842
2837
|
value: function setUpLocusInfoSelfListener() {
|
|
2843
|
-
var
|
|
2838
|
+
var _this19 = this;
|
|
2844
2839
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUIRED, function (payload) {
|
|
2845
|
-
if (
|
|
2846
|
-
|
|
2847
|
-
_triggerProxy.default.trigger(
|
|
2840
|
+
if (_this19.audio) {
|
|
2841
|
+
_this19.audio.handleServerLocalUnmuteRequired(_this19);
|
|
2842
|
+
_triggerProxy.default.trigger(_this19, {
|
|
2848
2843
|
file: 'meeting/index',
|
|
2849
2844
|
function: 'setUpLocusInfoSelfListener'
|
|
2850
2845
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
|
|
@@ -2854,13 +2849,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2854
2849
|
});
|
|
2855
2850
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED, function (payload) {
|
|
2856
2851
|
if (payload) {
|
|
2857
|
-
if (
|
|
2852
|
+
if (_this19.video) {
|
|
2858
2853
|
var _payload$muted, _payload$unmuteAllowe;
|
|
2859
|
-
payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted :
|
|
2860
|
-
payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe :
|
|
2861
|
-
|
|
2854
|
+
payload.muted = (_payload$muted = payload.muted) !== null && _payload$muted !== void 0 ? _payload$muted : _this19.video.isRemotelyMuted();
|
|
2855
|
+
payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe : _this19.video.isUnmuteAllowed();
|
|
2856
|
+
_this19.video.handleServerRemoteMuteUpdate(_this19, payload.muted, payload.unmuteAllowed);
|
|
2862
2857
|
}
|
|
2863
|
-
_triggerProxy.default.trigger(
|
|
2858
|
+
_triggerProxy.default.trigger(_this19, {
|
|
2864
2859
|
file: 'meeting/index',
|
|
2865
2860
|
function: 'setUpLocusInfoSelfListener'
|
|
2866
2861
|
}, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS, {
|
|
@@ -2870,15 +2865,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2870
2865
|
});
|
|
2871
2866
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_REMOTE_MUTE_STATUS_UPDATED, function (payload) {
|
|
2872
2867
|
if (payload) {
|
|
2873
|
-
var
|
|
2874
|
-
if (
|
|
2875
|
-
|
|
2868
|
+
var _this19$audio;
|
|
2869
|
+
if (_this19.audio) {
|
|
2870
|
+
_this19.audio.handleServerRemoteMuteUpdate(_this19, payload.muted, payload.unmuteAllowed);
|
|
2876
2871
|
}
|
|
2877
2872
|
// with "mute on entry" server will send us remote mute even if we don't have media configured,
|
|
2878
2873
|
// so if being muted by others, always send the notification,
|
|
2879
2874
|
// but if being unmuted, only send it if we are also locally unmuted
|
|
2880
|
-
if (payload.muted || !((
|
|
2881
|
-
_triggerProxy.default.trigger(
|
|
2875
|
+
if (payload.muted || !((_this19$audio = _this19.audio) !== null && _this19$audio !== void 0 && _this19$audio.isMuted())) {
|
|
2876
|
+
_triggerProxy.default.trigger(_this19, {
|
|
2882
2877
|
file: 'meeting/index',
|
|
2883
2878
|
function: 'setUpLocusInfoSelfListener'
|
|
2884
2879
|
}, payload.muted ? _constants.EVENT_TRIGGERS.MEETING_SELF_MUTED_BY_OTHERS : _constants.EVENT_TRIGGERS.MEETING_SELF_UNMUTED_BY_OTHERS, {
|
|
@@ -2888,7 +2883,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2888
2883
|
}
|
|
2889
2884
|
});
|
|
2890
2885
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUESTED, function (payload) {
|
|
2891
|
-
_triggerProxy.default.trigger(
|
|
2886
|
+
_triggerProxy.default.trigger(_this19, {
|
|
2892
2887
|
file: 'meeting/index',
|
|
2893
2888
|
function: 'setUpLocusInfoSelfListener'
|
|
2894
2889
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_REQUESTED_TO_UNMUTE, {
|
|
@@ -2897,8 +2892,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2897
2892
|
});
|
|
2898
2893
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_UNADMITTED_GUEST, function (payload) {
|
|
2899
2894
|
if (payload) {
|
|
2900
|
-
|
|
2901
|
-
_triggerProxy.default.trigger(
|
|
2895
|
+
_this19.startKeepAlive();
|
|
2896
|
+
_triggerProxy.default.trigger(_this19, {
|
|
2902
2897
|
file: 'meeting/index',
|
|
2903
2898
|
function: 'setUpLocusInfoSelfListener'
|
|
2904
2899
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_LOBBY_WAITING, {
|
|
@@ -2906,18 +2901,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2906
2901
|
});
|
|
2907
2902
|
|
|
2908
2903
|
// @ts-ignore
|
|
2909
|
-
|
|
2904
|
+
_this19.webex.internal.newMetrics.submitClientEvent({
|
|
2910
2905
|
name: 'client.lobby.entered',
|
|
2911
2906
|
options: {
|
|
2912
|
-
meetingId:
|
|
2907
|
+
meetingId: _this19.id
|
|
2913
2908
|
}
|
|
2914
2909
|
});
|
|
2915
2910
|
}
|
|
2916
2911
|
});
|
|
2917
2912
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, function (payload) {
|
|
2918
|
-
|
|
2913
|
+
_this19.stopKeepAlive();
|
|
2919
2914
|
if (payload) {
|
|
2920
|
-
_triggerProxy.default.trigger(
|
|
2915
|
+
_triggerProxy.default.trigger(_this19, {
|
|
2921
2916
|
file: 'meeting/index',
|
|
2922
2917
|
function: 'setUpLocusInfoSelfListener'
|
|
2923
2918
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
|
|
@@ -2925,10 +2920,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2925
2920
|
});
|
|
2926
2921
|
|
|
2927
2922
|
// @ts-ignore
|
|
2928
|
-
|
|
2923
|
+
_this19.webex.internal.newMetrics.submitClientEvent({
|
|
2929
2924
|
name: 'client.lobby.exited',
|
|
2930
2925
|
options: {
|
|
2931
|
-
meetingId:
|
|
2926
|
+
meetingId: _this19.id
|
|
2932
2927
|
}
|
|
2933
2928
|
});
|
|
2934
2929
|
}
|
|
@@ -2937,34 +2932,34 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2937
2932
|
// @ts-ignore - check if MEDIA_INACTIVITY exists
|
|
2938
2933
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, function () {
|
|
2939
2934
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_MEDIA_INACTIVE, {
|
|
2940
|
-
correlation_id:
|
|
2941
|
-
locus_id:
|
|
2935
|
+
correlation_id: _this19.correlationId,
|
|
2936
|
+
locus_id: _this19.locusId
|
|
2942
2937
|
});
|
|
2943
|
-
|
|
2938
|
+
_this19.reconnect();
|
|
2944
2939
|
});
|
|
2945
2940
|
|
|
2946
2941
|
// There is two stats for mute one is the actual media being sent or received
|
|
2947
2942
|
// The second on is if the audio is muted, we need to tell the statsAnalyzer when
|
|
2948
2943
|
// the audio is muted or the user is not willing to send media
|
|
2949
2944
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_STATUS_CHANGE, function (status) {
|
|
2950
|
-
if (
|
|
2951
|
-
var
|
|
2952
|
-
|
|
2945
|
+
if (_this19.statsAnalyzer) {
|
|
2946
|
+
var _this19$mediaProperti, _this19$audio2, _this19$mediaProperti2, _this19$video, _this19$mediaProperti3, _this19$mediaProperti4, _this19$mediaProperti5, _this19$mediaProperti6;
|
|
2947
|
+
_this19.statsAnalyzer.updateMediaStatus({
|
|
2953
2948
|
actual: status,
|
|
2954
2949
|
expected: {
|
|
2955
2950
|
// We need to check what should be the actual direction of media
|
|
2956
|
-
sendAudio: ((
|
|
2957
|
-
sendVideo: ((
|
|
2958
|
-
sendShare: (
|
|
2959
|
-
receiveAudio: (
|
|
2960
|
-
receiveVideo: (
|
|
2961
|
-
receiveShare: (
|
|
2951
|
+
sendAudio: ((_this19$mediaProperti = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti === void 0 ? void 0 : _this19$mediaProperti.sendAudio) && !((_this19$audio2 = _this19.audio) !== null && _this19$audio2 !== void 0 && _this19$audio2.isMuted()),
|
|
2952
|
+
sendVideo: ((_this19$mediaProperti2 = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti2 === void 0 ? void 0 : _this19$mediaProperti2.sendVideo) && !((_this19$video = _this19.video) !== null && _this19$video !== void 0 && _this19$video.isMuted()),
|
|
2953
|
+
sendShare: (_this19$mediaProperti3 = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti3 === void 0 ? void 0 : _this19$mediaProperti3.sendShare,
|
|
2954
|
+
receiveAudio: (_this19$mediaProperti4 = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti4 === void 0 ? void 0 : _this19$mediaProperti4.receiveAudio,
|
|
2955
|
+
receiveVideo: (_this19$mediaProperti5 = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti5 === void 0 ? void 0 : _this19$mediaProperti5.receiveVideo,
|
|
2956
|
+
receiveShare: (_this19$mediaProperti6 = _this19.mediaProperties.mediaDirection) === null || _this19$mediaProperti6 === void 0 ? void 0 : _this19$mediaProperti6.receiveShare
|
|
2962
2957
|
}
|
|
2963
2958
|
});
|
|
2964
2959
|
}
|
|
2965
2960
|
});
|
|
2966
2961
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE, function (payload) {
|
|
2967
|
-
_triggerProxy.default.trigger(
|
|
2962
|
+
_triggerProxy.default.trigger(_this19, {
|
|
2968
2963
|
file: 'meeting/index',
|
|
2969
2964
|
function: 'setUpLocusInfoSelfListener'
|
|
2970
2965
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST, {
|
|
@@ -2972,15 +2967,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2972
2967
|
});
|
|
2973
2968
|
});
|
|
2974
2969
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BREAKOUTS_CHANGED, function (payload) {
|
|
2975
|
-
|
|
2976
|
-
_triggerProxy.default.trigger(
|
|
2970
|
+
_this19.breakouts.updateBreakoutSessions(payload);
|
|
2971
|
+
_triggerProxy.default.trigger(_this19, {
|
|
2977
2972
|
file: 'meeting/index',
|
|
2978
2973
|
function: 'setUpLocusInfoSelfListener'
|
|
2979
2974
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
2980
2975
|
});
|
|
2981
2976
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
|
|
2982
|
-
|
|
2983
|
-
_triggerProxy.default.trigger(
|
|
2977
|
+
_this19.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
2978
|
+
_triggerProxy.default.trigger(_this19, {
|
|
2984
2979
|
file: 'meeting/index',
|
|
2985
2980
|
function: 'setUpLocusInfoSelfListener'
|
|
2986
2981
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
@@ -2988,9 +2983,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2988
2983
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ROLES_CHANGED, function (payload) {
|
|
2989
2984
|
var _payload$newRoles, _payload$newRoles2, _payload$newRoles3;
|
|
2990
2985
|
var isModeratorOrCohost = ((_payload$newRoles = payload.newRoles) === null || _payload$newRoles === void 0 ? void 0 : _payload$newRoles.includes(_constants.SELF_ROLES.MODERATOR)) || ((_payload$newRoles2 = payload.newRoles) === null || _payload$newRoles2 === void 0 ? void 0 : _payload$newRoles2.includes(_constants.SELF_ROLES.COHOST));
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
_triggerProxy.default.trigger(
|
|
2986
|
+
_this19.breakouts.updateCanManageBreakouts(isModeratorOrCohost);
|
|
2987
|
+
_this19.simultaneousInterpretation.updateCanManageInterpreters((_payload$newRoles3 = payload.newRoles) === null || _payload$newRoles3 === void 0 ? void 0 : _payload$newRoles3.includes(_constants.SELF_ROLES.MODERATOR));
|
|
2988
|
+
_triggerProxy.default.trigger(_this19, {
|
|
2994
2989
|
file: 'meeting/index',
|
|
2995
2990
|
function: 'setUpLocusInfoSelfListener'
|
|
2996
2991
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_ROLES_CHANGED, {
|
|
@@ -2998,7 +2993,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2998
2993
|
});
|
|
2999
2994
|
});
|
|
3000
2995
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_IS_SHARING_BLOCKED_CHANGE, function (payload) {
|
|
3001
|
-
_triggerProxy.default.trigger(
|
|
2996
|
+
_triggerProxy.default.trigger(_this19, {
|
|
3002
2997
|
file: 'meeting/index',
|
|
3003
2998
|
function: 'setUpLocusInfoSelfListener'
|
|
3004
2999
|
}, _constants.EVENT_TRIGGERS.MEETING_SELF_IS_SHARING_BLOCKED, {
|
|
@@ -3016,17 +3011,17 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3016
3011
|
}, {
|
|
3017
3012
|
key: "setUpLocusInfoMeetingListener",
|
|
3018
3013
|
value: function setUpLocusInfoMeetingListener() {
|
|
3019
|
-
var
|
|
3014
|
+
var _this20 = this;
|
|
3020
3015
|
this.locusInfo.on(_constants.EVENTS.REMOTE_RESPONSE, function (payload) {
|
|
3021
|
-
|
|
3016
|
+
_this20.meetingFiniteStateMachine.remote(payload);
|
|
3022
3017
|
if (payload.remoteDeclined) {
|
|
3023
|
-
|
|
3018
|
+
_this20.leave({
|
|
3024
3019
|
reason: payload.reason
|
|
3025
3020
|
}).then(function () {
|
|
3026
3021
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Attempting to leave meeting.');
|
|
3027
3022
|
}).catch(function (error) {
|
|
3028
3023
|
// @ts-ignore
|
|
3029
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(
|
|
3024
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> REMOTE_RESPONSE. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(error));
|
|
3030
3025
|
});
|
|
3031
3026
|
}
|
|
3032
3027
|
});
|
|
@@ -3035,23 +3030,23 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3035
3030
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
3036
3031
|
while (1) switch (_context5.prev = _context5.next) {
|
|
3037
3032
|
case 0:
|
|
3038
|
-
if (!
|
|
3033
|
+
if (!_this20.wirelessShare) {
|
|
3039
3034
|
_context5.next = 7;
|
|
3040
3035
|
break;
|
|
3041
3036
|
}
|
|
3042
|
-
if (!
|
|
3037
|
+
if (!_this20.mediaProperties.shareVideoTrack) {
|
|
3043
3038
|
_context5.next = 4;
|
|
3044
3039
|
break;
|
|
3045
3040
|
}
|
|
3046
3041
|
_context5.next = 4;
|
|
3047
|
-
return
|
|
3042
|
+
return _this20.setLocalShareVideoTrack(undefined);
|
|
3048
3043
|
case 4:
|
|
3049
|
-
if (!
|
|
3044
|
+
if (!_this20.mediaProperties.shareAudioTrack) {
|
|
3050
3045
|
_context5.next = 7;
|
|
3051
3046
|
break;
|
|
3052
3047
|
}
|
|
3053
3048
|
_context5.next = 7;
|
|
3054
|
-
return
|
|
3049
|
+
return _this20.setLocalShareAudioTrack(undefined);
|
|
3055
3050
|
case 7:
|
|
3056
3051
|
if (!payload.shouldLeave) {
|
|
3057
3052
|
_context5.next = 19;
|
|
@@ -3059,7 +3054,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3059
3054
|
}
|
|
3060
3055
|
_context5.prev = 8;
|
|
3061
3056
|
_context5.next = 11;
|
|
3062
|
-
return
|
|
3057
|
+
return _this20.leave({
|
|
3063
3058
|
reason: payload.reason
|
|
3064
3059
|
});
|
|
3065
3060
|
case 11:
|
|
@@ -3070,19 +3065,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3070
3065
|
_context5.prev = 14;
|
|
3071
3066
|
_context5.t0 = _context5["catch"](8);
|
|
3072
3067
|
// @ts-ignore
|
|
3073
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(
|
|
3068
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(_context5.t0));
|
|
3074
3069
|
case 17:
|
|
3075
3070
|
_context5.next = 22;
|
|
3076
3071
|
break;
|
|
3077
3072
|
case 19:
|
|
3078
3073
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
3079
|
-
_util.default.cleanUp(
|
|
3080
|
-
_triggerProxy.default.trigger(
|
|
3074
|
+
_util.default.cleanUp(_this20);
|
|
3075
|
+
_triggerProxy.default.trigger(_this20, {
|
|
3081
3076
|
file: 'meeting/index',
|
|
3082
3077
|
function: 'setUpLocusInfoMeetingListener'
|
|
3083
3078
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
3084
3079
|
reason: payload.reason,
|
|
3085
|
-
meetingId:
|
|
3080
|
+
meetingId: _this20.id
|
|
3086
3081
|
});
|
|
3087
3082
|
case 22:
|
|
3088
3083
|
case "end":
|
|
@@ -3107,13 +3102,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3107
3102
|
}, {
|
|
3108
3103
|
key: "updateMeetingObject",
|
|
3109
3104
|
value: function updateMeetingObject(object) {
|
|
3110
|
-
var
|
|
3105
|
+
var _this21 = this;
|
|
3111
3106
|
// Validate if these are valid meeting object property
|
|
3112
3107
|
// TODO: add a check to make sure the value passed in the constructor
|
|
3113
3108
|
// is not changed by any delta event
|
|
3114
3109
|
if (object && (0, _keys.default)(object).length) {
|
|
3115
3110
|
(0, _keys.default)(object).forEach(function (key) {
|
|
3116
|
-
|
|
3111
|
+
_this21[key] = object[key];
|
|
3117
3112
|
});
|
|
3118
3113
|
}
|
|
3119
3114
|
}
|
|
@@ -3286,6 +3281,32 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3286
3281
|
_util.default.parseInterpretationInfo(this, webexMeetingInfo);
|
|
3287
3282
|
}
|
|
3288
3283
|
|
|
3284
|
+
/**
|
|
3285
|
+
* Indicates whether policy can be applied
|
|
3286
|
+
* @returns {boolean}
|
|
3287
|
+
*/
|
|
3288
|
+
}, {
|
|
3289
|
+
key: "arePolicyRestrictionsSupported",
|
|
3290
|
+
value: function arePolicyRestrictionsSupported() {
|
|
3291
|
+
// Locus calls do not return the correct display hints
|
|
3292
|
+
if (this.isLocusCall()) {
|
|
3293
|
+
return false;
|
|
3294
|
+
}
|
|
3295
|
+
|
|
3296
|
+
// 1-2-1 calls and SIP dialling will have no meeting info
|
|
3297
|
+
// so cannot support policy information
|
|
3298
|
+
if ((0, _isEmpty2.default)(this.meetingInfo)) {
|
|
3299
|
+
return false;
|
|
3300
|
+
}
|
|
3301
|
+
|
|
3302
|
+
// Old locus info api does not return policy information
|
|
3303
|
+
// @ts-ignore
|
|
3304
|
+
if (!this.config.experimental.enableUnifiedMeetings) {
|
|
3305
|
+
return false;
|
|
3306
|
+
}
|
|
3307
|
+
return true;
|
|
3308
|
+
}
|
|
3309
|
+
|
|
3289
3310
|
/**
|
|
3290
3311
|
* Updates the meeting actions (display hints), depends on locus display hints, user policy and app api info
|
|
3291
3312
|
* @returns {undefined}
|
|
@@ -3304,9 +3325,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3304
3325
|
}) : ((_this$meetingInfo = this.meetingInfo) === null || _this$meetingInfo === void 0 ? void 0 : _this$meetingInfo.supportVoIP) === true) && _util3.default.hasPolicies({
|
|
3305
3326
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_VOIP],
|
|
3306
3327
|
policies: this.selfUserPolicies
|
|
3307
|
-
}) ||
|
|
3308
|
-
// @ts-ignore
|
|
3309
|
-
!this.config.experimental.enableUnifiedMeetings || this.isLocusCall()
|
|
3328
|
+
}) || !this.arePolicyRestrictionsSupported()
|
|
3310
3329
|
});
|
|
3311
3330
|
if (this.userDisplayHints !== undefined) {
|
|
3312
3331
|
changed = this.inMeetingActions.set({
|
|
@@ -3417,12 +3436,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3417
3436
|
canShareFile: _util3.default.hasHints({
|
|
3418
3437
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_FILE],
|
|
3419
3438
|
displayHints: this.userDisplayHints
|
|
3420
|
-
}) &&
|
|
3439
|
+
}) && _util3.default.hasPolicies({
|
|
3421
3440
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_FILE_SHARE],
|
|
3422
3441
|
policies: this.selfUserPolicies
|
|
3423
|
-
}) ||
|
|
3424
|
-
// @ts-ignore
|
|
3425
|
-
!this.config.experimental.enableUnifiedMeetings) || this.isLocusCall(),
|
|
3442
|
+
}) || !this.arePolicyRestrictionsSupported,
|
|
3426
3443
|
canTransferFile: _util3.default.hasPolicies({
|
|
3427
3444
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_FILE_TRANSFER],
|
|
3428
3445
|
policies: this.selfUserPolicies
|
|
@@ -3430,12 +3447,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3430
3447
|
canShareApplication: _util3.default.hasHints({
|
|
3431
3448
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_APPLICATION],
|
|
3432
3449
|
displayHints: this.userDisplayHints
|
|
3433
|
-
}) &&
|
|
3450
|
+
}) && _util3.default.hasPolicies({
|
|
3434
3451
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_APP_SHARE],
|
|
3435
3452
|
policies: this.selfUserPolicies
|
|
3436
|
-
}) ||
|
|
3437
|
-
// @ts-ignore
|
|
3438
|
-
!this.config.experimental.enableUnifiedMeetings) || this.isLocusCall(),
|
|
3453
|
+
}) || !this.arePolicyRestrictionsSupported(),
|
|
3439
3454
|
canShareCamera: _util3.default.hasHints({
|
|
3440
3455
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_CAMERA],
|
|
3441
3456
|
displayHints: this.userDisplayHints
|
|
@@ -3446,16 +3461,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3446
3461
|
canShareDesktop: _util3.default.hasHints({
|
|
3447
3462
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_DESKTOP],
|
|
3448
3463
|
displayHints: this.userDisplayHints
|
|
3449
|
-
}) &&
|
|
3464
|
+
}) && _util3.default.hasPolicies({
|
|
3450
3465
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_DESKTOP_SHARE],
|
|
3451
3466
|
policies: this.selfUserPolicies
|
|
3452
|
-
}) ||
|
|
3453
|
-
// @ts-ignore
|
|
3454
|
-
!this.config.experimental.enableUnifiedMeetings) || this.isLocusCall(),
|
|
3467
|
+
}) || !this.arePolicyRestrictionsSupported(),
|
|
3455
3468
|
canShareContent: _util3.default.hasHints({
|
|
3456
3469
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_CONTENT],
|
|
3457
3470
|
displayHints: this.userDisplayHints
|
|
3458
|
-
}) || this.
|
|
3471
|
+
}) || !this.arePolicyRestrictionsSupported(),
|
|
3459
3472
|
canAnnotate: _util3.default.hasPolicies({
|
|
3460
3473
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_ANNOTATION],
|
|
3461
3474
|
policies: this.selfUserPolicies
|
|
@@ -3577,7 +3590,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3577
3590
|
}, {
|
|
3578
3591
|
key: "closeRemoteTracks",
|
|
3579
3592
|
value: function closeRemoteTracks() {
|
|
3580
|
-
var
|
|
3593
|
+
var _this22 = this;
|
|
3581
3594
|
var _this$mediaProperties2 = this.mediaProperties,
|
|
3582
3595
|
remoteAudioTrack = _this$mediaProperties2.remoteAudioTrack,
|
|
3583
3596
|
remoteVideoTrack = _this$mediaProperties2.remoteVideoTrack,
|
|
@@ -3591,7 +3604,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3591
3604
|
*/
|
|
3592
3605
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
3593
3606
|
var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
|
|
3594
|
-
_triggerProxy.default.trigger(
|
|
3607
|
+
_triggerProxy.default.trigger(_this22, {
|
|
3595
3608
|
file: 'meeting/index',
|
|
3596
3609
|
function: 'closeRemoteTracks'
|
|
3597
3610
|
}, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
|
|
@@ -3841,7 +3854,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3841
3854
|
}, {
|
|
3842
3855
|
key: "setMercuryListener",
|
|
3843
3856
|
value: function setMercuryListener() {
|
|
3844
|
-
var
|
|
3857
|
+
var _this23 = this;
|
|
3845
3858
|
// Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
|
|
3846
3859
|
// if the meeting has active peer connections, it should try to reconnect.
|
|
3847
3860
|
// @ts-ignore
|
|
@@ -3849,33 +3862,33 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3849
3862
|
_loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
|
|
3850
3863
|
|
|
3851
3864
|
// Only send restore event when it was disconnected before and for connected later
|
|
3852
|
-
if (!
|
|
3865
|
+
if (!_this23.hasWebsocketConnected) {
|
|
3853
3866
|
// @ts-ignore
|
|
3854
|
-
|
|
3867
|
+
_this23.webex.internal.newMetrics.submitClientEvent({
|
|
3855
3868
|
name: 'client.mercury.connection.restored',
|
|
3856
3869
|
options: {
|
|
3857
|
-
meetingId:
|
|
3870
|
+
meetingId: _this23.id
|
|
3858
3871
|
}
|
|
3859
3872
|
});
|
|
3860
3873
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
|
3861
|
-
correlation_id:
|
|
3874
|
+
correlation_id: _this23.correlationId
|
|
3862
3875
|
});
|
|
3863
3876
|
}
|
|
3864
|
-
|
|
3877
|
+
_this23.hasWebsocketConnected = true;
|
|
3865
3878
|
});
|
|
3866
3879
|
|
|
3867
3880
|
// @ts-ignore
|
|
3868
3881
|
this.webex.internal.mercury.on(_constants.OFFLINE, function () {
|
|
3869
3882
|
_loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
|
|
3870
3883
|
// @ts-ignore
|
|
3871
|
-
|
|
3884
|
+
_this23.webex.internal.newMetrics.submitClientEvent({
|
|
3872
3885
|
name: 'client.mercury.connection.lost',
|
|
3873
3886
|
options: {
|
|
3874
|
-
meetingId:
|
|
3887
|
+
meetingId: _this23.id
|
|
3875
3888
|
}
|
|
3876
3889
|
});
|
|
3877
3890
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
|
3878
|
-
correlation_id:
|
|
3891
|
+
correlation_id: _this23.correlationId
|
|
3879
3892
|
});
|
|
3880
3893
|
});
|
|
3881
3894
|
}
|
|
@@ -3961,7 +3974,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3961
3974
|
}, {
|
|
3962
3975
|
key: "muteAudio",
|
|
3963
3976
|
value: function muteAudio() {
|
|
3964
|
-
var
|
|
3977
|
+
var _this24 = this;
|
|
3965
3978
|
if (!_util.default.isUserInJoinedState(this.locusInfo)) {
|
|
3966
3979
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
3967
3980
|
}
|
|
@@ -3977,22 +3990,22 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3977
3990
|
|
|
3978
3991
|
// First, stop sending the local audio media
|
|
3979
3992
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
3980
|
-
_util.default.handleAudioLogging(
|
|
3993
|
+
_util.default.handleAudioLogging(_this24.mediaProperties.audioTrack);
|
|
3981
3994
|
// @ts-ignore
|
|
3982
|
-
|
|
3995
|
+
_this24.webex.internal.newMetrics.submitClientEvent({
|
|
3983
3996
|
name: 'client.muted',
|
|
3984
3997
|
payload: {
|
|
3985
3998
|
trigger: 'user-interaction',
|
|
3986
3999
|
mediaType: 'audio'
|
|
3987
4000
|
},
|
|
3988
4001
|
options: {
|
|
3989
|
-
meetingId:
|
|
4002
|
+
meetingId: _this24.id
|
|
3990
4003
|
}
|
|
3991
4004
|
});
|
|
3992
4005
|
}).catch(function (error) {
|
|
3993
4006
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
|
|
3994
|
-
correlation_id:
|
|
3995
|
-
locus_id:
|
|
4007
|
+
correlation_id: _this24.correlationId,
|
|
4008
|
+
locus_id: _this24.locusUrl.split('/').pop(),
|
|
3996
4009
|
reason: error.message,
|
|
3997
4010
|
stack: error.stack
|
|
3998
4011
|
});
|
|
@@ -4011,7 +4024,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4011
4024
|
}, {
|
|
4012
4025
|
key: "unmuteAudio",
|
|
4013
4026
|
value: function unmuteAudio() {
|
|
4014
|
-
var
|
|
4027
|
+
var _this25 = this;
|
|
4015
4028
|
if (!_util.default.isUserInJoinedState(this.locusInfo)) {
|
|
4016
4029
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4017
4030
|
}
|
|
@@ -4027,22 +4040,22 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4027
4040
|
|
|
4028
4041
|
// First, send the control to unmute the participant on the server
|
|
4029
4042
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
4030
|
-
_util.default.handleAudioLogging(
|
|
4043
|
+
_util.default.handleAudioLogging(_this25.mediaProperties.audioTrack);
|
|
4031
4044
|
// @ts-ignore
|
|
4032
|
-
|
|
4045
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4033
4046
|
name: 'client.unmuted',
|
|
4034
4047
|
payload: {
|
|
4035
4048
|
trigger: 'user-interaction',
|
|
4036
4049
|
mediaType: 'audio'
|
|
4037
4050
|
},
|
|
4038
4051
|
options: {
|
|
4039
|
-
meetingId:
|
|
4052
|
+
meetingId: _this25.id
|
|
4040
4053
|
}
|
|
4041
4054
|
});
|
|
4042
4055
|
}).catch(function (error) {
|
|
4043
4056
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
|
|
4044
|
-
correlation_id:
|
|
4045
|
-
locus_id:
|
|
4057
|
+
correlation_id: _this25.correlationId,
|
|
4058
|
+
locus_id: _this25.locusUrl.split('/').pop(),
|
|
4046
4059
|
reason: error.message,
|
|
4047
4060
|
stack: error.stack
|
|
4048
4061
|
});
|
|
@@ -4061,7 +4074,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4061
4074
|
}, {
|
|
4062
4075
|
key: "muteVideo",
|
|
4063
4076
|
value: function muteVideo() {
|
|
4064
|
-
var
|
|
4077
|
+
var _this26 = this;
|
|
4065
4078
|
if (!_util.default.isUserInJoinedState(this.locusInfo)) {
|
|
4066
4079
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4067
4080
|
}
|
|
@@ -4075,22 +4088,22 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4075
4088
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
4076
4089
|
}
|
|
4077
4090
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
4078
|
-
_util.default.handleVideoLogging(
|
|
4091
|
+
_util.default.handleVideoLogging(_this26.mediaProperties.videoTrack);
|
|
4079
4092
|
// @ts-ignore
|
|
4080
|
-
|
|
4093
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
4081
4094
|
name: 'client.muted',
|
|
4082
4095
|
payload: {
|
|
4083
4096
|
trigger: 'user-interaction',
|
|
4084
4097
|
mediaType: 'video'
|
|
4085
4098
|
},
|
|
4086
4099
|
options: {
|
|
4087
|
-
meetingId:
|
|
4100
|
+
meetingId: _this26.id
|
|
4088
4101
|
}
|
|
4089
4102
|
});
|
|
4090
4103
|
}).catch(function (error) {
|
|
4091
4104
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
|
|
4092
|
-
correlation_id:
|
|
4093
|
-
locus_id:
|
|
4105
|
+
correlation_id: _this26.correlationId,
|
|
4106
|
+
locus_id: _this26.locusUrl.split('/').pop(),
|
|
4094
4107
|
reason: error.message,
|
|
4095
4108
|
stack: error.stack
|
|
4096
4109
|
});
|
|
@@ -4109,7 +4122,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4109
4122
|
}, {
|
|
4110
4123
|
key: "unmuteVideo",
|
|
4111
4124
|
value: function unmuteVideo() {
|
|
4112
|
-
var
|
|
4125
|
+
var _this27 = this;
|
|
4113
4126
|
if (!_util.default.isUserInJoinedState(this.locusInfo)) {
|
|
4114
4127
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4115
4128
|
}
|
|
@@ -4123,22 +4136,22 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4123
4136
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
4124
4137
|
}
|
|
4125
4138
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
4126
|
-
_util.default.handleVideoLogging(
|
|
4139
|
+
_util.default.handleVideoLogging(_this27.mediaProperties.videoTrack);
|
|
4127
4140
|
// @ts-ignore
|
|
4128
|
-
|
|
4141
|
+
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
4129
4142
|
name: 'client.unmuted',
|
|
4130
4143
|
payload: {
|
|
4131
4144
|
trigger: 'user-interaction',
|
|
4132
4145
|
mediaType: 'video'
|
|
4133
4146
|
},
|
|
4134
4147
|
options: {
|
|
4135
|
-
meetingId:
|
|
4148
|
+
meetingId: _this27.id
|
|
4136
4149
|
}
|
|
4137
4150
|
});
|
|
4138
4151
|
}).catch(function (error) {
|
|
4139
4152
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
|
|
4140
|
-
correlation_id:
|
|
4141
|
-
locus_id:
|
|
4153
|
+
correlation_id: _this27.correlationId,
|
|
4154
|
+
locus_id: _this27.locusUrl.split('/').pop(),
|
|
4142
4155
|
reason: error.message,
|
|
4143
4156
|
stack: error.stack
|
|
4144
4157
|
});
|
|
@@ -4167,12 +4180,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4167
4180
|
}, {
|
|
4168
4181
|
key: "joinWithMedia",
|
|
4169
4182
|
value: function joinWithMedia() {
|
|
4170
|
-
var
|
|
4183
|
+
var _this28 = this;
|
|
4171
4184
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
4172
4185
|
var mediaOptions = options.mediaOptions,
|
|
4173
4186
|
joinOptions = options.joinOptions;
|
|
4174
4187
|
return this.join(joinOptions).then(function (joinResponse) {
|
|
4175
|
-
return
|
|
4188
|
+
return _this28.addMedia(mediaOptions).then(function (mediaResponse) {
|
|
4176
4189
|
return {
|
|
4177
4190
|
join: joinResponse,
|
|
4178
4191
|
media: mediaResponse
|
|
@@ -4181,8 +4194,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4181
4194
|
}).catch(function (error) {
|
|
4182
4195
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', error);
|
|
4183
4196
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
4184
|
-
correlation_id:
|
|
4185
|
-
locus_id:
|
|
4197
|
+
correlation_id: _this28.correlationId,
|
|
4198
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
4186
4199
|
reason: error.message,
|
|
4187
4200
|
stack: error.stack
|
|
4188
4201
|
}, {
|
|
@@ -4203,7 +4216,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4203
4216
|
}, {
|
|
4204
4217
|
key: "reconnect",
|
|
4205
4218
|
value: function reconnect(options) {
|
|
4206
|
-
var
|
|
4219
|
+
var _this29 = this;
|
|
4207
4220
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
4208
4221
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
4209
4222
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
@@ -4231,13 +4244,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4231
4244
|
function: 'reconnect'
|
|
4232
4245
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_STARTING);
|
|
4233
4246
|
return this.reconnectionManager.reconnect(options).then(function () {
|
|
4234
|
-
_triggerProxy.default.trigger(
|
|
4247
|
+
_triggerProxy.default.trigger(_this29, {
|
|
4235
4248
|
file: 'meeting/index',
|
|
4236
4249
|
function: 'reconnect'
|
|
4237
4250
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_SUCCESS);
|
|
4238
4251
|
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
4239
4252
|
}).catch(function (error) {
|
|
4240
|
-
_triggerProxy.default.trigger(
|
|
4253
|
+
_triggerProxy.default.trigger(_this29, {
|
|
4241
4254
|
file: 'meeting/index',
|
|
4242
4255
|
function: 'reconnect'
|
|
4243
4256
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_FAILURE, {
|
|
@@ -4245,18 +4258,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4245
4258
|
});
|
|
4246
4259
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
4247
4260
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_RECONNECT_FAILURE, {
|
|
4248
|
-
correlation_id:
|
|
4249
|
-
locus_id:
|
|
4261
|
+
correlation_id: _this29.correlationId,
|
|
4262
|
+
locus_id: _this29.locusUrl.split('/').pop(),
|
|
4250
4263
|
reason: error.message,
|
|
4251
4264
|
stack: error.stack
|
|
4252
4265
|
});
|
|
4253
|
-
|
|
4266
|
+
_this29.uploadLogs({
|
|
4254
4267
|
file: 'meeting/index',
|
|
4255
4268
|
function: 'reconnect'
|
|
4256
4269
|
});
|
|
4257
4270
|
return _promise.default.reject(new _reconnection.default('Reconnection failure event', error));
|
|
4258
4271
|
}).finally(function () {
|
|
4259
|
-
|
|
4272
|
+
_this29.reconnectionManager.reset();
|
|
4260
4273
|
});
|
|
4261
4274
|
}
|
|
4262
4275
|
|
|
@@ -4299,16 +4312,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4299
4312
|
}, {
|
|
4300
4313
|
key: "monitorTranscriptionSocketConnection",
|
|
4301
4314
|
value: function monitorTranscriptionSocketConnection() {
|
|
4302
|
-
var
|
|
4315
|
+
var _this30 = this;
|
|
4303
4316
|
this.transcription.onCloseSocket(function (event) {
|
|
4304
4317
|
_loggerProxy.default.logger.info("Meeting:index#onCloseSocket -->\n unable to continue receiving transcription;\n low-latency mercury web socket connection is closed now.\n ".concat(event));
|
|
4305
|
-
|
|
4318
|
+
_this30.triggerStopReceivingTranscriptionEvent();
|
|
4306
4319
|
});
|
|
4307
4320
|
this.transcription.onErrorSocket(function (event) {
|
|
4308
4321
|
_loggerProxy.default.logger.error("Meeting:index#onErrorSocket -->\n unable to continue receiving transcription;\n low-latency mercury web socket connection error had occured.\n ".concat(event));
|
|
4309
|
-
|
|
4322
|
+
_this30.triggerStopReceivingTranscriptionEvent();
|
|
4310
4323
|
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
|
|
4311
|
-
correlation_id:
|
|
4324
|
+
correlation_id: _this30.correlationId,
|
|
4312
4325
|
reason: 'unexpected error: transcription LLM web socket connection error had occured.',
|
|
4313
4326
|
event: event
|
|
4314
4327
|
});
|
|
@@ -4324,7 +4337,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4324
4337
|
key: "receiveTranscription",
|
|
4325
4338
|
value: function () {
|
|
4326
4339
|
var _receiveTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
|
|
4327
|
-
var
|
|
4340
|
+
var _this31 = this;
|
|
4328
4341
|
var datachannelUrl, _yield$this$request, webSocketUrl;
|
|
4329
4342
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
4330
4343
|
while (1) switch (_context10.prev = _context10.next) {
|
|
@@ -4354,7 +4367,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4354
4367
|
|
|
4355
4368
|
// retrieve and pass the payload
|
|
4356
4369
|
this.transcription.subscribe(function (payload) {
|
|
4357
|
-
_triggerProxy.default.trigger(
|
|
4370
|
+
_triggerProxy.default.trigger(_this31, {
|
|
4358
4371
|
file: 'meeting/index',
|
|
4359
4372
|
function: 'join'
|
|
4360
4373
|
}, _constants.EVENT_TRIGGERS.MEETING_STARTED_RECEIVING_TRANSCRIPTION, payload);
|
|
@@ -4435,7 +4448,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4435
4448
|
}, {
|
|
4436
4449
|
key: "join",
|
|
4437
4450
|
value: function join() {
|
|
4438
|
-
var
|
|
4451
|
+
var _this32 = this;
|
|
4439
4452
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
4440
4453
|
// @ts-ignore - fix type
|
|
4441
4454
|
if (!this.webex.meetings.registered) {
|
|
@@ -4550,14 +4563,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4550
4563
|
}
|
|
4551
4564
|
this.isMultistream = !!options.enableMultistream;
|
|
4552
4565
|
return _util.default.joinMeetingOptions(this, options).then(function (join) {
|
|
4553
|
-
|
|
4566
|
+
_this32.meetingFiniteStateMachine.join();
|
|
4554
4567
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
4555
4568
|
return join;
|
|
4556
4569
|
}).then(function (join) {
|
|
4557
4570
|
joinSuccess(join);
|
|
4558
|
-
|
|
4571
|
+
_this32.deferJoin = undefined;
|
|
4559
4572
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
4560
|
-
correlation_id:
|
|
4573
|
+
correlation_id: _this32.correlationId
|
|
4561
4574
|
});
|
|
4562
4575
|
return join;
|
|
4563
4576
|
}).then( /*#__PURE__*/function () {
|
|
@@ -4565,12 +4578,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4565
4578
|
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
4566
4579
|
while (1) switch (_context11.prev = _context11.next) {
|
|
4567
4580
|
case 0:
|
|
4568
|
-
if (!
|
|
4581
|
+
if (!_this32.config.enableAutomaticLLM) {
|
|
4569
4582
|
_context11.next = 3;
|
|
4570
4583
|
break;
|
|
4571
4584
|
}
|
|
4572
4585
|
_context11.next = 3;
|
|
4573
|
-
return
|
|
4586
|
+
return _this32.updateLLMConnection();
|
|
4574
4587
|
case 3:
|
|
4575
4588
|
return _context11.abrupt("return", join);
|
|
4576
4589
|
case 4:
|
|
@@ -4591,16 +4604,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4591
4604
|
_context12.next = 8;
|
|
4592
4605
|
break;
|
|
4593
4606
|
}
|
|
4594
|
-
if (!(
|
|
4607
|
+
if (!(_this32.config.receiveTranscription || options.receiveTranscription)) {
|
|
4595
4608
|
_context12.next = 6;
|
|
4596
4609
|
break;
|
|
4597
4610
|
}
|
|
4598
|
-
if (!
|
|
4611
|
+
if (!_this32.isTranscriptionSupported()) {
|
|
4599
4612
|
_context12.next = 6;
|
|
4600
4613
|
break;
|
|
4601
4614
|
}
|
|
4602
4615
|
_context12.next = 5;
|
|
4603
|
-
return
|
|
4616
|
+
return _this32.receiveTranscription();
|
|
4604
4617
|
case 5:
|
|
4605
4618
|
_loggerProxy.default.logger.info('Meeting:index#join --> enabled to recieve transcription!');
|
|
4606
4619
|
case 6:
|
|
@@ -4620,20 +4633,20 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4620
4633
|
return _ref22.apply(this, arguments);
|
|
4621
4634
|
};
|
|
4622
4635
|
}()).catch(function (error) {
|
|
4623
|
-
var
|
|
4624
|
-
|
|
4636
|
+
var _this32$meetingInfo, _error$error;
|
|
4637
|
+
_this32.meetingFiniteStateMachine.fail(error);
|
|
4625
4638
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
4626
4639
|
|
|
4627
4640
|
// @ts-ignore
|
|
4628
|
-
|
|
4641
|
+
_this32.webex.internal.newMetrics.submitClientEvent({
|
|
4629
4642
|
name: 'client.locus.join.response',
|
|
4630
4643
|
payload: {
|
|
4631
4644
|
identifiers: {
|
|
4632
|
-
meetingLookupUrl: (
|
|
4645
|
+
meetingLookupUrl: (_this32$meetingInfo = _this32.meetingInfo) === null || _this32$meetingInfo === void 0 ? void 0 : _this32$meetingInfo.meetingLookupUrl
|
|
4633
4646
|
}
|
|
4634
4647
|
},
|
|
4635
4648
|
options: {
|
|
4636
|
-
meetingId:
|
|
4649
|
+
meetingId: _this32.id,
|
|
4637
4650
|
rawError: error,
|
|
4638
4651
|
showToUser: true
|
|
4639
4652
|
}
|
|
@@ -4641,18 +4654,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4641
4654
|
|
|
4642
4655
|
// TODO: change this to error codes and pre defined dictionary
|
|
4643
4656
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
4644
|
-
correlation_id:
|
|
4657
|
+
correlation_id: _this32.correlationId,
|
|
4645
4658
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
4646
4659
|
stack: error.stack
|
|
4647
4660
|
});
|
|
4648
4661
|
|
|
4649
4662
|
// Upload logs on join Failure
|
|
4650
|
-
_triggerProxy.default.trigger(
|
|
4663
|
+
_triggerProxy.default.trigger(_this32, {
|
|
4651
4664
|
file: 'meeting/index',
|
|
4652
4665
|
function: 'join'
|
|
4653
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
4666
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this32);
|
|
4654
4667
|
joinFailed(error);
|
|
4655
|
-
|
|
4668
|
+
_this32.deferJoin = undefined;
|
|
4656
4669
|
return _promise.default.reject(error);
|
|
4657
4670
|
});
|
|
4658
4671
|
}
|
|
@@ -4667,7 +4680,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4667
4680
|
key: "updateLLMConnection",
|
|
4668
4681
|
value: function () {
|
|
4669
4682
|
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13() {
|
|
4670
|
-
var
|
|
4683
|
+
var _this33 = this;
|
|
4671
4684
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
4672
4685
|
return _regenerator.default.wrap(function _callee13$(_context13) {
|
|
4673
4686
|
while (1) switch (_context13.prev = _context13.next) {
|
|
@@ -4699,9 +4712,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4699
4712
|
case 10:
|
|
4700
4713
|
return _context13.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
4701
4714
|
// @ts-ignore - Fix type
|
|
4702
|
-
|
|
4715
|
+
_this33.webex.internal.llm.off('event:relay.event', _this33.processRelayEvent);
|
|
4703
4716
|
// @ts-ignore - Fix type
|
|
4704
|
-
|
|
4717
|
+
_this33.webex.internal.llm.on('event:relay.event', _this33.processRelayEvent);
|
|
4705
4718
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
4706
4719
|
return _promise.default.resolve(registerAndConnectResult);
|
|
4707
4720
|
}));
|
|
@@ -4754,7 +4767,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4754
4767
|
}, {
|
|
4755
4768
|
key: "dialInPstn",
|
|
4756
4769
|
value: function dialInPstn() {
|
|
4757
|
-
var
|
|
4770
|
+
var _this34 = this;
|
|
4758
4771
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
4759
4772
|
|
|
4760
4773
|
var correlationId = this.correlationId,
|
|
@@ -4770,10 +4783,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4770
4783
|
}).catch(function (error) {
|
|
4771
4784
|
var _error$error2;
|
|
4772
4785
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
4773
|
-
correlation_id:
|
|
4774
|
-
dial_in_url:
|
|
4786
|
+
correlation_id: _this34.correlationId,
|
|
4787
|
+
dial_in_url: _this34.dialInUrl,
|
|
4775
4788
|
locus_id: locusUrl.split('/').pop(),
|
|
4776
|
-
client_url:
|
|
4789
|
+
client_url: _this34.deviceUrl,
|
|
4777
4790
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
4778
4791
|
stack: error.stack
|
|
4779
4792
|
});
|
|
@@ -4791,7 +4804,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4791
4804
|
}, {
|
|
4792
4805
|
key: "dialOutPstn",
|
|
4793
4806
|
value: function dialOutPstn(phoneNumber) {
|
|
4794
|
-
var
|
|
4807
|
+
var _this35 = this;
|
|
4795
4808
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
4796
4809
|
|
|
4797
4810
|
var correlationId = this.correlationId,
|
|
@@ -4808,10 +4821,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4808
4821
|
}).catch(function (error) {
|
|
4809
4822
|
var _error$error3;
|
|
4810
4823
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
4811
|
-
correlation_id:
|
|
4812
|
-
dial_out_url:
|
|
4824
|
+
correlation_id: _this35.correlationId,
|
|
4825
|
+
dial_out_url: _this35.dialOutUrl,
|
|
4813
4826
|
locus_id: locusUrl.split('/').pop(),
|
|
4814
|
-
client_url:
|
|
4827
|
+
client_url: _this35.deviceUrl,
|
|
4815
4828
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
4816
4829
|
stack: error.stack
|
|
4817
4830
|
});
|
|
@@ -4842,7 +4855,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4842
4855
|
}, {
|
|
4843
4856
|
key: "moveTo",
|
|
4844
4857
|
value: function moveTo(resourceId) {
|
|
4845
|
-
var
|
|
4858
|
+
var _this36 = this;
|
|
4846
4859
|
if (!resourceId) {
|
|
4847
4860
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
4848
4861
|
}
|
|
@@ -4886,12 +4899,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4886
4899
|
while (1) switch (_context14.prev = _context14.next) {
|
|
4887
4900
|
case 0:
|
|
4888
4901
|
_context14.prev = 0;
|
|
4889
|
-
if (!(
|
|
4902
|
+
if (!(_this36.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
4890
4903
|
_context14.next = 4;
|
|
4891
4904
|
break;
|
|
4892
4905
|
}
|
|
4893
4906
|
_context14.next = 4;
|
|
4894
|
-
return
|
|
4907
|
+
return _this36.releaseScreenShareFloor();
|
|
4895
4908
|
case 4:
|
|
4896
4909
|
mediaSettings = {
|
|
4897
4910
|
mediaDirection: {
|
|
@@ -4903,15 +4916,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4903
4916
|
receiveShare: true
|
|
4904
4917
|
}
|
|
4905
4918
|
};
|
|
4906
|
-
|
|
4907
|
-
|
|
4908
|
-
|
|
4919
|
+
_this36.cleanupLocalTracks();
|
|
4920
|
+
_this36.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
4921
|
+
_this36.mediaProperties.unsetRemoteMedia();
|
|
4909
4922
|
|
|
4910
4923
|
// when a move to is intiated by the client , Locus delets the existing media node from the server as soon the DX answers the meeting
|
|
4911
4924
|
// once the DX answers we establish connection back the media server with only receiveShare enabled
|
|
4912
4925
|
// @ts-ignore - reconnectMedia does not accept any argument
|
|
4913
4926
|
_context14.next = 10;
|
|
4914
|
-
return
|
|
4927
|
+
return _this36.reconnectionManager.reconnectMedia(mediaSettings).then(function () {
|
|
4915
4928
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
4916
4929
|
});
|
|
4917
4930
|
case 10:
|
|
@@ -4922,8 +4935,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4922
4935
|
_context14.t0 = _context14["catch"](0);
|
|
4923
4936
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context14.t0);
|
|
4924
4937
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
4925
|
-
correlation_id:
|
|
4926
|
-
locus_id:
|
|
4938
|
+
correlation_id: _this36.correlationId,
|
|
4939
|
+
locus_id: _this36.locusUrl.split('/').pop(),
|
|
4927
4940
|
reason: _context14.t0.message,
|
|
4928
4941
|
stack: _context14.t0.stack
|
|
4929
4942
|
});
|
|
@@ -4938,12 +4951,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4938
4951
|
resourceId: resourceId,
|
|
4939
4952
|
moveToResource: true
|
|
4940
4953
|
}).then(function () {
|
|
4941
|
-
|
|
4954
|
+
_this36.meetingFiniteStateMachine.join();
|
|
4942
4955
|
}).catch(function (error) {
|
|
4943
|
-
|
|
4956
|
+
_this36.meetingFiniteStateMachine.fail(error);
|
|
4944
4957
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
4945
|
-
correlation_id:
|
|
4946
|
-
locus_id:
|
|
4958
|
+
correlation_id: _this36.correlationId,
|
|
4959
|
+
locus_id: _this36.locusUrl.split('/').pop(),
|
|
4947
4960
|
reason: error.message,
|
|
4948
4961
|
stack: error.stack
|
|
4949
4962
|
});
|
|
@@ -4962,7 +4975,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4962
4975
|
}, {
|
|
4963
4976
|
key: "moveFrom",
|
|
4964
4977
|
value: function moveFrom(resourceId) {
|
|
4965
|
-
var
|
|
4978
|
+
var _this37 = this;
|
|
4966
4979
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
4967
4980
|
if (!resourceId) {
|
|
4968
4981
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -4977,19 +4990,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4977
4990
|
}
|
|
4978
4991
|
});
|
|
4979
4992
|
return _util.default.joinMeetingOptions(this).then(function () {
|
|
4980
|
-
return _util.default.leaveMeeting(
|
|
4993
|
+
return _util.default.leaveMeeting(_this37, {
|
|
4981
4994
|
resourceId: resourceId,
|
|
4982
4995
|
correlationId: oldCorrelationId,
|
|
4983
4996
|
moveMeeting: true
|
|
4984
4997
|
}).then(function () {
|
|
4985
|
-
|
|
4998
|
+
_this37.resourceId = '';
|
|
4986
4999
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
4987
5000
|
});
|
|
4988
5001
|
}).catch(function (error) {
|
|
4989
|
-
|
|
5002
|
+
_this37.meetingFiniteStateMachine.fail(error);
|
|
4990
5003
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
4991
|
-
correlation_id:
|
|
4992
|
-
locus_id:
|
|
5004
|
+
correlation_id: _this37.correlationId,
|
|
5005
|
+
locus_id: _this37.locusUrl.split('/').pop(),
|
|
4993
5006
|
reason: error.message,
|
|
4994
5007
|
stack: error.stack
|
|
4995
5008
|
});
|
|
@@ -5093,9 +5106,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5093
5106
|
}, {
|
|
5094
5107
|
key: "forwardEvent",
|
|
5095
5108
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
5096
|
-
var
|
|
5109
|
+
var _this38 = this;
|
|
5097
5110
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
5098
|
-
return _triggerProxy.default.trigger(
|
|
5111
|
+
return _triggerProxy.default.trigger(_this38, {
|
|
5099
5112
|
file: 'meetings',
|
|
5100
5113
|
function: 'addMedia'
|
|
5101
5114
|
}, meetingEventType, data);
|
|
@@ -5115,7 +5128,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5115
5128
|
value: function addMedia() {
|
|
5116
5129
|
var _localTracks$screenSh,
|
|
5117
5130
|
_localTracks$screenSh2,
|
|
5118
|
-
|
|
5131
|
+
_this39 = this;
|
|
5119
5132
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
5120
5133
|
var LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
5121
5134
|
var turnDiscoverySkippedReason;
|
|
@@ -5213,7 +5226,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5213
5226
|
promises.push(this.setLocalShareAudioTrack(localTracks.screenShare.audio));
|
|
5214
5227
|
}
|
|
5215
5228
|
return _promise.default.all(promises).then(function () {
|
|
5216
|
-
return
|
|
5229
|
+
return _this39.roap.doTurnDiscovery(_this39, false);
|
|
5217
5230
|
}).then( /*#__PURE__*/function () {
|
|
5218
5231
|
var _ref24 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(turnDiscoveryObject) {
|
|
5219
5232
|
var turnServerInfo, mc;
|
|
@@ -5224,19 +5237,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5224
5237
|
turnServerUsed = !turnDiscoverySkippedReason;
|
|
5225
5238
|
turnServerInfo = turnDiscoveryObject.turnServerInfo;
|
|
5226
5239
|
_context16.next = 5;
|
|
5227
|
-
return
|
|
5240
|
+
return _this39.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
5228
5241
|
case 5:
|
|
5229
5242
|
mc = _context16.sent;
|
|
5230
|
-
if (!
|
|
5243
|
+
if (!_this39.isMultistream) {
|
|
5231
5244
|
_context16.next = 13;
|
|
5232
5245
|
break;
|
|
5233
5246
|
}
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5247
|
+
_this39.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(_this39.receiveSlotManager, _this39.mediaRequestManagers, remoteMediaManagerConfig);
|
|
5248
|
+
_this39.forwardEvent(_this39.remoteMediaManager, _remoteMediaManager.Event.AudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_AUDIO_CREATED);
|
|
5249
|
+
_this39.forwardEvent(_this39.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
|
|
5250
|
+
_this39.forwardEvent(_this39.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
|
|
5238
5251
|
_context16.next = 13;
|
|
5239
|
-
return
|
|
5252
|
+
return _this39.remoteMediaManager.start();
|
|
5240
5253
|
case 13:
|
|
5241
5254
|
_context16.next = 15;
|
|
5242
5255
|
return mc.initiateOffer();
|
|
@@ -5250,27 +5263,27 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5250
5263
|
return _ref24.apply(this, arguments);
|
|
5251
5264
|
};
|
|
5252
5265
|
}()).then(function () {
|
|
5253
|
-
|
|
5266
|
+
_this39.setMercuryListener();
|
|
5254
5267
|
}).then(function () {
|
|
5255
5268
|
return (0, _mediaHelpers.getDevices)().then(function (devices) {
|
|
5256
5269
|
_util.default.handleDeviceLogging(devices);
|
|
5257
5270
|
}).catch(function () {});
|
|
5258
5271
|
} // getDevices may fail if we don't have browser permissions, that's ok, we still can have a media connection
|
|
5259
5272
|
).then(function () {
|
|
5260
|
-
|
|
5273
|
+
_this39.handleMediaLogging(_this39.mediaProperties);
|
|
5261
5274
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created"));
|
|
5262
5275
|
|
|
5263
5276
|
// @ts-ignore - config coming from registerPlugin
|
|
5264
|
-
if (
|
|
5277
|
+
if (_this39.config.stats.enableStatsAnalyzer) {
|
|
5265
5278
|
// @ts-ignore - config coming from registerPlugin
|
|
5266
|
-
|
|
5267
|
-
|
|
5279
|
+
_this39.networkQualityMonitor = new _networkQualityMonitor.default(_this39.config.stats);
|
|
5280
|
+
_this39.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
|
|
5268
5281
|
// @ts-ignore - config coming from registerPlugin
|
|
5269
|
-
|
|
5270
|
-
return
|
|
5271
|
-
},
|
|
5272
|
-
|
|
5273
|
-
|
|
5282
|
+
_this39.config.stats, function (ssrc) {
|
|
5283
|
+
return _this39.receiveSlotManager.findReceiveSlotBySsrc(ssrc);
|
|
5284
|
+
}, _this39.networkQualityMonitor);
|
|
5285
|
+
_this39.setupStatsAnalyzerEventHandlers();
|
|
5286
|
+
_this39.networkQualityMonitor.on(_constants.EVENT_TRIGGERS.NETWORK_QUALITY, _this39.sendNetworkQualityEvent.bind(_this39));
|
|
5274
5287
|
}
|
|
5275
5288
|
}).catch(function (error) {
|
|
5276
5289
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error adding media , setting up peerconnection, "), error);
|
|
@@ -5281,12 +5294,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5281
5294
|
|
|
5282
5295
|
// eslint-disable-next-line func-names
|
|
5283
5296
|
// eslint-disable-next-line prefer-arrow-callback
|
|
5284
|
-
if (
|
|
5297
|
+
if (_this39.type === _constants._CALL_ || _this39.meetingState === _constants.FULL_STATE.ACTIVE) {
|
|
5285
5298
|
resolve();
|
|
5286
5299
|
}
|
|
5287
5300
|
var joiningTimer = setInterval(function () {
|
|
5288
5301
|
timerCount += 1;
|
|
5289
|
-
if (
|
|
5302
|
+
if (_this39.meetingState === _constants.FULL_STATE.ACTIVE) {
|
|
5290
5303
|
clearInterval(joiningTimer);
|
|
5291
5304
|
resolve();
|
|
5292
5305
|
}
|
|
@@ -5297,77 +5310,77 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5297
5310
|
}, 1000);
|
|
5298
5311
|
});
|
|
5299
5312
|
}).then(function () {
|
|
5300
|
-
return
|
|
5313
|
+
return _this39.mediaProperties.waitForMediaConnectionConnected().catch(function () {
|
|
5301
5314
|
// @ts-ignore
|
|
5302
|
-
|
|
5315
|
+
_this39.webex.internal.newMetrics.submitClientEvent({
|
|
5303
5316
|
name: 'client.ice.end',
|
|
5304
5317
|
payload: {
|
|
5305
5318
|
canProceed: false,
|
|
5306
5319
|
icePhase: 'JOIN_MEETING_FINAL',
|
|
5307
5320
|
errors: [
|
|
5308
5321
|
// @ts-ignore
|
|
5309
|
-
|
|
5322
|
+
_this39.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode(_internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.ICE_FAILURE_CLIENT_CODE)]
|
|
5310
5323
|
},
|
|
5311
5324
|
options: {
|
|
5312
|
-
meetingId:
|
|
5325
|
+
meetingId: _this39.id
|
|
5313
5326
|
}
|
|
5314
5327
|
});
|
|
5315
|
-
throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(
|
|
5328
|
+
throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(_this39.correlationId));
|
|
5316
5329
|
});
|
|
5317
5330
|
}).then(function () {
|
|
5318
|
-
if (
|
|
5319
|
-
return
|
|
5331
|
+
if (_this39.mediaProperties.hasLocalShareTrack()) {
|
|
5332
|
+
return _this39.enqueueScreenShareFloorRequest();
|
|
5320
5333
|
}
|
|
5321
5334
|
return _promise.default.resolve();
|
|
5322
5335
|
}).then(function () {
|
|
5323
|
-
return
|
|
5336
|
+
return _this39.mediaProperties.getCurrentConnectionType();
|
|
5324
5337
|
}).then(function (connectionType) {
|
|
5325
5338
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, {
|
|
5326
|
-
correlation_id:
|
|
5327
|
-
locus_id:
|
|
5339
|
+
correlation_id: _this39.correlationId,
|
|
5340
|
+
locus_id: _this39.locusUrl.split('/').pop(),
|
|
5328
5341
|
connectionType: connectionType,
|
|
5329
|
-
isMultistream:
|
|
5342
|
+
isMultistream: _this39.isMultistream
|
|
5330
5343
|
});
|
|
5331
5344
|
// @ts-ignore
|
|
5332
|
-
|
|
5345
|
+
_this39.webex.internal.newMetrics.submitClientEvent({
|
|
5333
5346
|
name: 'client.media-engine.ready',
|
|
5334
5347
|
options: {
|
|
5335
|
-
meetingId:
|
|
5348
|
+
meetingId: _this39.id
|
|
5336
5349
|
}
|
|
5337
5350
|
});
|
|
5338
5351
|
}).catch(function (error) {
|
|
5339
|
-
var
|
|
5352
|
+
var _this39$mediaProperti, _this39$mediaProperti2, _this39$mediaProperti3, _this39$mediaProperti4, _this39$mediaProperti5, _this39$mediaProperti6, _this39$mediaProperti7, _this39$mediaProperti8, _this39$mediaProperti9, _this39$mediaProperti10, _this39$mediaProperti11, _this39$mediaProperti12, _this39$mediaProperti13, _this39$mediaProperti14, _this39$mediaProperti15, _this39$mediaProperti16, _this39$mediaProperti17, _this39$mediaProperti18, _this39$mediaProperti19, _this39$mediaProperti20, _this39$mediaProperti21;
|
|
5340
5353
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, {
|
|
5341
|
-
correlation_id:
|
|
5342
|
-
locus_id:
|
|
5354
|
+
correlation_id: _this39.correlationId,
|
|
5355
|
+
locus_id: _this39.locusUrl.split('/').pop(),
|
|
5343
5356
|
reason: error.message,
|
|
5344
5357
|
stack: error.stack,
|
|
5345
5358
|
code: error.code,
|
|
5346
5359
|
turnDiscoverySkippedReason: turnDiscoverySkippedReason,
|
|
5347
5360
|
turnServerUsed: turnServerUsed,
|
|
5348
|
-
isMultistream:
|
|
5349
|
-
signalingState: ((
|
|
5350
|
-
connectionState: ((
|
|
5351
|
-
iceConnectionState: ((
|
|
5361
|
+
isMultistream: _this39.isMultistream,
|
|
5362
|
+
signalingState: ((_this39$mediaProperti = _this39.mediaProperties.webrtcMediaConnection) === null || _this39$mediaProperti === void 0 ? void 0 : (_this39$mediaProperti2 = _this39$mediaProperti.multistreamConnection) === null || _this39$mediaProperti2 === void 0 ? void 0 : (_this39$mediaProperti3 = _this39$mediaProperti2.pc) === null || _this39$mediaProperti3 === void 0 ? void 0 : (_this39$mediaProperti4 = _this39$mediaProperti3.pc) === null || _this39$mediaProperti4 === void 0 ? void 0 : _this39$mediaProperti4.signalingState) || ((_this39$mediaProperti5 = _this39.mediaProperties.webrtcMediaConnection) === null || _this39$mediaProperti5 === void 0 ? void 0 : (_this39$mediaProperti6 = _this39$mediaProperti5.mediaConnection) === null || _this39$mediaProperti6 === void 0 ? void 0 : (_this39$mediaProperti7 = _this39$mediaProperti6.pc) === null || _this39$mediaProperti7 === void 0 ? void 0 : _this39$mediaProperti7.signalingState) || 'unknown',
|
|
5363
|
+
connectionState: ((_this39$mediaProperti8 = _this39.mediaProperties.webrtcMediaConnection) === null || _this39$mediaProperti8 === void 0 ? void 0 : (_this39$mediaProperti9 = _this39$mediaProperti8.multistreamConnection) === null || _this39$mediaProperti9 === void 0 ? void 0 : (_this39$mediaProperti10 = _this39$mediaProperti9.pc) === null || _this39$mediaProperti10 === void 0 ? void 0 : (_this39$mediaProperti11 = _this39$mediaProperti10.pc) === null || _this39$mediaProperti11 === void 0 ? void 0 : _this39$mediaProperti11.connectionState) || ((_this39$mediaProperti12 = _this39.mediaProperties.webrtcMediaConnection) === null || _this39$mediaProperti12 === void 0 ? void 0 : (_this39$mediaProperti13 = _this39$mediaProperti12.mediaConnection) === null || _this39$mediaProperti13 === void 0 ? void 0 : (_this39$mediaProperti14 = _this39$mediaProperti13.pc) === null || _this39$mediaProperti14 === void 0 ? void 0 : _this39$mediaProperti14.connectionState) || 'unknown',
|
|
5364
|
+
iceConnectionState: ((_this39$mediaProperti15 = _this39.mediaProperties.webrtcMediaConnection) === null || _this39$mediaProperti15 === void 0 ? void 0 : (_this39$mediaProperti16 = _this39$mediaProperti15.multistreamConnection) === null || _this39$mediaProperti16 === void 0 ? void 0 : (_this39$mediaProperti17 = _this39$mediaProperti16.pc) === null || _this39$mediaProperti17 === void 0 ? void 0 : (_this39$mediaProperti18 = _this39$mediaProperti17.pc) === null || _this39$mediaProperti18 === void 0 ? void 0 : _this39$mediaProperti18.iceConnectionState) || ((_this39$mediaProperti19 = _this39.mediaProperties.webrtcMediaConnection) === null || _this39$mediaProperti19 === void 0 ? void 0 : (_this39$mediaProperti20 = _this39$mediaProperti19.mediaConnection) === null || _this39$mediaProperti20 === void 0 ? void 0 : (_this39$mediaProperti21 = _this39$mediaProperti20.pc) === null || _this39$mediaProperti21 === void 0 ? void 0 : _this39$mediaProperti21.iceConnectionState) || 'unknown'
|
|
5352
5365
|
});
|
|
5353
5366
|
|
|
5354
5367
|
// Clean up stats analyzer, peer connection, and turn off listeners
|
|
5355
|
-
var stopStatsAnalyzer =
|
|
5368
|
+
var stopStatsAnalyzer = _this39.statsAnalyzer ? _this39.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
|
|
5356
5369
|
return stopStatsAnalyzer.then(function () {
|
|
5357
|
-
|
|
5358
|
-
if (
|
|
5359
|
-
|
|
5360
|
-
|
|
5370
|
+
_this39.statsAnalyzer = null;
|
|
5371
|
+
if (_this39.mediaProperties.webrtcMediaConnection) {
|
|
5372
|
+
_this39.closePeerConnections();
|
|
5373
|
+
_this39.unsetPeerConnections();
|
|
5361
5374
|
}
|
|
5362
5375
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error adding media failed to initiate PC and send request, "), error);
|
|
5363
5376
|
|
|
5364
5377
|
// Upload logs on error while adding media
|
|
5365
|
-
_triggerProxy.default.trigger(
|
|
5378
|
+
_triggerProxy.default.trigger(_this39, {
|
|
5366
5379
|
file: 'meeting/index',
|
|
5367
5380
|
function: 'addMedia'
|
|
5368
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5381
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this39);
|
|
5369
5382
|
if (error instanceof _internalMediaCore.Errors.SdpError) {
|
|
5370
|
-
|
|
5383
|
+
_this39.leave({
|
|
5371
5384
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
5372
5385
|
});
|
|
5373
5386
|
}
|
|
@@ -5400,7 +5413,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5400
5413
|
}, {
|
|
5401
5414
|
key: "enqueueMediaUpdate",
|
|
5402
5415
|
value: function enqueueMediaUpdate(mediaUpdateType) {
|
|
5403
|
-
var
|
|
5416
|
+
var _this40 = this;
|
|
5404
5417
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
5405
5418
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
5406
5419
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -5411,9 +5424,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5411
5424
|
options: options
|
|
5412
5425
|
};
|
|
5413
5426
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
5414
|
-
|
|
5427
|
+
_this40.queuedMediaUpdates.push(queueItem);
|
|
5415
5428
|
if (canUpdateMediaNow) {
|
|
5416
|
-
|
|
5429
|
+
_this40.processNextQueuedMediaUpdate();
|
|
5417
5430
|
}
|
|
5418
5431
|
});
|
|
5419
5432
|
}
|
|
@@ -5525,7 +5538,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5525
5538
|
}, {
|
|
5526
5539
|
key: "acknowledge",
|
|
5527
5540
|
value: function acknowledge(type) {
|
|
5528
|
-
var
|
|
5541
|
+
var _this41 = this;
|
|
5529
5542
|
if (!type) {
|
|
5530
5543
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
5531
5544
|
}
|
|
@@ -5537,12 +5550,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5537
5550
|
}).then(function (response) {
|
|
5538
5551
|
return _promise.default.resolve(response);
|
|
5539
5552
|
}).then(function (response) {
|
|
5540
|
-
|
|
5553
|
+
_this41.meetingFiniteStateMachine.ring(type);
|
|
5541
5554
|
// @ts-ignore
|
|
5542
|
-
|
|
5555
|
+
_this41.webex.internal.newMetrics.submitClientEvent({
|
|
5543
5556
|
name: 'client.alert.displayed',
|
|
5544
5557
|
options: {
|
|
5545
|
-
meetingId:
|
|
5558
|
+
meetingId: _this41.id
|
|
5546
5559
|
}
|
|
5547
5560
|
});
|
|
5548
5561
|
return _promise.default.resolve({
|
|
@@ -5567,12 +5580,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5567
5580
|
}, {
|
|
5568
5581
|
key: "decline",
|
|
5569
5582
|
value: function decline(reason) {
|
|
5570
|
-
var
|
|
5583
|
+
var _this42 = this;
|
|
5571
5584
|
return _util.default.declineMeeting(this, reason).then(function (decline) {
|
|
5572
|
-
|
|
5585
|
+
_this42.meetingFiniteStateMachine.decline();
|
|
5573
5586
|
return _promise.default.resolve(decline);
|
|
5574
5587
|
}).catch(function (error) {
|
|
5575
|
-
|
|
5588
|
+
_this42.meetingFiniteStateMachine.fail(error);
|
|
5576
5589
|
return _promise.default.reject(error);
|
|
5577
5590
|
});
|
|
5578
5591
|
}
|
|
@@ -5588,7 +5601,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5588
5601
|
}, {
|
|
5589
5602
|
key: "leave",
|
|
5590
5603
|
value: function leave() {
|
|
5591
|
-
var
|
|
5604
|
+
var _this43 = this;
|
|
5592
5605
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
5593
5606
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
5594
5607
|
/// @ts-ignore
|
|
@@ -5610,39 +5623,39 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5610
5623
|
});
|
|
5611
5624
|
_loggerProxy.default.logger.log('Meeting:index#leave --> Leaving a meeting');
|
|
5612
5625
|
return _util.default.leaveMeeting(this, options).then(function (leave) {
|
|
5613
|
-
|
|
5614
|
-
|
|
5626
|
+
_this43.meetingFiniteStateMachine.leave();
|
|
5627
|
+
_this43.clearMeetingData();
|
|
5615
5628
|
|
|
5616
5629
|
// upload logs on leave irrespective of meeting delete
|
|
5617
|
-
_triggerProxy.default.trigger(
|
|
5630
|
+
_triggerProxy.default.trigger(_this43, {
|
|
5618
5631
|
file: 'meeting/index',
|
|
5619
5632
|
function: 'leave'
|
|
5620
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5633
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this43);
|
|
5621
5634
|
|
|
5622
5635
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
5623
|
-
if (
|
|
5636
|
+
if (_this43.wirelessShare || _this43.guest) {
|
|
5624
5637
|
// If screen sharing clean the meeting object
|
|
5625
|
-
_triggerProxy.default.trigger(
|
|
5638
|
+
_triggerProxy.default.trigger(_this43, {
|
|
5626
5639
|
file: 'meeting/index',
|
|
5627
5640
|
function: 'leave'
|
|
5628
5641
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
5629
5642
|
reason: options.reason,
|
|
5630
|
-
meetingId:
|
|
5643
|
+
meetingId: _this43.id
|
|
5631
5644
|
});
|
|
5632
5645
|
}
|
|
5633
5646
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
5634
5647
|
return leave;
|
|
5635
5648
|
}).catch(function (error) {
|
|
5636
|
-
|
|
5649
|
+
_this43.meetingFiniteStateMachine.fail(error);
|
|
5637
5650
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
5638
5651
|
// upload logs on leave irrespective of meeting delete
|
|
5639
|
-
_triggerProxy.default.trigger(
|
|
5652
|
+
_triggerProxy.default.trigger(_this43, {
|
|
5640
5653
|
file: 'meeting/index',
|
|
5641
5654
|
function: 'leave'
|
|
5642
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5655
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this43);
|
|
5643
5656
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
5644
|
-
correlation_id:
|
|
5645
|
-
locus_id:
|
|
5657
|
+
correlation_id: _this43.correlationId,
|
|
5658
|
+
locus_id: _this43.locusUrl.split('/').pop(),
|
|
5646
5659
|
reason: error.message,
|
|
5647
5660
|
stack: error.stack,
|
|
5648
5661
|
code: error.code
|
|
@@ -5662,7 +5675,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5662
5675
|
}, {
|
|
5663
5676
|
key: "startWhiteboardShare",
|
|
5664
5677
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
5665
|
-
var
|
|
5678
|
+
var _this44 = this;
|
|
5666
5679
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
5667
5680
|
return element.name === 'whiteboard';
|
|
5668
5681
|
});
|
|
@@ -5691,13 +5704,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5691
5704
|
body.resourceToken = resourceToken;
|
|
5692
5705
|
}
|
|
5693
5706
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
5694
|
-
|
|
5707
|
+
_this44.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
5695
5708
|
return _promise.default.resolve();
|
|
5696
5709
|
}).catch(function (error) {
|
|
5697
5710
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
5698
5711
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
5699
|
-
correlation_id:
|
|
5700
|
-
locus_id:
|
|
5712
|
+
correlation_id: _this44.correlationId,
|
|
5713
|
+
locus_id: _this44.locusUrl.split('/').pop(),
|
|
5701
5714
|
reason: error.message,
|
|
5702
5715
|
stack: error.stack,
|
|
5703
5716
|
board: {
|
|
@@ -5720,7 +5733,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5720
5733
|
}, {
|
|
5721
5734
|
key: "stopWhiteboardShare",
|
|
5722
5735
|
value: function stopWhiteboardShare(channelUrl) {
|
|
5723
|
-
var
|
|
5736
|
+
var _this45 = this;
|
|
5724
5737
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
5725
5738
|
return element.name === 'whiteboard';
|
|
5726
5739
|
});
|
|
@@ -5745,8 +5758,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5745
5758
|
_metrics.default.sendBehavioralMetric(
|
|
5746
5759
|
// @ts-ignore - check if STOP_WHITEBOARD_SHARE_FAILURE exists
|
|
5747
5760
|
_constants2.default.STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
5748
|
-
correlation_id:
|
|
5749
|
-
locus_id:
|
|
5761
|
+
correlation_id: _this45.correlationId,
|
|
5762
|
+
locus_id: _this45.locusUrl.split('/').pop(),
|
|
5750
5763
|
reason: error.message,
|
|
5751
5764
|
stack: error.stack,
|
|
5752
5765
|
board: {
|
|
@@ -5768,7 +5781,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5768
5781
|
}, {
|
|
5769
5782
|
key: "requestScreenShareFloor",
|
|
5770
5783
|
value: function requestScreenShareFloor() {
|
|
5771
|
-
var
|
|
5784
|
+
var _this46 = this;
|
|
5772
5785
|
if (!this.mediaProperties.hasLocalShareTrack() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
5773
5786
|
_loggerProxy.default.logger.log("Meeting:index#requestScreenShareFloor --> NOT requesting floor, because we don't have the share track anymore (shareVideoTrack=".concat(this.mediaProperties.shareVideoTrack ? 'yes' : 'no', ", shareAudioTrack=").concat(this.mediaProperties.shareAudioTrack ? 'yes' : 'no', ", sendShare=").concat(this.mediaProperties.mediaDirection.sendShare, ")"));
|
|
5774
5787
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -5798,17 +5811,17 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5798
5811
|
resourceUrl: this.resourceUrl,
|
|
5799
5812
|
annotationInfo: this.annotationInfo
|
|
5800
5813
|
}).then(function () {
|
|
5801
|
-
|
|
5814
|
+
_this46.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
5802
5815
|
return _promise.default.resolve();
|
|
5803
5816
|
}).catch(function (error) {
|
|
5804
5817
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
5805
5818
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
5806
|
-
correlation_id:
|
|
5807
|
-
locus_id:
|
|
5819
|
+
correlation_id: _this46.correlationId,
|
|
5820
|
+
locus_id: _this46.locusUrl.split('/').pop(),
|
|
5808
5821
|
reason: error.message,
|
|
5809
5822
|
stack: error.stack
|
|
5810
5823
|
});
|
|
5811
|
-
|
|
5824
|
+
_this46.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
5812
5825
|
return _promise.default.reject(error);
|
|
5813
5826
|
});
|
|
5814
5827
|
}
|
|
@@ -5831,10 +5844,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5831
5844
|
}, {
|
|
5832
5845
|
key: "requestScreenShareFloorIfPending",
|
|
5833
5846
|
value: function requestScreenShareFloorIfPending() {
|
|
5834
|
-
var
|
|
5847
|
+
var _this47 = this;
|
|
5835
5848
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
5836
5849
|
this.requestScreenShareFloor().then(function () {
|
|
5837
|
-
|
|
5850
|
+
_this47.floorGrantPending = false;
|
|
5838
5851
|
});
|
|
5839
5852
|
}
|
|
5840
5853
|
}
|
|
@@ -5848,7 +5861,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5848
5861
|
}, {
|
|
5849
5862
|
key: "releaseScreenShareFloor",
|
|
5850
5863
|
value: function releaseScreenShareFloor() {
|
|
5851
|
-
var
|
|
5864
|
+
var _this48 = this;
|
|
5852
5865
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
5853
5866
|
return element.name === _constants.CONTENT;
|
|
5854
5867
|
});
|
|
@@ -5881,8 +5894,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5881
5894
|
}).catch(function (error) {
|
|
5882
5895
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
5883
5896
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
5884
|
-
correlation_id:
|
|
5885
|
-
locus_id:
|
|
5897
|
+
correlation_id: _this48.correlationId,
|
|
5898
|
+
locus_id: _this48.locusUrl.split('/').pop(),
|
|
5886
5899
|
reason: error.message,
|
|
5887
5900
|
stack: error.stack
|
|
5888
5901
|
});
|
|
@@ -6061,7 +6074,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6061
6074
|
}, {
|
|
6062
6075
|
key: "changeVideoLayout",
|
|
6063
6076
|
value: function changeVideoLayout(layoutType) {
|
|
6064
|
-
var
|
|
6077
|
+
var _this49 = this;
|
|
6065
6078
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
6066
6079
|
var main = renderInfo.main,
|
|
6067
6080
|
content = renderInfo.content;
|
|
@@ -6115,7 +6128,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6115
6128
|
}
|
|
6116
6129
|
this.lastVideoLayoutInfo = (0, _cloneDeep2.default)(layoutInfo);
|
|
6117
6130
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
6118
|
-
_triggerProxy.default.trigger(
|
|
6131
|
+
_triggerProxy.default.trigger(_this49, {
|
|
6119
6132
|
file: 'meeting/index',
|
|
6120
6133
|
function: 'changeVideoLayout'
|
|
6121
6134
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -6235,7 +6248,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6235
6248
|
}, {
|
|
6236
6249
|
key: "endMeetingForAll",
|
|
6237
6250
|
value: function endMeetingForAll() {
|
|
6238
|
-
var
|
|
6251
|
+
var _this50 = this;
|
|
6239
6252
|
// @ts-ignore
|
|
6240
6253
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
6241
6254
|
name: 'client.call.leave',
|
|
@@ -6253,25 +6266,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6253
6266
|
locus_id: this.locusId
|
|
6254
6267
|
});
|
|
6255
6268
|
return _util.default.endMeetingForAll(this).then(function (end) {
|
|
6256
|
-
|
|
6257
|
-
|
|
6269
|
+
_this50.meetingFiniteStateMachine.end();
|
|
6270
|
+
_this50.clearMeetingData();
|
|
6258
6271
|
// upload logs on leave irrespective of meeting delete
|
|
6259
|
-
_triggerProxy.default.trigger(
|
|
6272
|
+
_triggerProxy.default.trigger(_this50, {
|
|
6260
6273
|
file: 'meeting/index',
|
|
6261
6274
|
function: 'endMeetingForAll'
|
|
6262
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
6275
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this50);
|
|
6263
6276
|
return end;
|
|
6264
6277
|
}).catch(function (error) {
|
|
6265
|
-
|
|
6278
|
+
_this50.meetingFiniteStateMachine.fail(error);
|
|
6266
6279
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
6267
6280
|
// upload logs on leave irrespective of meeting delete
|
|
6268
|
-
_triggerProxy.default.trigger(
|
|
6281
|
+
_triggerProxy.default.trigger(_this50, {
|
|
6269
6282
|
file: 'meeting/index',
|
|
6270
6283
|
function: 'endMeetingForAll'
|
|
6271
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
6284
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this50);
|
|
6272
6285
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
6273
|
-
correlation_id:
|
|
6274
|
-
locus_id:
|
|
6286
|
+
correlation_id: _this50.correlationId,
|
|
6287
|
+
locus_id: _this50.locusUrl.split('/').pop(),
|
|
6275
6288
|
reason: error.message,
|
|
6276
6289
|
stack: error.stack,
|
|
6277
6290
|
code: error.code
|
|
@@ -6414,7 +6427,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6414
6427
|
var _this$mediaProperties6,
|
|
6415
6428
|
_this$mediaProperties7,
|
|
6416
6429
|
_this$mediaProperties8,
|
|
6417
|
-
|
|
6430
|
+
_this51 = this;
|
|
6418
6431
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
6419
6432
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
6420
6433
|
if (!this.canUpdateMedia()) {
|
|
@@ -6437,8 +6450,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6437
6450
|
}).catch(function (error) {
|
|
6438
6451
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
6439
6452
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
6440
|
-
correlation_id:
|
|
6441
|
-
locus_id:
|
|
6453
|
+
correlation_id: _this51.correlationId,
|
|
6454
|
+
locus_id: _this51.locusUrl.split('/').pop(),
|
|
6442
6455
|
reason: error.message,
|
|
6443
6456
|
stack: error.stack
|
|
6444
6457
|
});
|