@webex/plugin-meetings 3.7.0-next.9 → 3.7.0-wxcc.1

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.
Files changed (124) hide show
  1. package/dist/annotation/index.js +17 -0
  2. package/dist/annotation/index.js.map +1 -1
  3. package/dist/breakouts/breakout.js +1 -1
  4. package/dist/breakouts/index.js +1 -1
  5. package/dist/common/errors/join-forbidden-error.js +52 -0
  6. package/dist/common/errors/join-forbidden-error.js.map +1 -0
  7. package/dist/common/errors/{webinar-registration-error.js → join-webinar-error.js} +12 -12
  8. package/dist/common/errors/join-webinar-error.js.map +1 -0
  9. package/dist/common/errors/multistream-not-supported-error.js +53 -0
  10. package/dist/common/errors/multistream-not-supported-error.js.map +1 -0
  11. package/dist/config.js +1 -1
  12. package/dist/config.js.map +1 -1
  13. package/dist/constants.js +46 -5
  14. package/dist/constants.js.map +1 -1
  15. package/dist/index.js +16 -11
  16. package/dist/index.js.map +1 -1
  17. package/dist/interpretation/index.js +1 -1
  18. package/dist/interpretation/siLanguage.js +1 -1
  19. package/dist/locus-info/index.js +14 -3
  20. package/dist/locus-info/index.js.map +1 -1
  21. package/dist/locus-info/selfUtils.js +30 -17
  22. package/dist/locus-info/selfUtils.js.map +1 -1
  23. package/dist/meeting/in-meeting-actions.js +2 -0
  24. package/dist/meeting/in-meeting-actions.js.map +1 -1
  25. package/dist/meeting/index.js +960 -832
  26. package/dist/meeting/index.js.map +1 -1
  27. package/dist/meeting/locusMediaRequest.js +9 -0
  28. package/dist/meeting/locusMediaRequest.js.map +1 -1
  29. package/dist/meeting/request.js +30 -0
  30. package/dist/meeting/request.js.map +1 -1
  31. package/dist/meeting/request.type.js.map +1 -1
  32. package/dist/meeting/util.js +16 -16
  33. package/dist/meeting/util.js.map +1 -1
  34. package/dist/meeting-info/meeting-info-v2.js +96 -33
  35. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  36. package/dist/meeting-info/utilv2.js +1 -1
  37. package/dist/meeting-info/utilv2.js.map +1 -1
  38. package/dist/meetings/index.js +103 -54
  39. package/dist/meetings/index.js.map +1 -1
  40. package/dist/meetings/meetings.types.js +2 -0
  41. package/dist/meetings/meetings.types.js.map +1 -1
  42. package/dist/meetings/util.js +1 -1
  43. package/dist/meetings/util.js.map +1 -1
  44. package/dist/member/index.js +9 -0
  45. package/dist/member/index.js.map +1 -1
  46. package/dist/member/types.js.map +1 -1
  47. package/dist/member/util.js +39 -28
  48. package/dist/member/util.js.map +1 -1
  49. package/dist/metrics/constants.js +3 -2
  50. package/dist/metrics/constants.js.map +1 -1
  51. package/dist/multistream/remoteMedia.js +30 -15
  52. package/dist/multistream/remoteMedia.js.map +1 -1
  53. package/dist/multistream/sendSlotManager.js +24 -0
  54. package/dist/multistream/sendSlotManager.js.map +1 -1
  55. package/dist/roap/index.js +10 -8
  56. package/dist/roap/index.js.map +1 -1
  57. package/dist/types/annotation/index.d.ts +5 -0
  58. package/dist/types/common/errors/join-forbidden-error.d.ts +15 -0
  59. package/dist/types/common/errors/{webinar-registration-error.d.ts → join-webinar-error.d.ts} +2 -2
  60. package/dist/types/common/errors/multistream-not-supported-error.d.ts +17 -0
  61. package/dist/types/constants.d.ts +38 -1
  62. package/dist/types/index.d.ts +3 -3
  63. package/dist/types/locus-info/index.d.ts +2 -1
  64. package/dist/types/meeting/in-meeting-actions.d.ts +2 -0
  65. package/dist/types/meeting/index.d.ts +19 -12
  66. package/dist/types/meeting/locusMediaRequest.d.ts +4 -0
  67. package/dist/types/meeting/request.d.ts +12 -1
  68. package/dist/types/meeting/request.type.d.ts +6 -0
  69. package/dist/types/meeting/util.d.ts +1 -1
  70. package/dist/types/meeting-info/meeting-info-v2.d.ts +27 -4
  71. package/dist/types/meetings/index.d.ts +16 -1
  72. package/dist/types/meetings/meetings.types.d.ts +8 -0
  73. package/dist/types/member/index.d.ts +1 -0
  74. package/dist/types/member/types.d.ts +7 -0
  75. package/dist/types/metrics/constants.d.ts +2 -1
  76. package/dist/types/multistream/sendSlotManager.d.ts +8 -1
  77. package/dist/webinar/index.js +354 -3
  78. package/dist/webinar/index.js.map +1 -1
  79. package/package.json +23 -22
  80. package/src/annotation/index.ts +16 -0
  81. package/src/common/errors/join-forbidden-error.ts +26 -0
  82. package/src/common/errors/join-webinar-error.ts +24 -0
  83. package/src/common/errors/multistream-not-supported-error.ts +30 -0
  84. package/src/config.ts +1 -1
  85. package/src/constants.ts +43 -3
  86. package/src/index.ts +5 -3
  87. package/src/locus-info/index.ts +20 -3
  88. package/src/locus-info/selfUtils.ts +19 -6
  89. package/src/meeting/in-meeting-actions.ts +4 -0
  90. package/src/meeting/index.ts +259 -80
  91. package/src/meeting/locusMediaRequest.ts +7 -0
  92. package/src/meeting/request.ts +26 -1
  93. package/src/meeting/request.type.ts +7 -0
  94. package/src/meeting/util.ts +8 -10
  95. package/src/meeting-info/meeting-info-v2.ts +74 -11
  96. package/src/meeting-info/utilv2.ts +3 -1
  97. package/src/meetings/index.ts +73 -20
  98. package/src/meetings/meetings.types.ts +10 -0
  99. package/src/meetings/util.ts +2 -1
  100. package/src/member/index.ts +9 -0
  101. package/src/member/types.ts +8 -0
  102. package/src/member/util.ts +34 -24
  103. package/src/metrics/constants.ts +2 -1
  104. package/src/multistream/remoteMedia.ts +28 -15
  105. package/src/multistream/sendSlotManager.ts +31 -0
  106. package/src/roap/index.ts +10 -8
  107. package/src/webinar/index.ts +197 -3
  108. package/test/unit/spec/annotation/index.ts +46 -1
  109. package/test/unit/spec/locus-info/index.js +292 -60
  110. package/test/unit/spec/locus-info/selfConstant.js +7 -0
  111. package/test/unit/spec/locus-info/selfUtils.js +91 -1
  112. package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
  113. package/test/unit/spec/meeting/index.js +722 -105
  114. package/test/unit/spec/meeting/utils.js +22 -19
  115. package/test/unit/spec/meeting-info/meetinginfov2.js +46 -4
  116. package/test/unit/spec/meeting-info/utilv2.js +17 -0
  117. package/test/unit/spec/meetings/index.js +150 -13
  118. package/test/unit/spec/meetings/utils.js +10 -0
  119. package/test/unit/spec/member/util.js +52 -11
  120. package/test/unit/spec/multistream/remoteMedia.ts +11 -7
  121. package/test/unit/spec/roap/index.ts +47 -0
  122. package/test/unit/spec/webinar/index.ts +457 -0
  123. package/dist/common/errors/webinar-registration-error.js.map +0 -1
  124. package/src/common/errors/webinar-registration-error.ts +0 -27
