@webex/plugin-meetings 3.0.0-beta.202 → 3.0.0-beta.204
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/constants.js +1 -0
- package/dist/constants.js.map +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/in-meeting-actions.js +3 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +315 -301
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +3 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +2 -0
- package/dist/types/meeting/index.d.ts +5 -0
- package/dist/types/meeting/util.d.ts +1 -0
- package/package.json +19 -19
- package/src/constants.ts +1 -0
- package/src/locus-info/index.ts +8 -8
- package/src/meeting/in-meeting-actions.ts +4 -0
- package/src/meeting/index.ts +41 -26
- package/src/meeting/util.ts +2 -0
- package/test/unit/spec/locus-info/index.js +33 -23
- package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
- package/test/unit/spec/meeting/index.js +33 -9
- package/test/unit/spec/meeting/utils.js +7 -0
- 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({
|
|
@@ -3314,6 +3333,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3314
3333
|
canAdmitParticipant: _util.default.canAdmitParticipant(this.userDisplayHints),
|
|
3315
3334
|
canLock: _util.default.canUserLock(this.userDisplayHints),
|
|
3316
3335
|
canUnlock: _util.default.canUserUnlock(this.userDisplayHints),
|
|
3336
|
+
canShareWhiteBoard: _util.default.canShareWhiteBoard(this.userDisplayHints),
|
|
3317
3337
|
canSetDisallowUnmute: _util3.default.canSetDisallowUnmute(this.userDisplayHints),
|
|
3318
3338
|
canUnsetDisallowUnmute: _util3.default.canUnsetDisallowUnmute(this.userDisplayHints),
|
|
3319
3339
|
canSetMuteOnEntry: _util3.default.canSetMuteOnEntry(this.userDisplayHints),
|
|
@@ -3417,12 +3437,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3417
3437
|
canShareFile: _util3.default.hasHints({
|
|
3418
3438
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_FILE],
|
|
3419
3439
|
displayHints: this.userDisplayHints
|
|
3420
|
-
}) &&
|
|
3440
|
+
}) && _util3.default.hasPolicies({
|
|
3421
3441
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_FILE_SHARE],
|
|
3422
3442
|
policies: this.selfUserPolicies
|
|
3423
|
-
}) ||
|
|
3424
|
-
// @ts-ignore
|
|
3425
|
-
!this.config.experimental.enableUnifiedMeetings) || this.isLocusCall(),
|
|
3443
|
+
}) || !this.arePolicyRestrictionsSupported,
|
|
3426
3444
|
canTransferFile: _util3.default.hasPolicies({
|
|
3427
3445
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_FILE_TRANSFER],
|
|
3428
3446
|
policies: this.selfUserPolicies
|
|
@@ -3430,12 +3448,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3430
3448
|
canShareApplication: _util3.default.hasHints({
|
|
3431
3449
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_APPLICATION],
|
|
3432
3450
|
displayHints: this.userDisplayHints
|
|
3433
|
-
}) &&
|
|
3451
|
+
}) && _util3.default.hasPolicies({
|
|
3434
3452
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_APP_SHARE],
|
|
3435
3453
|
policies: this.selfUserPolicies
|
|
3436
|
-
}) ||
|
|
3437
|
-
// @ts-ignore
|
|
3438
|
-
!this.config.experimental.enableUnifiedMeetings) || this.isLocusCall(),
|
|
3454
|
+
}) || !this.arePolicyRestrictionsSupported(),
|
|
3439
3455
|
canShareCamera: _util3.default.hasHints({
|
|
3440
3456
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_CAMERA],
|
|
3441
3457
|
displayHints: this.userDisplayHints
|
|
@@ -3446,16 +3462,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3446
3462
|
canShareDesktop: _util3.default.hasHints({
|
|
3447
3463
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_DESKTOP],
|
|
3448
3464
|
displayHints: this.userDisplayHints
|
|
3449
|
-
}) &&
|
|
3465
|
+
}) && _util3.default.hasPolicies({
|
|
3450
3466
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_DESKTOP_SHARE],
|
|
3451
3467
|
policies: this.selfUserPolicies
|
|
3452
|
-
}) ||
|
|
3453
|
-
// @ts-ignore
|
|
3454
|
-
!this.config.experimental.enableUnifiedMeetings) || this.isLocusCall(),
|
|
3468
|
+
}) || !this.arePolicyRestrictionsSupported(),
|
|
3455
3469
|
canShareContent: _util3.default.hasHints({
|
|
3456
3470
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_CONTENT],
|
|
3457
3471
|
displayHints: this.userDisplayHints
|
|
3458
|
-
}) || this.
|
|
3472
|
+
}) || !this.arePolicyRestrictionsSupported(),
|
|
3459
3473
|
canAnnotate: _util3.default.hasPolicies({
|
|
3460
3474
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_ANNOTATION],
|
|
3461
3475
|
policies: this.selfUserPolicies
|
|
@@ -3577,7 +3591,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3577
3591
|
}, {
|
|
3578
3592
|
key: "closeRemoteTracks",
|
|
3579
3593
|
value: function closeRemoteTracks() {
|
|
3580
|
-
var
|
|
3594
|
+
var _this22 = this;
|
|
3581
3595
|
var _this$mediaProperties2 = this.mediaProperties,
|
|
3582
3596
|
remoteAudioTrack = _this$mediaProperties2.remoteAudioTrack,
|
|
3583
3597
|
remoteVideoTrack = _this$mediaProperties2.remoteVideoTrack,
|
|
@@ -3591,7 +3605,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3591
3605
|
*/
|
|
3592
3606
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
3593
3607
|
var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
|
|
3594
|
-
_triggerProxy.default.trigger(
|
|
3608
|
+
_triggerProxy.default.trigger(_this22, {
|
|
3595
3609
|
file: 'meeting/index',
|
|
3596
3610
|
function: 'closeRemoteTracks'
|
|
3597
3611
|
}, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
|
|
@@ -3841,7 +3855,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3841
3855
|
}, {
|
|
3842
3856
|
key: "setMercuryListener",
|
|
3843
3857
|
value: function setMercuryListener() {
|
|
3844
|
-
var
|
|
3858
|
+
var _this23 = this;
|
|
3845
3859
|
// Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
|
|
3846
3860
|
// if the meeting has active peer connections, it should try to reconnect.
|
|
3847
3861
|
// @ts-ignore
|
|
@@ -3849,33 +3863,33 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3849
3863
|
_loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
|
|
3850
3864
|
|
|
3851
3865
|
// Only send restore event when it was disconnected before and for connected later
|
|
3852
|
-
if (!
|
|
3866
|
+
if (!_this23.hasWebsocketConnected) {
|
|
3853
3867
|
// @ts-ignore
|
|
3854
|
-
|
|
3868
|
+
_this23.webex.internal.newMetrics.submitClientEvent({
|
|
3855
3869
|
name: 'client.mercury.connection.restored',
|
|
3856
3870
|
options: {
|
|
3857
|
-
meetingId:
|
|
3871
|
+
meetingId: _this23.id
|
|
3858
3872
|
}
|
|
3859
3873
|
});
|
|
3860
3874
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
|
3861
|
-
correlation_id:
|
|
3875
|
+
correlation_id: _this23.correlationId
|
|
3862
3876
|
});
|
|
3863
3877
|
}
|
|
3864
|
-
|
|
3878
|
+
_this23.hasWebsocketConnected = true;
|
|
3865
3879
|
});
|
|
3866
3880
|
|
|
3867
3881
|
// @ts-ignore
|
|
3868
3882
|
this.webex.internal.mercury.on(_constants.OFFLINE, function () {
|
|
3869
3883
|
_loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
|
|
3870
3884
|
// @ts-ignore
|
|
3871
|
-
|
|
3885
|
+
_this23.webex.internal.newMetrics.submitClientEvent({
|
|
3872
3886
|
name: 'client.mercury.connection.lost',
|
|
3873
3887
|
options: {
|
|
3874
|
-
meetingId:
|
|
3888
|
+
meetingId: _this23.id
|
|
3875
3889
|
}
|
|
3876
3890
|
});
|
|
3877
3891
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
|
3878
|
-
correlation_id:
|
|
3892
|
+
correlation_id: _this23.correlationId
|
|
3879
3893
|
});
|
|
3880
3894
|
});
|
|
3881
3895
|
}
|
|
@@ -3961,7 +3975,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3961
3975
|
}, {
|
|
3962
3976
|
key: "muteAudio",
|
|
3963
3977
|
value: function muteAudio() {
|
|
3964
|
-
var
|
|
3978
|
+
var _this24 = this;
|
|
3965
3979
|
if (!_util.default.isUserInJoinedState(this.locusInfo)) {
|
|
3966
3980
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
3967
3981
|
}
|
|
@@ -3977,22 +3991,22 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3977
3991
|
|
|
3978
3992
|
// First, stop sending the local audio media
|
|
3979
3993
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
3980
|
-
_util.default.handleAudioLogging(
|
|
3994
|
+
_util.default.handleAudioLogging(_this24.mediaProperties.audioTrack);
|
|
3981
3995
|
// @ts-ignore
|
|
3982
|
-
|
|
3996
|
+
_this24.webex.internal.newMetrics.submitClientEvent({
|
|
3983
3997
|
name: 'client.muted',
|
|
3984
3998
|
payload: {
|
|
3985
3999
|
trigger: 'user-interaction',
|
|
3986
4000
|
mediaType: 'audio'
|
|
3987
4001
|
},
|
|
3988
4002
|
options: {
|
|
3989
|
-
meetingId:
|
|
4003
|
+
meetingId: _this24.id
|
|
3990
4004
|
}
|
|
3991
4005
|
});
|
|
3992
4006
|
}).catch(function (error) {
|
|
3993
4007
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
|
|
3994
|
-
correlation_id:
|
|
3995
|
-
locus_id:
|
|
4008
|
+
correlation_id: _this24.correlationId,
|
|
4009
|
+
locus_id: _this24.locusUrl.split('/').pop(),
|
|
3996
4010
|
reason: error.message,
|
|
3997
4011
|
stack: error.stack
|
|
3998
4012
|
});
|
|
@@ -4011,7 +4025,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4011
4025
|
}, {
|
|
4012
4026
|
key: "unmuteAudio",
|
|
4013
4027
|
value: function unmuteAudio() {
|
|
4014
|
-
var
|
|
4028
|
+
var _this25 = this;
|
|
4015
4029
|
if (!_util.default.isUserInJoinedState(this.locusInfo)) {
|
|
4016
4030
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4017
4031
|
}
|
|
@@ -4027,22 +4041,22 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4027
4041
|
|
|
4028
4042
|
// First, send the control to unmute the participant on the server
|
|
4029
4043
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
4030
|
-
_util.default.handleAudioLogging(
|
|
4044
|
+
_util.default.handleAudioLogging(_this25.mediaProperties.audioTrack);
|
|
4031
4045
|
// @ts-ignore
|
|
4032
|
-
|
|
4046
|
+
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4033
4047
|
name: 'client.unmuted',
|
|
4034
4048
|
payload: {
|
|
4035
4049
|
trigger: 'user-interaction',
|
|
4036
4050
|
mediaType: 'audio'
|
|
4037
4051
|
},
|
|
4038
4052
|
options: {
|
|
4039
|
-
meetingId:
|
|
4053
|
+
meetingId: _this25.id
|
|
4040
4054
|
}
|
|
4041
4055
|
});
|
|
4042
4056
|
}).catch(function (error) {
|
|
4043
4057
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
|
|
4044
|
-
correlation_id:
|
|
4045
|
-
locus_id:
|
|
4058
|
+
correlation_id: _this25.correlationId,
|
|
4059
|
+
locus_id: _this25.locusUrl.split('/').pop(),
|
|
4046
4060
|
reason: error.message,
|
|
4047
4061
|
stack: error.stack
|
|
4048
4062
|
});
|
|
@@ -4061,7 +4075,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4061
4075
|
}, {
|
|
4062
4076
|
key: "muteVideo",
|
|
4063
4077
|
value: function muteVideo() {
|
|
4064
|
-
var
|
|
4078
|
+
var _this26 = this;
|
|
4065
4079
|
if (!_util.default.isUserInJoinedState(this.locusInfo)) {
|
|
4066
4080
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4067
4081
|
}
|
|
@@ -4075,22 +4089,22 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4075
4089
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
4076
4090
|
}
|
|
4077
4091
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
4078
|
-
_util.default.handleVideoLogging(
|
|
4092
|
+
_util.default.handleVideoLogging(_this26.mediaProperties.videoTrack);
|
|
4079
4093
|
// @ts-ignore
|
|
4080
|
-
|
|
4094
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
4081
4095
|
name: 'client.muted',
|
|
4082
4096
|
payload: {
|
|
4083
4097
|
trigger: 'user-interaction',
|
|
4084
4098
|
mediaType: 'video'
|
|
4085
4099
|
},
|
|
4086
4100
|
options: {
|
|
4087
|
-
meetingId:
|
|
4101
|
+
meetingId: _this26.id
|
|
4088
4102
|
}
|
|
4089
4103
|
});
|
|
4090
4104
|
}).catch(function (error) {
|
|
4091
4105
|
_metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
|
|
4092
|
-
correlation_id:
|
|
4093
|
-
locus_id:
|
|
4106
|
+
correlation_id: _this26.correlationId,
|
|
4107
|
+
locus_id: _this26.locusUrl.split('/').pop(),
|
|
4094
4108
|
reason: error.message,
|
|
4095
4109
|
stack: error.stack
|
|
4096
4110
|
});
|
|
@@ -4109,7 +4123,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4109
4123
|
}, {
|
|
4110
4124
|
key: "unmuteVideo",
|
|
4111
4125
|
value: function unmuteVideo() {
|
|
4112
|
-
var
|
|
4126
|
+
var _this27 = this;
|
|
4113
4127
|
if (!_util.default.isUserInJoinedState(this.locusInfo)) {
|
|
4114
4128
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4115
4129
|
}
|
|
@@ -4123,22 +4137,22 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4123
4137
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
4124
4138
|
}
|
|
4125
4139
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
4126
|
-
_util.default.handleVideoLogging(
|
|
4140
|
+
_util.default.handleVideoLogging(_this27.mediaProperties.videoTrack);
|
|
4127
4141
|
// @ts-ignore
|
|
4128
|
-
|
|
4142
|
+
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
4129
4143
|
name: 'client.unmuted',
|
|
4130
4144
|
payload: {
|
|
4131
4145
|
trigger: 'user-interaction',
|
|
4132
4146
|
mediaType: 'video'
|
|
4133
4147
|
},
|
|
4134
4148
|
options: {
|
|
4135
|
-
meetingId:
|
|
4149
|
+
meetingId: _this27.id
|
|
4136
4150
|
}
|
|
4137
4151
|
});
|
|
4138
4152
|
}).catch(function (error) {
|
|
4139
4153
|
_metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
|
|
4140
|
-
correlation_id:
|
|
4141
|
-
locus_id:
|
|
4154
|
+
correlation_id: _this27.correlationId,
|
|
4155
|
+
locus_id: _this27.locusUrl.split('/').pop(),
|
|
4142
4156
|
reason: error.message,
|
|
4143
4157
|
stack: error.stack
|
|
4144
4158
|
});
|
|
@@ -4167,12 +4181,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4167
4181
|
}, {
|
|
4168
4182
|
key: "joinWithMedia",
|
|
4169
4183
|
value: function joinWithMedia() {
|
|
4170
|
-
var
|
|
4184
|
+
var _this28 = this;
|
|
4171
4185
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
4172
4186
|
var mediaOptions = options.mediaOptions,
|
|
4173
4187
|
joinOptions = options.joinOptions;
|
|
4174
4188
|
return this.join(joinOptions).then(function (joinResponse) {
|
|
4175
|
-
return
|
|
4189
|
+
return _this28.addMedia(mediaOptions).then(function (mediaResponse) {
|
|
4176
4190
|
return {
|
|
4177
4191
|
join: joinResponse,
|
|
4178
4192
|
media: mediaResponse
|
|
@@ -4181,8 +4195,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4181
4195
|
}).catch(function (error) {
|
|
4182
4196
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', error);
|
|
4183
4197
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
4184
|
-
correlation_id:
|
|
4185
|
-
locus_id:
|
|
4198
|
+
correlation_id: _this28.correlationId,
|
|
4199
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
4186
4200
|
reason: error.message,
|
|
4187
4201
|
stack: error.stack
|
|
4188
4202
|
}, {
|
|
@@ -4203,7 +4217,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4203
4217
|
}, {
|
|
4204
4218
|
key: "reconnect",
|
|
4205
4219
|
value: function reconnect(options) {
|
|
4206
|
-
var
|
|
4220
|
+
var _this29 = this;
|
|
4207
4221
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
4208
4222
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
4209
4223
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
@@ -4231,13 +4245,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4231
4245
|
function: 'reconnect'
|
|
4232
4246
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_STARTING);
|
|
4233
4247
|
return this.reconnectionManager.reconnect(options).then(function () {
|
|
4234
|
-
_triggerProxy.default.trigger(
|
|
4248
|
+
_triggerProxy.default.trigger(_this29, {
|
|
4235
4249
|
file: 'meeting/index',
|
|
4236
4250
|
function: 'reconnect'
|
|
4237
4251
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_SUCCESS);
|
|
4238
4252
|
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
4239
4253
|
}).catch(function (error) {
|
|
4240
|
-
_triggerProxy.default.trigger(
|
|
4254
|
+
_triggerProxy.default.trigger(_this29, {
|
|
4241
4255
|
file: 'meeting/index',
|
|
4242
4256
|
function: 'reconnect'
|
|
4243
4257
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_FAILURE, {
|
|
@@ -4245,18 +4259,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4245
4259
|
});
|
|
4246
4260
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
4247
4261
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_RECONNECT_FAILURE, {
|
|
4248
|
-
correlation_id:
|
|
4249
|
-
locus_id:
|
|
4262
|
+
correlation_id: _this29.correlationId,
|
|
4263
|
+
locus_id: _this29.locusUrl.split('/').pop(),
|
|
4250
4264
|
reason: error.message,
|
|
4251
4265
|
stack: error.stack
|
|
4252
4266
|
});
|
|
4253
|
-
|
|
4267
|
+
_this29.uploadLogs({
|
|
4254
4268
|
file: 'meeting/index',
|
|
4255
4269
|
function: 'reconnect'
|
|
4256
4270
|
});
|
|
4257
4271
|
return _promise.default.reject(new _reconnection.default('Reconnection failure event', error));
|
|
4258
4272
|
}).finally(function () {
|
|
4259
|
-
|
|
4273
|
+
_this29.reconnectionManager.reset();
|
|
4260
4274
|
});
|
|
4261
4275
|
}
|
|
4262
4276
|
|
|
@@ -4299,16 +4313,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4299
4313
|
}, {
|
|
4300
4314
|
key: "monitorTranscriptionSocketConnection",
|
|
4301
4315
|
value: function monitorTranscriptionSocketConnection() {
|
|
4302
|
-
var
|
|
4316
|
+
var _this30 = this;
|
|
4303
4317
|
this.transcription.onCloseSocket(function (event) {
|
|
4304
4318
|
_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
|
-
|
|
4319
|
+
_this30.triggerStopReceivingTranscriptionEvent();
|
|
4306
4320
|
});
|
|
4307
4321
|
this.transcription.onErrorSocket(function (event) {
|
|
4308
4322
|
_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
|
-
|
|
4323
|
+
_this30.triggerStopReceivingTranscriptionEvent();
|
|
4310
4324
|
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
|
|
4311
|
-
correlation_id:
|
|
4325
|
+
correlation_id: _this30.correlationId,
|
|
4312
4326
|
reason: 'unexpected error: transcription LLM web socket connection error had occured.',
|
|
4313
4327
|
event: event
|
|
4314
4328
|
});
|
|
@@ -4324,7 +4338,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4324
4338
|
key: "receiveTranscription",
|
|
4325
4339
|
value: function () {
|
|
4326
4340
|
var _receiveTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
|
|
4327
|
-
var
|
|
4341
|
+
var _this31 = this;
|
|
4328
4342
|
var datachannelUrl, _yield$this$request, webSocketUrl;
|
|
4329
4343
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
4330
4344
|
while (1) switch (_context10.prev = _context10.next) {
|
|
@@ -4354,7 +4368,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4354
4368
|
|
|
4355
4369
|
// retrieve and pass the payload
|
|
4356
4370
|
this.transcription.subscribe(function (payload) {
|
|
4357
|
-
_triggerProxy.default.trigger(
|
|
4371
|
+
_triggerProxy.default.trigger(_this31, {
|
|
4358
4372
|
file: 'meeting/index',
|
|
4359
4373
|
function: 'join'
|
|
4360
4374
|
}, _constants.EVENT_TRIGGERS.MEETING_STARTED_RECEIVING_TRANSCRIPTION, payload);
|
|
@@ -4435,7 +4449,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4435
4449
|
}, {
|
|
4436
4450
|
key: "join",
|
|
4437
4451
|
value: function join() {
|
|
4438
|
-
var
|
|
4452
|
+
var _this32 = this;
|
|
4439
4453
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
4440
4454
|
// @ts-ignore - fix type
|
|
4441
4455
|
if (!this.webex.meetings.registered) {
|
|
@@ -4550,14 +4564,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4550
4564
|
}
|
|
4551
4565
|
this.isMultistream = !!options.enableMultistream;
|
|
4552
4566
|
return _util.default.joinMeetingOptions(this, options).then(function (join) {
|
|
4553
|
-
|
|
4567
|
+
_this32.meetingFiniteStateMachine.join();
|
|
4554
4568
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
4555
4569
|
return join;
|
|
4556
4570
|
}).then(function (join) {
|
|
4557
4571
|
joinSuccess(join);
|
|
4558
|
-
|
|
4572
|
+
_this32.deferJoin = undefined;
|
|
4559
4573
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
4560
|
-
correlation_id:
|
|
4574
|
+
correlation_id: _this32.correlationId
|
|
4561
4575
|
});
|
|
4562
4576
|
return join;
|
|
4563
4577
|
}).then( /*#__PURE__*/function () {
|
|
@@ -4565,12 +4579,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4565
4579
|
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
4566
4580
|
while (1) switch (_context11.prev = _context11.next) {
|
|
4567
4581
|
case 0:
|
|
4568
|
-
if (!
|
|
4582
|
+
if (!_this32.config.enableAutomaticLLM) {
|
|
4569
4583
|
_context11.next = 3;
|
|
4570
4584
|
break;
|
|
4571
4585
|
}
|
|
4572
4586
|
_context11.next = 3;
|
|
4573
|
-
return
|
|
4587
|
+
return _this32.updateLLMConnection();
|
|
4574
4588
|
case 3:
|
|
4575
4589
|
return _context11.abrupt("return", join);
|
|
4576
4590
|
case 4:
|
|
@@ -4591,16 +4605,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4591
4605
|
_context12.next = 8;
|
|
4592
4606
|
break;
|
|
4593
4607
|
}
|
|
4594
|
-
if (!(
|
|
4608
|
+
if (!(_this32.config.receiveTranscription || options.receiveTranscription)) {
|
|
4595
4609
|
_context12.next = 6;
|
|
4596
4610
|
break;
|
|
4597
4611
|
}
|
|
4598
|
-
if (!
|
|
4612
|
+
if (!_this32.isTranscriptionSupported()) {
|
|
4599
4613
|
_context12.next = 6;
|
|
4600
4614
|
break;
|
|
4601
4615
|
}
|
|
4602
4616
|
_context12.next = 5;
|
|
4603
|
-
return
|
|
4617
|
+
return _this32.receiveTranscription();
|
|
4604
4618
|
case 5:
|
|
4605
4619
|
_loggerProxy.default.logger.info('Meeting:index#join --> enabled to recieve transcription!');
|
|
4606
4620
|
case 6:
|
|
@@ -4620,20 +4634,20 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4620
4634
|
return _ref22.apply(this, arguments);
|
|
4621
4635
|
};
|
|
4622
4636
|
}()).catch(function (error) {
|
|
4623
|
-
var
|
|
4624
|
-
|
|
4637
|
+
var _this32$meetingInfo, _error$error;
|
|
4638
|
+
_this32.meetingFiniteStateMachine.fail(error);
|
|
4625
4639
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
4626
4640
|
|
|
4627
4641
|
// @ts-ignore
|
|
4628
|
-
|
|
4642
|
+
_this32.webex.internal.newMetrics.submitClientEvent({
|
|
4629
4643
|
name: 'client.locus.join.response',
|
|
4630
4644
|
payload: {
|
|
4631
4645
|
identifiers: {
|
|
4632
|
-
meetingLookupUrl: (
|
|
4646
|
+
meetingLookupUrl: (_this32$meetingInfo = _this32.meetingInfo) === null || _this32$meetingInfo === void 0 ? void 0 : _this32$meetingInfo.meetingLookupUrl
|
|
4633
4647
|
}
|
|
4634
4648
|
},
|
|
4635
4649
|
options: {
|
|
4636
|
-
meetingId:
|
|
4650
|
+
meetingId: _this32.id,
|
|
4637
4651
|
rawError: error,
|
|
4638
4652
|
showToUser: true
|
|
4639
4653
|
}
|
|
@@ -4641,18 +4655,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4641
4655
|
|
|
4642
4656
|
// TODO: change this to error codes and pre defined dictionary
|
|
4643
4657
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
4644
|
-
correlation_id:
|
|
4658
|
+
correlation_id: _this32.correlationId,
|
|
4645
4659
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
4646
4660
|
stack: error.stack
|
|
4647
4661
|
});
|
|
4648
4662
|
|
|
4649
4663
|
// Upload logs on join Failure
|
|
4650
|
-
_triggerProxy.default.trigger(
|
|
4664
|
+
_triggerProxy.default.trigger(_this32, {
|
|
4651
4665
|
file: 'meeting/index',
|
|
4652
4666
|
function: 'join'
|
|
4653
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
4667
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this32);
|
|
4654
4668
|
joinFailed(error);
|
|
4655
|
-
|
|
4669
|
+
_this32.deferJoin = undefined;
|
|
4656
4670
|
return _promise.default.reject(error);
|
|
4657
4671
|
});
|
|
4658
4672
|
}
|
|
@@ -4667,7 +4681,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4667
4681
|
key: "updateLLMConnection",
|
|
4668
4682
|
value: function () {
|
|
4669
4683
|
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13() {
|
|
4670
|
-
var
|
|
4684
|
+
var _this33 = this;
|
|
4671
4685
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
4672
4686
|
return _regenerator.default.wrap(function _callee13$(_context13) {
|
|
4673
4687
|
while (1) switch (_context13.prev = _context13.next) {
|
|
@@ -4699,9 +4713,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4699
4713
|
case 10:
|
|
4700
4714
|
return _context13.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
4701
4715
|
// @ts-ignore - Fix type
|
|
4702
|
-
|
|
4716
|
+
_this33.webex.internal.llm.off('event:relay.event', _this33.processRelayEvent);
|
|
4703
4717
|
// @ts-ignore - Fix type
|
|
4704
|
-
|
|
4718
|
+
_this33.webex.internal.llm.on('event:relay.event', _this33.processRelayEvent);
|
|
4705
4719
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
4706
4720
|
return _promise.default.resolve(registerAndConnectResult);
|
|
4707
4721
|
}));
|
|
@@ -4754,7 +4768,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4754
4768
|
}, {
|
|
4755
4769
|
key: "dialInPstn",
|
|
4756
4770
|
value: function dialInPstn() {
|
|
4757
|
-
var
|
|
4771
|
+
var _this34 = this;
|
|
4758
4772
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
4759
4773
|
|
|
4760
4774
|
var correlationId = this.correlationId,
|
|
@@ -4770,10 +4784,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4770
4784
|
}).catch(function (error) {
|
|
4771
4785
|
var _error$error2;
|
|
4772
4786
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
4773
|
-
correlation_id:
|
|
4774
|
-
dial_in_url:
|
|
4787
|
+
correlation_id: _this34.correlationId,
|
|
4788
|
+
dial_in_url: _this34.dialInUrl,
|
|
4775
4789
|
locus_id: locusUrl.split('/').pop(),
|
|
4776
|
-
client_url:
|
|
4790
|
+
client_url: _this34.deviceUrl,
|
|
4777
4791
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
4778
4792
|
stack: error.stack
|
|
4779
4793
|
});
|
|
@@ -4791,7 +4805,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4791
4805
|
}, {
|
|
4792
4806
|
key: "dialOutPstn",
|
|
4793
4807
|
value: function dialOutPstn(phoneNumber) {
|
|
4794
|
-
var
|
|
4808
|
+
var _this35 = this;
|
|
4795
4809
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
4796
4810
|
|
|
4797
4811
|
var correlationId = this.correlationId,
|
|
@@ -4808,10 +4822,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4808
4822
|
}).catch(function (error) {
|
|
4809
4823
|
var _error$error3;
|
|
4810
4824
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
4811
|
-
correlation_id:
|
|
4812
|
-
dial_out_url:
|
|
4825
|
+
correlation_id: _this35.correlationId,
|
|
4826
|
+
dial_out_url: _this35.dialOutUrl,
|
|
4813
4827
|
locus_id: locusUrl.split('/').pop(),
|
|
4814
|
-
client_url:
|
|
4828
|
+
client_url: _this35.deviceUrl,
|
|
4815
4829
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
4816
4830
|
stack: error.stack
|
|
4817
4831
|
});
|
|
@@ -4842,7 +4856,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4842
4856
|
}, {
|
|
4843
4857
|
key: "moveTo",
|
|
4844
4858
|
value: function moveTo(resourceId) {
|
|
4845
|
-
var
|
|
4859
|
+
var _this36 = this;
|
|
4846
4860
|
if (!resourceId) {
|
|
4847
4861
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
4848
4862
|
}
|
|
@@ -4886,12 +4900,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4886
4900
|
while (1) switch (_context14.prev = _context14.next) {
|
|
4887
4901
|
case 0:
|
|
4888
4902
|
_context14.prev = 0;
|
|
4889
|
-
if (!(
|
|
4903
|
+
if (!(_this36.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
4890
4904
|
_context14.next = 4;
|
|
4891
4905
|
break;
|
|
4892
4906
|
}
|
|
4893
4907
|
_context14.next = 4;
|
|
4894
|
-
return
|
|
4908
|
+
return _this36.releaseScreenShareFloor();
|
|
4895
4909
|
case 4:
|
|
4896
4910
|
mediaSettings = {
|
|
4897
4911
|
mediaDirection: {
|
|
@@ -4903,15 +4917,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4903
4917
|
receiveShare: true
|
|
4904
4918
|
}
|
|
4905
4919
|
};
|
|
4906
|
-
|
|
4907
|
-
|
|
4908
|
-
|
|
4920
|
+
_this36.cleanupLocalTracks();
|
|
4921
|
+
_this36.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
4922
|
+
_this36.mediaProperties.unsetRemoteMedia();
|
|
4909
4923
|
|
|
4910
4924
|
// 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
4925
|
// once the DX answers we establish connection back the media server with only receiveShare enabled
|
|
4912
4926
|
// @ts-ignore - reconnectMedia does not accept any argument
|
|
4913
4927
|
_context14.next = 10;
|
|
4914
|
-
return
|
|
4928
|
+
return _this36.reconnectionManager.reconnectMedia(mediaSettings).then(function () {
|
|
4915
4929
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
4916
4930
|
});
|
|
4917
4931
|
case 10:
|
|
@@ -4922,8 +4936,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4922
4936
|
_context14.t0 = _context14["catch"](0);
|
|
4923
4937
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context14.t0);
|
|
4924
4938
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
4925
|
-
correlation_id:
|
|
4926
|
-
locus_id:
|
|
4939
|
+
correlation_id: _this36.correlationId,
|
|
4940
|
+
locus_id: _this36.locusUrl.split('/').pop(),
|
|
4927
4941
|
reason: _context14.t0.message,
|
|
4928
4942
|
stack: _context14.t0.stack
|
|
4929
4943
|
});
|
|
@@ -4938,12 +4952,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4938
4952
|
resourceId: resourceId,
|
|
4939
4953
|
moveToResource: true
|
|
4940
4954
|
}).then(function () {
|
|
4941
|
-
|
|
4955
|
+
_this36.meetingFiniteStateMachine.join();
|
|
4942
4956
|
}).catch(function (error) {
|
|
4943
|
-
|
|
4957
|
+
_this36.meetingFiniteStateMachine.fail(error);
|
|
4944
4958
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
4945
|
-
correlation_id:
|
|
4946
|
-
locus_id:
|
|
4959
|
+
correlation_id: _this36.correlationId,
|
|
4960
|
+
locus_id: _this36.locusUrl.split('/').pop(),
|
|
4947
4961
|
reason: error.message,
|
|
4948
4962
|
stack: error.stack
|
|
4949
4963
|
});
|
|
@@ -4962,7 +4976,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4962
4976
|
}, {
|
|
4963
4977
|
key: "moveFrom",
|
|
4964
4978
|
value: function moveFrom(resourceId) {
|
|
4965
|
-
var
|
|
4979
|
+
var _this37 = this;
|
|
4966
4980
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
4967
4981
|
if (!resourceId) {
|
|
4968
4982
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -4977,19 +4991,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4977
4991
|
}
|
|
4978
4992
|
});
|
|
4979
4993
|
return _util.default.joinMeetingOptions(this).then(function () {
|
|
4980
|
-
return _util.default.leaveMeeting(
|
|
4994
|
+
return _util.default.leaveMeeting(_this37, {
|
|
4981
4995
|
resourceId: resourceId,
|
|
4982
4996
|
correlationId: oldCorrelationId,
|
|
4983
4997
|
moveMeeting: true
|
|
4984
4998
|
}).then(function () {
|
|
4985
|
-
|
|
4999
|
+
_this37.resourceId = '';
|
|
4986
5000
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
4987
5001
|
});
|
|
4988
5002
|
}).catch(function (error) {
|
|
4989
|
-
|
|
5003
|
+
_this37.meetingFiniteStateMachine.fail(error);
|
|
4990
5004
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
4991
|
-
correlation_id:
|
|
4992
|
-
locus_id:
|
|
5005
|
+
correlation_id: _this37.correlationId,
|
|
5006
|
+
locus_id: _this37.locusUrl.split('/').pop(),
|
|
4993
5007
|
reason: error.message,
|
|
4994
5008
|
stack: error.stack
|
|
4995
5009
|
});
|
|
@@ -5093,9 +5107,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5093
5107
|
}, {
|
|
5094
5108
|
key: "forwardEvent",
|
|
5095
5109
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
5096
|
-
var
|
|
5110
|
+
var _this38 = this;
|
|
5097
5111
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
5098
|
-
return _triggerProxy.default.trigger(
|
|
5112
|
+
return _triggerProxy.default.trigger(_this38, {
|
|
5099
5113
|
file: 'meetings',
|
|
5100
5114
|
function: 'addMedia'
|
|
5101
5115
|
}, meetingEventType, data);
|
|
@@ -5115,7 +5129,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5115
5129
|
value: function addMedia() {
|
|
5116
5130
|
var _localTracks$screenSh,
|
|
5117
5131
|
_localTracks$screenSh2,
|
|
5118
|
-
|
|
5132
|
+
_this39 = this;
|
|
5119
5133
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
5120
5134
|
var LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
5121
5135
|
var turnDiscoverySkippedReason;
|
|
@@ -5213,7 +5227,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5213
5227
|
promises.push(this.setLocalShareAudioTrack(localTracks.screenShare.audio));
|
|
5214
5228
|
}
|
|
5215
5229
|
return _promise.default.all(promises).then(function () {
|
|
5216
|
-
return
|
|
5230
|
+
return _this39.roap.doTurnDiscovery(_this39, false);
|
|
5217
5231
|
}).then( /*#__PURE__*/function () {
|
|
5218
5232
|
var _ref24 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(turnDiscoveryObject) {
|
|
5219
5233
|
var turnServerInfo, mc;
|
|
@@ -5224,19 +5238,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5224
5238
|
turnServerUsed = !turnDiscoverySkippedReason;
|
|
5225
5239
|
turnServerInfo = turnDiscoveryObject.turnServerInfo;
|
|
5226
5240
|
_context16.next = 5;
|
|
5227
|
-
return
|
|
5241
|
+
return _this39.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
5228
5242
|
case 5:
|
|
5229
5243
|
mc = _context16.sent;
|
|
5230
|
-
if (!
|
|
5244
|
+
if (!_this39.isMultistream) {
|
|
5231
5245
|
_context16.next = 13;
|
|
5232
5246
|
break;
|
|
5233
5247
|
}
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5248
|
+
_this39.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(_this39.receiveSlotManager, _this39.mediaRequestManagers, remoteMediaManagerConfig);
|
|
5249
|
+
_this39.forwardEvent(_this39.remoteMediaManager, _remoteMediaManager.Event.AudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_AUDIO_CREATED);
|
|
5250
|
+
_this39.forwardEvent(_this39.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
|
|
5251
|
+
_this39.forwardEvent(_this39.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
|
|
5238
5252
|
_context16.next = 13;
|
|
5239
|
-
return
|
|
5253
|
+
return _this39.remoteMediaManager.start();
|
|
5240
5254
|
case 13:
|
|
5241
5255
|
_context16.next = 15;
|
|
5242
5256
|
return mc.initiateOffer();
|
|
@@ -5250,27 +5264,27 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5250
5264
|
return _ref24.apply(this, arguments);
|
|
5251
5265
|
};
|
|
5252
5266
|
}()).then(function () {
|
|
5253
|
-
|
|
5267
|
+
_this39.setMercuryListener();
|
|
5254
5268
|
}).then(function () {
|
|
5255
5269
|
return (0, _mediaHelpers.getDevices)().then(function (devices) {
|
|
5256
5270
|
_util.default.handleDeviceLogging(devices);
|
|
5257
5271
|
}).catch(function () {});
|
|
5258
5272
|
} // getDevices may fail if we don't have browser permissions, that's ok, we still can have a media connection
|
|
5259
5273
|
).then(function () {
|
|
5260
|
-
|
|
5274
|
+
_this39.handleMediaLogging(_this39.mediaProperties);
|
|
5261
5275
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created"));
|
|
5262
5276
|
|
|
5263
5277
|
// @ts-ignore - config coming from registerPlugin
|
|
5264
|
-
if (
|
|
5278
|
+
if (_this39.config.stats.enableStatsAnalyzer) {
|
|
5265
5279
|
// @ts-ignore - config coming from registerPlugin
|
|
5266
|
-
|
|
5267
|
-
|
|
5280
|
+
_this39.networkQualityMonitor = new _networkQualityMonitor.default(_this39.config.stats);
|
|
5281
|
+
_this39.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
|
|
5268
5282
|
// @ts-ignore - config coming from registerPlugin
|
|
5269
|
-
|
|
5270
|
-
return
|
|
5271
|
-
},
|
|
5272
|
-
|
|
5273
|
-
|
|
5283
|
+
_this39.config.stats, function (ssrc) {
|
|
5284
|
+
return _this39.receiveSlotManager.findReceiveSlotBySsrc(ssrc);
|
|
5285
|
+
}, _this39.networkQualityMonitor);
|
|
5286
|
+
_this39.setupStatsAnalyzerEventHandlers();
|
|
5287
|
+
_this39.networkQualityMonitor.on(_constants.EVENT_TRIGGERS.NETWORK_QUALITY, _this39.sendNetworkQualityEvent.bind(_this39));
|
|
5274
5288
|
}
|
|
5275
5289
|
}).catch(function (error) {
|
|
5276
5290
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error adding media , setting up peerconnection, "), error);
|
|
@@ -5281,12 +5295,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5281
5295
|
|
|
5282
5296
|
// eslint-disable-next-line func-names
|
|
5283
5297
|
// eslint-disable-next-line prefer-arrow-callback
|
|
5284
|
-
if (
|
|
5298
|
+
if (_this39.type === _constants._CALL_ || _this39.meetingState === _constants.FULL_STATE.ACTIVE) {
|
|
5285
5299
|
resolve();
|
|
5286
5300
|
}
|
|
5287
5301
|
var joiningTimer = setInterval(function () {
|
|
5288
5302
|
timerCount += 1;
|
|
5289
|
-
if (
|
|
5303
|
+
if (_this39.meetingState === _constants.FULL_STATE.ACTIVE) {
|
|
5290
5304
|
clearInterval(joiningTimer);
|
|
5291
5305
|
resolve();
|
|
5292
5306
|
}
|
|
@@ -5297,77 +5311,77 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5297
5311
|
}, 1000);
|
|
5298
5312
|
});
|
|
5299
5313
|
}).then(function () {
|
|
5300
|
-
return
|
|
5314
|
+
return _this39.mediaProperties.waitForMediaConnectionConnected().catch(function () {
|
|
5301
5315
|
// @ts-ignore
|
|
5302
|
-
|
|
5316
|
+
_this39.webex.internal.newMetrics.submitClientEvent({
|
|
5303
5317
|
name: 'client.ice.end',
|
|
5304
5318
|
payload: {
|
|
5305
5319
|
canProceed: false,
|
|
5306
5320
|
icePhase: 'JOIN_MEETING_FINAL',
|
|
5307
5321
|
errors: [
|
|
5308
5322
|
// @ts-ignore
|
|
5309
|
-
|
|
5323
|
+
_this39.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode(_internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.ICE_FAILURE_CLIENT_CODE)]
|
|
5310
5324
|
},
|
|
5311
5325
|
options: {
|
|
5312
|
-
meetingId:
|
|
5326
|
+
meetingId: _this39.id
|
|
5313
5327
|
}
|
|
5314
5328
|
});
|
|
5315
|
-
throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(
|
|
5329
|
+
throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(_this39.correlationId));
|
|
5316
5330
|
});
|
|
5317
5331
|
}).then(function () {
|
|
5318
|
-
if (
|
|
5319
|
-
return
|
|
5332
|
+
if (_this39.mediaProperties.hasLocalShareTrack()) {
|
|
5333
|
+
return _this39.enqueueScreenShareFloorRequest();
|
|
5320
5334
|
}
|
|
5321
5335
|
return _promise.default.resolve();
|
|
5322
5336
|
}).then(function () {
|
|
5323
|
-
return
|
|
5337
|
+
return _this39.mediaProperties.getCurrentConnectionType();
|
|
5324
5338
|
}).then(function (connectionType) {
|
|
5325
5339
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, {
|
|
5326
|
-
correlation_id:
|
|
5327
|
-
locus_id:
|
|
5340
|
+
correlation_id: _this39.correlationId,
|
|
5341
|
+
locus_id: _this39.locusUrl.split('/').pop(),
|
|
5328
5342
|
connectionType: connectionType,
|
|
5329
|
-
isMultistream:
|
|
5343
|
+
isMultistream: _this39.isMultistream
|
|
5330
5344
|
});
|
|
5331
5345
|
// @ts-ignore
|
|
5332
|
-
|
|
5346
|
+
_this39.webex.internal.newMetrics.submitClientEvent({
|
|
5333
5347
|
name: 'client.media-engine.ready',
|
|
5334
5348
|
options: {
|
|
5335
|
-
meetingId:
|
|
5349
|
+
meetingId: _this39.id
|
|
5336
5350
|
}
|
|
5337
5351
|
});
|
|
5338
5352
|
}).catch(function (error) {
|
|
5339
|
-
var
|
|
5353
|
+
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
5354
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, {
|
|
5341
|
-
correlation_id:
|
|
5342
|
-
locus_id:
|
|
5355
|
+
correlation_id: _this39.correlationId,
|
|
5356
|
+
locus_id: _this39.locusUrl.split('/').pop(),
|
|
5343
5357
|
reason: error.message,
|
|
5344
5358
|
stack: error.stack,
|
|
5345
5359
|
code: error.code,
|
|
5346
5360
|
turnDiscoverySkippedReason: turnDiscoverySkippedReason,
|
|
5347
5361
|
turnServerUsed: turnServerUsed,
|
|
5348
|
-
isMultistream:
|
|
5349
|
-
signalingState: ((
|
|
5350
|
-
connectionState: ((
|
|
5351
|
-
iceConnectionState: ((
|
|
5362
|
+
isMultistream: _this39.isMultistream,
|
|
5363
|
+
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',
|
|
5364
|
+
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',
|
|
5365
|
+
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
5366
|
});
|
|
5353
5367
|
|
|
5354
5368
|
// Clean up stats analyzer, peer connection, and turn off listeners
|
|
5355
|
-
var stopStatsAnalyzer =
|
|
5369
|
+
var stopStatsAnalyzer = _this39.statsAnalyzer ? _this39.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
|
|
5356
5370
|
return stopStatsAnalyzer.then(function () {
|
|
5357
|
-
|
|
5358
|
-
if (
|
|
5359
|
-
|
|
5360
|
-
|
|
5371
|
+
_this39.statsAnalyzer = null;
|
|
5372
|
+
if (_this39.mediaProperties.webrtcMediaConnection) {
|
|
5373
|
+
_this39.closePeerConnections();
|
|
5374
|
+
_this39.unsetPeerConnections();
|
|
5361
5375
|
}
|
|
5362
5376
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error adding media failed to initiate PC and send request, "), error);
|
|
5363
5377
|
|
|
5364
5378
|
// Upload logs on error while adding media
|
|
5365
|
-
_triggerProxy.default.trigger(
|
|
5379
|
+
_triggerProxy.default.trigger(_this39, {
|
|
5366
5380
|
file: 'meeting/index',
|
|
5367
5381
|
function: 'addMedia'
|
|
5368
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5382
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this39);
|
|
5369
5383
|
if (error instanceof _internalMediaCore.Errors.SdpError) {
|
|
5370
|
-
|
|
5384
|
+
_this39.leave({
|
|
5371
5385
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
5372
5386
|
});
|
|
5373
5387
|
}
|
|
@@ -5400,7 +5414,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5400
5414
|
}, {
|
|
5401
5415
|
key: "enqueueMediaUpdate",
|
|
5402
5416
|
value: function enqueueMediaUpdate(mediaUpdateType) {
|
|
5403
|
-
var
|
|
5417
|
+
var _this40 = this;
|
|
5404
5418
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
5405
5419
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
5406
5420
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -5411,9 +5425,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5411
5425
|
options: options
|
|
5412
5426
|
};
|
|
5413
5427
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
5414
|
-
|
|
5428
|
+
_this40.queuedMediaUpdates.push(queueItem);
|
|
5415
5429
|
if (canUpdateMediaNow) {
|
|
5416
|
-
|
|
5430
|
+
_this40.processNextQueuedMediaUpdate();
|
|
5417
5431
|
}
|
|
5418
5432
|
});
|
|
5419
5433
|
}
|
|
@@ -5525,7 +5539,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5525
5539
|
}, {
|
|
5526
5540
|
key: "acknowledge",
|
|
5527
5541
|
value: function acknowledge(type) {
|
|
5528
|
-
var
|
|
5542
|
+
var _this41 = this;
|
|
5529
5543
|
if (!type) {
|
|
5530
5544
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
5531
5545
|
}
|
|
@@ -5537,12 +5551,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5537
5551
|
}).then(function (response) {
|
|
5538
5552
|
return _promise.default.resolve(response);
|
|
5539
5553
|
}).then(function (response) {
|
|
5540
|
-
|
|
5554
|
+
_this41.meetingFiniteStateMachine.ring(type);
|
|
5541
5555
|
// @ts-ignore
|
|
5542
|
-
|
|
5556
|
+
_this41.webex.internal.newMetrics.submitClientEvent({
|
|
5543
5557
|
name: 'client.alert.displayed',
|
|
5544
5558
|
options: {
|
|
5545
|
-
meetingId:
|
|
5559
|
+
meetingId: _this41.id
|
|
5546
5560
|
}
|
|
5547
5561
|
});
|
|
5548
5562
|
return _promise.default.resolve({
|
|
@@ -5567,12 +5581,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5567
5581
|
}, {
|
|
5568
5582
|
key: "decline",
|
|
5569
5583
|
value: function decline(reason) {
|
|
5570
|
-
var
|
|
5584
|
+
var _this42 = this;
|
|
5571
5585
|
return _util.default.declineMeeting(this, reason).then(function (decline) {
|
|
5572
|
-
|
|
5586
|
+
_this42.meetingFiniteStateMachine.decline();
|
|
5573
5587
|
return _promise.default.resolve(decline);
|
|
5574
5588
|
}).catch(function (error) {
|
|
5575
|
-
|
|
5589
|
+
_this42.meetingFiniteStateMachine.fail(error);
|
|
5576
5590
|
return _promise.default.reject(error);
|
|
5577
5591
|
});
|
|
5578
5592
|
}
|
|
@@ -5588,7 +5602,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5588
5602
|
}, {
|
|
5589
5603
|
key: "leave",
|
|
5590
5604
|
value: function leave() {
|
|
5591
|
-
var
|
|
5605
|
+
var _this43 = this;
|
|
5592
5606
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
5593
5607
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
5594
5608
|
/// @ts-ignore
|
|
@@ -5610,39 +5624,39 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5610
5624
|
});
|
|
5611
5625
|
_loggerProxy.default.logger.log('Meeting:index#leave --> Leaving a meeting');
|
|
5612
5626
|
return _util.default.leaveMeeting(this, options).then(function (leave) {
|
|
5613
|
-
|
|
5614
|
-
|
|
5627
|
+
_this43.meetingFiniteStateMachine.leave();
|
|
5628
|
+
_this43.clearMeetingData();
|
|
5615
5629
|
|
|
5616
5630
|
// upload logs on leave irrespective of meeting delete
|
|
5617
|
-
_triggerProxy.default.trigger(
|
|
5631
|
+
_triggerProxy.default.trigger(_this43, {
|
|
5618
5632
|
file: 'meeting/index',
|
|
5619
5633
|
function: 'leave'
|
|
5620
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5634
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this43);
|
|
5621
5635
|
|
|
5622
5636
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
5623
|
-
if (
|
|
5637
|
+
if (_this43.wirelessShare || _this43.guest) {
|
|
5624
5638
|
// If screen sharing clean the meeting object
|
|
5625
|
-
_triggerProxy.default.trigger(
|
|
5639
|
+
_triggerProxy.default.trigger(_this43, {
|
|
5626
5640
|
file: 'meeting/index',
|
|
5627
5641
|
function: 'leave'
|
|
5628
5642
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
5629
5643
|
reason: options.reason,
|
|
5630
|
-
meetingId:
|
|
5644
|
+
meetingId: _this43.id
|
|
5631
5645
|
});
|
|
5632
5646
|
}
|
|
5633
5647
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
5634
5648
|
return leave;
|
|
5635
5649
|
}).catch(function (error) {
|
|
5636
|
-
|
|
5650
|
+
_this43.meetingFiniteStateMachine.fail(error);
|
|
5637
5651
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
5638
5652
|
// upload logs on leave irrespective of meeting delete
|
|
5639
|
-
_triggerProxy.default.trigger(
|
|
5653
|
+
_triggerProxy.default.trigger(_this43, {
|
|
5640
5654
|
file: 'meeting/index',
|
|
5641
5655
|
function: 'leave'
|
|
5642
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5656
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this43);
|
|
5643
5657
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
5644
|
-
correlation_id:
|
|
5645
|
-
locus_id:
|
|
5658
|
+
correlation_id: _this43.correlationId,
|
|
5659
|
+
locus_id: _this43.locusUrl.split('/').pop(),
|
|
5646
5660
|
reason: error.message,
|
|
5647
5661
|
stack: error.stack,
|
|
5648
5662
|
code: error.code
|
|
@@ -5662,7 +5676,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5662
5676
|
}, {
|
|
5663
5677
|
key: "startWhiteboardShare",
|
|
5664
5678
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
5665
|
-
var
|
|
5679
|
+
var _this44 = this;
|
|
5666
5680
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
5667
5681
|
return element.name === 'whiteboard';
|
|
5668
5682
|
});
|
|
@@ -5691,13 +5705,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5691
5705
|
body.resourceToken = resourceToken;
|
|
5692
5706
|
}
|
|
5693
5707
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
5694
|
-
|
|
5708
|
+
_this44.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
5695
5709
|
return _promise.default.resolve();
|
|
5696
5710
|
}).catch(function (error) {
|
|
5697
5711
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
5698
5712
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
5699
|
-
correlation_id:
|
|
5700
|
-
locus_id:
|
|
5713
|
+
correlation_id: _this44.correlationId,
|
|
5714
|
+
locus_id: _this44.locusUrl.split('/').pop(),
|
|
5701
5715
|
reason: error.message,
|
|
5702
5716
|
stack: error.stack,
|
|
5703
5717
|
board: {
|
|
@@ -5720,7 +5734,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5720
5734
|
}, {
|
|
5721
5735
|
key: "stopWhiteboardShare",
|
|
5722
5736
|
value: function stopWhiteboardShare(channelUrl) {
|
|
5723
|
-
var
|
|
5737
|
+
var _this45 = this;
|
|
5724
5738
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
5725
5739
|
return element.name === 'whiteboard';
|
|
5726
5740
|
});
|
|
@@ -5745,8 +5759,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5745
5759
|
_metrics.default.sendBehavioralMetric(
|
|
5746
5760
|
// @ts-ignore - check if STOP_WHITEBOARD_SHARE_FAILURE exists
|
|
5747
5761
|
_constants2.default.STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
5748
|
-
correlation_id:
|
|
5749
|
-
locus_id:
|
|
5762
|
+
correlation_id: _this45.correlationId,
|
|
5763
|
+
locus_id: _this45.locusUrl.split('/').pop(),
|
|
5750
5764
|
reason: error.message,
|
|
5751
5765
|
stack: error.stack,
|
|
5752
5766
|
board: {
|
|
@@ -5768,7 +5782,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5768
5782
|
}, {
|
|
5769
5783
|
key: "requestScreenShareFloor",
|
|
5770
5784
|
value: function requestScreenShareFloor() {
|
|
5771
|
-
var
|
|
5785
|
+
var _this46 = this;
|
|
5772
5786
|
if (!this.mediaProperties.hasLocalShareTrack() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
5773
5787
|
_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
5788
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -5798,17 +5812,17 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5798
5812
|
resourceUrl: this.resourceUrl,
|
|
5799
5813
|
annotationInfo: this.annotationInfo
|
|
5800
5814
|
}).then(function () {
|
|
5801
|
-
|
|
5815
|
+
_this46.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
5802
5816
|
return _promise.default.resolve();
|
|
5803
5817
|
}).catch(function (error) {
|
|
5804
5818
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
5805
5819
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
5806
|
-
correlation_id:
|
|
5807
|
-
locus_id:
|
|
5820
|
+
correlation_id: _this46.correlationId,
|
|
5821
|
+
locus_id: _this46.locusUrl.split('/').pop(),
|
|
5808
5822
|
reason: error.message,
|
|
5809
5823
|
stack: error.stack
|
|
5810
5824
|
});
|
|
5811
|
-
|
|
5825
|
+
_this46.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
5812
5826
|
return _promise.default.reject(error);
|
|
5813
5827
|
});
|
|
5814
5828
|
}
|
|
@@ -5831,10 +5845,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5831
5845
|
}, {
|
|
5832
5846
|
key: "requestScreenShareFloorIfPending",
|
|
5833
5847
|
value: function requestScreenShareFloorIfPending() {
|
|
5834
|
-
var
|
|
5848
|
+
var _this47 = this;
|
|
5835
5849
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
5836
5850
|
this.requestScreenShareFloor().then(function () {
|
|
5837
|
-
|
|
5851
|
+
_this47.floorGrantPending = false;
|
|
5838
5852
|
});
|
|
5839
5853
|
}
|
|
5840
5854
|
}
|
|
@@ -5848,7 +5862,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5848
5862
|
}, {
|
|
5849
5863
|
key: "releaseScreenShareFloor",
|
|
5850
5864
|
value: function releaseScreenShareFloor() {
|
|
5851
|
-
var
|
|
5865
|
+
var _this48 = this;
|
|
5852
5866
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
5853
5867
|
return element.name === _constants.CONTENT;
|
|
5854
5868
|
});
|
|
@@ -5881,8 +5895,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5881
5895
|
}).catch(function (error) {
|
|
5882
5896
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
5883
5897
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
5884
|
-
correlation_id:
|
|
5885
|
-
locus_id:
|
|
5898
|
+
correlation_id: _this48.correlationId,
|
|
5899
|
+
locus_id: _this48.locusUrl.split('/').pop(),
|
|
5886
5900
|
reason: error.message,
|
|
5887
5901
|
stack: error.stack
|
|
5888
5902
|
});
|
|
@@ -6061,7 +6075,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6061
6075
|
}, {
|
|
6062
6076
|
key: "changeVideoLayout",
|
|
6063
6077
|
value: function changeVideoLayout(layoutType) {
|
|
6064
|
-
var
|
|
6078
|
+
var _this49 = this;
|
|
6065
6079
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
6066
6080
|
var main = renderInfo.main,
|
|
6067
6081
|
content = renderInfo.content;
|
|
@@ -6115,7 +6129,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6115
6129
|
}
|
|
6116
6130
|
this.lastVideoLayoutInfo = (0, _cloneDeep2.default)(layoutInfo);
|
|
6117
6131
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
6118
|
-
_triggerProxy.default.trigger(
|
|
6132
|
+
_triggerProxy.default.trigger(_this49, {
|
|
6119
6133
|
file: 'meeting/index',
|
|
6120
6134
|
function: 'changeVideoLayout'
|
|
6121
6135
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -6235,7 +6249,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6235
6249
|
}, {
|
|
6236
6250
|
key: "endMeetingForAll",
|
|
6237
6251
|
value: function endMeetingForAll() {
|
|
6238
|
-
var
|
|
6252
|
+
var _this50 = this;
|
|
6239
6253
|
// @ts-ignore
|
|
6240
6254
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
6241
6255
|
name: 'client.call.leave',
|
|
@@ -6253,25 +6267,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6253
6267
|
locus_id: this.locusId
|
|
6254
6268
|
});
|
|
6255
6269
|
return _util.default.endMeetingForAll(this).then(function (end) {
|
|
6256
|
-
|
|
6257
|
-
|
|
6270
|
+
_this50.meetingFiniteStateMachine.end();
|
|
6271
|
+
_this50.clearMeetingData();
|
|
6258
6272
|
// upload logs on leave irrespective of meeting delete
|
|
6259
|
-
_triggerProxy.default.trigger(
|
|
6273
|
+
_triggerProxy.default.trigger(_this50, {
|
|
6260
6274
|
file: 'meeting/index',
|
|
6261
6275
|
function: 'endMeetingForAll'
|
|
6262
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
6276
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this50);
|
|
6263
6277
|
return end;
|
|
6264
6278
|
}).catch(function (error) {
|
|
6265
|
-
|
|
6279
|
+
_this50.meetingFiniteStateMachine.fail(error);
|
|
6266
6280
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
6267
6281
|
// upload logs on leave irrespective of meeting delete
|
|
6268
|
-
_triggerProxy.default.trigger(
|
|
6282
|
+
_triggerProxy.default.trigger(_this50, {
|
|
6269
6283
|
file: 'meeting/index',
|
|
6270
6284
|
function: 'endMeetingForAll'
|
|
6271
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
6285
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this50);
|
|
6272
6286
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
6273
|
-
correlation_id:
|
|
6274
|
-
locus_id:
|
|
6287
|
+
correlation_id: _this50.correlationId,
|
|
6288
|
+
locus_id: _this50.locusUrl.split('/').pop(),
|
|
6275
6289
|
reason: error.message,
|
|
6276
6290
|
stack: error.stack,
|
|
6277
6291
|
code: error.code
|
|
@@ -6414,7 +6428,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6414
6428
|
var _this$mediaProperties6,
|
|
6415
6429
|
_this$mediaProperties7,
|
|
6416
6430
|
_this$mediaProperties8,
|
|
6417
|
-
|
|
6431
|
+
_this51 = this;
|
|
6418
6432
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
6419
6433
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
6420
6434
|
if (!this.canUpdateMedia()) {
|
|
@@ -6437,8 +6451,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6437
6451
|
}).catch(function (error) {
|
|
6438
6452
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
6439
6453
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
6440
|
-
correlation_id:
|
|
6441
|
-
locus_id:
|
|
6454
|
+
correlation_id: _this51.correlationId,
|
|
6455
|
+
locus_id: _this51.locusUrl.split('/').pop(),
|
|
6442
6456
|
reason: error.message,
|
|
6443
6457
|
stack: error.stack
|
|
6444
6458
|
});
|