@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.
@@ -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({
@@ -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
- }) && (_util3.default.hasPolicies({
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
- }) && (_util3.default.hasPolicies({
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
- }) && (_util3.default.hasPolicies({
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.isLocusCall(),
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 _this23 = this;
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(_this23, {
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 _this24 = this;
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 (!_this24.hasWebsocketConnected) {
3866
+ if (!_this23.hasWebsocketConnected) {
3853
3867
  // @ts-ignore
3854
- _this24.webex.internal.newMetrics.submitClientEvent({
3868
+ _this23.webex.internal.newMetrics.submitClientEvent({
3855
3869
  name: 'client.mercury.connection.restored',
3856
3870
  options: {
3857
- meetingId: _this24.id
3871
+ meetingId: _this23.id
3858
3872
  }
3859
3873
  });
3860
3874
  _metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
3861
- correlation_id: _this24.correlationId
3875
+ correlation_id: _this23.correlationId
3862
3876
  });
3863
3877
  }
3864
- _this24.hasWebsocketConnected = true;
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
- _this24.webex.internal.newMetrics.submitClientEvent({
3885
+ _this23.webex.internal.newMetrics.submitClientEvent({
3872
3886
  name: 'client.mercury.connection.lost',
3873
3887
  options: {
3874
- meetingId: _this24.id
3888
+ meetingId: _this23.id
3875
3889
  }
3876
3890
  });
3877
3891
  _metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
3878
- correlation_id: _this24.correlationId
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 _this25 = this;
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(_this25.mediaProperties.audioTrack);
3994
+ _util.default.handleAudioLogging(_this24.mediaProperties.audioTrack);
3981
3995
  // @ts-ignore
3982
- _this25.webex.internal.newMetrics.submitClientEvent({
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: _this25.id
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: _this25.correlationId,
3995
- locus_id: _this25.locusUrl.split('/').pop(),
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 _this26 = this;
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(_this26.mediaProperties.audioTrack);
4044
+ _util.default.handleAudioLogging(_this25.mediaProperties.audioTrack);
4031
4045
  // @ts-ignore
4032
- _this26.webex.internal.newMetrics.submitClientEvent({
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: _this26.id
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: _this26.correlationId,
4045
- locus_id: _this26.locusUrl.split('/').pop(),
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 _this27 = this;
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(_this27.mediaProperties.videoTrack);
4092
+ _util.default.handleVideoLogging(_this26.mediaProperties.videoTrack);
4079
4093
  // @ts-ignore
4080
- _this27.webex.internal.newMetrics.submitClientEvent({
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: _this27.id
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: _this27.correlationId,
4093
- locus_id: _this27.locusUrl.split('/').pop(),
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 _this28 = this;
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(_this28.mediaProperties.videoTrack);
4140
+ _util.default.handleVideoLogging(_this27.mediaProperties.videoTrack);
4127
4141
  // @ts-ignore
4128
- _this28.webex.internal.newMetrics.submitClientEvent({
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: _this28.id
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: _this28.correlationId,
4141
- locus_id: _this28.locusUrl.split('/').pop(),
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 _this29 = this;
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 _this29.addMedia(mediaOptions).then(function (mediaResponse) {
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: _this29.correlationId,
4185
- locus_id: _this29.locusUrl.split('/').pop(),
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 _this30 = this;
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(_this30, {
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(_this30, {
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: _this30.correlationId,
4249
- locus_id: _this30.locusUrl.split('/').pop(),
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
- _this30.uploadLogs({
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
- _this30.reconnectionManager.reset();
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 _this31 = this;
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
- _this31.triggerStopReceivingTranscriptionEvent();
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
- _this31.triggerStopReceivingTranscriptionEvent();
4323
+ _this30.triggerStopReceivingTranscriptionEvent();
4310
4324
  _metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
4311
- correlation_id: _this31.correlationId,
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 _this32 = this;
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(_this32, {
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 _this33 = this;
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
- _this33.meetingFiniteStateMachine.join();
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
- _this33.deferJoin = undefined;
4572
+ _this32.deferJoin = undefined;
4559
4573
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
4560
- correlation_id: _this33.correlationId
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 (!_this33.config.enableAutomaticLLM) {
4582
+ if (!_this32.config.enableAutomaticLLM) {
4569
4583
  _context11.next = 3;
4570
4584
  break;
4571
4585
  }
4572
4586
  _context11.next = 3;
4573
- return _this33.updateLLMConnection();
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 (!(_this33.config.receiveTranscription || options.receiveTranscription)) {
4608
+ if (!(_this32.config.receiveTranscription || options.receiveTranscription)) {
4595
4609
  _context12.next = 6;
4596
4610
  break;
4597
4611
  }
4598
- if (!_this33.isTranscriptionSupported()) {
4612
+ if (!_this32.isTranscriptionSupported()) {
4599
4613
  _context12.next = 6;
4600
4614
  break;
4601
4615
  }
4602
4616
  _context12.next = 5;
4603
- return _this33.receiveTranscription();
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 _this33$meetingInfo, _error$error;
4624
- _this33.meetingFiniteStateMachine.fail(error);
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
- _this33.webex.internal.newMetrics.submitClientEvent({
4642
+ _this32.webex.internal.newMetrics.submitClientEvent({
4629
4643
  name: 'client.locus.join.response',
4630
4644
  payload: {
4631
4645
  identifiers: {
4632
- meetingLookupUrl: (_this33$meetingInfo = _this33.meetingInfo) === null || _this33$meetingInfo === void 0 ? void 0 : _this33$meetingInfo.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: _this33.id,
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: _this33.correlationId,
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(_this33, {
4664
+ _triggerProxy.default.trigger(_this32, {
4651
4665
  file: 'meeting/index',
4652
4666
  function: 'join'
4653
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this33);
4667
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this32);
4654
4668
  joinFailed(error);
4655
- _this33.deferJoin = undefined;
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 _this34 = this;
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
- _this34.webex.internal.llm.off('event:relay.event', _this34.processRelayEvent);
4716
+ _this33.webex.internal.llm.off('event:relay.event', _this33.processRelayEvent);
4703
4717
  // @ts-ignore - Fix type
4704
- _this34.webex.internal.llm.on('event:relay.event', _this34.processRelayEvent);
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 _this35 = this;
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: _this35.correlationId,
4774
- dial_in_url: _this35.dialInUrl,
4787
+ correlation_id: _this34.correlationId,
4788
+ dial_in_url: _this34.dialInUrl,
4775
4789
  locus_id: locusUrl.split('/').pop(),
4776
- client_url: _this35.deviceUrl,
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 _this36 = this;
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: _this36.correlationId,
4812
- dial_out_url: _this36.dialOutUrl,
4825
+ correlation_id: _this35.correlationId,
4826
+ dial_out_url: _this35.dialOutUrl,
4813
4827
  locus_id: locusUrl.split('/').pop(),
4814
- client_url: _this36.deviceUrl,
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 _this37 = this;
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 (!(_this37.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
4903
+ if (!(_this36.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
4890
4904
  _context14.next = 4;
4891
4905
  break;
4892
4906
  }
4893
4907
  _context14.next = 4;
4894
- return _this37.releaseScreenShareFloor();
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
- _this37.cleanupLocalTracks();
4907
- _this37.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
4908
- _this37.mediaProperties.unsetRemoteMedia();
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 _this37.reconnectionManager.reconnectMedia(mediaSettings).then(function () {
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: _this37.correlationId,
4926
- locus_id: _this37.locusUrl.split('/').pop(),
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
- _this37.meetingFiniteStateMachine.join();
4955
+ _this36.meetingFiniteStateMachine.join();
4942
4956
  }).catch(function (error) {
4943
- _this37.meetingFiniteStateMachine.fail(error);
4957
+ _this36.meetingFiniteStateMachine.fail(error);
4944
4958
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
4945
- correlation_id: _this37.correlationId,
4946
- locus_id: _this37.locusUrl.split('/').pop(),
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 _this38 = this;
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(_this38, {
4994
+ return _util.default.leaveMeeting(_this37, {
4981
4995
  resourceId: resourceId,
4982
4996
  correlationId: oldCorrelationId,
4983
4997
  moveMeeting: true
4984
4998
  }).then(function () {
4985
- _this38.resourceId = '';
4999
+ _this37.resourceId = '';
4986
5000
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
4987
5001
  });
4988
5002
  }).catch(function (error) {
4989
- _this38.meetingFiniteStateMachine.fail(error);
5003
+ _this37.meetingFiniteStateMachine.fail(error);
4990
5004
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
4991
- correlation_id: _this38.correlationId,
4992
- locus_id: _this38.locusUrl.split('/').pop(),
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 _this39 = this;
5110
+ var _this38 = this;
5097
5111
  eventEmitter.on(eventTypeToForward, function (data) {
5098
- return _triggerProxy.default.trigger(_this39, {
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
- _this40 = this;
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 _this40.roap.doTurnDiscovery(_this40, false);
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 _this40.createMediaConnection(turnServerInfo, bundlePolicy);
5241
+ return _this39.createMediaConnection(turnServerInfo, bundlePolicy);
5228
5242
  case 5:
5229
5243
  mc = _context16.sent;
5230
- if (!_this40.isMultistream) {
5244
+ if (!_this39.isMultistream) {
5231
5245
  _context16.next = 13;
5232
5246
  break;
5233
5247
  }
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);
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 _this40.remoteMediaManager.start();
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
- _this40.setMercuryListener();
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
- _this40.handleMediaLogging(_this40.mediaProperties);
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 (_this40.config.stats.enableStatsAnalyzer) {
5278
+ if (_this39.config.stats.enableStatsAnalyzer) {
5265
5279
  // @ts-ignore - config coming from registerPlugin
5266
- _this40.networkQualityMonitor = new _networkQualityMonitor.default(_this40.config.stats);
5267
- _this40.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
5280
+ _this39.networkQualityMonitor = new _networkQualityMonitor.default(_this39.config.stats);
5281
+ _this39.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
5268
5282
  // @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));
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 (_this40.type === _constants._CALL_ || _this40.meetingState === _constants.FULL_STATE.ACTIVE) {
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 (_this40.meetingState === _constants.FULL_STATE.ACTIVE) {
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 _this40.mediaProperties.waitForMediaConnectionConnected().catch(function () {
5314
+ return _this39.mediaProperties.waitForMediaConnectionConnected().catch(function () {
5301
5315
  // @ts-ignore
5302
- _this40.webex.internal.newMetrics.submitClientEvent({
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
- _this40.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode(_internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.ICE_FAILURE_CLIENT_CODE)]
5323
+ _this39.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode(_internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.ICE_FAILURE_CLIENT_CODE)]
5310
5324
  },
5311
5325
  options: {
5312
- meetingId: _this40.id
5326
+ meetingId: _this39.id
5313
5327
  }
5314
5328
  });
5315
- throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(_this40.correlationId));
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 (_this40.mediaProperties.hasLocalShareTrack()) {
5319
- return _this40.enqueueScreenShareFloorRequest();
5332
+ if (_this39.mediaProperties.hasLocalShareTrack()) {
5333
+ return _this39.enqueueScreenShareFloorRequest();
5320
5334
  }
5321
5335
  return _promise.default.resolve();
5322
5336
  }).then(function () {
5323
- return _this40.mediaProperties.getCurrentConnectionType();
5337
+ return _this39.mediaProperties.getCurrentConnectionType();
5324
5338
  }).then(function (connectionType) {
5325
5339
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, {
5326
- correlation_id: _this40.correlationId,
5327
- locus_id: _this40.locusUrl.split('/').pop(),
5340
+ correlation_id: _this39.correlationId,
5341
+ locus_id: _this39.locusUrl.split('/').pop(),
5328
5342
  connectionType: connectionType,
5329
- isMultistream: _this40.isMultistream
5343
+ isMultistream: _this39.isMultistream
5330
5344
  });
5331
5345
  // @ts-ignore
5332
- _this40.webex.internal.newMetrics.submitClientEvent({
5346
+ _this39.webex.internal.newMetrics.submitClientEvent({
5333
5347
  name: 'client.media-engine.ready',
5334
5348
  options: {
5335
- meetingId: _this40.id
5349
+ meetingId: _this39.id
5336
5350
  }
5337
5351
  });
5338
5352
  }).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;
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: _this40.correlationId,
5342
- locus_id: _this40.locusUrl.split('/').pop(),
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: _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'
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 = _this40.statsAnalyzer ? _this40.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
5369
+ var stopStatsAnalyzer = _this39.statsAnalyzer ? _this39.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
5356
5370
  return stopStatsAnalyzer.then(function () {
5357
- _this40.statsAnalyzer = null;
5358
- if (_this40.mediaProperties.webrtcMediaConnection) {
5359
- _this40.closePeerConnections();
5360
- _this40.unsetPeerConnections();
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(_this40, {
5379
+ _triggerProxy.default.trigger(_this39, {
5366
5380
  file: 'meeting/index',
5367
5381
  function: 'addMedia'
5368
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this40);
5382
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this39);
5369
5383
  if (error instanceof _internalMediaCore.Errors.SdpError) {
5370
- _this40.leave({
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 _this41 = this;
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
- _this41.queuedMediaUpdates.push(queueItem);
5428
+ _this40.queuedMediaUpdates.push(queueItem);
5415
5429
  if (canUpdateMediaNow) {
5416
- _this41.processNextQueuedMediaUpdate();
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 _this42 = this;
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
- _this42.meetingFiniteStateMachine.ring(type);
5554
+ _this41.meetingFiniteStateMachine.ring(type);
5541
5555
  // @ts-ignore
5542
- _this42.webex.internal.newMetrics.submitClientEvent({
5556
+ _this41.webex.internal.newMetrics.submitClientEvent({
5543
5557
  name: 'client.alert.displayed',
5544
5558
  options: {
5545
- meetingId: _this42.id
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 _this43 = this;
5584
+ var _this42 = this;
5571
5585
  return _util.default.declineMeeting(this, reason).then(function (decline) {
5572
- _this43.meetingFiniteStateMachine.decline();
5586
+ _this42.meetingFiniteStateMachine.decline();
5573
5587
  return _promise.default.resolve(decline);
5574
5588
  }).catch(function (error) {
5575
- _this43.meetingFiniteStateMachine.fail(error);
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 _this44 = this;
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
- _this44.meetingFiniteStateMachine.leave();
5614
- _this44.clearMeetingData();
5627
+ _this43.meetingFiniteStateMachine.leave();
5628
+ _this43.clearMeetingData();
5615
5629
 
5616
5630
  // upload logs on leave irrespective of meeting delete
5617
- _triggerProxy.default.trigger(_this44, {
5631
+ _triggerProxy.default.trigger(_this43, {
5618
5632
  file: 'meeting/index',
5619
5633
  function: 'leave'
5620
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this44);
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 (_this44.wirelessShare || _this44.guest) {
5637
+ if (_this43.wirelessShare || _this43.guest) {
5624
5638
  // If screen sharing clean the meeting object
5625
- _triggerProxy.default.trigger(_this44, {
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: _this44.id
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
- _this44.meetingFiniteStateMachine.fail(error);
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(_this44, {
5653
+ _triggerProxy.default.trigger(_this43, {
5640
5654
  file: 'meeting/index',
5641
5655
  function: 'leave'
5642
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this44);
5656
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this43);
5643
5657
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
5644
- correlation_id: _this44.correlationId,
5645
- locus_id: _this44.locusUrl.split('/').pop(),
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 _this45 = this;
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
- _this45.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
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: _this45.correlationId,
5700
- locus_id: _this45.locusUrl.split('/').pop(),
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 _this46 = this;
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: _this46.correlationId,
5749
- locus_id: _this46.locusUrl.split('/').pop(),
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 _this47 = this;
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
- _this47.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
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: _this47.correlationId,
5807
- locus_id: _this47.locusUrl.split('/').pop(),
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
- _this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
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 _this48 = this;
5848
+ var _this47 = this;
5835
5849
  if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
5836
5850
  this.requestScreenShareFloor().then(function () {
5837
- _this48.floorGrantPending = false;
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 _this49 = this;
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: _this49.correlationId,
5885
- locus_id: _this49.locusUrl.split('/').pop(),
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 _this50 = this;
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(_this50, {
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 _this51 = this;
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
- _this51.meetingFiniteStateMachine.end();
6257
- _this51.clearMeetingData();
6270
+ _this50.meetingFiniteStateMachine.end();
6271
+ _this50.clearMeetingData();
6258
6272
  // upload logs on leave irrespective of meeting delete
6259
- _triggerProxy.default.trigger(_this51, {
6273
+ _triggerProxy.default.trigger(_this50, {
6260
6274
  file: 'meeting/index',
6261
6275
  function: 'endMeetingForAll'
6262
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this51);
6276
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this50);
6263
6277
  return end;
6264
6278
  }).catch(function (error) {
6265
- _this51.meetingFiniteStateMachine.fail(error);
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(_this51, {
6282
+ _triggerProxy.default.trigger(_this50, {
6269
6283
  file: 'meeting/index',
6270
6284
  function: 'endMeetingForAll'
6271
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this51);
6285
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this50);
6272
6286
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
6273
- correlation_id: _this51.correlationId,
6274
- locus_id: _this51.locusUrl.split('/').pop(),
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
- _this52 = this;
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: _this52.correlationId,
6441
- locus_id: _this52.locusUrl.split('/').pop(),
6454
+ correlation_id: _this51.correlationId,
6455
+ locus_id: _this51.locusUrl.split('/').pop(),
6442
6456
  reason: error.message,
6443
6457
  stack: error.stack
6444
6458
  });