@@ -59,9 +59,10 @@ var _collection = _interopRequireDefault(require("./collection"));
59
59
  var _meetings = require("./meetings.types");
60
60
  var _util2 = _interopRequireDefault(require("./util"));
61
61
  var _permission = _interopRequireDefault(require("../common/errors/permission"));
62
- var _webinarRegistrationError = _interopRequireDefault(require("../common/errors/webinar-registration-error"));
62
+ var _joinWebinarError = _interopRequireDefault(require("../common/errors/join-webinar-error"));
63
63
  var _webexErrors = require("../common/errors/webex-errors");
64
64
  var _noMeetingInfo = _interopRequireDefault(require("../common/errors/no-meeting-info"));
65
+ var _joinForbiddenError = _interopRequireDefault(require("../common/errors/join-forbidden-error"));
65
66
  function _getRequireWildcardCache(e) { if ("function" != typeof _WeakMap) return null; var r = new _WeakMap(), t = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
66
67
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
67
68
  function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -203,6 +204,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
203
204
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaHelpers", void 0);
204
205
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "breakoutLocusForHandleLater", void 0);
205
206
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
207
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registrationStatus", void 0);
206
208
  /**
207
209
  * Creates a noise reduction effect
208
210
  *
@@ -693,6 +695,22 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
693
695
  });
694
696
  }
695
697
 
698
+ /**
699
+ * API to change log upload interval. Setting the factor to 0 will disable periodic log uploads.
700
+ *
701
+ * @param {number} factor new factor value
702
+ * @returns {void}
703
+ */
704
+ }, {
705
+ key: "_setLogUploadIntervalMultiplicationFactor",
706
+ value: function _setLogUploadIntervalMultiplicationFactor(factor) {
707
+ if (typeof factor !== 'number') {
708
+ return;
709
+ }
710
+ // @ts-ignore
711
+ this.config.logUploadIntervalMultiplicationFactor = factor;
712
+ }
713
+
696
714
  /**
697
715
  * API to toggle unified meetings
698
716
  * @param {Boolean} changeState
@@ -798,6 +816,21 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
798
816
  }
799
817
  }
800
818
 
819
+ /**
820
+ * Executes a registration step and updates the registration status.
821
+ * @param {Function} step - The registration step to execute.
822
+ * @param {string} stepName - The name of the registration step.
823
+ * @returns {Promise} A promise that resolves when the step is completed.
824
+ */
825
+ }, {
826
+ key: "executeRegistrationStep",
827
+ value: function executeRegistrationStep(step, stepName) {
828
+ var _this5 = this;
829
+ return step().then(function () {
830
+ _this5.registrationStatus[stepName] = true;
831
+ });
832
+ }
833
+
801
834
  /**
802
835
  * Explicitly sets up the meetings plugin by registering
803
836
  * the device, connecting to mercury, and listening for locus events.
@@ -810,7 +843,9 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
810
843
  }, {
811
844
  key: "register",
812
845
  value: function register(deviceRegistrationOptions) {
813
- var _this5 = this;
846
+ var _this6 = this;
847
+ this.registrationStatus = (0, _lodash.clone)(_constants.INITIAL_REGISTRATION_STATUS);
848
+
814
849
  // @ts-ignore
815
850
  if (!this.webex.canAuthorize) {
816
851
  _loggerProxy.default.logger.error('Meetings:index#register --> ERROR, Unable to register, SDK cannot authorize');
@@ -820,26 +855,39 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
820
855
  _loggerProxy.default.logger.info('Meetings:index#register --> INFO, Meetings plugin already registered');
821
856
  return _promise.default.resolve();
822
857
  }
823
- return _promise.default.all([this.fetchUserPreferredWebexSite(), this.getGeoHint(), this.startReachability('registration').catch(function (error) {
824
- _loggerProxy.default.logger.error("Meetings:index#register --> GDM error, ".concat(error.message));
825
- }),
826
- // @ts-ignore
827
- this.webex.internal.device.register(deviceRegistrationOptions)
828
- // @ts-ignore
829
- .then(function () {
830
- return _loggerProxy.default.logger.info( // @ts-ignore
831
- "Meetings:index#register --> INFO, Device registered ".concat(_this5.webex.internal.device.url));
832
- })
833
- // @ts-ignore
834
- .then(function () {
835
- return _this5.webex.internal.mercury.connect();
836
- }), _util2.default.checkH264Support.call(this)]).then(function () {
837
- _this5.listenForEvents();
838
- _triggerProxy.default.trigger(_this5, {
858
+ return _promise.default.all([this.executeRegistrationStep(function () {
859
+ return _this6.fetchUserPreferredWebexSite();
860
+ }, 'fetchWebexSite'), this.executeRegistrationStep(function () {
861
+ return _this6.getGeoHint();
862
+ }, 'getGeoHint'), this.executeRegistrationStep(function () {
863
+ return _this6.startReachability('registration').catch(function (error) {
864
+ _loggerProxy.default.logger.error("Meetings:index#register --> GDM error, ".concat(error.message));
865
+ });
866
+ }, 'startReachability'), this.executeRegistrationStep(function () {
867
+ return (
868
+ // @ts-ignore
869
+ _this6.webex.internal.device.register(deviceRegistrationOptions)
870
+ // @ts-ignore
871
+ .then(function () {
872
+ _loggerProxy.default.logger.info( // @ts-ignore
873
+ "Meetings:index#register --> INFO, Device registered ".concat(_this6.webex.internal.device.url));
874
+ })
875
+ );
876
+ }, 'deviceRegister').then(function () {
877
+ return _this6.executeRegistrationStep(
878
+ // @ts-ignore
879
+ function () {
880
+ return _this6.webex.internal.mercury.connect();
881
+ }, 'mercuryConnect');
882
+ }), this.executeRegistrationStep(function () {
883
+ return _promise.default.resolve(_util2.default.checkH264Support.call(_this6));
884
+ }, 'checkH264Support')]).then(function () {
885
+ _this6.listenForEvents();
886
+ _triggerProxy.default.trigger(_this6, {
839
887
  file: 'meetings',
840
888
  function: 'register'
841
889
  }, _constants.EVENT_TRIGGERS.MEETINGS_REGISTERED);
842
- _this5.registered = true;
890
+ _this6.registered = true;
843
891
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETINGS_REGISTRATION_SUCCESS);
844
892
  }).catch(function (error) {
845
893
  _loggerProxy.default.logger.error("Meetings:index#register --> ERROR, Unable to register, ".concat(error.message));
@@ -862,7 +910,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
862
910
  }, {
863
911
  key: "unregister",
864
912
  value: function unregister() {
865
- var _this6 = this;
913
+ var _this7 = this;
866
914
  if (!this.registered) {
867
915
  _loggerProxy.default.logger.info('Meetings:index#unregister --> INFO, Meetings plugin already unregistered');
868
916
  return _promise.default.resolve();
@@ -873,13 +921,14 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
873
921
  this.webex.internal.mercury.disconnect()
874
922
  // @ts-ignore
875
923
  .then(function () {
876
- return _this6.webex.internal.device.unregister();
924
+ return _this7.webex.internal.device.unregister();
877
925
  }).then(function () {
878
- _triggerProxy.default.trigger(_this6, {
926
+ _triggerProxy.default.trigger(_this7, {
879
927
  file: 'meetings',
880
928
  function: 'unregister'
881
929
  }, _constants.EVENT_TRIGGERS.MEETINGS_UNREGISTERED);
882
- _this6.registered = false;
930
+ _this7.registered = false;
931
+ _this7.registrationStatus = (0, _lodash.clone)(_constants.INITIAL_REGISTRATION_STATUS);
883
932
  })
884
933
  );
885
934
  }
@@ -899,13 +948,13 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
899
948
  * @returns {String} feedback ID logs were submitted under
900
949
  */
901
950
  function uploadLogs() {
902
- var _this7 = this;
951
+ var _this8 = this;
903
952
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
904
953
  _loggerProxy.default.logger.info('Meetings:index#uploadLogs --> uploading logs');
905
954
  return this.loggerRequest.uploadLogs(options).then(function (uploadResult) {
906
955
  _loggerProxy.default.logger.info('Meetings:index#uploadLogs --> Upload logs for meeting completed.', uploadResult);
907
956
  _metrics.default.sendBehavioralMetric(_constants2.default.UPLOAD_LOGS_SUCCESS, options);
908
- _triggerProxy.default.trigger(_this7, {
957
+ _triggerProxy.default.trigger(_this8, {
909
958
  file: 'meetings',
910
959
  function: 'uploadLogs'
911
960
  }, _constants.EVENT_TRIGGERS.MEETING_LOG_UPLOAD_SUCCESS, {
@@ -915,7 +964,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
915
964
  return uploadResult;
916
965
  }).catch(function (uploadError) {
917
966
  _loggerProxy.default.logger.error('Meetings:index#uploadLogs --> Unable to upload logs for meeting', uploadError);
918
- _triggerProxy.default.trigger(_this7, {
967
+ _triggerProxy.default.trigger(_this8, {
919
968
  file: 'meetings',
920
969
  function: 'uploadLogs'
921
970
  }, _constants.EVENT_TRIGGERS.MEETING_LOG_UPLOAD_FAILURE, {
@@ -965,9 +1014,9 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
965
1014
  }, {
966
1015
  key: "getGeoHint",
967
1016
  value: function getGeoHint() {
968
- var _this8 = this;
1017
+ var _this9 = this;
969
1018
  return this.request.fetchGeoHint().then(function (res) {
970
- _this8.geoHintInfo = res;
1019
+ _this9.geoHintInfo = res;
971
1020
  });
972
1021
  }
973
1022
 
@@ -981,29 +1030,29 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
981
1030
  }, {
982
1031
  key: "fetchUserPreferredWebexSite",
983
1032
  value: function fetchUserPreferredWebexSite() {
984
- var _this9 = this;
1033
+ var _this10 = this;
985
1034
  // @ts-ignore
986
1035
  return this.webex.people._getMe().then(function (me) {
987
1036
  var isGuestUser = me.type === 'appuser';
988
1037
  if (!isGuestUser) {
989
- return _this9.request.getMeetingPreferences().then(function (res) {
1038
+ return _this10.request.getMeetingPreferences().then(function (res) {
990
1039
  if (res) {
991
1040
  var preferredWebexSite = _util2.default.parseDefaultSiteFromMeetingPreferences(res);
992
- _this9.preferredWebexSite = preferredWebexSite;
1041
+ _this10.preferredWebexSite = preferredWebexSite;
993
1042
  // @ts-ignore
994
- _this9.webex.internal.services._getCatalog().addAllowedDomains([preferredWebexSite]);
1043
+ _this10.webex.internal.services._getCatalog().addAllowedDomains([preferredWebexSite]);
995
1044
  }
996
1045
 
997
1046
  // fall back to getting the preferred site from the user information
998
- if (!_this9.preferredWebexSite) {
1047
+ if (!_this10.preferredWebexSite) {
999
1048
  // @ts-ignore
1000
- return _this9.webex.internal.user.get().then(function (user) {
1049
+ return _this10.webex.internal.user.get().then(function (user) {
1001
1050
  var _user$userPreferences, _user$userPreferences2;
1002
1051
  var preferredWebexSite = user === null || user === void 0 ? void 0 : (_user$userPreferences = user.userPreferences) === null || _user$userPreferences === void 0 ? void 0 : (_user$userPreferences2 = _user$userPreferences.userPreferencesItems) === null || _user$userPreferences2 === void 0 ? void 0 : _user$userPreferences2.preferredWebExSite;
1003
1052
  if (preferredWebexSite) {
1004
- _this9.preferredWebexSite = preferredWebexSite;
1053
+ _this10.preferredWebexSite = preferredWebexSite;
1005
1054
  // @ts-ignore
1006
- _this9.webex.internal.services._getCatalog().addAllowedDomains([preferredWebexSite]);
1055
+ _this10.webex.internal.services._getCatalog().addAllowedDomains([preferredWebexSite]);
1007
1056
  } else {
1008
1057
  throw new Error('site not found');
1009
1058
  }
@@ -1111,7 +1160,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1111
1160
  }, {
1112
1161
  key: "create",
1113
1162
  value: function create(destination) {
1114
- var _this10 = this;
1163
+ var _this11 = this;
1115
1164
  var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1116
1165
  var useRandomDelayForInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1117
1166
  var infoExtraParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
@@ -1151,7 +1200,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1151
1200
  // check for the conversation URL then sip Url
1152
1201
  var meeting = null;
1153
1202
  if (type === _constants.DESTINATION_TYPE.CONVERSATION_URL || options.type === _constants.DESTINATION_TYPE.CONVERSATION_URL) {
1154
- var foundMeeting = _this10.meetingCollection.getByKey(_meetings.MEETING_KEY.CONVERSATION_URL, targetDest);
1203
+ var foundMeeting = _this11.meetingCollection.getByKey(_meetings.MEETING_KEY.CONVERSATION_URL, targetDest);
1155
1204
  if (foundMeeting) {
1156
1205
  var foundMeetingIsNotCalendarMeeting = !foundMeeting.locusInfo.scheduledMeeting;
1157
1206
 
@@ -1165,21 +1214,21 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1165
1214
 
1166
1215
  // Attempt to collect the meeting if it exists.
1167
1216
  if (!meeting) {
1168
- meeting = _this10.meetingCollection.getByKey(_meetings.MEETING_KEY.SIP_URI, targetDest);
1217
+ meeting = _this11.meetingCollection.getByKey(_meetings.MEETING_KEY.SIP_URI, targetDest);
1169
1218
  }
1170
1219
 
1171
1220
  // Validate if a meeting was found.
1172
1221
  if (!meeting) {
1173
1222
  // Create a meeting based on the normalized destination and type.
1174
- return _this10.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams, callStateForMetrics, failOnMissingMeetingInfo, meetingInfo, meetingLookupUrl).then(function (createdMeeting) {
1223
+ return _this11.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams, callStateForMetrics, failOnMissingMeetingInfo, meetingInfo, meetingLookupUrl).then(function (createdMeeting) {
1175
1224
  // If the meeting was successfully created.
1176
1225
  if (createdMeeting && createdMeeting.on) {
1177
1226
  // Create a destruction event for the meeting.
1178
1227
  createdMeeting.on(_constants.EVENTS.DESTROY_MEETING, function (payload) {
1179
1228
  // @ts-ignore
1180
- if (_this10.config.autoUploadLogs) {
1229
+ if (_this11.config.autoUploadLogs) {
1181
1230
  var _createdMeeting$locus, _createdMeeting$locus2, _createdMeeting$locus3, _createdMeeting$locus4, _createdMeeting$locus5, _createdMeeting$locus6;
1182
- _this10.uploadLogs({
1231
+ _this11.uploadLogs({
1183
1232
  callStart: (_createdMeeting$locus = createdMeeting.locusInfo) === null || _createdMeeting$locus === void 0 ? void 0 : (_createdMeeting$locus2 = _createdMeeting$locus.fullState) === null || _createdMeeting$locus2 === void 0 ? void 0 : _createdMeeting$locus2.lastActive,
1184
1233
  locussessionid: (_createdMeeting$locus3 = createdMeeting.locusInfo) === null || _createdMeeting$locus3 === void 0 ? void 0 : (_createdMeeting$locus4 = _createdMeeting$locus3.fullState) === null || _createdMeeting$locus4 === void 0 ? void 0 : _createdMeeting$locus4.sessionId,
1185
1234
  correlationId: createdMeeting.correlationId,
@@ -1189,13 +1238,13 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1189
1238
  autoupload: true
1190
1239
  });
1191
1240
  }
1192
- _this10.destroy(createdMeeting, payload.reason);
1241
+ _this11.destroy(createdMeeting, payload.reason);
1193
1242
  });
1194
1243
  createdMeeting.on(_constants.EVENTS.REQUEST_UPLOAD_LOGS, function (meetingInstance) {
1195
1244
  // @ts-ignore
1196
- if (_this10.config.autoUploadLogs) {
1245
+ if (_this11.config.autoUploadLogs) {
1197
1246
  var _meetingInstance$locu, _meetingInstance$locu2, _meetingInstance$locu3, _meetingInstance$locu4, _meetingInstance$locu5, _meetingInstance$locu6;
1198
- _this10.uploadLogs({
1247
+ _this11.uploadLogs({
1199
1248
  callStart: meetingInstance === null || meetingInstance === void 0 ? void 0 : (_meetingInstance$locu = meetingInstance.locusInfo) === null || _meetingInstance$locu === void 0 ? void 0 : (_meetingInstance$locu2 = _meetingInstance$locu.fullState) === null || _meetingInstance$locu2 === void 0 ? void 0 : _meetingInstance$locu2.lastActive,
1200
1249
  locussessionid: meetingInstance === null || meetingInstance === void 0 ? void 0 : (_meetingInstance$locu3 = meetingInstance.locusInfo) === null || _meetingInstance$locu3 === void 0 ? void 0 : (_meetingInstance$locu4 = _meetingInstance$locu3.fullState) === null || _meetingInstance$locu4 === void 0 ? void 0 : _meetingInstance$locu4.sessionId,
1201
1250
  correlationId: meetingInstance.correlationId,
@@ -1341,7 +1390,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1341
1390
  case 29:
1342
1391
  _context3.prev = 29;
1343
1392
  _context3.t0 = _context3["catch"](9);
1344
- if (!(!(_context3.t0 instanceof _captchaError.default) && !(_context3.t0 instanceof _passwordError.default) && !(_context3.t0 instanceof _permission.default) && !(_context3.t0 instanceof _webinarRegistrationError.default))) {
1393
+ if (!(!(_context3.t0 instanceof _captchaError.default) && !(_context3.t0 instanceof _passwordError.default) && !(_context3.t0 instanceof _permission.default) && !(_context3.t0 instanceof _joinWebinarError.default) && !(_context3.t0 instanceof _joinForbiddenError.default))) {
1345
1394
  _context3.next = 38;
1346
1395
  break;
1347
1396
  }
@@ -1431,7 +1480,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1431
1480
  }, {
1432
1481
  key: "syncMeetings",
1433
1482
  value: function syncMeetings() {
1434
- var _this11 = this;
1483
+ var _this12 = this;
1435
1484
  var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1436
1485
  _ref3$keepOnlyLocusMe = _ref3.keepOnlyLocusMeetings,
1437
1486
  keepOnlyLocusMeetings = _ref3$keepOnlyLocusMe === void 0 ? true : _ref3$keepOnlyLocusMe;
@@ -1443,16 +1492,16 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1443
1492
  return this.request.getActiveMeetings().then(function (locusArray) {
1444
1493
  var activeLocusUrl = [];
1445
1494
  if (locusArray !== null && locusArray !== void 0 && locusArray.loci && locusArray.loci.length > 0) {
1446
- var lociToUpdate = _this11.sortLocusArrayToUpdate(locusArray.loci);
1495
+ var lociToUpdate = _this12.sortLocusArrayToUpdate(locusArray.loci);
1447
1496
  lociToUpdate.forEach(function (locus) {
1448
1497
  activeLocusUrl.push(locus.url);
1449
- _this11.handleLocusEvent({
1498
+ _this12.handleLocusEvent({
1450
1499
  locus: locus,
1451
1500
  locusUrl: locus.url
1452
1501
  });
1453
1502
  });
1454
1503
  }
1455
- var meetingsCollection = _this11.meetingCollection.getAll();
1504
+ var meetingsCollection = _this12.meetingCollection.getAll();
1456
1505
  if ((0, _keys.default)(meetingsCollection).length > 0) {
1457
1506
  // Sometimes the mercury events are lost after mercury reconnect
1458
1507
  // Remove any Locus meetings that are not returned by Locus
@@ -1464,7 +1513,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1464
1513
  if ((keepOnlyLocusMeetings || locusUrl) && !activeLocusUrl.includes(locusUrl)) {
1465
1514
  // destroy function also uploads logs
1466
1515
  // @ts-ignore
1467
- _this11.destroy(meeting, _constants.MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
1516
+ _this12.destroy(meeting, _constants.MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
1468
1517
  }
1469
1518
  }
1470
1519
  }
@@ -1484,7 +1533,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1484
1533
  }, {
1485
1534
  key: "sortLocusArrayToUpdate",
1486
1535
  value: function sortLocusArrayToUpdate(loci) {
1487
- var _this12 = this;
1536
+ var _this13 = this;
1488
1537
  var mainLoci = loci.filter(function (locus) {
1489
1538
  return !_util2.default.isBreakoutLocusDTO(locus);
1490
1539
  });
@@ -1498,7 +1547,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1498
1547
  var _mainLocus$controls, _mainLocus$controls$b, _breakoutLocus$contro, _breakoutLocus$contro2;
1499
1548
  return ((_mainLocus$controls = mainLocus.controls) === null || _mainLocus$controls === void 0 ? void 0 : (_mainLocus$controls$b = _mainLocus$controls.breakout) === null || _mainLocus$controls$b === void 0 ? void 0 : _mainLocus$controls$b.url) === ((_breakoutLocus$contro = breakoutLocus.controls) === null || _breakoutLocus$contro === void 0 ? void 0 : (_breakoutLocus$contro2 = _breakoutLocus$contro.breakout) === null || _breakoutLocus$contro2 === void 0 ? void 0 : _breakoutLocus$contro2.url);
1500
1549
  });
1501
- var existCorrespondingMeeting = _this12.getCorrespondingMeetingByLocus({
1550
+ var existCorrespondingMeeting = _this13.getCorrespondingMeetingByLocus({
1502
1551
  locus: breakoutLocus,
1503
1552
  locusUrl: breakoutLocus.url
1504
1553
  });
@@ -1506,7 +1555,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
1506
1555
  // if exists both main session and breakout session locus of the same non-exist meeting, handle main locus first,
1507
1556
  // after meeting create with main locus, then handle the associate breakout locus.
1508
1557
  // if only handle breakout locus, will miss some date
1509
- _this12.breakoutLocusForHandleLater.push(breakoutLocus);
1558
+ _this13.breakoutLocusForHandleLater.push(breakoutLocus);
1510
1559
  } else {
1511
1560
  lociToUpdate.push(breakoutLocus);
1512
1561
  }