@webex/plugin-meetings 3.12.0-next.9 → 3.12.0-next.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +9 -0
- package/dist/aiEnableRequest/index.js +15 -2
- package/dist/aiEnableRequest/index.js.map +1 -1
- package/dist/breakouts/breakout.js +8 -3
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/index.js +26 -2
- package/dist/breakouts/index.js.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/constants.js +35 -9
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +11 -1
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/index.js +67 -29
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/util.js +91 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/hashTree/constants.js +13 -1
- package/dist/hashTree/constants.js.map +1 -1
- package/dist/hashTree/hashTreeParser.js +880 -382
- package/dist/hashTree/hashTreeParser.js.map +1 -1
- package/dist/hashTree/utils.js +42 -0
- package/dist/hashTree/utils.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/interceptors/dataChannelAuthToken.js +75 -15
- package/dist/interceptors/dataChannelAuthToken.js.map +1 -1
- package/dist/interceptors/locusRetry.js +23 -8
- package/dist/interceptors/locusRetry.js.map +1 -1
- package/dist/interpretation/index.js +10 -1
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/interpretation.types.js +7 -0
- package/dist/interpretation/interpretation.types.js.map +1 -0
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +4 -1
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +303 -88
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +36 -5
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/types.js +19 -0
- package/dist/locus-info/types.js.map +1 -1
- package/dist/media/index.js +3 -1
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +1 -0
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +5 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +1233 -793
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +229 -82
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +10 -1
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +5 -2
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +35 -2
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +2 -2
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meetings/index.js +231 -118
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +6 -1
- package/dist/meetings/meetings.types.js.map +1 -1
- package/dist/meetings/request.js +39 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +79 -5
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +10 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +30 -0
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +101 -43
- package/dist/members/index.js.map +1 -1
- package/dist/members/util.js +8 -1
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +5 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/codec/constants.js +63 -0
- package/dist/multistream/codec/constants.js.map +1 -0
- package/dist/multistream/mediaRequestManager.js +62 -15
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +9 -0
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/reachability/index.js +10 -13
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/reachability.types.js +2 -0
- package/dist/reachability/reachability.types.js.map +1 -1
- package/dist/reachability/util.js +45 -0
- package/dist/reachability/util.js.map +1 -1
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/recording-controller/index.js +1 -3
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/types/config.d.ts +2 -2
- package/dist/types/constants.d.ts +12 -1
- package/dist/types/controls-options-manager/constants.d.ts +6 -1
- package/dist/types/controls-options-manager/index.d.ts +16 -0
- package/dist/types/hashTree/constants.d.ts +2 -0
- package/dist/types/hashTree/hashTreeParser.d.ts +146 -17
- package/dist/types/hashTree/utils.d.ts +18 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/interceptors/locusRetry.d.ts +4 -4
- package/dist/types/interpretation/interpretation.types.d.ts +10 -0
- package/dist/types/locus-info/index.d.ts +50 -6
- package/dist/types/locus-info/infoUtils.d.ts +8 -0
- package/dist/types/locus-info/types.d.ts +21 -1
- package/dist/types/media/properties.d.ts +1 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +4 -0
- package/dist/types/meeting/index.d.ts +94 -7
- package/dist/types/meeting/locusMediaRequest.d.ts +12 -0
- package/dist/types/meeting/request.d.ts +1 -0
- package/dist/types/meeting/util.d.ts +9 -0
- package/dist/types/meetings/index.d.ts +30 -18
- package/dist/types/meetings/meetings.types.d.ts +15 -0
- package/dist/types/meetings/request.d.ts +14 -0
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/member/types.d.ts +1 -0
- package/dist/types/member/util.d.ts +9 -0
- package/dist/types/members/index.d.ts +15 -2
- package/dist/types/members/util.d.ts +1 -5
- package/dist/types/metrics/constants.d.ts +4 -0
- package/dist/types/multistream/codec/constants.d.ts +7 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +22 -5
- package/dist/types/reachability/index.d.ts +1 -1
- package/dist/types/reachability/reachability.types.d.ts +7 -0
- package/dist/types/reachability/util.d.ts +17 -0
- package/dist/types/reactions/reactions.type.d.ts +3 -0
- package/dist/webinar/index.js +305 -159
- package/dist/webinar/index.js.map +1 -1
- package/package.json +22 -22
- package/src/aiEnableRequest/index.ts +16 -0
- package/src/breakouts/breakout.ts +3 -1
- package/src/breakouts/index.ts +31 -0
- package/src/config.ts +2 -2
- package/src/constants.ts +20 -3
- package/src/controls-options-manager/constants.ts +14 -1
- package/src/controls-options-manager/index.ts +87 -28
- package/src/controls-options-manager/util.ts +81 -1
- package/src/hashTree/constants.ts +16 -0
- package/src/hashTree/hashTreeParser.ts +580 -196
- package/src/hashTree/utils.ts +36 -0
- package/src/index.ts +6 -0
- package/src/interceptors/dataChannelAuthToken.ts +88 -12
- package/src/interceptors/locusRetry.ts +25 -4
- package/src/interpretation/index.ts +27 -9
- package/src/interpretation/interpretation.types.ts +11 -0
- package/src/locus-info/controlsUtils.ts +3 -1
- package/src/locus-info/index.ts +304 -100
- package/src/locus-info/infoUtils.ts +41 -6
- package/src/locus-info/types.ts +25 -1
- package/src/media/index.ts +3 -0
- package/src/media/properties.ts +1 -0
- package/src/meeting/in-meeting-actions.ts +8 -0
- package/src/meeting/index.ts +494 -67
- package/src/meeting/locusMediaRequest.ts +106 -6
- package/src/meeting/muteState.ts +10 -1
- package/src/meeting/request.ts +11 -0
- package/src/meeting/util.ts +47 -5
- package/src/meeting-info/meeting-info-v2.ts +4 -2
- package/src/meetings/index.ts +133 -78
- package/src/meetings/meetings.types.ts +19 -0
- package/src/meetings/request.ts +43 -0
- package/src/meetings/util.ts +97 -1
- package/src/member/index.ts +10 -0
- package/src/member/types.ts +1 -0
- package/src/member/util.ts +29 -0
- package/src/members/index.ts +70 -7
- package/src/members/util.ts +12 -4
- package/src/metrics/constants.ts +4 -0
- package/src/multistream/codec/constants.ts +58 -0
- package/src/multistream/mediaRequestManager.ts +119 -28
- package/src/multistream/receiveSlot.ts +18 -0
- package/src/reachability/index.ts +19 -15
- package/src/reachability/reachability.types.ts +11 -0
- package/src/reachability/util.ts +36 -0
- package/src/reactions/reactions.type.ts +3 -0
- package/src/recording-controller/index.ts +1 -2
- package/src/webinar/index.ts +214 -36
- package/test/unit/spec/aiEnableRequest/index.ts +86 -0
- package/test/unit/spec/breakouts/breakout.ts +9 -3
- package/test/unit/spec/breakouts/index.ts +49 -0
- package/test/unit/spec/controls-options-manager/index.js +244 -29
- package/test/unit/spec/controls-options-manager/util.js +165 -0
- package/test/unit/spec/hashTree/hashTreeParser.ts +1838 -180
- package/test/unit/spec/hashTree/utils.ts +125 -1
- package/test/unit/spec/interceptors/dataChannelAuthToken.ts +196 -0
- package/test/unit/spec/interceptors/locusRetry.ts +205 -4
- package/test/unit/spec/interpretation/index.ts +26 -4
- package/test/unit/spec/locus-info/controlsUtils.js +172 -57
- package/test/unit/spec/locus-info/index.js +499 -81
- package/test/unit/spec/locus-info/infoUtils.js +184 -1
- package/test/unit/spec/media/index.ts +31 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
- package/test/unit/spec/meeting/index.js +1615 -42
- package/test/unit/spec/meeting/locusMediaRequest.ts +302 -4
- package/test/unit/spec/meeting/muteState.js +81 -0
- package/test/unit/spec/meeting/request.js +12 -0
- package/test/unit/spec/meeting/utils.js +157 -1
- package/test/unit/spec/meeting-info/meetinginfov2.js +19 -10
- package/test/unit/spec/meetings/index.js +363 -36
- package/test/unit/spec/meetings/request.js +141 -0
- package/test/unit/spec/meetings/utils.js +189 -0
- package/test/unit/spec/member/index.js +7 -0
- package/test/unit/spec/member/util.js +89 -0
- package/test/unit/spec/members/index.js +216 -0
- package/test/unit/spec/members/request.js +37 -1
- package/test/unit/spec/members/utils.js +63 -0
- package/test/unit/spec/multistream/mediaRequestManager.ts +501 -37
- package/test/unit/spec/reachability/index.ts +59 -46
- package/test/unit/spec/reachability/util.ts +31 -0
- package/test/unit/spec/recording-controller/index.js +9 -8
- package/test/unit/spec/webinar/index.ts +329 -28
package/dist/meetings/index.js
CHANGED
|
@@ -64,7 +64,7 @@ var _noMeetingInfo = _interopRequireDefault(require("../common/errors/no-meeting
|
|
|
64
64
|
var _joinForbiddenError = _interopRequireDefault(require("../common/errors/join-forbidden-error"));
|
|
65
65
|
var _utils = require("../hashTree/utils");
|
|
66
66
|
var _locusInfo = require("../locus-info");
|
|
67
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var
|
|
67
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t4 in e) "default" !== _t4 && {}.hasOwnProperty.call(e, _t4) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t4)) && (i.get || i.set) ? o(f, _t4, i) : f[_t4] = e[_t4]); return f; })(e, t); }
|
|
68
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; }
|
|
69
69
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
70
70
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
@@ -354,11 +354,11 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
354
354
|
return (0, _createClass2.default)(Meetings, [{
|
|
355
355
|
key: "isNeedHandleMainLocus",
|
|
356
356
|
value: function isNeedHandleMainLocus(meeting, newLocus) {
|
|
357
|
-
var _newLocus$controls, _newLocus$controls$br, _newLocus$self,
|
|
357
|
+
var _newLocus$controls, _newLocus$controls$br, _newLocus$self, _breakoutLocus$joined, _newLocus$self2;
|
|
358
358
|
var breakoutUrl = (_newLocus$controls = newLocus.controls) === null || _newLocus$controls === void 0 ? void 0 : (_newLocus$controls$br = _newLocus$controls.breakout) === null || _newLocus$controls$br === void 0 ? void 0 : _newLocus$controls$br.url;
|
|
359
359
|
var breakoutLocus = this.meetingCollection.getActiveBreakoutLocus(breakoutUrl);
|
|
360
360
|
var isSelfJoined = (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self = newLocus.self) === null || _newLocus$self === void 0 ? void 0 : _newLocus$self.state) === _constants._JOINED_;
|
|
361
|
-
var isSelfMoved =
|
|
361
|
+
var isSelfMoved = _util2.default.isSelfMovedOrBreakoutEnded(newLocus);
|
|
362
362
|
// @ts-ignore
|
|
363
363
|
var deviceFromNewLocus = _util2.default.getThisDevice(newLocus, this.webex.internal.device.url);
|
|
364
364
|
var isResourceMovedOnThisDevice = (deviceFromNewLocus === null || deviceFromNewLocus === void 0 ? void 0 : deviceFromNewLocus.state) === _constants._LEFT_ && (deviceFromNewLocus === null || deviceFromNewLocus === void 0 ? void 0 : deviceFromNewLocus.reason) === _constants._MOVED_;
|
|
@@ -383,7 +383,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
383
383
|
_loggerProxy.default.logger.log("Meetings:index#isNeedHandleMainLocus --> there is active breakout session and joined on this device, and don't need to handle main session: ".concat(breakoutUrl));
|
|
384
384
|
return false;
|
|
385
385
|
}
|
|
386
|
-
if (isSelfMoved && (newLocus !== null && newLocus !== void 0 && (_newLocus$
|
|
386
|
+
if (isSelfMoved && (newLocus !== null && newLocus !== void 0 && (_newLocus$self2 = newLocus.self) !== null && _newLocus$self2 !== void 0 && _newLocus$self2.removed || isResourceMovedOnThisDevice)) {
|
|
387
387
|
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> self moved main locus with self removed status or with device resource moved, not need to handle');
|
|
388
388
|
return false;
|
|
389
389
|
}
|
|
@@ -407,15 +407,15 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
407
407
|
key: "isNeedHandleLocusDTO",
|
|
408
408
|
value: function isNeedHandleLocusDTO(meeting, newLocus) {
|
|
409
409
|
if (newLocus) {
|
|
410
|
-
var _newLocus$
|
|
410
|
+
var _newLocus$self3, _newLocus$self3$devic, _newLocus$self3$devic2, _newLocus$self4, _newLocus$self4$devic, _newLocus$self4$devic2;
|
|
411
411
|
var isNewLocusAsBreakout = _util2.default.isBreakoutLocusDTO(newLocus);
|
|
412
|
-
var isSelfMoved =
|
|
413
|
-
var isSelfMovedToLobby = (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$
|
|
412
|
+
var isSelfMoved = _util2.default.isSelfMovedOrBreakoutEnded(newLocus);
|
|
413
|
+
var isSelfMovedToLobby = (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self3 = newLocus.self) === null || _newLocus$self3 === void 0 ? void 0 : (_newLocus$self3$devic = _newLocus$self3.devices[0]) === null || _newLocus$self3$devic === void 0 ? void 0 : (_newLocus$self3$devic2 = _newLocus$self3$devic.intent) === null || _newLocus$self3$devic2 === void 0 ? void 0 : _newLocus$self3$devic2.reason) === _constants._ON_HOLD_LOBBY_ && (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self4 = newLocus.self) === null || _newLocus$self4 === void 0 ? void 0 : (_newLocus$self4$devic = _newLocus$self4.devices[0]) === null || _newLocus$self4$devic === void 0 ? void 0 : (_newLocus$self4$devic2 = _newLocus$self4$devic.intent) === null || _newLocus$self4$devic2 === void 0 ? void 0 : _newLocus$self4$devic2.type) === _constants._WAIT_;
|
|
414
414
|
if (!meeting) {
|
|
415
415
|
if (isNewLocusAsBreakout) {
|
|
416
|
-
var _newLocus$fullState, _newLocus$
|
|
416
|
+
var _newLocus$fullState, _newLocus$self5;
|
|
417
417
|
_loggerProxy.default.logger.log("Meetings:index#isNeedHandleLocusDTO --> the first breakout session locusDTO active status: ".concat((_newLocus$fullState = newLocus.fullState) === null || _newLocus$fullState === void 0 ? void 0 : _newLocus$fullState.active));
|
|
418
|
-
return ((_newLocus$
|
|
418
|
+
return ((_newLocus$self5 = newLocus.self) === null || _newLocus$self5 === void 0 ? void 0 : _newLocus$self5.state) === _constants._JOINED_;
|
|
419
419
|
}
|
|
420
420
|
return this.isNeedHandleMainLocus(meeting, newLocus);
|
|
421
421
|
}
|
|
@@ -451,9 +451,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
451
451
|
}
|
|
452
452
|
if (data.eventType === _constants.LOCUSEVENT.HASH_TREE_DATA_UPDATED) {
|
|
453
453
|
// need to check if maybe this event indicates a move to/from breakout
|
|
454
|
-
var meetingForHashTreeMessage = (0, _locusInfo.findMeetingForHashTreeMessage)(data.stateElementsMessage, this.meetingCollection
|
|
455
|
-
// @ts-ignore
|
|
456
|
-
this.webex.internal.device.url);
|
|
454
|
+
var meetingForHashTreeMessage = (0, _locusInfo.findMeetingForHashTreeMessage)(data === null || data === void 0 ? void 0 : data.stateElementsMessage, this.meetingCollection);
|
|
457
455
|
if (meetingForHashTreeMessage) {
|
|
458
456
|
return meetingForHashTreeMessage;
|
|
459
457
|
}
|
|
@@ -493,7 +491,6 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
493
491
|
var _this2 = this;
|
|
494
492
|
var useRandomDelayForInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
495
493
|
var meeting = this.getCorrespondingMeetingByLocus(data);
|
|
496
|
-
|
|
497
494
|
// @ts-ignore
|
|
498
495
|
if (this.config.experimental.storeLocusHashTreeEventsForDebugging) {
|
|
499
496
|
(0, _meeting.storeEventForDebugging)('mercury', data);
|
|
@@ -573,6 +570,8 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
573
570
|
trigger: data.eventType === _constants.LOCUSEVENT.SDK_LOCUS_FROM_SYNC_MEETINGS ? 'get-loci-response' : 'locus-message',
|
|
574
571
|
locus: data.locus,
|
|
575
572
|
hashTreeMessage: data.stateElementsMessage
|
|
573
|
+
}, function (locus) {
|
|
574
|
+
meeting.finalizeMeetingAfterInitialLocusSetup(locus);
|
|
576
575
|
});
|
|
577
576
|
case 2:
|
|
578
577
|
_context3.next = 4;
|
|
@@ -825,46 +824,6 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
825
824
|
}
|
|
826
825
|
}
|
|
827
826
|
|
|
828
|
-
/**
|
|
829
|
-
* API to toggle TCP reachability, needs to be called before webex.meetings.register()
|
|
830
|
-
* @param {Boolean} newValue
|
|
831
|
-
* @private
|
|
832
|
-
* @memberof Meetings
|
|
833
|
-
* @returns {undefined}
|
|
834
|
-
*/
|
|
835
|
-
}, {
|
|
836
|
-
key: "_toggleTcpReachability",
|
|
837
|
-
value: function _toggleTcpReachability(newValue) {
|
|
838
|
-
if (typeof newValue !== 'boolean') {
|
|
839
|
-
return;
|
|
840
|
-
}
|
|
841
|
-
// @ts-ignore
|
|
842
|
-
if (this.config.experimental.enableTcpReachability !== newValue) {
|
|
843
|
-
// @ts-ignore
|
|
844
|
-
this.config.experimental.enableTcpReachability = newValue;
|
|
845
|
-
}
|
|
846
|
-
}
|
|
847
|
-
|
|
848
|
-
/**
|
|
849
|
-
* API to toggle TLS reachability, needs to be called before webex.meetings.register()
|
|
850
|
-
* @param {Boolean} newValue
|
|
851
|
-
* @private
|
|
852
|
-
* @memberof Meetings
|
|
853
|
-
* @returns {undefined}
|
|
854
|
-
*/
|
|
855
|
-
}, {
|
|
856
|
-
key: "_toggleTlsReachability",
|
|
857
|
-
value: function _toggleTlsReachability(newValue) {
|
|
858
|
-
if (typeof newValue !== 'boolean') {
|
|
859
|
-
return;
|
|
860
|
-
}
|
|
861
|
-
// @ts-ignore
|
|
862
|
-
if (this.config.experimental.enableTlsReachability !== newValue) {
|
|
863
|
-
// @ts-ignore
|
|
864
|
-
this.config.experimental.enableTlsReachability = newValue;
|
|
865
|
-
}
|
|
866
|
-
}
|
|
867
|
-
|
|
868
827
|
/**
|
|
869
828
|
* API to toggle backend ipv6 native support config, needs to be called before webex.meetings.register()
|
|
870
829
|
*
|
|
@@ -930,6 +889,29 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
930
889
|
}
|
|
931
890
|
}
|
|
932
891
|
|
|
892
|
+
/**
|
|
893
|
+
* API to toggle AV1 codec support for video slides in multistream,
|
|
894
|
+
* needs to be called before webex.meetings.joinWithMedia()
|
|
895
|
+
*
|
|
896
|
+
* @param {Boolean} newValue
|
|
897
|
+
* @private
|
|
898
|
+
* @memberof Meetings
|
|
899
|
+
* @returns {undefined}
|
|
900
|
+
*/
|
|
901
|
+
}, {
|
|
902
|
+
key: "_toggleEnableAv1SlidesSupport",
|
|
903
|
+
value: function _toggleEnableAv1SlidesSupport(newValue) {
|
|
904
|
+
if (typeof newValue !== 'boolean') {
|
|
905
|
+
return;
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
// @ts-ignore
|
|
909
|
+
if (this.config.enableAv1SlidesSupport !== newValue) {
|
|
910
|
+
// @ts-ignore
|
|
911
|
+
this.config.enableAv1SlidesSupport = newValue;
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
|
|
933
915
|
/**
|
|
934
916
|
* API to toggle stopping ICE Candidates Gathering after first relay candidate,
|
|
935
917
|
* needs to be called before webex.meetings.joinWithMedia()
|
|
@@ -1275,6 +1257,31 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1275
1257
|
return this.personalMeetingRoom;
|
|
1276
1258
|
}
|
|
1277
1259
|
|
|
1260
|
+
/**
|
|
1261
|
+
* Fetches site preferences for the provided Webex site, or the preferred Webex site.
|
|
1262
|
+
* This is used to determine capabilities of the site, such as whether scheduling a webinar is supported.
|
|
1263
|
+
*
|
|
1264
|
+
* @param {object} [options]
|
|
1265
|
+
* @param {string} [options.siteUrl] - Webex site URL. Defaults to preferredWebexSite, for example "cisco.webex.com".
|
|
1266
|
+
* @param {string} [options.siteName] - Site name query override. Defaults to the site name derived from siteUrl, for example "cisco" for "cisco.webex.com".
|
|
1267
|
+
* @param {SitePreferenceSelectOption[]} [options.selectOptions] - Preference sections to fetch. Defaults to 'scheduling'.
|
|
1268
|
+
* @returns {Promise<SitePreferencesResponse>} site preferences response body
|
|
1269
|
+
* @throws {ParameterError}
|
|
1270
|
+
* @public
|
|
1271
|
+
* @memberof Meetings
|
|
1272
|
+
* @example
|
|
1273
|
+
* const preferences = await webex.meetings.fetchSitePreferencesMeViaSite();
|
|
1274
|
+
* const supportScheduleWebinar = preferences?.scheduling?.supportScheduleWebinar;
|
|
1275
|
+
*/
|
|
1276
|
+
}, {
|
|
1277
|
+
key: "fetchSitePreferencesMeViaSite",
|
|
1278
|
+
value: function fetchSitePreferencesMeViaSite() {
|
|
1279
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1280
|
+
return this.request.fetchSitePreferencesMeViaSite(_objectSpread(_objectSpread({}, options), {}, {
|
|
1281
|
+
siteUrl: options.siteUrl || this.preferredWebexSite
|
|
1282
|
+
}));
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1278
1285
|
/**
|
|
1279
1286
|
* Returns basic information about a meeting that exists or
|
|
1280
1287
|
* used to exist in the MeetingCollection
|
|
@@ -1567,6 +1574,8 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1567
1574
|
isMeetingActive,
|
|
1568
1575
|
enableUnifiedMeetings,
|
|
1569
1576
|
meetingInfoOptions,
|
|
1577
|
+
shouldDeferMeetingInfoFetch,
|
|
1578
|
+
isOneOnOneCallLocus,
|
|
1570
1579
|
meetingAddedType,
|
|
1571
1580
|
_args4 = arguments,
|
|
1572
1581
|
_t2;
|
|
@@ -1621,16 +1630,18 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1621
1630
|
extraParams: infoExtraParams,
|
|
1622
1631
|
sendCAevents: !!(callStateForMetrics !== null && callStateForMetrics !== void 0 && callStateForMetrics.correlationId) // if client sends correlation id as argument of public create(), then it means that this meeting creation is part of a pre-join intent from user
|
|
1623
1632
|
};
|
|
1633
|
+
shouldDeferMeetingInfoFetch = type === _constants.DESTINATION_TYPE.LOCUS_ID && !(destination !== null && destination !== void 0 && destination.info);
|
|
1634
|
+
isOneOnOneCallLocus = type === _constants.DESTINATION_TYPE.LOCUS_ID && _util2.default.isOneOnOneCall(destination);
|
|
1624
1635
|
if (!meetingInfo) {
|
|
1625
1636
|
_context4.next = 2;
|
|
1626
1637
|
break;
|
|
1627
1638
|
}
|
|
1628
1639
|
meeting.injectMeetingInfo(meetingInfo, meetingInfoOptions, meetingLookupUrl);
|
|
1629
|
-
_context4.next =
|
|
1640
|
+
_context4.next = 6;
|
|
1630
1641
|
break;
|
|
1631
1642
|
case 2:
|
|
1632
|
-
if (!(type !== _constants.DESTINATION_TYPE.ONE_ON_ONE_CALL)) {
|
|
1633
|
-
_context4.next =
|
|
1643
|
+
if (!(type !== _constants.DESTINATION_TYPE.ONE_ON_ONE_CALL && !isOneOnOneCallLocus)) {
|
|
1644
|
+
_context4.next = 6;
|
|
1634
1645
|
break;
|
|
1635
1646
|
}
|
|
1636
1647
|
if (!(enableUnifiedMeetings && !isMeetingActive && useRandomDelayForInfo && waitingTime > 0)) {
|
|
@@ -1641,41 +1652,54 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1641
1652
|
return meeting.fetchMeetingInfo(meetingInfoOptions);
|
|
1642
1653
|
}, waitingTime);
|
|
1643
1654
|
meeting.parseMeetingInfo(undefined, destination);
|
|
1644
|
-
_context4.next =
|
|
1655
|
+
_context4.next = 6;
|
|
1645
1656
|
break;
|
|
1646
1657
|
case 3:
|
|
1658
|
+
if (shouldDeferMeetingInfoFetch) {
|
|
1659
|
+
_context4.next = 5;
|
|
1660
|
+
break;
|
|
1661
|
+
}
|
|
1647
1662
|
_context4.next = 4;
|
|
1648
1663
|
return meeting.fetchMeetingInfo(meetingInfoOptions);
|
|
1649
1664
|
case 4:
|
|
1650
|
-
_context4.next =
|
|
1665
|
+
_context4.next = 6;
|
|
1651
1666
|
break;
|
|
1652
1667
|
case 5:
|
|
1653
|
-
|
|
1668
|
+
_loggerProxy.default.logger.info('Meetings:index#createMeeting --> defer fetchMeetingInfo for incomplete locus, will do it after locus initialSetup');
|
|
1669
|
+
case 6:
|
|
1670
|
+
_context4.next = 10;
|
|
1671
|
+
break;
|
|
1672
|
+
case 7:
|
|
1673
|
+
_context4.prev = 7;
|
|
1654
1674
|
_t2 = _context4["catch"](1);
|
|
1655
1675
|
if (!(!(_t2 instanceof _captchaError.default) && !(_t2 instanceof _passwordError.default) && !(_t2 instanceof _permission.default) && !(_t2 instanceof _joinWebinarError.default) && !(_t2 instanceof _joinForbiddenError.default))) {
|
|
1656
|
-
_context4.next =
|
|
1676
|
+
_context4.next = 9;
|
|
1657
1677
|
break;
|
|
1658
1678
|
}
|
|
1659
1679
|
_loggerProxy.default.logger.info("Meetings:index#createMeeting --> Info Unable to fetch meeting info for ".concat(destination, "."));
|
|
1660
1680
|
if (!failOnMissingMeetingInfo) {
|
|
1661
|
-
_context4.next =
|
|
1681
|
+
_context4.next = 8;
|
|
1662
1682
|
break;
|
|
1663
1683
|
}
|
|
1664
1684
|
_loggerProxy.default.logger.info("Meetings:index#createMeeting --> Destroying meeting due to missing meeting info.");
|
|
1665
1685
|
// @ts-ignore
|
|
1666
1686
|
this.destroy(meeting, _constants.MEETING_REMOVED_REASON.MISSING_MEETING_INFO);
|
|
1667
1687
|
throw new _noMeetingInfo.default();
|
|
1668
|
-
case
|
|
1688
|
+
case 8:
|
|
1669
1689
|
// if there is no meeting info and no error should be thrown then we assume its a 1:1 call or wireless share
|
|
1670
1690
|
_loggerProxy.default.logger.info('Meetings:index#createMeeting --> Info assuming this destination is a 1:1 or wireless share');
|
|
1671
|
-
case
|
|
1691
|
+
case 9:
|
|
1672
1692
|
_loggerProxy.default.logger.debug("Meetings:index#createMeeting --> Debug ".concat(_t2, " fetching /meetingInfo for creation."));
|
|
1673
|
-
case
|
|
1674
|
-
_context4.prev =
|
|
1693
|
+
case 10:
|
|
1694
|
+
_context4.prev = 10;
|
|
1675
1695
|
// For type LOCUS_ID we need to parse the locus object to get the information
|
|
1676
1696
|
// about the caller and callee
|
|
1677
1697
|
// Meeting Added event will be created in `handleLocusEvent`
|
|
1678
|
-
if
|
|
1698
|
+
// Only emit MEETING_ADDED if the meeting still exists in the collection.
|
|
1699
|
+
// If fetchMeetingInfo failed and the meeting was destroyed in the catch block,
|
|
1700
|
+
// skip emitting to prevent orphaned meeting references on the consumer side.
|
|
1701
|
+
// @ts-ignore - getMeetingByType types value as object but accepts strings (same as handleLocusEvent)
|
|
1702
|
+
if (type !== _constants.DESTINATION_TYPE.LOCUS_ID && this.getMeetingByType(_constants._ID_, meeting.id)) {
|
|
1679
1703
|
if (!meeting.sipUri) {
|
|
1680
1704
|
meeting.setSipUri(destination);
|
|
1681
1705
|
}
|
|
@@ -1691,14 +1715,14 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1691
1715
|
type: meetingAddedType
|
|
1692
1716
|
});
|
|
1693
1717
|
}
|
|
1694
|
-
return _context4.finish(
|
|
1695
|
-
case
|
|
1718
|
+
return _context4.finish(10);
|
|
1719
|
+
case 11:
|
|
1696
1720
|
return _context4.abrupt("return", meeting);
|
|
1697
|
-
case
|
|
1721
|
+
case 12:
|
|
1698
1722
|
case "end":
|
|
1699
1723
|
return _context4.stop();
|
|
1700
1724
|
}
|
|
1701
|
-
}, _callee4, this, [[1,
|
|
1725
|
+
}, _callee4, this, [[1, 7, 10, 11]]);
|
|
1702
1726
|
}));
|
|
1703
1727
|
function createMeeting(_x4) {
|
|
1704
1728
|
return _createMeeting.apply(this, arguments);
|
|
@@ -1741,51 +1765,141 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1741
1765
|
*/
|
|
1742
1766
|
}, {
|
|
1743
1767
|
key: "syncMeetings",
|
|
1744
|
-
value: function
|
|
1745
|
-
var
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1768
|
+
value: (function () {
|
|
1769
|
+
var _syncMeetings = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
1770
|
+
var _this11 = this;
|
|
1771
|
+
var _ref4,
|
|
1772
|
+
_ref4$keepOnlyLocusMe,
|
|
1773
|
+
keepOnlyLocusMeetings,
|
|
1774
|
+
_ref4$skipHashTreeSyn,
|
|
1775
|
+
skipHashTreeSync,
|
|
1776
|
+
locusArray,
|
|
1777
|
+
activeLocusUrl,
|
|
1778
|
+
lociToUpdate,
|
|
1779
|
+
meetingsCollection,
|
|
1780
|
+
_loop,
|
|
1781
|
+
_i,
|
|
1782
|
+
_Object$values,
|
|
1783
|
+
remainingMeetings,
|
|
1784
|
+
syncPromises,
|
|
1785
|
+
_i2,
|
|
1786
|
+
_arr,
|
|
1787
|
+
meeting,
|
|
1788
|
+
_args6 = arguments,
|
|
1789
|
+
_t3;
|
|
1790
|
+
return _regenerator.default.wrap(function (_context6) {
|
|
1791
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
1792
|
+
case 0:
|
|
1793
|
+
_ref4 = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {}, _ref4$keepOnlyLocusMe = _ref4.keepOnlyLocusMeetings, keepOnlyLocusMeetings = _ref4$keepOnlyLocusMe === void 0 ? true : _ref4$keepOnlyLocusMe, _ref4$skipHashTreeSyn = _ref4.skipHashTreeSync, skipHashTreeSync = _ref4$skipHashTreeSyn === void 0 ? false : _ref4$skipHashTreeSyn;
|
|
1794
|
+
if (!this.webex.credentials.isUnverifiedGuest) {
|
|
1795
|
+
_context6.next = 1;
|
|
1796
|
+
break;
|
|
1797
|
+
}
|
|
1798
|
+
_loggerProxy.default.logger.info('Meetings:index#syncMeetings --> user is unverified guest, skipping calling Locus for meeting sync');
|
|
1799
|
+
_context6.next = 7;
|
|
1800
|
+
break;
|
|
1801
|
+
case 1:
|
|
1802
|
+
_context6.prev = 1;
|
|
1803
|
+
_context6.next = 2;
|
|
1804
|
+
return this.request.getActiveMeetings();
|
|
1805
|
+
case 2:
|
|
1806
|
+
locusArray = _context6.sent;
|
|
1807
|
+
activeLocusUrl = [];
|
|
1808
|
+
if (locusArray !== null && locusArray !== void 0 && locusArray.loci && locusArray.loci.length > 0) {
|
|
1809
|
+
lociToUpdate = this.sortLocusArrayToUpdate(locusArray.loci);
|
|
1810
|
+
lociToUpdate.forEach(function (locus) {
|
|
1811
|
+
activeLocusUrl.push(locus.url);
|
|
1812
|
+
_this11.handleLocusEvent({
|
|
1813
|
+
eventType: _constants.LOCUSEVENT.SDK_LOCUS_FROM_SYNC_MEETINGS,
|
|
1814
|
+
locus: locus,
|
|
1815
|
+
locusUrl: locus.url
|
|
1816
|
+
});
|
|
1817
|
+
});
|
|
1818
|
+
}
|
|
1819
|
+
meetingsCollection = this.meetingCollection.getAll();
|
|
1820
|
+
if (!((0, _keys.default)(meetingsCollection).length > 0)) {
|
|
1821
|
+
_context6.next = 5;
|
|
1822
|
+
break;
|
|
1823
|
+
}
|
|
1824
|
+
_loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
|
|
1825
|
+
var meeting, locusUrl, locusInfo, _locusInfo$info, _locusArray$loci, globalMeetingId;
|
|
1826
|
+
return _regenerator.default.wrap(function (_context5) {
|
|
1827
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1828
|
+
case 0:
|
|
1829
|
+
meeting = _Object$values[_i];
|
|
1830
|
+
// @ts-ignore
|
|
1831
|
+
locusUrl = meeting.locusUrl, locusInfo = meeting.locusInfo;
|
|
1832
|
+
if ((keepOnlyLocusMeetings || locusUrl) && !activeLocusUrl.includes(locusUrl)) {
|
|
1833
|
+
globalMeetingId = locusInfo === null || locusInfo === void 0 ? void 0 : (_locusInfo$info = locusInfo.info) === null || _locusInfo$info === void 0 ? void 0 : _locusInfo$info.globalMeetingId;
|
|
1834
|
+
if (globalMeetingId && locusArray !== null && locusArray !== void 0 && (_locusArray$loci = locusArray.loci) !== null && _locusArray$loci !== void 0 && _locusArray$loci.some(function (locus) {
|
|
1835
|
+
var _locus$info;
|
|
1836
|
+
return ((_locus$info = locus.info) === null || _locus$info === void 0 ? void 0 : _locus$info.globalMeetingId) === globalMeetingId;
|
|
1837
|
+
})) {
|
|
1838
|
+
// don't destroy the meeting as Locus API still returned some Locus that shares
|
|
1839
|
+
// the same globalMeetingId - that happens for example if a webinar user (who hasn't scheduled it)
|
|
1840
|
+
// is in a breakout and gets moved to a different breakout while we were offline
|
|
1841
|
+
} else {
|
|
1842
|
+
// destroy function also uploads logs
|
|
1843
|
+
// @ts-ignore
|
|
1844
|
+
_this11.destroy(meeting, _constants.MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
|
|
1845
|
+
}
|
|
1846
|
+
}
|
|
1847
|
+
case 1:
|
|
1848
|
+
case "end":
|
|
1849
|
+
return _context5.stop();
|
|
1850
|
+
}
|
|
1851
|
+
}, _loop);
|
|
1852
|
+
});
|
|
1853
|
+
_i = 0, _Object$values = (0, _values.default)(meetingsCollection);
|
|
1854
|
+
case 3:
|
|
1855
|
+
if (!(_i < _Object$values.length)) {
|
|
1856
|
+
_context6.next = 5;
|
|
1857
|
+
break;
|
|
1858
|
+
}
|
|
1859
|
+
return _context6.delegateYield(_loop(), "t0", 4);
|
|
1860
|
+
case 4:
|
|
1861
|
+
_i++;
|
|
1862
|
+
_context6.next = 3;
|
|
1863
|
+
break;
|
|
1864
|
+
case 5:
|
|
1865
|
+
_context6.next = 7;
|
|
1866
|
+
break;
|
|
1867
|
+
case 6:
|
|
1868
|
+
_context6.prev = 6;
|
|
1869
|
+
_t3 = _context6["catch"](1);
|
|
1870
|
+
_loggerProxy.default.logger.error("Meetings:index#syncMeetings --> failed to sync meetings, ".concat(_t3));
|
|
1871
|
+
throw _t3;
|
|
1872
|
+
case 7:
|
|
1873
|
+
if (skipHashTreeSync) {
|
|
1874
|
+
_context6.next = 8;
|
|
1875
|
+
break;
|
|
1876
|
+
}
|
|
1877
|
+
// Trigger hash tree syncs for all remaining meetings
|
|
1878
|
+
remainingMeetings = this.meetingCollection.getAll();
|
|
1879
|
+
syncPromises = [];
|
|
1880
|
+
for (_i2 = 0, _arr = (0, _values.default)(remainingMeetings); _i2 < _arr.length; _i2++) {
|
|
1881
|
+
meeting = _arr[_i2];
|
|
1882
|
+
if (meeting.locusInfo) {
|
|
1883
|
+
syncPromises.push(meeting.locusInfo.syncAllHashTreeDatasets());
|
|
1884
|
+
}
|
|
1885
|
+
}
|
|
1886
|
+
if (!(syncPromises.length > 0)) {
|
|
1887
|
+
_context6.next = 8;
|
|
1888
|
+
break;
|
|
1889
|
+
}
|
|
1890
|
+
_context6.next = 8;
|
|
1891
|
+
return _promise.default.all(syncPromises);
|
|
1892
|
+
case 8:
|
|
1893
|
+
case "end":
|
|
1894
|
+
return _context6.stop();
|
|
1781
1895
|
}
|
|
1782
|
-
}
|
|
1783
|
-
})
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
}
|
|
1787
|
-
|
|
1788
|
-
|
|
1896
|
+
}, _callee5, this, [[1, 6]]);
|
|
1897
|
+
}));
|
|
1898
|
+
function syncMeetings() {
|
|
1899
|
+
return _syncMeetings.apply(this, arguments);
|
|
1900
|
+
}
|
|
1901
|
+
return syncMeetings;
|
|
1902
|
+
}()
|
|
1789
1903
|
/**
|
|
1790
1904
|
* sort out locus array for initial creating
|
|
1791
1905
|
* @param {Array} loci original locus array
|
|
@@ -1793,6 +1907,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1793
1907
|
* @public
|
|
1794
1908
|
* @memberof Meetings
|
|
1795
1909
|
*/
|
|
1910
|
+
)
|
|
1796
1911
|
}, {
|
|
1797
1912
|
key: "sortLocusArrayToUpdate",
|
|
1798
1913
|
value: function sortLocusArrayToUpdate(loci) {
|
|
@@ -1807,8 +1922,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1807
1922
|
var lociToUpdate = (0, _toConsumableArray2.default)(mainLoci);
|
|
1808
1923
|
breakoutLoci.forEach(function (breakoutLocus) {
|
|
1809
1924
|
var associateMainLocus = mainLoci.find(function (mainLocus) {
|
|
1810
|
-
|
|
1811
|
-
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);
|
|
1925
|
+
return _util2.default.isMainAssociatedWithBreakout(mainLocus, breakoutLocus);
|
|
1812
1926
|
});
|
|
1813
1927
|
var existCorrespondingMeeting = _this12.getCorrespondingMeetingByLocus({
|
|
1814
1928
|
eventType: _constants.LOCUSEVENT.SDK_NO_EVENT,
|
|
@@ -1844,8 +1958,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1844
1958
|
return;
|
|
1845
1959
|
}
|
|
1846
1960
|
var existIndex = this.breakoutLocusForHandleLater.findIndex(function (breakoutLocus) {
|
|
1847
|
-
|
|
1848
|
-
return ((_breakoutLocus$contro3 = breakoutLocus.controls) === null || _breakoutLocus$contro3 === void 0 ? void 0 : (_breakoutLocus$contro4 = _breakoutLocus$contro3.breakout) === null || _breakoutLocus$contro4 === void 0 ? void 0 : _breakoutLocus$contro4.url) === ((_newCreatedLocus$cont = newCreatedLocus.controls) === null || _newCreatedLocus$cont === void 0 ? void 0 : (_newCreatedLocus$cont2 = _newCreatedLocus$cont.breakout) === null || _newCreatedLocus$cont2 === void 0 ? void 0 : _newCreatedLocus$cont2.url);
|
|
1961
|
+
return _util2.default.isMainAssociatedWithBreakout(newCreatedLocus, breakoutLocus);
|
|
1849
1962
|
});
|
|
1850
1963
|
if (existIndex < 0) {
|
|
1851
1964
|
return;
|