@webex/plugin-meetings 3.0.0-beta.26 → 3.0.0-beta.261
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/README.md +46 -8
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +114 -14
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +841 -19
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/errors/webex-errors.js +28 -7
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +5 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.js +196 -28
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +14 -2
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +109 -15
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +309 -18
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +112 -1
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +381 -62
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +224 -63
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +58 -116
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +60 -121
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +82 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +3022 -2795
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +230 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +256 -196
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +601 -417
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +70 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +189 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +1 -1
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +36 -36
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +22 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +372 -90
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +88 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +49 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +121 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +86 -5
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +316 -233
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +10 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -468
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +238 -49
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +49 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +52 -34
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +209 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +233 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/index.js +161 -57
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +17 -8
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +199 -154
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +23 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +112 -97
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +96 -36
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +51 -34
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +6 -6
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +13 -1
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +1 -6
- package/dist/types/constants.d.ts +155 -21
- package/dist/types/controls-options-manager/enums.d.ts +11 -1
- package/dist/types/controls-options-manager/index.d.ts +17 -1
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -7
- package/dist/types/index.d.ts +6 -4
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/index.d.ts +57 -4
- package/dist/types/locus-info/parser.d.ts +65 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -48
- package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
- package/dist/types/meeting/index.d.ts +344 -506
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +99 -23
- package/dist/types/meeting/request.d.ts +72 -43
- package/dist/types/meeting/util.d.ts +101 -1
- package/dist/types/meeting-info/index.d.ts +13 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/types/meetings/collection.d.ts +8 -0
- package/dist/types/meetings/index.d.ts +86 -12
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +13 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/members/collection.d.ts +5 -0
- package/dist/types/members/index.d.ts +35 -2
- package/dist/types/members/request.d.ts +73 -9
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +209 -1
- package/dist/types/metrics/constants.d.ts +9 -4
- package/dist/types/metrics/index.d.ts +4 -119
- package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
- package/dist/types/multistream/receiveSlot.d.ts +16 -12
- package/dist/types/multistream/receiveSlotManager.d.ts +19 -4
- package/dist/types/multistream/remoteMedia.d.ts +8 -29
- package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
- package/dist/types/multistream/sendSlotManager.d.ts +61 -0
- package/dist/types/reachability/index.d.ts +44 -7
- package/dist/types/reachability/request.d.ts +7 -3
- package/dist/types/reconnection-manager/index.d.ts +9 -0
- package/dist/types/recording-controller/index.d.ts +15 -1
- package/dist/types/recording-controller/util.d.ts +5 -4
- package/dist/types/roap/request.d.ts +15 -11
- package/dist/types/roap/turnDiscovery.d.ts +18 -1
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +47 -0
- package/dist/types/statsAnalyzer/index.d.ts +6 -1
- package/package.json +23 -20
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +44 -14
- package/src/breakouts/breakout.ts +87 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +710 -10
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/webex-errors.ts +27 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +4 -9
- package/src/constants.ts +178 -18
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +40 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +412 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +231 -39
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +100 -122
- package/src/media/properties.ts +70 -108
- package/src/meeting/in-meeting-actions.ts +163 -3
- package/src/meeting/index.ts +2471 -2306
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +229 -131
- package/src/meeting/request.ts +172 -121
- package/src/meeting/util.ts +588 -394
- package/src/meeting-info/index.ts +79 -8
- package/src/meeting-info/meeting-info-v2.ts +168 -14
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +23 -23
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +414 -108
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +49 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +127 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +107 -6
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/constants.ts +9 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +55 -18
- package/src/multistream/receiveSlotManager.ts +46 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +148 -30
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/reachability/index.ts +165 -37
- package/src/reachability/request.ts +17 -8
- package/src/reconnection-manager/index.ts +81 -54
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +23 -30
- package/src/roap/request.ts +100 -104
- package/src/roap/turnDiscovery.ts +51 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +73 -35
- package/src/statsAnalyzer/mqaUtil.ts +8 -10
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +320 -261
- package/test/integration/spec/space-meeting.js +76 -3
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +142 -24
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1545 -48
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +316 -43
- package/test/unit/spec/locus-info/index.js +1283 -33
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +62 -22
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +208 -17
- package/test/unit/spec/media/index.ts +104 -37
- package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
- package/test/unit/spec/meeting/index.js +4095 -1913
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +408 -208
- package/test/unit/spec/meeting/request.js +440 -45
- package/test/unit/spec/meeting/utils.js +679 -64
- package/test/unit/spec/meeting-info/index.js +293 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +517 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +14 -0
- package/test/unit/spec/meetings/index.js +941 -151
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +58 -4
- package/test/unit/spec/member/util.js +479 -35
- package/test/unit/spec/members/index.js +319 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +184 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
- package/test/unit/spec/multistream/receiveSlot.ts +72 -13
- package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
- package/test/unit/spec/multistream/remoteMedia.ts +30 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/reachability/index.ts +343 -9
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +84 -9
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +31 -51
- package/test/unit/spec/roap/request.ts +203 -85
- package/test/unit/spec/roap/turnDiscovery.ts +48 -13
- package/test/unit/spec/rtcMetrics/index.ts +68 -0
- package/test/unit/spec/stats-analyzer/index.js +29 -2
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +6 -3
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -299
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/meeting/effectsState.d.ts +0 -42
- package/dist/types/metrics/config.d.ts +0 -178
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/test/unit/spec/meeting/effectsState.js +0 -285
package/dist/meetings/index.js
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
|
|
3
4
|
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
5
|
+
var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
6
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
8
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
9
|
+
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
4
10
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
11
|
+
var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
|
|
5
12
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
13
|
_Object$defineProperty(exports, "__esModule", {
|
|
7
14
|
value: true
|
|
8
15
|
});
|
|
9
16
|
exports.default = void 0;
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
11
17
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
12
18
|
var _now = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/date/now"));
|
|
13
19
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
14
20
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
21
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
22
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
|
|
15
23
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
16
24
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
|
|
17
25
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
@@ -22,13 +30,14 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
|
|
|
22
30
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
23
31
|
require("@webex/internal-plugin-mercury");
|
|
24
32
|
require("@webex/internal-plugin-conversation");
|
|
33
|
+
require("@webex/internal-plugin-metrics");
|
|
25
34
|
var _webexCore = require("@webex/webex-core");
|
|
26
35
|
var _internalMediaCore = require("@webex/internal-media-core");
|
|
36
|
+
var mediaHelpersModule = _interopRequireWildcard(require("@webex/media-helpers"));
|
|
27
37
|
require("webrtc-adapter");
|
|
28
38
|
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
29
|
-
var _config = require("../metrics/config");
|
|
30
39
|
var _loggerConfig = _interopRequireDefault(require("../common/logs/logger-config"));
|
|
31
|
-
var
|
|
40
|
+
var _config = _interopRequireDefault(require("../common/config"));
|
|
32
41
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
33
42
|
var _request = _interopRequireDefault(require("../common/logs/request"));
|
|
34
43
|
var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
|
|
@@ -46,6 +55,12 @@ var _passwordError = _interopRequireDefault(require("../common/errors/password-e
|
|
|
46
55
|
var _captchaError = _interopRequireDefault(require("../common/errors/captcha-error"));
|
|
47
56
|
var _collection = _interopRequireDefault(require("./collection"));
|
|
48
57
|
var _util2 = _interopRequireDefault(require("./util"));
|
|
58
|
+
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
59
|
+
var _webexErrors = require("../common/errors/webex-errors");
|
|
60
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
61
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
62
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
63
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
49
64
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
50
65
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
51
66
|
var mediaLogger;
|
|
@@ -157,13 +172,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
157
172
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
158
173
|
|
|
159
174
|
/**
|
|
160
|
-
* The
|
|
175
|
+
* The webrtc-core media helpers. This is a temporary solution required for the SDK sample app
|
|
176
|
+
* to be able to call media helper functions.
|
|
177
|
+
*
|
|
161
178
|
* @instance
|
|
162
179
|
* @type {Object}
|
|
163
180
|
* @private
|
|
164
181
|
* @memberof Meetings
|
|
165
182
|
*/
|
|
166
|
-
// @ts-ignore
|
|
167
183
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loggerRequest", void 0);
|
|
168
184
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "media", void 0);
|
|
169
185
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingCollection", void 0);
|
|
@@ -174,7 +190,61 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
174
190
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "request", void 0);
|
|
175
191
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "geoHintInfo", void 0);
|
|
176
192
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingInfo", void 0);
|
|
193
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaHelpers", void 0);
|
|
194
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "breakoutLocusForHandleLater", void 0);
|
|
177
195
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
|
|
196
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createNoiseReductionEffect", /*#__PURE__*/function () {
|
|
197
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
|
|
198
|
+
var authToken;
|
|
199
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
200
|
+
while (1) switch (_context.prev = _context.next) {
|
|
201
|
+
case 0:
|
|
202
|
+
// @ts-ignore
|
|
203
|
+
authToken = _this.webex.credentials.supertoken.access_token;
|
|
204
|
+
return _context.abrupt("return", new mediaHelpersModule.NoiseReductionEffect(_objectSpread({
|
|
205
|
+
authToken: authToken
|
|
206
|
+
}, options)));
|
|
207
|
+
case 2:
|
|
208
|
+
case "end":
|
|
209
|
+
return _context.stop();
|
|
210
|
+
}
|
|
211
|
+
}, _callee);
|
|
212
|
+
}));
|
|
213
|
+
return function (_x) {
|
|
214
|
+
return _ref.apply(this, arguments);
|
|
215
|
+
};
|
|
216
|
+
}());
|
|
217
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createVirtualBackgroundEffect", /*#__PURE__*/function () {
|
|
218
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
|
|
219
|
+
var authToken;
|
|
220
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
221
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
222
|
+
case 0:
|
|
223
|
+
// @ts-ignore
|
|
224
|
+
authToken = _this.webex.credentials.supertoken.access_token;
|
|
225
|
+
return _context2.abrupt("return", new mediaHelpersModule.VirtualBackgroundEffect(_objectSpread({
|
|
226
|
+
authToken: authToken
|
|
227
|
+
}, options)));
|
|
228
|
+
case 2:
|
|
229
|
+
case "end":
|
|
230
|
+
return _context2.stop();
|
|
231
|
+
}
|
|
232
|
+
}, _callee2);
|
|
233
|
+
}));
|
|
234
|
+
return function (_x2) {
|
|
235
|
+
return _ref2.apply(this, arguments);
|
|
236
|
+
};
|
|
237
|
+
}());
|
|
238
|
+
_this.mediaHelpers = mediaHelpersModule;
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* The Meetings request to interact with server
|
|
242
|
+
* @instance
|
|
243
|
+
* @type {Object}
|
|
244
|
+
* @private
|
|
245
|
+
* @memberof Meetings
|
|
246
|
+
*/
|
|
247
|
+
// @ts-ignore
|
|
178
248
|
_this.request = new _request2.default({}, {
|
|
179
249
|
parent: _this.webex
|
|
180
250
|
});
|
|
@@ -198,15 +268,17 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
198
268
|
* @memberof Meetings
|
|
199
269
|
*/
|
|
200
270
|
_this.personalMeetingRoom = null;
|
|
271
|
+
|
|
201
272
|
/**
|
|
202
|
-
* The Reachability object to interact with server
|
|
273
|
+
* The Reachability object to interact with server
|
|
203
274
|
* starts as null
|
|
204
275
|
* @instance
|
|
205
276
|
* @type {Object}
|
|
206
277
|
* @private
|
|
207
278
|
* @memberof Meetings
|
|
208
279
|
*/
|
|
209
|
-
|
|
280
|
+
// @ts-ignore
|
|
281
|
+
_this.reachability = new _reachability.default(_this.webex);
|
|
210
282
|
|
|
211
283
|
/**
|
|
212
284
|
* If the meetings plugin has been registered and listening via {@link Meetings#register}
|
|
@@ -235,50 +307,152 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
235
307
|
* @memberof Meetings
|
|
236
308
|
*/
|
|
237
309
|
_this.media = {
|
|
238
|
-
getUserMedia: _media.default.getUserMedia
|
|
239
|
-
getSupportedDevice: _media.default.getSupportedDevice
|
|
310
|
+
getUserMedia: _media.default.getUserMedia
|
|
240
311
|
};
|
|
241
312
|
_this.onReady();
|
|
242
313
|
return _this;
|
|
243
314
|
}
|
|
244
315
|
|
|
245
316
|
/**
|
|
246
|
-
*
|
|
247
|
-
* @param {Object}
|
|
248
|
-
* @param {
|
|
249
|
-
* @
|
|
250
|
-
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
251
|
-
* @param {String} data.eventType
|
|
252
|
-
* @returns {undefined}
|
|
317
|
+
* check whether you need to handle this main session's locus data or not
|
|
318
|
+
* @param {Object} meeting current meeting data
|
|
319
|
+
* @param {Object} newLocus new locus data
|
|
320
|
+
* @returns {boolean}
|
|
253
321
|
* @private
|
|
254
322
|
* @memberof Meetings
|
|
255
323
|
*/
|
|
256
324
|
(0, _createClass2.default)(Meetings, [{
|
|
257
|
-
key: "
|
|
258
|
-
value: function
|
|
259
|
-
var
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
var
|
|
264
|
-
|
|
325
|
+
key: "isNeedHandleMainLocus",
|
|
326
|
+
value: function isNeedHandleMainLocus(meeting, newLocus) {
|
|
327
|
+
var _newLocus$controls, _newLocus$controls$br, _newLocus$self, _newLocus$self2, _newLocus$self3, _breakoutLocus$joined, _newLocus$self4;
|
|
328
|
+
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;
|
|
329
|
+
var breakoutLocus = this.meetingCollection.getActiveBreakoutLocus(breakoutUrl);
|
|
330
|
+
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_;
|
|
331
|
+
var isSelfMoved = (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self2 = newLocus.self) === null || _newLocus$self2 === void 0 ? void 0 : _newLocus$self2.state) === _constants._LEFT_ && (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self3 = newLocus.self) === null || _newLocus$self3 === void 0 ? void 0 : _newLocus$self3.reason) === _constants._MOVED_;
|
|
332
|
+
// @ts-ignore
|
|
333
|
+
var deviceFromNewLocus = _util2.default.getThisDevice(newLocus, this.webex.internal.device.url);
|
|
334
|
+
var isResourceMovedOnThisDevice = (deviceFromNewLocus === null || deviceFromNewLocus === void 0 ? void 0 : deviceFromNewLocus.state) === _constants._LEFT_ && (deviceFromNewLocus === null || deviceFromNewLocus === void 0 ? void 0 : deviceFromNewLocus.reason) === _constants._MOVED_;
|
|
335
|
+
var isNewLocusJoinThisDevice = _util2.default.joinedOnThisDevice(meeting, newLocus,
|
|
336
|
+
// @ts-ignore
|
|
337
|
+
this.webex.internal.device.url);
|
|
338
|
+
var isBreakoutLocusJoinThisDevice = (breakoutLocus === null || breakoutLocus === void 0 ? void 0 : (_breakoutLocus$joined = breakoutLocus.joinedWith) === null || _breakoutLocus$joined === void 0 ? void 0 : _breakoutLocus$joined.correlationId) && breakoutLocus.joinedWith.correlationId === (meeting === null || meeting === void 0 ? void 0 : meeting.correlationId);
|
|
339
|
+
if (isSelfJoined && isNewLocusJoinThisDevice) {
|
|
340
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> self this device shown as JOINED in the main session');
|
|
341
|
+
if (breakoutLocus !== null && breakoutLocus !== void 0 && breakoutLocus.joinedWith && deviceFromNewLocus) {
|
|
342
|
+
var _breakoutLocus$joined2, _deviceFromNewLocus$r;
|
|
343
|
+
var breakoutReplaceAt = ((_breakoutLocus$joined2 = breakoutLocus.joinedWith.replaces) === null || _breakoutLocus$joined2 === void 0 ? void 0 : _breakoutLocus$joined2.length) > 0 ? breakoutLocus.joinedWith.replaces[0].replaceAt : '';
|
|
344
|
+
var newLocusReplaceAt = ((_deviceFromNewLocus$r = deviceFromNewLocus.replaces) === null || _deviceFromNewLocus$r === void 0 ? void 0 : _deviceFromNewLocus$r.length) > 0 ? deviceFromNewLocus.replaces[0].replaceAt : '';
|
|
345
|
+
if (breakoutReplaceAt && newLocusReplaceAt && breakoutReplaceAt > newLocusReplaceAt) {
|
|
346
|
+
_loggerProxy.default.logger.log("Meetings:index#isNeedHandleMainLocus --> this is expired main joined status locus_dto replacedAt ".concat(newLocusReplaceAt, " bo replacedAt ").concat(breakoutReplaceAt));
|
|
347
|
+
return false;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
return true;
|
|
351
|
+
}
|
|
352
|
+
if (isBreakoutLocusJoinThisDevice) {
|
|
353
|
+
_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));
|
|
354
|
+
return false;
|
|
355
|
+
}
|
|
356
|
+
if (isSelfMoved && (newLocus !== null && newLocus !== void 0 && (_newLocus$self4 = newLocus.self) !== null && _newLocus$self4 !== void 0 && _newLocus$self4.removed || isResourceMovedOnThisDevice)) {
|
|
357
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> self moved main locus with self removed status or with device resource moved, not need to handle');
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
if (isSelfJoined && isResourceMovedOnThisDevice) {
|
|
361
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> self device left&moved in main locus with self joined status, not need to handle');
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> this is a normal main session locusDTO update case');
|
|
365
|
+
return true;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* check whether you need to handle this locus data or not
|
|
370
|
+
* @param {Object} meeting old locus data
|
|
371
|
+
* @param {Object} newLocus new locus data
|
|
372
|
+
* @returns {boolean}
|
|
373
|
+
* @private
|
|
374
|
+
* @memberof Meetings
|
|
375
|
+
*/
|
|
376
|
+
}, {
|
|
377
|
+
key: "isNeedHandleLocusDTO",
|
|
378
|
+
value: function isNeedHandleLocusDTO(meeting, newLocus) {
|
|
379
|
+
if (newLocus) {
|
|
380
|
+
var _newLocus$self5, _newLocus$self6;
|
|
381
|
+
var isNewLocusAsBreakout = _util2.default.isBreakoutLocusDTO(newLocus);
|
|
382
|
+
var isSelfMoved = (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self5 = newLocus.self) === null || _newLocus$self5 === void 0 ? void 0 : _newLocus$self5.state) === _constants._LEFT_ && (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self6 = newLocus.self) === null || _newLocus$self6 === void 0 ? void 0 : _newLocus$self6.reason) === _constants._MOVED_;
|
|
383
|
+
if (!meeting) {
|
|
384
|
+
if (isNewLocusAsBreakout) {
|
|
385
|
+
var _newLocus$fullState, _newLocus$self7;
|
|
386
|
+
_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));
|
|
387
|
+
return ((_newLocus$self7 = newLocus.self) === null || _newLocus$self7 === void 0 ? void 0 : _newLocus$self7.state) === _constants._JOINED_;
|
|
388
|
+
}
|
|
389
|
+
return this.isNeedHandleMainLocus(meeting, newLocus);
|
|
390
|
+
}
|
|
391
|
+
if (!isNewLocusAsBreakout) {
|
|
392
|
+
return this.isNeedHandleMainLocus(meeting, newLocus);
|
|
393
|
+
}
|
|
394
|
+
return !isSelfMoved;
|
|
395
|
+
}
|
|
396
|
+
return true;
|
|
397
|
+
}
|
|
265
398
|
|
|
399
|
+
/**
|
|
400
|
+
* get corresponding meeting object by locus data
|
|
401
|
+
* @param {Object} data a locus event
|
|
402
|
+
* @param {String} data.locusUrl
|
|
403
|
+
* @param {Object} data.locus
|
|
404
|
+
* @returns {Object}
|
|
405
|
+
* @private
|
|
406
|
+
* @memberof Meetings
|
|
407
|
+
*/
|
|
408
|
+
}, {
|
|
409
|
+
key: "getCorrespondingMeetingByLocus",
|
|
410
|
+
value: function getCorrespondingMeetingByLocus(data) {
|
|
411
|
+
var _data$locus$info, _data$locus, _data$locus$info2;
|
|
266
412
|
// getting meeting by correlationId. This will happen for the new event
|
|
267
413
|
// Either the locus
|
|
268
414
|
// TODO : Add check for the callBack Address
|
|
269
|
-
|
|
415
|
+
return this.meetingCollection.getByKey(_constants.LOCUS_URL, data.locusUrl) ||
|
|
270
416
|
// @ts-ignore
|
|
271
417
|
this.meetingCollection.getByKey(_constants.CORRELATION_ID,
|
|
272
418
|
// @ts-ignore
|
|
273
|
-
_util2.default.checkForCorrelationId(this.webex.internal.device.url, data.locus)) || this.meetingCollection.getByKey(_constants.SIP_URI, data.locus.self && data.locus.self.callbackInfo && data.locus.self.callbackInfo.callbackAddress) || ((_data$locus$info = data.locus.info) !== null && _data$locus$info !== void 0 && _data$locus$info.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(_constants.CONVERSATION_URL, data.locus.conversationUrl));
|
|
419
|
+
_util2.default.checkForCorrelationId(this.webex.internal.device.url, data.locus)) || this.meetingCollection.getByKey(_constants.SIP_URI, data.locus.self && data.locus.self.callbackInfo && data.locus.self.callbackInfo.callbackAddress) || ((_data$locus$info = data.locus.info) !== null && _data$locus$info !== void 0 && _data$locus$info.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(_constants.CONVERSATION_URL, data.locus.conversationUrl)) || this.meetingCollection.getByKey(_constants.MEETINGNUMBER, (_data$locus = data.locus) === null || _data$locus === void 0 ? void 0 : (_data$locus$info2 = _data$locus.info) === null || _data$locus$info2 === void 0 ? void 0 : _data$locus$info2.webExMeetingId);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* handle locus events and takes meeting actions with them as they come in
|
|
424
|
+
* @param {Object} data a locus event
|
|
425
|
+
* @param {String} data.locusUrl
|
|
426
|
+
* @param {Object} data.locus
|
|
427
|
+
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
428
|
+
* @param {String} data.eventType
|
|
429
|
+
* @returns {undefined}
|
|
430
|
+
* @private
|
|
431
|
+
* @memberof Meetings
|
|
432
|
+
*/
|
|
433
|
+
}, {
|
|
434
|
+
key: "handleLocusEvent",
|
|
435
|
+
value: function handleLocusEvent(data) {
|
|
436
|
+
var _data$locus2,
|
|
437
|
+
_data$locus2$replaces,
|
|
438
|
+
_this2 = this;
|
|
439
|
+
var useRandomDelayForInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
440
|
+
var meeting = this.getCorrespondingMeetingByLocus(data);
|
|
274
441
|
|
|
275
442
|
// Special case when locus has got replaced, This only happend once if a replace locus exists
|
|
276
443
|
// https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-changing-mid-call
|
|
277
444
|
|
|
278
|
-
if (!meeting && ((_data$
|
|
445
|
+
if (!meeting && ((_data$locus2 = data.locus) === null || _data$locus2 === void 0 ? void 0 : (_data$locus2$replaces = _data$locus2.replaces) === null || _data$locus2$replaces === void 0 ? void 0 : _data$locus2$replaces.length) > 0) {
|
|
279
446
|
// Always the last element in the replace is the active one
|
|
280
447
|
meeting = this.meetingCollection.getByKey(_constants.LOCUS_URL, data.locus.replaces[data.locus.replaces.length - 1].locusUrl);
|
|
281
448
|
}
|
|
449
|
+
if (meeting && !_util2.default.isBreakoutLocusDTO(data.locus)) {
|
|
450
|
+
meeting.locusInfo.updateMainSessionLocusCache(data.locus);
|
|
451
|
+
}
|
|
452
|
+
if (!this.isNeedHandleLocusDTO(meeting, data.locus)) {
|
|
453
|
+
_loggerProxy.default.logger.log("Meetings:index#handleLocusEvent --> doesn't need to process locus event");
|
|
454
|
+
return;
|
|
455
|
+
}
|
|
282
456
|
if (!meeting) {
|
|
283
457
|
// TODO: create meeting when we get a meeting object
|
|
284
458
|
// const checkForEnded = (locus) => {
|
|
@@ -318,6 +492,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
318
492
|
|
|
319
493
|
// It's a new meeting so initialize the locus data
|
|
320
494
|
meeting.locusInfo.initialSetup(data.locus);
|
|
495
|
+
_this2.checkHandleBreakoutLocus(data.locus);
|
|
321
496
|
}).catch(function (e) {
|
|
322
497
|
_loggerProxy.default.logger.error(e);
|
|
323
498
|
}).finally(function () {
|
|
@@ -325,11 +500,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
325
500
|
// because the other user left so before sending 'added' event make sure it exists in the collection
|
|
326
501
|
|
|
327
502
|
if (_this2.getMeetingByType(_constants._ID_, meeting.id)) {
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
trigger:
|
|
503
|
+
// @ts-ignore
|
|
504
|
+
_this2.webex.internal.newMetrics.submitClientEvent({
|
|
505
|
+
name: 'client.call.remote-started',
|
|
506
|
+
payload: {
|
|
507
|
+
trigger: 'mercury-event'
|
|
508
|
+
},
|
|
509
|
+
options: {
|
|
510
|
+
meetingId: meeting.id
|
|
333
511
|
}
|
|
334
512
|
});
|
|
335
513
|
_triggerProxy.default.trigger(_this2, {
|
|
@@ -443,7 +621,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
443
621
|
// @ts-ignore
|
|
444
622
|
this.webex.once(_constants.READY, function () {
|
|
445
623
|
// @ts-ignore
|
|
446
|
-
|
|
624
|
+
_config.default.set(_this4.config);
|
|
447
625
|
// @ts-ignore
|
|
448
626
|
_loggerConfig.default.set(_this4.config.logging);
|
|
449
627
|
// @ts-ignore
|
|
@@ -480,7 +658,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
480
658
|
disableNotifications: true
|
|
481
659
|
});
|
|
482
660
|
// @ts-ignore
|
|
483
|
-
_metrics.default.initialSetup(_this4.
|
|
661
|
+
_metrics.default.initialSetup(_this4.webex);
|
|
484
662
|
});
|
|
485
663
|
}
|
|
486
664
|
|
|
@@ -630,6 +808,17 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
630
808
|
);
|
|
631
809
|
}
|
|
632
810
|
|
|
811
|
+
/**
|
|
812
|
+
* Creates a noise reduction effect
|
|
813
|
+
*
|
|
814
|
+
* @param {INoiseReductionEffect} options optional custom effect options
|
|
815
|
+
* @returns {Promise<effect>} noise reduction effect.
|
|
816
|
+
* @public
|
|
817
|
+
* @memberof Meetings
|
|
818
|
+
*/
|
|
819
|
+
}, {
|
|
820
|
+
key: "uploadLogs",
|
|
821
|
+
value:
|
|
633
822
|
/**
|
|
634
823
|
* Uploads logs to the webex services for tracking
|
|
635
824
|
* @param {Object} [options={}]
|
|
@@ -642,14 +831,13 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
642
831
|
* @param {String} [options.orgId] org id
|
|
643
832
|
* @returns {String} feedback ID logs were submitted under
|
|
644
833
|
*/
|
|
645
|
-
|
|
646
|
-
key: "uploadLogs",
|
|
647
|
-
value: function uploadLogs() {
|
|
834
|
+
function uploadLogs() {
|
|
648
835
|
var _this7 = this;
|
|
649
836
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
650
837
|
_loggerProxy.default.logger.info('Meetings:index#uploadLogs --> uploading logs');
|
|
651
838
|
return this.loggerRequest.uploadLogs(options).then(function (uploadResult) {
|
|
652
839
|
_loggerProxy.default.logger.info('Meetings:index#uploadLogs --> Upload logs for meeting completed.', uploadResult);
|
|
840
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.UPLOAD_LOGS_SUCCESS, options);
|
|
653
841
|
_triggerProxy.default.trigger(_this7, {
|
|
654
842
|
file: 'meetings',
|
|
655
843
|
function: 'uploadLogs'
|
|
@@ -667,29 +855,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
667
855
|
meetingId: options.meetingId,
|
|
668
856
|
reason: uploadError
|
|
669
857
|
});
|
|
670
|
-
_metrics.default.sendBehavioralMetric(_constants2.default.UPLOAD_LOGS_FAILURE, {
|
|
671
|
-
// @ts-ignore - seems like typo
|
|
672
|
-
meetingId: options.meetingsId,
|
|
858
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.UPLOAD_LOGS_FAILURE, _objectSpread(_objectSpread({}, options), {}, {
|
|
673
859
|
reason: uploadError.message,
|
|
674
860
|
stack: uploadError.stack,
|
|
675
861
|
code: uploadError.code
|
|
676
|
-
});
|
|
862
|
+
}));
|
|
677
863
|
});
|
|
678
864
|
}
|
|
679
865
|
|
|
680
|
-
/**
|
|
681
|
-
* initializes the reachability instance for Meetings
|
|
682
|
-
* @returns {undefined}
|
|
683
|
-
* @public
|
|
684
|
-
* @memberof Meetings
|
|
685
|
-
*/
|
|
686
|
-
}, {
|
|
687
|
-
key: "setReachability",
|
|
688
|
-
value: function setReachability() {
|
|
689
|
-
// @ts-ignore
|
|
690
|
-
this.reachability = new _reachability.default(this.webex);
|
|
691
|
-
}
|
|
692
|
-
|
|
693
866
|
/**
|
|
694
867
|
* gets the reachability instance for Meetings
|
|
695
868
|
* @returns {Reachability}
|
|
@@ -711,9 +884,6 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
711
884
|
}, {
|
|
712
885
|
key: "startReachability",
|
|
713
886
|
value: function startReachability() {
|
|
714
|
-
if (!this.reachability) {
|
|
715
|
-
this.setReachability();
|
|
716
|
-
}
|
|
717
887
|
return this.getReachability().gatherReachability();
|
|
718
888
|
}
|
|
719
889
|
|
|
@@ -747,6 +917,23 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
747
917
|
if (res) {
|
|
748
918
|
_this9.preferredWebexSite = _util2.default.parseDefaultSiteFromMeetingPreferences(res);
|
|
749
919
|
}
|
|
920
|
+
|
|
921
|
+
// fall back to getting the preferred site from the user information
|
|
922
|
+
if (!_this9.preferredWebexSite) {
|
|
923
|
+
// @ts-ignore
|
|
924
|
+
return _this9.webex.internal.user.get().then(function (user) {
|
|
925
|
+
var _user$userPreferences, _user$userPreferences2;
|
|
926
|
+
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;
|
|
927
|
+
if (preferredWebexSite) {
|
|
928
|
+
_this9.preferredWebexSite = preferredWebexSite;
|
|
929
|
+
} else {
|
|
930
|
+
throw new Error('site not found');
|
|
931
|
+
}
|
|
932
|
+
}).catch(function () {
|
|
933
|
+
_loggerProxy.default.logger.error('Failed to fetch preferred site from user - no site will be set');
|
|
934
|
+
});
|
|
935
|
+
}
|
|
936
|
+
return _promise.default.resolve();
|
|
750
937
|
});
|
|
751
938
|
}
|
|
752
939
|
|
|
@@ -786,9 +973,11 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
786
973
|
|
|
787
974
|
/**
|
|
788
975
|
* Create a meeting.
|
|
789
|
-
* @param {string} destination - sipURL,
|
|
976
|
+
* @param {string} destination - sipURL, phonenumber, or locus object}
|
|
790
977
|
* @param {string} [type] - the optional specified type, such as locusId
|
|
791
978
|
* @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
|
|
979
|
+
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
980
|
+
* @param {string} correlationId - the optional specified correlationId
|
|
792
981
|
* @returns {Promise<Meeting>} A new Meeting.
|
|
793
982
|
* @public
|
|
794
983
|
* @memberof Meetings
|
|
@@ -799,6 +988,8 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
799
988
|
var _this10 = this;
|
|
800
989
|
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
801
990
|
var useRandomDelayForInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
991
|
+
var infoExtraParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
992
|
+
var correlationId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
|
|
802
993
|
// TODO: type should be from a dictionary
|
|
803
994
|
|
|
804
995
|
// Validate meeting information based on the provided destination and
|
|
@@ -808,7 +999,10 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
808
999
|
return this.meetingInfo.fetchInfoOptions(destination, type)
|
|
809
1000
|
// Catch a failure to fetch info options.
|
|
810
1001
|
.catch(function (error) {
|
|
811
|
-
_loggerProxy.default.logger.
|
|
1002
|
+
_loggerProxy.default.logger.error("Meetings:index#create --> ERROR, unable to determine info options: ".concat(error.message));
|
|
1003
|
+
if (error instanceof _webexErrors.SpaceIDDeprecatedError) {
|
|
1004
|
+
throw new _webexErrors.SpaceIDDeprecatedError();
|
|
1005
|
+
}
|
|
812
1006
|
}).then(function () {
|
|
813
1007
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
814
1008
|
// Normalize the destination.
|
|
@@ -837,7 +1031,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
837
1031
|
// Validate if a meeting was found.
|
|
838
1032
|
if (!meeting) {
|
|
839
1033
|
// Create a meeting based on the normalized destination and type.
|
|
840
|
-
return _this10.createMeeting(targetDest, type, useRandomDelayForInfo).then(function (createdMeeting) {
|
|
1034
|
+
return _this10.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams, correlationId).then(function (createdMeeting) {
|
|
841
1035
|
// If the meeting was successfully created.
|
|
842
1036
|
if (createdMeeting && createdMeeting.on) {
|
|
843
1037
|
// Create a destruction event for the meeting.
|
|
@@ -889,6 +1083,8 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
889
1083
|
* @param {String} destination see create()
|
|
890
1084
|
* @param {String} type see create()
|
|
891
1085
|
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
1086
|
+
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
1087
|
+
* @param {String} correlationId the optional specified correlationId
|
|
892
1088
|
* @returns {Promise} a new meeting instance complete with meeting info and destination
|
|
893
1089
|
* @private
|
|
894
1090
|
* @memberof Meetings
|
|
@@ -896,9 +1092,11 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
896
1092
|
}, {
|
|
897
1093
|
key: "createMeeting",
|
|
898
1094
|
value: function () {
|
|
899
|
-
var _createMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
1095
|
+
var _createMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(destination) {
|
|
900
1096
|
var type,
|
|
901
1097
|
useRandomDelayForInfo,
|
|
1098
|
+
infoExtraParams,
|
|
1099
|
+
correlationId,
|
|
902
1100
|
meeting,
|
|
903
1101
|
_destination$fullStat,
|
|
904
1102
|
waitingTime,
|
|
@@ -910,12 +1108,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
910
1108
|
isMeetingActive,
|
|
911
1109
|
enableUnifiedMeetings,
|
|
912
1110
|
meetingAddedType,
|
|
913
|
-
|
|
914
|
-
return _regenerator.default.wrap(function
|
|
915
|
-
while (1) switch (
|
|
1111
|
+
_args3 = arguments;
|
|
1112
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
1113
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
916
1114
|
case 0:
|
|
917
|
-
type =
|
|
918
|
-
useRandomDelayForInfo =
|
|
1115
|
+
type = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null;
|
|
1116
|
+
useRandomDelayForInfo = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : false;
|
|
1117
|
+
infoExtraParams = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {};
|
|
1118
|
+
correlationId = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : undefined;
|
|
919
1119
|
meeting = new _meeting.default({
|
|
920
1120
|
// @ts-ignore
|
|
921
1121
|
userId: this.webex.internal.device.userId,
|
|
@@ -927,13 +1127,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
927
1127
|
// pass the locus object if present
|
|
928
1128
|
meetingInfoProvider: this.meetingInfo,
|
|
929
1129
|
destination: destination,
|
|
930
|
-
destinationType: type
|
|
1130
|
+
destinationType: type,
|
|
1131
|
+
correlationId: correlationId
|
|
931
1132
|
}, {
|
|
932
1133
|
// @ts-ignore
|
|
933
1134
|
parent: this.webex
|
|
934
1135
|
});
|
|
935
1136
|
this.meetingCollection.set(meeting);
|
|
936
|
-
|
|
1137
|
+
_context3.prev = 6;
|
|
937
1138
|
// if no participant has joined the scheduled meeting (meaning meeting is not active) and we get a locusEvent,
|
|
938
1139
|
// it means the meeting will start in 5-6 min. In that case, we want to fetchMeetingInfo
|
|
939
1140
|
// between 5 and 2 min (random between 3 minutes) before the meeting starts
|
|
@@ -950,32 +1151,38 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
950
1151
|
isMeetingActive = !!((_destination$fullStat = destination.fullState) !== null && _destination$fullStat !== void 0 && _destination$fullStat.active); // @ts-ignore
|
|
951
1152
|
enableUnifiedMeetings = this.config.experimental.enableUnifiedMeetings;
|
|
952
1153
|
if (!(enableUnifiedMeetings && !isMeetingActive && useRandomDelayForInfo && waitingTime > 0)) {
|
|
953
|
-
|
|
1154
|
+
_context3.next = 16;
|
|
954
1155
|
break;
|
|
955
1156
|
}
|
|
956
1157
|
meeting.fetchMeetingInfoTimeoutId = setTimeout(function () {
|
|
957
|
-
return meeting.fetchMeetingInfo({
|
|
1158
|
+
return meeting.fetchMeetingInfo({
|
|
1159
|
+
extraParams: infoExtraParams,
|
|
1160
|
+
sendCAevents: !!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
|
|
1161
|
+
});
|
|
958
1162
|
}, waitingTime);
|
|
959
1163
|
meeting.parseMeetingInfo(undefined, destination);
|
|
960
|
-
|
|
1164
|
+
_context3.next = 18;
|
|
961
1165
|
break;
|
|
962
|
-
case 14:
|
|
963
|
-
_context.next = 16;
|
|
964
|
-
return meeting.fetchMeetingInfo({});
|
|
965
1166
|
case 16:
|
|
966
|
-
|
|
967
|
-
|
|
1167
|
+
_context3.next = 18;
|
|
1168
|
+
return meeting.fetchMeetingInfo({
|
|
1169
|
+
extraParams: infoExtraParams,
|
|
1170
|
+
sendCAevents: !!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
|
|
1171
|
+
});
|
|
968
1172
|
case 18:
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
1173
|
+
_context3.next = 24;
|
|
1174
|
+
break;
|
|
1175
|
+
case 20:
|
|
1176
|
+
_context3.prev = 20;
|
|
1177
|
+
_context3.t0 = _context3["catch"](6);
|
|
1178
|
+
if (!(_context3.t0 instanceof _captchaError.default) && !(_context3.t0 instanceof _passwordError.default) && !(_context3.t0 instanceof _permission.default)) {
|
|
972
1179
|
// if there is no meeting info we assume its a 1:1 call or wireless share
|
|
973
1180
|
_loggerProxy.default.logger.info("Meetings:index#createMeeting --> Info Unable to fetch meeting info for ".concat(destination, "."));
|
|
974
1181
|
_loggerProxy.default.logger.info('Meetings:index#createMeeting --> Info assuming this destination is a 1:1 or wireless share');
|
|
975
1182
|
}
|
|
976
|
-
_loggerProxy.default.logger.debug("Meetings:index#createMeeting --> Debug ".concat(
|
|
977
|
-
case
|
|
978
|
-
|
|
1183
|
+
_loggerProxy.default.logger.debug("Meetings:index#createMeeting --> Debug ".concat(_context3.t0, " fetching /meetingInfo for creation."));
|
|
1184
|
+
case 24:
|
|
1185
|
+
_context3.prev = 24;
|
|
979
1186
|
// For type LOCUS_ID we need to parse the locus object to get the information
|
|
980
1187
|
// about the caller and callee
|
|
981
1188
|
// Meeting Added event will be created in `handleLocusEvent`
|
|
@@ -995,16 +1202,16 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
995
1202
|
type: meetingAddedType
|
|
996
1203
|
});
|
|
997
1204
|
}
|
|
998
|
-
return
|
|
999
|
-
case
|
|
1000
|
-
return
|
|
1001
|
-
case
|
|
1205
|
+
return _context3.finish(24);
|
|
1206
|
+
case 27:
|
|
1207
|
+
return _context3.abrupt("return", meeting);
|
|
1208
|
+
case 28:
|
|
1002
1209
|
case "end":
|
|
1003
|
-
return
|
|
1210
|
+
return _context3.stop();
|
|
1004
1211
|
}
|
|
1005
|
-
},
|
|
1212
|
+
}, _callee3, this, [[6, 20, 24, 27]]);
|
|
1006
1213
|
}));
|
|
1007
|
-
function createMeeting(
|
|
1214
|
+
function createMeeting(_x3) {
|
|
1008
1215
|
return _createMeeting.apply(this, arguments);
|
|
1009
1216
|
}
|
|
1010
1217
|
return createMeeting;
|
|
@@ -1054,7 +1261,8 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1054
1261
|
return this.request.getActiveMeetings().then(function (locusArray) {
|
|
1055
1262
|
var activeLocusUrl = [];
|
|
1056
1263
|
if (locusArray !== null && locusArray !== void 0 && locusArray.loci && locusArray.loci.length > 0) {
|
|
1057
|
-
locusArray.loci
|
|
1264
|
+
var lociToUpdate = _this11.sortLocusArrayToUpdate(locusArray.loci);
|
|
1265
|
+
lociToUpdate.forEach(function (locus) {
|
|
1058
1266
|
activeLocusUrl.push(locus.url);
|
|
1059
1267
|
_this11.handleLocusEvent({
|
|
1060
1268
|
locus: locus,
|
|
@@ -1076,7 +1284,81 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1076
1284
|
}
|
|
1077
1285
|
}
|
|
1078
1286
|
}
|
|
1287
|
+
}).catch(function (error) {
|
|
1288
|
+
_loggerProxy.default.logger.error("Meetings:index#syncMeetings --> failed to sync meetings, ".concat(error));
|
|
1289
|
+
throw new Error(error);
|
|
1290
|
+
});
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1293
|
+
/**
|
|
1294
|
+
* sort out locus array for initial creating
|
|
1295
|
+
* @param {Array} loci original locus array
|
|
1296
|
+
* @returns {undefined}
|
|
1297
|
+
* @public
|
|
1298
|
+
* @memberof Meetings
|
|
1299
|
+
*/
|
|
1300
|
+
}, {
|
|
1301
|
+
key: "sortLocusArrayToUpdate",
|
|
1302
|
+
value: function sortLocusArrayToUpdate(loci) {
|
|
1303
|
+
var _this12 = this;
|
|
1304
|
+
var mainLoci = loci.filter(function (locus) {
|
|
1305
|
+
return !_util2.default.isBreakoutLocusDTO(locus);
|
|
1306
|
+
});
|
|
1307
|
+
var breakoutLoci = loci.filter(function (locus) {
|
|
1308
|
+
return _util2.default.isValidBreakoutLocus(locus);
|
|
1309
|
+
});
|
|
1310
|
+
this.breakoutLocusForHandleLater = [];
|
|
1311
|
+
var lociToUpdate = (0, _toConsumableArray2.default)(mainLoci);
|
|
1312
|
+
breakoutLoci.forEach(function (breakoutLocus) {
|
|
1313
|
+
var associateMainLocus = mainLoci.find(function (mainLocus) {
|
|
1314
|
+
var _mainLocus$controls, _mainLocus$controls$b, _breakoutLocus$contro, _breakoutLocus$contro2;
|
|
1315
|
+
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);
|
|
1316
|
+
});
|
|
1317
|
+
var existCorrespondingMeeting = _this12.getCorrespondingMeetingByLocus({
|
|
1318
|
+
locus: breakoutLocus,
|
|
1319
|
+
locusUrl: breakoutLocus.url
|
|
1320
|
+
});
|
|
1321
|
+
if (associateMainLocus && !existCorrespondingMeeting) {
|
|
1322
|
+
// if exists both main session and breakout session locus of the same non-exist meeting, handle main locus first,
|
|
1323
|
+
// after meeting create with main locus, then handle the associate breakout locus.
|
|
1324
|
+
// if only handle breakout locus, will miss some date
|
|
1325
|
+
_this12.breakoutLocusForHandleLater.push(breakoutLocus);
|
|
1326
|
+
} else {
|
|
1327
|
+
lociToUpdate.push(breakoutLocus);
|
|
1328
|
+
}
|
|
1329
|
+
});
|
|
1330
|
+
return lociToUpdate;
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
/**
|
|
1334
|
+
* check breakout locus which waiting for main locus's meeting to be created, then handle the breakout locus
|
|
1335
|
+
* @param {Object} newCreatedLocus the locus which just create meeting object of it
|
|
1336
|
+
* @returns {undefined}
|
|
1337
|
+
* @public
|
|
1338
|
+
* @memberof Meetings
|
|
1339
|
+
*/
|
|
1340
|
+
}, {
|
|
1341
|
+
key: "checkHandleBreakoutLocus",
|
|
1342
|
+
value: function checkHandleBreakoutLocus(newCreatedLocus) {
|
|
1343
|
+
if (!newCreatedLocus || !this.breakoutLocusForHandleLater || !this.breakoutLocusForHandleLater.length) {
|
|
1344
|
+
return;
|
|
1345
|
+
}
|
|
1346
|
+
if (_util2.default.isBreakoutLocusDTO(newCreatedLocus)) {
|
|
1347
|
+
return;
|
|
1348
|
+
}
|
|
1349
|
+
var existIndex = this.breakoutLocusForHandleLater.findIndex(function (breakoutLocus) {
|
|
1350
|
+
var _breakoutLocus$contro3, _breakoutLocus$contro4, _newCreatedLocus$cont, _newCreatedLocus$cont2;
|
|
1351
|
+
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);
|
|
1352
|
+
});
|
|
1353
|
+
if (existIndex < 0) {
|
|
1354
|
+
return;
|
|
1355
|
+
}
|
|
1356
|
+
var associateBreakoutLocus = this.breakoutLocusForHandleLater[existIndex];
|
|
1357
|
+
this.handleLocusEvent({
|
|
1358
|
+
locus: associateBreakoutLocus,
|
|
1359
|
+
locusUrl: associateBreakoutLocus.url
|
|
1079
1360
|
});
|
|
1361
|
+
this.breakoutLocusForHandleLater.splice(existIndex, 1);
|
|
1080
1362
|
}
|
|
1081
1363
|
|
|
1082
1364
|
/**
|