@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.
@@ -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 = 30;
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 30:
1825
+ case 31:
1826
1826
  if (!(_context3.t0 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
1827
- _context3.next = 42;
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 = 39;
1842
+ _context3.next = 40;
1843
1843
  break;
1844
1844
  }
1845
- _context3.next = 39;
1845
+ _context3.next = 40;
1846
1846
  return this.refreshCaptcha();
1847
- case 39:
1847
+ case 40:
1848
1848
  throw new _passwordError.default();
1849
- case 42:
1849
+ case 43:
1850
1850
  if (!(_context3.t0 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
1851
- _context3.next = 51;
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 51:
1863
+ case 52:
1864
1864
  this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
1865
1865
  throw _context3.t0;
1866
- case 53:
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
- // Defer this as updateLLMConnection relies upon this.locusInfo.url which is only set
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 _this19 = this;
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(_this19, {
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 _this20 = this;
2838
+ var _this19 = this;
2844
2839
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUIRED, function (payload) {
2845
- if (_this20.audio) {
2846
- _this20.audio.handleServerLocalUnmuteRequired(_this20);
2847
- _triggerProxy.default.trigger(_this20, {
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 (_this20.video) {
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 : _this20.video.isRemotelyMuted();
2860
- payload.unmuteAllowed = (_payload$unmuteAllowe = payload.unmuteAllowed) !== null && _payload$unmuteAllowe !== void 0 ? _payload$unmuteAllowe : _this20.video.isUnmuteAllowed();
2861
- _this20.video.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
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(_this20, {
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 _this20$audio;
2874
- if (_this20.audio) {
2875
- _this20.audio.handleServerRemoteMuteUpdate(_this20, payload.muted, payload.unmuteAllowed);
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 || !((_this20$audio = _this20.audio) !== null && _this20$audio !== void 0 && _this20$audio.isMuted())) {
2881
- _triggerProxy.default.trigger(_this20, {
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(_this20, {
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
- _this20.startKeepAlive();
2901
- _triggerProxy.default.trigger(_this20, {
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
- _this20.webex.internal.newMetrics.submitClientEvent({
2904
+ _this19.webex.internal.newMetrics.submitClientEvent({
2910
2905
  name: 'client.lobby.entered',
2911
2906
  options: {
2912
- meetingId: _this20.id
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
- _this20.stopKeepAlive();
2913
+ _this19.stopKeepAlive();
2919
2914
  if (payload) {
2920
- _triggerProxy.default.trigger(_this20, {
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
- _this20.webex.internal.newMetrics.submitClientEvent({
2923
+ _this19.webex.internal.newMetrics.submitClientEvent({
2929
2924
  name: 'client.lobby.exited',
2930
2925
  options: {
2931
- meetingId: _this20.id
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: _this20.correlationId,
2941
- locus_id: _this20.locusId
2935
+ correlation_id: _this19.correlationId,
2936
+ locus_id: _this19.locusId
2942
2937
  });
2943
- _this20.reconnect();
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 (_this20.statsAnalyzer) {
2951
- var _this20$mediaProperti, _this20$audio2, _this20$mediaProperti2, _this20$video, _this20$mediaProperti3, _this20$mediaProperti4, _this20$mediaProperti5, _this20$mediaProperti6;
2952
- _this20.statsAnalyzer.updateMediaStatus({
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: ((_this20$mediaProperti = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti === void 0 ? void 0 : _this20$mediaProperti.sendAudio) && !((_this20$audio2 = _this20.audio) !== null && _this20$audio2 !== void 0 && _this20$audio2.isMuted()),
2957
- sendVideo: ((_this20$mediaProperti2 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti2 === void 0 ? void 0 : _this20$mediaProperti2.sendVideo) && !((_this20$video = _this20.video) !== null && _this20$video !== void 0 && _this20$video.isMuted()),
2958
- sendShare: (_this20$mediaProperti3 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti3 === void 0 ? void 0 : _this20$mediaProperti3.sendShare,
2959
- receiveAudio: (_this20$mediaProperti4 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti4 === void 0 ? void 0 : _this20$mediaProperti4.receiveAudio,
2960
- receiveVideo: (_this20$mediaProperti5 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti5 === void 0 ? void 0 : _this20$mediaProperti5.receiveVideo,
2961
- receiveShare: (_this20$mediaProperti6 = _this20.mediaProperties.mediaDirection) === null || _this20$mediaProperti6 === void 0 ? void 0 : _this20$mediaProperti6.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(_this20, {
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
- _this20.breakouts.updateBreakoutSessions(payload);
2976
- _triggerProxy.default.trigger(_this20, {
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
- _this20.simultaneousInterpretation.updateSelfInterpretation(payload);
2983
- _triggerProxy.default.trigger(_this20, {
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
- _this20.breakouts.updateCanManageBreakouts(isModeratorOrCohost);
2992
- _this20.simultaneousInterpretation.updateCanManageInterpreters((_payload$newRoles3 = payload.newRoles) === null || _payload$newRoles3 === void 0 ? void 0 : _payload$newRoles3.includes(_constants.SELF_ROLES.MODERATOR));
2993
- _triggerProxy.default.trigger(_this20, {
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(_this20, {
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 _this21 = this;
3014
+ var _this20 = this;
3020
3015
  this.locusInfo.on(_constants.EVENTS.REMOTE_RESPONSE, function (payload) {
3021
- _this21.meetingFiniteStateMachine.remote(payload);
3016
+ _this20.meetingFiniteStateMachine.remote(payload);
3022
3017
  if (payload.remoteDeclined) {
3023
- _this21.leave({
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(_this21, ", error: ").concat(error));
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 (!_this21.wirelessShare) {
3033
+ if (!_this20.wirelessShare) {
3039
3034
  _context5.next = 7;
3040
3035
  break;
3041
3036
  }
3042
- if (!_this21.mediaProperties.shareVideoTrack) {
3037
+ if (!_this20.mediaProperties.shareVideoTrack) {
3043
3038
  _context5.next = 4;
3044
3039
  break;
3045
3040
  }
3046
3041
  _context5.next = 4;
3047
- return _this21.setLocalShareVideoTrack(undefined);
3042
+ return _this20.setLocalShareVideoTrack(undefined);
3048
3043
  case 4:
3049
- if (!_this21.mediaProperties.shareAudioTrack) {
3044
+ if (!_this20.mediaProperties.shareAudioTrack) {
3050
3045
  _context5.next = 7;
3051
3046
  break;
3052
3047
  }
3053
3048
  _context5.next = 7;
3054
- return _this21.setLocalShareAudioTrack(undefined);
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 _this21.leave({
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(_this21, ", error: ").concat(_context5.t0));
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(_this21);
3080
- _triggerProxy.default.trigger(_this21, {
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: _this21.id
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 _this22 = this;
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
- _this22[key] = object[key];
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
- }) && (_util3.default.hasPolicies({
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
- }) && (_util3.default.hasPolicies({
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
- }) && (_util3.default.hasPolicies({
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.isLocusCall(),
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 _this23 = this;
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(_this23, {
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 _this24 = this;
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 (!_this24.hasWebsocketConnected) {
3865
+ if (!_this23.hasWebsocketConnected) {
3853
3866
  // @ts-ignore
3854
- _this24.webex.internal.newMetrics.submitClientEvent({
3867
+ _this23.webex.internal.newMetrics.submitClientEvent({
3855
3868
  name: 'client.mercury.connection.restored',
3856
3869
  options: {
3857
- meetingId: _this24.id
3870
+ meetingId: _this23.id
3858
3871
  }
3859
3872
  });
3860
3873
  _metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
3861
- correlation_id: _this24.correlationId
3874
+ correlation_id: _this23.correlationId
3862
3875
  });
3863
3876
  }
3864
- _this24.hasWebsocketConnected = true;
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
- _this24.webex.internal.newMetrics.submitClientEvent({
3884
+ _this23.webex.internal.newMetrics.submitClientEvent({
3872
3885
  name: 'client.mercury.connection.lost',
3873
3886
  options: {
3874
- meetingId: _this24.id
3887
+ meetingId: _this23.id
3875
3888
  }
3876
3889
  });
3877
3890
  _metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
3878
- correlation_id: _this24.correlationId
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 _this25 = this;
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(_this25.mediaProperties.audioTrack);
3993
+ _util.default.handleAudioLogging(_this24.mediaProperties.audioTrack);
3981
3994
  // @ts-ignore
3982
- _this25.webex.internal.newMetrics.submitClientEvent({
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: _this25.id
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: _this25.correlationId,
3995
- locus_id: _this25.locusUrl.split('/').pop(),
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 _this26 = this;
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(_this26.mediaProperties.audioTrack);
4043
+ _util.default.handleAudioLogging(_this25.mediaProperties.audioTrack);
4031
4044
  // @ts-ignore
4032
- _this26.webex.internal.newMetrics.submitClientEvent({
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: _this26.id
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: _this26.correlationId,
4045
- locus_id: _this26.locusUrl.split('/').pop(),
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 _this27 = this;
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(_this27.mediaProperties.videoTrack);
4091
+ _util.default.handleVideoLogging(_this26.mediaProperties.videoTrack);
4079
4092
  // @ts-ignore
4080
- _this27.webex.internal.newMetrics.submitClientEvent({
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: _this27.id
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: _this27.correlationId,
4093
- locus_id: _this27.locusUrl.split('/').pop(),
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 _this28 = this;
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(_this28.mediaProperties.videoTrack);
4139
+ _util.default.handleVideoLogging(_this27.mediaProperties.videoTrack);
4127
4140
  // @ts-ignore
4128
- _this28.webex.internal.newMetrics.submitClientEvent({
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: _this28.id
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: _this28.correlationId,
4141
- locus_id: _this28.locusUrl.split('/').pop(),
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 _this29 = this;
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 _this29.addMedia(mediaOptions).then(function (mediaResponse) {
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: _this29.correlationId,
4185
- locus_id: _this29.locusUrl.split('/').pop(),
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 _this30 = this;
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(_this30, {
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(_this30, {
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: _this30.correlationId,
4249
- locus_id: _this30.locusUrl.split('/').pop(),
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
- _this30.uploadLogs({
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
- _this30.reconnectionManager.reset();
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 _this31 = this;
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
- _this31.triggerStopReceivingTranscriptionEvent();
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
- _this31.triggerStopReceivingTranscriptionEvent();
4322
+ _this30.triggerStopReceivingTranscriptionEvent();
4310
4323
  _metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
4311
- correlation_id: _this31.correlationId,
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 _this32 = this;
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(_this32, {
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 _this33 = this;
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
- _this33.meetingFiniteStateMachine.join();
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
- _this33.deferJoin = undefined;
4571
+ _this32.deferJoin = undefined;
4559
4572
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
4560
- correlation_id: _this33.correlationId
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 (!_this33.config.enableAutomaticLLM) {
4581
+ if (!_this32.config.enableAutomaticLLM) {
4569
4582
  _context11.next = 3;
4570
4583
  break;
4571
4584
  }
4572
4585
  _context11.next = 3;
4573
- return _this33.updateLLMConnection();
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 (!(_this33.config.receiveTranscription || options.receiveTranscription)) {
4607
+ if (!(_this32.config.receiveTranscription || options.receiveTranscription)) {
4595
4608
  _context12.next = 6;
4596
4609
  break;
4597
4610
  }
4598
- if (!_this33.isTranscriptionSupported()) {
4611
+ if (!_this32.isTranscriptionSupported()) {
4599
4612
  _context12.next = 6;
4600
4613
  break;
4601
4614
  }
4602
4615
  _context12.next = 5;
4603
- return _this33.receiveTranscription();
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 _this33$meetingInfo, _error$error;
4624
- _this33.meetingFiniteStateMachine.fail(error);
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
- _this33.webex.internal.newMetrics.submitClientEvent({
4641
+ _this32.webex.internal.newMetrics.submitClientEvent({
4629
4642
  name: 'client.locus.join.response',
4630
4643
  payload: {
4631
4644
  identifiers: {
4632
- meetingLookupUrl: (_this33$meetingInfo = _this33.meetingInfo) === null || _this33$meetingInfo === void 0 ? void 0 : _this33$meetingInfo.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: _this33.id,
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: _this33.correlationId,
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(_this33, {
4663
+ _triggerProxy.default.trigger(_this32, {
4651
4664
  file: 'meeting/index',
4652
4665
  function: 'join'
4653
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this33);
4666
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this32);
4654
4667
  joinFailed(error);
4655
- _this33.deferJoin = undefined;
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 _this34 = this;
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
- _this34.webex.internal.llm.off('event:relay.event', _this34.processRelayEvent);
4715
+ _this33.webex.internal.llm.off('event:relay.event', _this33.processRelayEvent);
4703
4716
  // @ts-ignore - Fix type
4704
- _this34.webex.internal.llm.on('event:relay.event', _this34.processRelayEvent);
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 _this35 = this;
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: _this35.correlationId,
4774
- dial_in_url: _this35.dialInUrl,
4786
+ correlation_id: _this34.correlationId,
4787
+ dial_in_url: _this34.dialInUrl,
4775
4788
  locus_id: locusUrl.split('/').pop(),
4776
- client_url: _this35.deviceUrl,
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 _this36 = this;
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: _this36.correlationId,
4812
- dial_out_url: _this36.dialOutUrl,
4824
+ correlation_id: _this35.correlationId,
4825
+ dial_out_url: _this35.dialOutUrl,
4813
4826
  locus_id: locusUrl.split('/').pop(),
4814
- client_url: _this36.deviceUrl,
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 _this37 = this;
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 (!(_this37.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
4902
+ if (!(_this36.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
4890
4903
  _context14.next = 4;
4891
4904
  break;
4892
4905
  }
4893
4906
  _context14.next = 4;
4894
- return _this37.releaseScreenShareFloor();
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
- _this37.cleanupLocalTracks();
4907
- _this37.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
4908
- _this37.mediaProperties.unsetRemoteMedia();
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 _this37.reconnectionManager.reconnectMedia(mediaSettings).then(function () {
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: _this37.correlationId,
4926
- locus_id: _this37.locusUrl.split('/').pop(),
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
- _this37.meetingFiniteStateMachine.join();
4954
+ _this36.meetingFiniteStateMachine.join();
4942
4955
  }).catch(function (error) {
4943
- _this37.meetingFiniteStateMachine.fail(error);
4956
+ _this36.meetingFiniteStateMachine.fail(error);
4944
4957
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
4945
- correlation_id: _this37.correlationId,
4946
- locus_id: _this37.locusUrl.split('/').pop(),
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 _this38 = this;
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(_this38, {
4993
+ return _util.default.leaveMeeting(_this37, {
4981
4994
  resourceId: resourceId,
4982
4995
  correlationId: oldCorrelationId,
4983
4996
  moveMeeting: true
4984
4997
  }).then(function () {
4985
- _this38.resourceId = '';
4998
+ _this37.resourceId = '';
4986
4999
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
4987
5000
  });
4988
5001
  }).catch(function (error) {
4989
- _this38.meetingFiniteStateMachine.fail(error);
5002
+ _this37.meetingFiniteStateMachine.fail(error);
4990
5003
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
4991
- correlation_id: _this38.correlationId,
4992
- locus_id: _this38.locusUrl.split('/').pop(),
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 _this39 = this;
5109
+ var _this38 = this;
5097
5110
  eventEmitter.on(eventTypeToForward, function (data) {
5098
- return _triggerProxy.default.trigger(_this39, {
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
- _this40 = this;
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 _this40.roap.doTurnDiscovery(_this40, false);
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 _this40.createMediaConnection(turnServerInfo, bundlePolicy);
5240
+ return _this39.createMediaConnection(turnServerInfo, bundlePolicy);
5228
5241
  case 5:
5229
5242
  mc = _context16.sent;
5230
- if (!_this40.isMultistream) {
5243
+ if (!_this39.isMultistream) {
5231
5244
  _context16.next = 13;
5232
5245
  break;
5233
5246
  }
5234
- _this40.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(_this40.receiveSlotManager, _this40.mediaRequestManagers, remoteMediaManagerConfig);
5235
- _this40.forwardEvent(_this40.remoteMediaManager, _remoteMediaManager.Event.AudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_AUDIO_CREATED);
5236
- _this40.forwardEvent(_this40.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
5237
- _this40.forwardEvent(_this40.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
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 _this40.remoteMediaManager.start();
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
- _this40.setMercuryListener();
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
- _this40.handleMediaLogging(_this40.mediaProperties);
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 (_this40.config.stats.enableStatsAnalyzer) {
5277
+ if (_this39.config.stats.enableStatsAnalyzer) {
5265
5278
  // @ts-ignore - config coming from registerPlugin
5266
- _this40.networkQualityMonitor = new _networkQualityMonitor.default(_this40.config.stats);
5267
- _this40.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
5279
+ _this39.networkQualityMonitor = new _networkQualityMonitor.default(_this39.config.stats);
5280
+ _this39.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
5268
5281
  // @ts-ignore - config coming from registerPlugin
5269
- _this40.config.stats, function (ssrc) {
5270
- return _this40.receiveSlotManager.findReceiveSlotBySsrc(ssrc);
5271
- }, _this40.networkQualityMonitor);
5272
- _this40.setupStatsAnalyzerEventHandlers();
5273
- _this40.networkQualityMonitor.on(_constants.EVENT_TRIGGERS.NETWORK_QUALITY, _this40.sendNetworkQualityEvent.bind(_this40));
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 (_this40.type === _constants._CALL_ || _this40.meetingState === _constants.FULL_STATE.ACTIVE) {
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 (_this40.meetingState === _constants.FULL_STATE.ACTIVE) {
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 _this40.mediaProperties.waitForMediaConnectionConnected().catch(function () {
5313
+ return _this39.mediaProperties.waitForMediaConnectionConnected().catch(function () {
5301
5314
  // @ts-ignore
5302
- _this40.webex.internal.newMetrics.submitClientEvent({
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
- _this40.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode(_internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.ICE_FAILURE_CLIENT_CODE)]
5322
+ _this39.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode(_internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.ICE_FAILURE_CLIENT_CODE)]
5310
5323
  },
5311
5324
  options: {
5312
- meetingId: _this40.id
5325
+ meetingId: _this39.id
5313
5326
  }
5314
5327
  });
5315
- throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(_this40.correlationId));
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 (_this40.mediaProperties.hasLocalShareTrack()) {
5319
- return _this40.enqueueScreenShareFloorRequest();
5331
+ if (_this39.mediaProperties.hasLocalShareTrack()) {
5332
+ return _this39.enqueueScreenShareFloorRequest();
5320
5333
  }
5321
5334
  return _promise.default.resolve();
5322
5335
  }).then(function () {
5323
- return _this40.mediaProperties.getCurrentConnectionType();
5336
+ return _this39.mediaProperties.getCurrentConnectionType();
5324
5337
  }).then(function (connectionType) {
5325
5338
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, {
5326
- correlation_id: _this40.correlationId,
5327
- locus_id: _this40.locusUrl.split('/').pop(),
5339
+ correlation_id: _this39.correlationId,
5340
+ locus_id: _this39.locusUrl.split('/').pop(),
5328
5341
  connectionType: connectionType,
5329
- isMultistream: _this40.isMultistream
5342
+ isMultistream: _this39.isMultistream
5330
5343
  });
5331
5344
  // @ts-ignore
5332
- _this40.webex.internal.newMetrics.submitClientEvent({
5345
+ _this39.webex.internal.newMetrics.submitClientEvent({
5333
5346
  name: 'client.media-engine.ready',
5334
5347
  options: {
5335
- meetingId: _this40.id
5348
+ meetingId: _this39.id
5336
5349
  }
5337
5350
  });
5338
5351
  }).catch(function (error) {
5339
- var _this40$mediaProperti, _this40$mediaProperti2, _this40$mediaProperti3, _this40$mediaProperti4, _this40$mediaProperti5, _this40$mediaProperti6, _this40$mediaProperti7, _this40$mediaProperti8, _this40$mediaProperti9, _this40$mediaProperti10, _this40$mediaProperti11, _this40$mediaProperti12, _this40$mediaProperti13, _this40$mediaProperti14, _this40$mediaProperti15, _this40$mediaProperti16, _this40$mediaProperti17, _this40$mediaProperti18, _this40$mediaProperti19, _this40$mediaProperti20, _this40$mediaProperti21;
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: _this40.correlationId,
5342
- locus_id: _this40.locusUrl.split('/').pop(),
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: _this40.isMultistream,
5349
- signalingState: ((_this40$mediaProperti = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti === void 0 ? void 0 : (_this40$mediaProperti2 = _this40$mediaProperti.multistreamConnection) === null || _this40$mediaProperti2 === void 0 ? void 0 : (_this40$mediaProperti3 = _this40$mediaProperti2.pc) === null || _this40$mediaProperti3 === void 0 ? void 0 : (_this40$mediaProperti4 = _this40$mediaProperti3.pc) === null || _this40$mediaProperti4 === void 0 ? void 0 : _this40$mediaProperti4.signalingState) || ((_this40$mediaProperti5 = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti5 === void 0 ? void 0 : (_this40$mediaProperti6 = _this40$mediaProperti5.mediaConnection) === null || _this40$mediaProperti6 === void 0 ? void 0 : (_this40$mediaProperti7 = _this40$mediaProperti6.pc) === null || _this40$mediaProperti7 === void 0 ? void 0 : _this40$mediaProperti7.signalingState) || 'unknown',
5350
- connectionState: ((_this40$mediaProperti8 = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti8 === void 0 ? void 0 : (_this40$mediaProperti9 = _this40$mediaProperti8.multistreamConnection) === null || _this40$mediaProperti9 === void 0 ? void 0 : (_this40$mediaProperti10 = _this40$mediaProperti9.pc) === null || _this40$mediaProperti10 === void 0 ? void 0 : (_this40$mediaProperti11 = _this40$mediaProperti10.pc) === null || _this40$mediaProperti11 === void 0 ? void 0 : _this40$mediaProperti11.connectionState) || ((_this40$mediaProperti12 = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti12 === void 0 ? void 0 : (_this40$mediaProperti13 = _this40$mediaProperti12.mediaConnection) === null || _this40$mediaProperti13 === void 0 ? void 0 : (_this40$mediaProperti14 = _this40$mediaProperti13.pc) === null || _this40$mediaProperti14 === void 0 ? void 0 : _this40$mediaProperti14.connectionState) || 'unknown',
5351
- iceConnectionState: ((_this40$mediaProperti15 = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti15 === void 0 ? void 0 : (_this40$mediaProperti16 = _this40$mediaProperti15.multistreamConnection) === null || _this40$mediaProperti16 === void 0 ? void 0 : (_this40$mediaProperti17 = _this40$mediaProperti16.pc) === null || _this40$mediaProperti17 === void 0 ? void 0 : (_this40$mediaProperti18 = _this40$mediaProperti17.pc) === null || _this40$mediaProperti18 === void 0 ? void 0 : _this40$mediaProperti18.iceConnectionState) || ((_this40$mediaProperti19 = _this40.mediaProperties.webrtcMediaConnection) === null || _this40$mediaProperti19 === void 0 ? void 0 : (_this40$mediaProperti20 = _this40$mediaProperti19.mediaConnection) === null || _this40$mediaProperti20 === void 0 ? void 0 : (_this40$mediaProperti21 = _this40$mediaProperti20.pc) === null || _this40$mediaProperti21 === void 0 ? void 0 : _this40$mediaProperti21.iceConnectionState) || 'unknown'
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 = _this40.statsAnalyzer ? _this40.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
5368
+ var stopStatsAnalyzer = _this39.statsAnalyzer ? _this39.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
5356
5369
  return stopStatsAnalyzer.then(function () {
5357
- _this40.statsAnalyzer = null;
5358
- if (_this40.mediaProperties.webrtcMediaConnection) {
5359
- _this40.closePeerConnections();
5360
- _this40.unsetPeerConnections();
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(_this40, {
5378
+ _triggerProxy.default.trigger(_this39, {
5366
5379
  file: 'meeting/index',
5367
5380
  function: 'addMedia'
5368
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this40);
5381
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this39);
5369
5382
  if (error instanceof _internalMediaCore.Errors.SdpError) {
5370
- _this40.leave({
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 _this41 = this;
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
- _this41.queuedMediaUpdates.push(queueItem);
5427
+ _this40.queuedMediaUpdates.push(queueItem);
5415
5428
  if (canUpdateMediaNow) {
5416
- _this41.processNextQueuedMediaUpdate();
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 _this42 = this;
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
- _this42.meetingFiniteStateMachine.ring(type);
5553
+ _this41.meetingFiniteStateMachine.ring(type);
5541
5554
  // @ts-ignore
5542
- _this42.webex.internal.newMetrics.submitClientEvent({
5555
+ _this41.webex.internal.newMetrics.submitClientEvent({
5543
5556
  name: 'client.alert.displayed',
5544
5557
  options: {
5545
- meetingId: _this42.id
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 _this43 = this;
5583
+ var _this42 = this;
5571
5584
  return _util.default.declineMeeting(this, reason).then(function (decline) {
5572
- _this43.meetingFiniteStateMachine.decline();
5585
+ _this42.meetingFiniteStateMachine.decline();
5573
5586
  return _promise.default.resolve(decline);
5574
5587
  }).catch(function (error) {
5575
- _this43.meetingFiniteStateMachine.fail(error);
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 _this44 = this;
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
- _this44.meetingFiniteStateMachine.leave();
5614
- _this44.clearMeetingData();
5626
+ _this43.meetingFiniteStateMachine.leave();
5627
+ _this43.clearMeetingData();
5615
5628
 
5616
5629
  // upload logs on leave irrespective of meeting delete
5617
- _triggerProxy.default.trigger(_this44, {
5630
+ _triggerProxy.default.trigger(_this43, {
5618
5631
  file: 'meeting/index',
5619
5632
  function: 'leave'
5620
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this44);
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 (_this44.wirelessShare || _this44.guest) {
5636
+ if (_this43.wirelessShare || _this43.guest) {
5624
5637
  // If screen sharing clean the meeting object
5625
- _triggerProxy.default.trigger(_this44, {
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: _this44.id
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
- _this44.meetingFiniteStateMachine.fail(error);
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(_this44, {
5652
+ _triggerProxy.default.trigger(_this43, {
5640
5653
  file: 'meeting/index',
5641
5654
  function: 'leave'
5642
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this44);
5655
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this43);
5643
5656
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
5644
- correlation_id: _this44.correlationId,
5645
- locus_id: _this44.locusUrl.split('/').pop(),
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 _this45 = this;
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
- _this45.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
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: _this45.correlationId,
5700
- locus_id: _this45.locusUrl.split('/').pop(),
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 _this46 = this;
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: _this46.correlationId,
5749
- locus_id: _this46.locusUrl.split('/').pop(),
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 _this47 = this;
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
- _this47.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
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: _this47.correlationId,
5807
- locus_id: _this47.locusUrl.split('/').pop(),
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
- _this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
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 _this48 = this;
5847
+ var _this47 = this;
5835
5848
  if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
5836
5849
  this.requestScreenShareFloor().then(function () {
5837
- _this48.floorGrantPending = false;
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 _this49 = this;
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: _this49.correlationId,
5885
- locus_id: _this49.locusUrl.split('/').pop(),
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 _this50 = this;
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(_this50, {
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 _this51 = this;
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
- _this51.meetingFiniteStateMachine.end();
6257
- _this51.clearMeetingData();
6269
+ _this50.meetingFiniteStateMachine.end();
6270
+ _this50.clearMeetingData();
6258
6271
  // upload logs on leave irrespective of meeting delete
6259
- _triggerProxy.default.trigger(_this51, {
6272
+ _triggerProxy.default.trigger(_this50, {
6260
6273
  file: 'meeting/index',
6261
6274
  function: 'endMeetingForAll'
6262
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this51);
6275
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this50);
6263
6276
  return end;
6264
6277
  }).catch(function (error) {
6265
- _this51.meetingFiniteStateMachine.fail(error);
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(_this51, {
6281
+ _triggerProxy.default.trigger(_this50, {
6269
6282
  file: 'meeting/index',
6270
6283
  function: 'endMeetingForAll'
6271
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this51);
6284
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this50);
6272
6285
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
6273
- correlation_id: _this51.correlationId,
6274
- locus_id: _this51.locusUrl.split('/').pop(),
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
- _this52 = this;
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: _this52.correlationId,
6441
- locus_id: _this52.locusUrl.split('/').pop(),
6453
+ correlation_id: _this51.correlationId,
6454
+ locus_id: _this51.locusUrl.split('/').pop(),
6442
6455
  reason: error.message,
6443
6456
  stack: error.stack
6444
6457
  });