@webex/plugin-meetings 3.0.0-beta.31 → 3.0.0-beta.310
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 +94 -15
- 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 +709 -35
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/utils.js +45 -1
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/errors/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.js +158 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/webex-errors.js +48 -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/logs/request.js +5 -1
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +5 -11
- package/dist/config.js.map +1 -1
- package/dist/constants.js +233 -29
- 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 +383 -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 +57 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +249 -72
- 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 +61 -116
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +73 -124
- 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 +3777 -2929
- 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 +260 -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 +73 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +192 -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 +39 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +415 -115
- 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 +72 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +58 -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 +132 -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 +102 -6
- 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 +326 -232
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +13 -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 +29 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +39 -36
- 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 +225 -59
- 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 +201 -156
- 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 +62 -32
- 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 +95 -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 +86 -78
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +11 -10
- 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/utils.d.ts +14 -0
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/types/common/errors/webex-errors.d.ts +25 -1
- package/dist/types/common/logs/request.d.ts +2 -0
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +1 -7
- package/dist/types/constants.d.ts +194 -24
- 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 +67 -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 +463 -510
- 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 +17 -0
- package/dist/types/meetings/index.d.ts +98 -20
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +14 -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 +25 -0
- package/dist/types/members/util.d.ts +214 -1
- package/dist/types/metrics/constants.d.ts +12 -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 +13 -11
- package/dist/types/multistream/receiveSlotManager.d.ts +14 -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 +61 -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/index.d.ts +2 -1
- package/dist/types/roap/request.d.ts +15 -11
- package/dist/types/roap/turnDiscovery.d.ts +21 -3
- 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 +7 -1
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- package/dist/webinar/collection.js +44 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +69 -0
- package/dist/webinar/index.js.map +1 -0
- 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 +42 -12
- package/src/breakouts/breakout.ts +67 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +592 -20
- package/src/breakouts/utils.ts +42 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +44 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +5 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +4 -10
- package/src/constants.ts +221 -19
- 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 +413 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +102 -122
- package/src/media/properties.ts +87 -110
- package/src/meeting/in-meeting-actions.ts +163 -3
- package/src/meeting/index.ts +3132 -2541
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +229 -131
- package/src/meeting/request.ts +177 -121
- package/src/meeting/util.ts +588 -394
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +170 -14
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +23 -23
- package/src/meetings/collection.ts +33 -0
- package/src/meetings/index.ts +445 -123
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +80 -11
- package/src/member/index.ts +58 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +141 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +134 -8
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +29 -0
- package/src/members/util.ts +333 -240
- package/src/metrics/constants.ts +12 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +31 -17
- package/src/multistream/receiveSlotManager.ts +34 -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 +228 -37
- package/src/reachability/request.ts +17 -8
- package/src/reconnection-manager/index.ts +83 -56
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +63 -32
- package/src/roap/request.ts +100 -104
- package/src/roap/turnDiscovery.ts +48 -26
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +105 -91
- package/src/statsAnalyzer/mqaUtil.ts +13 -14
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +60 -3
- 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 +118 -28
- 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 +1395 -69
- package/test/unit/spec/breakouts/utils.js +52 -1
- 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 +1304 -33
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- 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/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
- package/test/unit/spec/meeting/index.js +5216 -1956
- 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 +483 -49
- package/test/unit/spec/meeting/utils.js +679 -64
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +26 -0
- package/test/unit/spec/meetings/index.js +1011 -205
- package/test/unit/spec/meetings/utils.js +202 -2
- package/test/unit/spec/member/index.js +61 -6
- package/test/unit/spec/member/util.js +510 -34
- package/test/unit/spec/members/index.js +432 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +210 -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 +28 -20
- package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
- 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 +549 -9
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +85 -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 +178 -64
- package/test/unit/spec/roap/request.ts +203 -85
- package/test/unit/spec/roap/turnDiscovery.ts +82 -36
- package/test/unit/spec/rtcMetrics/index.ts +73 -0
- package/test/unit/spec/stats-analyzer/index.js +136 -2
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -52
- 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,13 @@ 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
|
+
var _noMeetingInfo = _interopRequireDefault(require("../common/errors/no-meeting-info"));
|
|
61
|
+
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); }
|
|
62
|
+
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; }
|
|
63
|
+
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; }
|
|
64
|
+
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
65
|
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
66
|
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
67
|
var mediaLogger;
|
|
@@ -157,13 +173,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
157
173
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
158
174
|
|
|
159
175
|
/**
|
|
160
|
-
* The
|
|
176
|
+
* The webrtc-core media helpers. This is a temporary solution required for the SDK sample app
|
|
177
|
+
* to be able to call media helper functions.
|
|
178
|
+
*
|
|
161
179
|
* @instance
|
|
162
180
|
* @type {Object}
|
|
163
181
|
* @private
|
|
164
182
|
* @memberof Meetings
|
|
165
183
|
*/
|
|
166
|
-
// @ts-ignore
|
|
167
184
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loggerRequest", void 0);
|
|
168
185
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "media", void 0);
|
|
169
186
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingCollection", void 0);
|
|
@@ -174,7 +191,61 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
174
191
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "request", void 0);
|
|
175
192
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "geoHintInfo", void 0);
|
|
176
193
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingInfo", void 0);
|
|
194
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaHelpers", void 0);
|
|
195
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "breakoutLocusForHandleLater", void 0);
|
|
177
196
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
|
|
197
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createNoiseReductionEffect", /*#__PURE__*/function () {
|
|
198
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
|
|
199
|
+
var authToken;
|
|
200
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
201
|
+
while (1) switch (_context.prev = _context.next) {
|
|
202
|
+
case 0:
|
|
203
|
+
// @ts-ignore
|
|
204
|
+
authToken = _this.webex.credentials.supertoken.access_token;
|
|
205
|
+
return _context.abrupt("return", new mediaHelpersModule.NoiseReductionEffect(_objectSpread({
|
|
206
|
+
authToken: authToken
|
|
207
|
+
}, options)));
|
|
208
|
+
case 2:
|
|
209
|
+
case "end":
|
|
210
|
+
return _context.stop();
|
|
211
|
+
}
|
|
212
|
+
}, _callee);
|
|
213
|
+
}));
|
|
214
|
+
return function (_x) {
|
|
215
|
+
return _ref.apply(this, arguments);
|
|
216
|
+
};
|
|
217
|
+
}());
|
|
218
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createVirtualBackgroundEffect", /*#__PURE__*/function () {
|
|
219
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
|
|
220
|
+
var authToken;
|
|
221
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
222
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
223
|
+
case 0:
|
|
224
|
+
// @ts-ignore
|
|
225
|
+
authToken = _this.webex.credentials.supertoken.access_token;
|
|
226
|
+
return _context2.abrupt("return", new mediaHelpersModule.VirtualBackgroundEffect(_objectSpread({
|
|
227
|
+
authToken: authToken
|
|
228
|
+
}, options)));
|
|
229
|
+
case 2:
|
|
230
|
+
case "end":
|
|
231
|
+
return _context2.stop();
|
|
232
|
+
}
|
|
233
|
+
}, _callee2);
|
|
234
|
+
}));
|
|
235
|
+
return function (_x2) {
|
|
236
|
+
return _ref2.apply(this, arguments);
|
|
237
|
+
};
|
|
238
|
+
}());
|
|
239
|
+
_this.mediaHelpers = mediaHelpersModule;
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* The Meetings request to interact with server
|
|
243
|
+
* @instance
|
|
244
|
+
* @type {Object}
|
|
245
|
+
* @private
|
|
246
|
+
* @memberof Meetings
|
|
247
|
+
*/
|
|
248
|
+
// @ts-ignore
|
|
178
249
|
_this.request = new _request2.default({}, {
|
|
179
250
|
parent: _this.webex
|
|
180
251
|
});
|
|
@@ -198,15 +269,17 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
198
269
|
* @memberof Meetings
|
|
199
270
|
*/
|
|
200
271
|
_this.personalMeetingRoom = null;
|
|
272
|
+
|
|
201
273
|
/**
|
|
202
|
-
* The Reachability object to interact with server
|
|
274
|
+
* The Reachability object to interact with server
|
|
203
275
|
* starts as null
|
|
204
276
|
* @instance
|
|
205
277
|
* @type {Object}
|
|
206
278
|
* @private
|
|
207
279
|
* @memberof Meetings
|
|
208
280
|
*/
|
|
209
|
-
|
|
281
|
+
// @ts-ignore
|
|
282
|
+
_this.reachability = new _reachability.default(_this.webex);
|
|
210
283
|
|
|
211
284
|
/**
|
|
212
285
|
* If the meetings plugin has been registered and listening via {@link Meetings#register}
|
|
@@ -235,50 +308,152 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
235
308
|
* @memberof Meetings
|
|
236
309
|
*/
|
|
237
310
|
_this.media = {
|
|
238
|
-
getUserMedia: _media.default.getUserMedia
|
|
239
|
-
getSupportedDevice: _media.default.getSupportedDevice
|
|
311
|
+
getUserMedia: _media.default.getUserMedia
|
|
240
312
|
};
|
|
241
313
|
_this.onReady();
|
|
242
314
|
return _this;
|
|
243
315
|
}
|
|
244
316
|
|
|
245
317
|
/**
|
|
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}
|
|
318
|
+
* check whether you need to handle this main session's locus data or not
|
|
319
|
+
* @param {Object} meeting current meeting data
|
|
320
|
+
* @param {Object} newLocus new locus data
|
|
321
|
+
* @returns {boolean}
|
|
253
322
|
* @private
|
|
254
323
|
* @memberof Meetings
|
|
255
324
|
*/
|
|
256
325
|
(0, _createClass2.default)(Meetings, [{
|
|
257
|
-
key: "
|
|
258
|
-
value: function
|
|
259
|
-
var
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
var
|
|
264
|
-
|
|
326
|
+
key: "isNeedHandleMainLocus",
|
|
327
|
+
value: function isNeedHandleMainLocus(meeting, newLocus) {
|
|
328
|
+
var _newLocus$controls, _newLocus$controls$br, _newLocus$self, _newLocus$self2, _newLocus$self3, _breakoutLocus$joined, _newLocus$self4;
|
|
329
|
+
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;
|
|
330
|
+
var breakoutLocus = this.meetingCollection.getActiveBreakoutLocus(breakoutUrl);
|
|
331
|
+
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_;
|
|
332
|
+
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_;
|
|
333
|
+
// @ts-ignore
|
|
334
|
+
var deviceFromNewLocus = _util2.default.getThisDevice(newLocus, this.webex.internal.device.url);
|
|
335
|
+
var isResourceMovedOnThisDevice = (deviceFromNewLocus === null || deviceFromNewLocus === void 0 ? void 0 : deviceFromNewLocus.state) === _constants._LEFT_ && (deviceFromNewLocus === null || deviceFromNewLocus === void 0 ? void 0 : deviceFromNewLocus.reason) === _constants._MOVED_;
|
|
336
|
+
var isNewLocusJoinThisDevice = _util2.default.joinedOnThisDevice(meeting, newLocus,
|
|
337
|
+
// @ts-ignore
|
|
338
|
+
this.webex.internal.device.url);
|
|
339
|
+
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);
|
|
340
|
+
if (isSelfJoined && isNewLocusJoinThisDevice) {
|
|
341
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> self this device shown as JOINED in the main session');
|
|
342
|
+
if (breakoutLocus !== null && breakoutLocus !== void 0 && breakoutLocus.joinedWith && deviceFromNewLocus) {
|
|
343
|
+
var _breakoutLocus$joined2, _deviceFromNewLocus$r;
|
|
344
|
+
var breakoutReplaceAt = ((_breakoutLocus$joined2 = breakoutLocus.joinedWith.replaces) === null || _breakoutLocus$joined2 === void 0 ? void 0 : _breakoutLocus$joined2.length) > 0 ? breakoutLocus.joinedWith.replaces[0].replaceAt : '';
|
|
345
|
+
var newLocusReplaceAt = ((_deviceFromNewLocus$r = deviceFromNewLocus.replaces) === null || _deviceFromNewLocus$r === void 0 ? void 0 : _deviceFromNewLocus$r.length) > 0 ? deviceFromNewLocus.replaces[0].replaceAt : '';
|
|
346
|
+
if (breakoutReplaceAt && newLocusReplaceAt && breakoutReplaceAt > newLocusReplaceAt) {
|
|
347
|
+
_loggerProxy.default.logger.log("Meetings:index#isNeedHandleMainLocus --> this is expired main joined status locus_dto replacedAt ".concat(newLocusReplaceAt, " bo replacedAt ").concat(breakoutReplaceAt));
|
|
348
|
+
return false;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
return true;
|
|
352
|
+
}
|
|
353
|
+
if (isBreakoutLocusJoinThisDevice) {
|
|
354
|
+
_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));
|
|
355
|
+
return false;
|
|
356
|
+
}
|
|
357
|
+
if (isSelfMoved && (newLocus !== null && newLocus !== void 0 && (_newLocus$self4 = newLocus.self) !== null && _newLocus$self4 !== void 0 && _newLocus$self4.removed || isResourceMovedOnThisDevice)) {
|
|
358
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> self moved main locus with self removed status or with device resource moved, not need to handle');
|
|
359
|
+
return false;
|
|
360
|
+
}
|
|
361
|
+
if (isSelfJoined && isResourceMovedOnThisDevice) {
|
|
362
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> self device left&moved in main locus with self joined status, not need to handle');
|
|
363
|
+
return false;
|
|
364
|
+
}
|
|
365
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> this is a normal main session locusDTO update case');
|
|
366
|
+
return true;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* check whether you need to handle this locus data or not
|
|
371
|
+
* @param {Object} meeting old locus data
|
|
372
|
+
* @param {Object} newLocus new locus data
|
|
373
|
+
* @returns {boolean}
|
|
374
|
+
* @private
|
|
375
|
+
* @memberof Meetings
|
|
376
|
+
*/
|
|
377
|
+
}, {
|
|
378
|
+
key: "isNeedHandleLocusDTO",
|
|
379
|
+
value: function isNeedHandleLocusDTO(meeting, newLocus) {
|
|
380
|
+
if (newLocus) {
|
|
381
|
+
var _newLocus$self5, _newLocus$self6;
|
|
382
|
+
var isNewLocusAsBreakout = _util2.default.isBreakoutLocusDTO(newLocus);
|
|
383
|
+
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_;
|
|
384
|
+
if (!meeting) {
|
|
385
|
+
if (isNewLocusAsBreakout) {
|
|
386
|
+
var _newLocus$fullState, _newLocus$self7;
|
|
387
|
+
_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));
|
|
388
|
+
return ((_newLocus$self7 = newLocus.self) === null || _newLocus$self7 === void 0 ? void 0 : _newLocus$self7.state) === _constants._JOINED_;
|
|
389
|
+
}
|
|
390
|
+
return this.isNeedHandleMainLocus(meeting, newLocus);
|
|
391
|
+
}
|
|
392
|
+
if (!isNewLocusAsBreakout) {
|
|
393
|
+
return this.isNeedHandleMainLocus(meeting, newLocus);
|
|
394
|
+
}
|
|
395
|
+
return !isSelfMoved;
|
|
396
|
+
}
|
|
397
|
+
return true;
|
|
398
|
+
}
|
|
265
399
|
|
|
400
|
+
/**
|
|
401
|
+
* get corresponding meeting object by locus data
|
|
402
|
+
* @param {Object} data a locus event
|
|
403
|
+
* @param {String} data.locusUrl
|
|
404
|
+
* @param {Object} data.locus
|
|
405
|
+
* @returns {Object}
|
|
406
|
+
* @private
|
|
407
|
+
* @memberof Meetings
|
|
408
|
+
*/
|
|
409
|
+
}, {
|
|
410
|
+
key: "getCorrespondingMeetingByLocus",
|
|
411
|
+
value: function getCorrespondingMeetingByLocus(data) {
|
|
412
|
+
var _data$locus$info, _data$locus, _data$locus$info2;
|
|
266
413
|
// getting meeting by correlationId. This will happen for the new event
|
|
267
414
|
// Either the locus
|
|
268
415
|
// TODO : Add check for the callBack Address
|
|
269
|
-
|
|
416
|
+
return this.meetingCollection.getByKey(_constants.LOCUS_URL, data.locusUrl) ||
|
|
270
417
|
// @ts-ignore
|
|
271
418
|
this.meetingCollection.getByKey(_constants.CORRELATION_ID,
|
|
272
419
|
// @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));
|
|
420
|
+
_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);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* handle locus events and takes meeting actions with them as they come in
|
|
425
|
+
* @param {Object} data a locus event
|
|
426
|
+
* @param {String} data.locusUrl
|
|
427
|
+
* @param {Object} data.locus
|
|
428
|
+
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
429
|
+
* @param {String} data.eventType
|
|
430
|
+
* @returns {undefined}
|
|
431
|
+
* @private
|
|
432
|
+
* @memberof Meetings
|
|
433
|
+
*/
|
|
434
|
+
}, {
|
|
435
|
+
key: "handleLocusEvent",
|
|
436
|
+
value: function handleLocusEvent(data) {
|
|
437
|
+
var _data$locus2,
|
|
438
|
+
_data$locus2$replaces,
|
|
439
|
+
_this2 = this;
|
|
440
|
+
var useRandomDelayForInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
441
|
+
var meeting = this.getCorrespondingMeetingByLocus(data);
|
|
274
442
|
|
|
275
443
|
// Special case when locus has got replaced, This only happend once if a replace locus exists
|
|
276
444
|
// https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-changing-mid-call
|
|
277
445
|
|
|
278
|
-
if (!meeting && ((_data$
|
|
446
|
+
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
447
|
// Always the last element in the replace is the active one
|
|
280
448
|
meeting = this.meetingCollection.getByKey(_constants.LOCUS_URL, data.locus.replaces[data.locus.replaces.length - 1].locusUrl);
|
|
281
449
|
}
|
|
450
|
+
if (meeting && !_util2.default.isBreakoutLocusDTO(data.locus)) {
|
|
451
|
+
meeting.locusInfo.updateMainSessionLocusCache(data.locus);
|
|
452
|
+
}
|
|
453
|
+
if (!this.isNeedHandleLocusDTO(meeting, data.locus)) {
|
|
454
|
+
_loggerProxy.default.logger.log("Meetings:index#handleLocusEvent --> doesn't need to process locus event");
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
282
457
|
if (!meeting) {
|
|
283
458
|
// TODO: create meeting when we get a meeting object
|
|
284
459
|
// const checkForEnded = (locus) => {
|
|
@@ -318,6 +493,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
318
493
|
|
|
319
494
|
// It's a new meeting so initialize the locus data
|
|
320
495
|
meeting.locusInfo.initialSetup(data.locus);
|
|
496
|
+
_this2.checkHandleBreakoutLocus(data.locus);
|
|
321
497
|
}).catch(function (e) {
|
|
322
498
|
_loggerProxy.default.logger.error(e);
|
|
323
499
|
}).finally(function () {
|
|
@@ -325,11 +501,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
325
501
|
// because the other user left so before sending 'added' event make sure it exists in the collection
|
|
326
502
|
|
|
327
503
|
if (_this2.getMeetingByType(_constants._ID_, meeting.id)) {
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
trigger:
|
|
504
|
+
// @ts-ignore
|
|
505
|
+
_this2.webex.internal.newMetrics.submitClientEvent({
|
|
506
|
+
name: 'client.call.remote-started',
|
|
507
|
+
payload: {
|
|
508
|
+
trigger: 'mercury-event'
|
|
509
|
+
},
|
|
510
|
+
options: {
|
|
511
|
+
meetingId: meeting.id
|
|
333
512
|
}
|
|
334
513
|
});
|
|
335
514
|
_triggerProxy.default.trigger(_this2, {
|
|
@@ -443,7 +622,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
443
622
|
// @ts-ignore
|
|
444
623
|
this.webex.once(_constants.READY, function () {
|
|
445
624
|
// @ts-ignore
|
|
446
|
-
|
|
625
|
+
_config.default.set(_this4.config);
|
|
447
626
|
// @ts-ignore
|
|
448
627
|
_loggerConfig.default.set(_this4.config.logging);
|
|
449
628
|
// @ts-ignore
|
|
@@ -480,7 +659,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
480
659
|
disableNotifications: true
|
|
481
660
|
});
|
|
482
661
|
// @ts-ignore
|
|
483
|
-
_metrics.default.initialSetup(_this4.
|
|
662
|
+
_metrics.default.initialSetup(_this4.webex);
|
|
484
663
|
});
|
|
485
664
|
}
|
|
486
665
|
|
|
@@ -507,23 +686,6 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
507
686
|
}
|
|
508
687
|
}
|
|
509
688
|
|
|
510
|
-
/**
|
|
511
|
-
* API to enable or disable TURN discovery
|
|
512
|
-
* @param {Boolean} enable
|
|
513
|
-
* @private
|
|
514
|
-
* @memberof Meetings
|
|
515
|
-
* @returns {undefined}
|
|
516
|
-
*/
|
|
517
|
-
}, {
|
|
518
|
-
key: "_toggleTurnDiscovery",
|
|
519
|
-
value: function _toggleTurnDiscovery(enable) {
|
|
520
|
-
if (typeof enable !== 'boolean') {
|
|
521
|
-
return;
|
|
522
|
-
}
|
|
523
|
-
// @ts-ignore
|
|
524
|
-
this.config.experimental.enableTurnDiscovery = enable;
|
|
525
|
-
}
|
|
526
|
-
|
|
527
689
|
/**
|
|
528
690
|
* API to toggle starting adhoc meeting
|
|
529
691
|
* @param {Boolean} changeState
|
|
@@ -630,6 +792,17 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
630
792
|
);
|
|
631
793
|
}
|
|
632
794
|
|
|
795
|
+
/**
|
|
796
|
+
* Creates a noise reduction effect
|
|
797
|
+
*
|
|
798
|
+
* @param {INoiseReductionEffect} options optional custom effect options
|
|
799
|
+
* @returns {Promise<effect>} noise reduction effect.
|
|
800
|
+
* @public
|
|
801
|
+
* @memberof Meetings
|
|
802
|
+
*/
|
|
803
|
+
}, {
|
|
804
|
+
key: "uploadLogs",
|
|
805
|
+
value:
|
|
633
806
|
/**
|
|
634
807
|
* Uploads logs to the webex services for tracking
|
|
635
808
|
* @param {Object} [options={}]
|
|
@@ -642,14 +815,13 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
642
815
|
* @param {String} [options.orgId] org id
|
|
643
816
|
* @returns {String} feedback ID logs were submitted under
|
|
644
817
|
*/
|
|
645
|
-
|
|
646
|
-
key: "uploadLogs",
|
|
647
|
-
value: function uploadLogs() {
|
|
818
|
+
function uploadLogs() {
|
|
648
819
|
var _this7 = this;
|
|
649
820
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
650
821
|
_loggerProxy.default.logger.info('Meetings:index#uploadLogs --> uploading logs');
|
|
651
822
|
return this.loggerRequest.uploadLogs(options).then(function (uploadResult) {
|
|
652
823
|
_loggerProxy.default.logger.info('Meetings:index#uploadLogs --> Upload logs for meeting completed.', uploadResult);
|
|
824
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.UPLOAD_LOGS_SUCCESS, options);
|
|
653
825
|
_triggerProxy.default.trigger(_this7, {
|
|
654
826
|
file: 'meetings',
|
|
655
827
|
function: 'uploadLogs'
|
|
@@ -667,29 +839,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
667
839
|
meetingId: options.meetingId,
|
|
668
840
|
reason: uploadError
|
|
669
841
|
});
|
|
670
|
-
_metrics.default.sendBehavioralMetric(_constants2.default.UPLOAD_LOGS_FAILURE, {
|
|
671
|
-
// @ts-ignore - seems like typo
|
|
672
|
-
meetingId: options.meetingsId,
|
|
842
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.UPLOAD_LOGS_FAILURE, _objectSpread(_objectSpread({}, options), {}, {
|
|
673
843
|
reason: uploadError.message,
|
|
674
844
|
stack: uploadError.stack,
|
|
675
845
|
code: uploadError.code
|
|
676
|
-
});
|
|
846
|
+
}));
|
|
677
847
|
});
|
|
678
848
|
}
|
|
679
849
|
|
|
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
850
|
/**
|
|
694
851
|
* gets the reachability instance for Meetings
|
|
695
852
|
* @returns {Reachability}
|
|
@@ -711,9 +868,6 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
711
868
|
}, {
|
|
712
869
|
key: "startReachability",
|
|
713
870
|
value: function startReachability() {
|
|
714
|
-
if (!this.reachability) {
|
|
715
|
-
this.setReachability();
|
|
716
|
-
}
|
|
717
871
|
return this.getReachability().gatherReachability();
|
|
718
872
|
}
|
|
719
873
|
|
|
@@ -747,6 +901,23 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
747
901
|
if (res) {
|
|
748
902
|
_this9.preferredWebexSite = _util2.default.parseDefaultSiteFromMeetingPreferences(res);
|
|
749
903
|
}
|
|
904
|
+
|
|
905
|
+
// fall back to getting the preferred site from the user information
|
|
906
|
+
if (!_this9.preferredWebexSite) {
|
|
907
|
+
// @ts-ignore
|
|
908
|
+
return _this9.webex.internal.user.get().then(function (user) {
|
|
909
|
+
var _user$userPreferences, _user$userPreferences2;
|
|
910
|
+
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;
|
|
911
|
+
if (preferredWebexSite) {
|
|
912
|
+
_this9.preferredWebexSite = preferredWebexSite;
|
|
913
|
+
} else {
|
|
914
|
+
throw new Error('site not found');
|
|
915
|
+
}
|
|
916
|
+
}).catch(function () {
|
|
917
|
+
_loggerProxy.default.logger.error('Failed to fetch preferred site from user - no site will be set');
|
|
918
|
+
});
|
|
919
|
+
}
|
|
920
|
+
return _promise.default.resolve();
|
|
750
921
|
});
|
|
751
922
|
}
|
|
752
923
|
|
|
@@ -786,9 +957,12 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
786
957
|
|
|
787
958
|
/**
|
|
788
959
|
* Create a meeting.
|
|
789
|
-
* @param {string} destination - sipURL,
|
|
960
|
+
* @param {string} destination - sipURL, phonenumber, or locus object}
|
|
790
961
|
* @param {string} [type] - the optional specified type, such as locusId
|
|
791
962
|
* @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
|
|
963
|
+
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
964
|
+
* @param {string} correlationId - the optional specified correlationId
|
|
965
|
+
* @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
|
|
792
966
|
* @returns {Promise<Meeting>} A new Meeting.
|
|
793
967
|
* @public
|
|
794
968
|
* @memberof Meetings
|
|
@@ -799,6 +973,9 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
799
973
|
var _this10 = this;
|
|
800
974
|
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
801
975
|
var useRandomDelayForInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
976
|
+
var infoExtraParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
977
|
+
var correlationId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
|
|
978
|
+
var failOnMissingMeetingInfo = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
802
979
|
// TODO: type should be from a dictionary
|
|
803
980
|
|
|
804
981
|
// Validate meeting information based on the provided destination and
|
|
@@ -808,7 +985,10 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
808
985
|
return this.meetingInfo.fetchInfoOptions(destination, type)
|
|
809
986
|
// Catch a failure to fetch info options.
|
|
810
987
|
.catch(function (error) {
|
|
811
|
-
_loggerProxy.default.logger.
|
|
988
|
+
_loggerProxy.default.logger.error("Meetings:index#create --> ERROR, unable to determine info options: ".concat(error.message));
|
|
989
|
+
if (error instanceof _webexErrors.SpaceIDDeprecatedError) {
|
|
990
|
+
throw new _webexErrors.SpaceIDDeprecatedError();
|
|
991
|
+
}
|
|
812
992
|
}).then(function () {
|
|
813
993
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
814
994
|
// Normalize the destination.
|
|
@@ -837,20 +1017,22 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
837
1017
|
// Validate if a meeting was found.
|
|
838
1018
|
if (!meeting) {
|
|
839
1019
|
// Create a meeting based on the normalized destination and type.
|
|
840
|
-
return _this10.createMeeting(targetDest, type, useRandomDelayForInfo).then(function (createdMeeting) {
|
|
1020
|
+
return _this10.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams, correlationId, failOnMissingMeetingInfo).then(function (createdMeeting) {
|
|
841
1021
|
// If the meeting was successfully created.
|
|
842
1022
|
if (createdMeeting && createdMeeting.on) {
|
|
843
1023
|
// Create a destruction event for the meeting.
|
|
844
1024
|
createdMeeting.on(_constants.EVENTS.DESTROY_MEETING, function (payload) {
|
|
845
1025
|
// @ts-ignore
|
|
846
1026
|
if (_this10.config.autoUploadLogs) {
|
|
847
|
-
var _createdMeeting$locus, _createdMeeting$locus2, _createdMeeting$locus3, _createdMeeting$locus4;
|
|
1027
|
+
var _createdMeeting$locus, _createdMeeting$locus2, _createdMeeting$locus3, _createdMeeting$locus4, _createdMeeting$locus5, _createdMeeting$locus6;
|
|
848
1028
|
_this10.uploadLogs({
|
|
849
1029
|
callStart: (_createdMeeting$locus = createdMeeting.locusInfo) === null || _createdMeeting$locus === void 0 ? void 0 : (_createdMeeting$locus2 = _createdMeeting$locus.fullState) === null || _createdMeeting$locus2 === void 0 ? void 0 : _createdMeeting$locus2.lastActive,
|
|
1030
|
+
locussessionid: (_createdMeeting$locus3 = createdMeeting.locusInfo) === null || _createdMeeting$locus3 === void 0 ? void 0 : (_createdMeeting$locus4 = _createdMeeting$locus3.fullState) === null || _createdMeeting$locus4 === void 0 ? void 0 : _createdMeeting$locus4.sessionId,
|
|
850
1031
|
correlationId: createdMeeting.correlationId,
|
|
851
1032
|
feedbackId: createdMeeting.correlationId,
|
|
852
1033
|
locusId: createdMeeting.locusId,
|
|
853
|
-
meetingId: (_createdMeeting$
|
|
1034
|
+
meetingId: (_createdMeeting$locus5 = createdMeeting.locusInfo) === null || _createdMeeting$locus5 === void 0 ? void 0 : (_createdMeeting$locus6 = _createdMeeting$locus5.info) === null || _createdMeeting$locus6 === void 0 ? void 0 : _createdMeeting$locus6.webExMeetingId,
|
|
1035
|
+
autoupload: true
|
|
854
1036
|
}).then(function () {
|
|
855
1037
|
return _this10.destroy(createdMeeting, payload.reason);
|
|
856
1038
|
});
|
|
@@ -861,13 +1043,15 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
861
1043
|
createdMeeting.on(_constants.EVENTS.REQUEST_UPLOAD_LOGS, function (meetingInstance) {
|
|
862
1044
|
// @ts-ignore
|
|
863
1045
|
if (_this10.config.autoUploadLogs) {
|
|
864
|
-
var _meetingInstance$locu, _meetingInstance$locu2, _meetingInstance$locu3, _meetingInstance$locu4;
|
|
1046
|
+
var _meetingInstance$locu, _meetingInstance$locu2, _meetingInstance$locu3, _meetingInstance$locu4, _meetingInstance$locu5, _meetingInstance$locu6;
|
|
865
1047
|
_this10.uploadLogs({
|
|
866
1048
|
callStart: meetingInstance === null || meetingInstance === void 0 ? void 0 : (_meetingInstance$locu = meetingInstance.locusInfo) === null || _meetingInstance$locu === void 0 ? void 0 : (_meetingInstance$locu2 = _meetingInstance$locu.fullState) === null || _meetingInstance$locu2 === void 0 ? void 0 : _meetingInstance$locu2.lastActive,
|
|
1049
|
+
locussessionid: meetingInstance === null || meetingInstance === void 0 ? void 0 : (_meetingInstance$locu3 = meetingInstance.locusInfo) === null || _meetingInstance$locu3 === void 0 ? void 0 : (_meetingInstance$locu4 = _meetingInstance$locu3.fullState) === null || _meetingInstance$locu4 === void 0 ? void 0 : _meetingInstance$locu4.sessionId,
|
|
867
1050
|
correlationId: meetingInstance.correlationId,
|
|
868
1051
|
feedbackId: meetingInstance.correlationId,
|
|
869
1052
|
locusId: meetingInstance.locusId,
|
|
870
|
-
meetingId: (_meetingInstance$
|
|
1053
|
+
meetingId: (_meetingInstance$locu5 = meetingInstance.locusInfo) === null || _meetingInstance$locu5 === void 0 ? void 0 : (_meetingInstance$locu6 = _meetingInstance$locu5.info) === null || _meetingInstance$locu6 === void 0 ? void 0 : _meetingInstance$locu6.webExMeetingId,
|
|
1054
|
+
autoupload: true
|
|
871
1055
|
});
|
|
872
1056
|
}
|
|
873
1057
|
});
|
|
@@ -889,6 +1073,9 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
889
1073
|
* @param {String} destination see create()
|
|
890
1074
|
* @param {String} type see create()
|
|
891
1075
|
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
1076
|
+
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
1077
|
+
* @param {String} correlationId the optional specified correlationId
|
|
1078
|
+
* @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
|
|
892
1079
|
* @returns {Promise} a new meeting instance complete with meeting info and destination
|
|
893
1080
|
* @private
|
|
894
1081
|
* @memberof Meetings
|
|
@@ -896,9 +1083,12 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
896
1083
|
}, {
|
|
897
1084
|
key: "createMeeting",
|
|
898
1085
|
value: function () {
|
|
899
|
-
var _createMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
1086
|
+
var _createMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(destination) {
|
|
900
1087
|
var type,
|
|
901
1088
|
useRandomDelayForInfo,
|
|
1089
|
+
infoExtraParams,
|
|
1090
|
+
correlationId,
|
|
1091
|
+
failOnMissingMeetingInfo,
|
|
902
1092
|
meeting,
|
|
903
1093
|
_destination$fullStat,
|
|
904
1094
|
waitingTime,
|
|
@@ -910,12 +1100,15 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
910
1100
|
isMeetingActive,
|
|
911
1101
|
enableUnifiedMeetings,
|
|
912
1102
|
meetingAddedType,
|
|
913
|
-
|
|
914
|
-
return _regenerator.default.wrap(function
|
|
915
|
-
while (1) switch (
|
|
1103
|
+
_args3 = arguments;
|
|
1104
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
1105
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
916
1106
|
case 0:
|
|
917
|
-
type =
|
|
918
|
-
useRandomDelayForInfo =
|
|
1107
|
+
type = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null;
|
|
1108
|
+
useRandomDelayForInfo = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : false;
|
|
1109
|
+
infoExtraParams = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {};
|
|
1110
|
+
correlationId = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : undefined;
|
|
1111
|
+
failOnMissingMeetingInfo = _args3.length > 5 && _args3[5] !== undefined ? _args3[5] : false;
|
|
919
1112
|
meeting = new _meeting.default({
|
|
920
1113
|
// @ts-ignore
|
|
921
1114
|
userId: this.webex.internal.device.userId,
|
|
@@ -927,13 +1120,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
927
1120
|
// pass the locus object if present
|
|
928
1121
|
meetingInfoProvider: this.meetingInfo,
|
|
929
1122
|
destination: destination,
|
|
930
|
-
destinationType: type
|
|
1123
|
+
destinationType: type,
|
|
1124
|
+
correlationId: correlationId
|
|
931
1125
|
}, {
|
|
932
1126
|
// @ts-ignore
|
|
933
1127
|
parent: this.webex
|
|
934
1128
|
});
|
|
935
1129
|
this.meetingCollection.set(meeting);
|
|
936
|
-
|
|
1130
|
+
_context3.prev = 7;
|
|
937
1131
|
// if no participant has joined the scheduled meeting (meaning meeting is not active) and we get a locusEvent,
|
|
938
1132
|
// it means the meeting will start in 5-6 min. In that case, we want to fetchMeetingInfo
|
|
939
1133
|
// between 5 and 2 min (random between 3 minutes) before the meeting starts
|
|
@@ -950,32 +1144,50 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
950
1144
|
isMeetingActive = !!((_destination$fullStat = destination.fullState) !== null && _destination$fullStat !== void 0 && _destination$fullStat.active); // @ts-ignore
|
|
951
1145
|
enableUnifiedMeetings = this.config.experimental.enableUnifiedMeetings;
|
|
952
1146
|
if (!(enableUnifiedMeetings && !isMeetingActive && useRandomDelayForInfo && waitingTime > 0)) {
|
|
953
|
-
|
|
1147
|
+
_context3.next = 17;
|
|
954
1148
|
break;
|
|
955
1149
|
}
|
|
956
1150
|
meeting.fetchMeetingInfoTimeoutId = setTimeout(function () {
|
|
957
|
-
return meeting.fetchMeetingInfo({
|
|
1151
|
+
return meeting.fetchMeetingInfo({
|
|
1152
|
+
extraParams: infoExtraParams,
|
|
1153
|
+
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
|
|
1154
|
+
});
|
|
958
1155
|
}, waitingTime);
|
|
959
1156
|
meeting.parseMeetingInfo(undefined, destination);
|
|
960
|
-
|
|
1157
|
+
_context3.next = 19;
|
|
961
1158
|
break;
|
|
962
|
-
case
|
|
963
|
-
|
|
964
|
-
return meeting.fetchMeetingInfo({
|
|
965
|
-
|
|
966
|
-
|
|
1159
|
+
case 17:
|
|
1160
|
+
_context3.next = 19;
|
|
1161
|
+
return meeting.fetchMeetingInfo({
|
|
1162
|
+
extraParams: infoExtraParams,
|
|
1163
|
+
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
|
|
1164
|
+
});
|
|
1165
|
+
case 19:
|
|
1166
|
+
_context3.next = 31;
|
|
967
1167
|
break;
|
|
968
|
-
case
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
if (!(
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
1168
|
+
case 21:
|
|
1169
|
+
_context3.prev = 21;
|
|
1170
|
+
_context3.t0 = _context3["catch"](7);
|
|
1171
|
+
if (!(!(_context3.t0 instanceof _captchaError.default) && !(_context3.t0 instanceof _passwordError.default) && !(_context3.t0 instanceof _permission.default))) {
|
|
1172
|
+
_context3.next = 30;
|
|
1173
|
+
break;
|
|
1174
|
+
}
|
|
1175
|
+
_loggerProxy.default.logger.info("Meetings:index#createMeeting --> Info Unable to fetch meeting info for ".concat(destination, "."));
|
|
1176
|
+
if (!failOnMissingMeetingInfo) {
|
|
1177
|
+
_context3.next = 29;
|
|
1178
|
+
break;
|
|
975
1179
|
}
|
|
976
|
-
_loggerProxy.default.logger.
|
|
977
|
-
|
|
978
|
-
|
|
1180
|
+
_loggerProxy.default.logger.info("Meetings:index#createMeeting --> Destroying meeting due to missing meeting info.");
|
|
1181
|
+
// @ts-ignore
|
|
1182
|
+
this.destroy(meeting, _constants.MEETING_REMOVED_REASON.MISSING_MEETING_INFO);
|
|
1183
|
+
throw new _noMeetingInfo.default();
|
|
1184
|
+
case 29:
|
|
1185
|
+
// if there is no meeting info and no error should be thrown then we assume its a 1:1 call or wireless share
|
|
1186
|
+
_loggerProxy.default.logger.info('Meetings:index#createMeeting --> Info assuming this destination is a 1:1 or wireless share');
|
|
1187
|
+
case 30:
|
|
1188
|
+
_loggerProxy.default.logger.debug("Meetings:index#createMeeting --> Debug ".concat(_context3.t0, " fetching /meetingInfo for creation."));
|
|
1189
|
+
case 31:
|
|
1190
|
+
_context3.prev = 31;
|
|
979
1191
|
// For type LOCUS_ID we need to parse the locus object to get the information
|
|
980
1192
|
// about the caller and callee
|
|
981
1193
|
// Meeting Added event will be created in `handleLocusEvent`
|
|
@@ -995,16 +1207,16 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
995
1207
|
type: meetingAddedType
|
|
996
1208
|
});
|
|
997
1209
|
}
|
|
998
|
-
return
|
|
999
|
-
case
|
|
1000
|
-
return
|
|
1001
|
-
case
|
|
1210
|
+
return _context3.finish(31);
|
|
1211
|
+
case 34:
|
|
1212
|
+
return _context3.abrupt("return", meeting);
|
|
1213
|
+
case 35:
|
|
1002
1214
|
case "end":
|
|
1003
|
-
return
|
|
1215
|
+
return _context3.stop();
|
|
1004
1216
|
}
|
|
1005
|
-
},
|
|
1217
|
+
}, _callee3, this, [[7, 21, 31, 34]]);
|
|
1006
1218
|
}));
|
|
1007
|
-
function createMeeting(
|
|
1219
|
+
function createMeeting(_x3) {
|
|
1008
1220
|
return _createMeeting.apply(this, arguments);
|
|
1009
1221
|
}
|
|
1010
1222
|
return createMeeting;
|
|
@@ -1054,7 +1266,8 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1054
1266
|
return this.request.getActiveMeetings().then(function (locusArray) {
|
|
1055
1267
|
var activeLocusUrl = [];
|
|
1056
1268
|
if (locusArray !== null && locusArray !== void 0 && locusArray.loci && locusArray.loci.length > 0) {
|
|
1057
|
-
locusArray.loci
|
|
1269
|
+
var lociToUpdate = _this11.sortLocusArrayToUpdate(locusArray.loci);
|
|
1270
|
+
lociToUpdate.forEach(function (locus) {
|
|
1058
1271
|
activeLocusUrl.push(locus.url);
|
|
1059
1272
|
_this11.handleLocusEvent({
|
|
1060
1273
|
locus: locus,
|
|
@@ -1076,7 +1289,81 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1076
1289
|
}
|
|
1077
1290
|
}
|
|
1078
1291
|
}
|
|
1292
|
+
}).catch(function (error) {
|
|
1293
|
+
_loggerProxy.default.logger.error("Meetings:index#syncMeetings --> failed to sync meetings, ".concat(error));
|
|
1294
|
+
throw new Error(error);
|
|
1295
|
+
});
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1298
|
+
/**
|
|
1299
|
+
* sort out locus array for initial creating
|
|
1300
|
+
* @param {Array} loci original locus array
|
|
1301
|
+
* @returns {undefined}
|
|
1302
|
+
* @public
|
|
1303
|
+
* @memberof Meetings
|
|
1304
|
+
*/
|
|
1305
|
+
}, {
|
|
1306
|
+
key: "sortLocusArrayToUpdate",
|
|
1307
|
+
value: function sortLocusArrayToUpdate(loci) {
|
|
1308
|
+
var _this12 = this;
|
|
1309
|
+
var mainLoci = loci.filter(function (locus) {
|
|
1310
|
+
return !_util2.default.isBreakoutLocusDTO(locus);
|
|
1311
|
+
});
|
|
1312
|
+
var breakoutLoci = loci.filter(function (locus) {
|
|
1313
|
+
return _util2.default.isValidBreakoutLocus(locus);
|
|
1314
|
+
});
|
|
1315
|
+
this.breakoutLocusForHandleLater = [];
|
|
1316
|
+
var lociToUpdate = (0, _toConsumableArray2.default)(mainLoci);
|
|
1317
|
+
breakoutLoci.forEach(function (breakoutLocus) {
|
|
1318
|
+
var associateMainLocus = mainLoci.find(function (mainLocus) {
|
|
1319
|
+
var _mainLocus$controls, _mainLocus$controls$b, _breakoutLocus$contro, _breakoutLocus$contro2;
|
|
1320
|
+
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);
|
|
1321
|
+
});
|
|
1322
|
+
var existCorrespondingMeeting = _this12.getCorrespondingMeetingByLocus({
|
|
1323
|
+
locus: breakoutLocus,
|
|
1324
|
+
locusUrl: breakoutLocus.url
|
|
1325
|
+
});
|
|
1326
|
+
if (associateMainLocus && !existCorrespondingMeeting) {
|
|
1327
|
+
// if exists both main session and breakout session locus of the same non-exist meeting, handle main locus first,
|
|
1328
|
+
// after meeting create with main locus, then handle the associate breakout locus.
|
|
1329
|
+
// if only handle breakout locus, will miss some date
|
|
1330
|
+
_this12.breakoutLocusForHandleLater.push(breakoutLocus);
|
|
1331
|
+
} else {
|
|
1332
|
+
lociToUpdate.push(breakoutLocus);
|
|
1333
|
+
}
|
|
1334
|
+
});
|
|
1335
|
+
return lociToUpdate;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
/**
|
|
1339
|
+
* check breakout locus which waiting for main locus's meeting to be created, then handle the breakout locus
|
|
1340
|
+
* @param {Object} newCreatedLocus the locus which just create meeting object of it
|
|
1341
|
+
* @returns {undefined}
|
|
1342
|
+
* @public
|
|
1343
|
+
* @memberof Meetings
|
|
1344
|
+
*/
|
|
1345
|
+
}, {
|
|
1346
|
+
key: "checkHandleBreakoutLocus",
|
|
1347
|
+
value: function checkHandleBreakoutLocus(newCreatedLocus) {
|
|
1348
|
+
if (!newCreatedLocus || !this.breakoutLocusForHandleLater || !this.breakoutLocusForHandleLater.length) {
|
|
1349
|
+
return;
|
|
1350
|
+
}
|
|
1351
|
+
if (_util2.default.isBreakoutLocusDTO(newCreatedLocus)) {
|
|
1352
|
+
return;
|
|
1353
|
+
}
|
|
1354
|
+
var existIndex = this.breakoutLocusForHandleLater.findIndex(function (breakoutLocus) {
|
|
1355
|
+
var _breakoutLocus$contro3, _breakoutLocus$contro4, _newCreatedLocus$cont, _newCreatedLocus$cont2;
|
|
1356
|
+
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);
|
|
1079
1357
|
});
|
|
1358
|
+
if (existIndex < 0) {
|
|
1359
|
+
return;
|
|
1360
|
+
}
|
|
1361
|
+
var associateBreakoutLocus = this.breakoutLocusForHandleLater[existIndex];
|
|
1362
|
+
this.handleLocusEvent({
|
|
1363
|
+
locus: associateBreakoutLocus,
|
|
1364
|
+
locusUrl: associateBreakoutLocus.url
|
|
1365
|
+
});
|
|
1366
|
+
this.breakoutLocusForHandleLater.splice(existIndex, 1);
|
|
1080
1367
|
}
|
|
1081
1368
|
|
|
1082
1369
|
/**
|
|
@@ -1104,6 +1391,19 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1104
1391
|
value: function getLogger() {
|
|
1105
1392
|
return _loggerProxy.default.get();
|
|
1106
1393
|
}
|
|
1394
|
+
|
|
1395
|
+
/**
|
|
1396
|
+
* Returns the first meeting it finds that has the webrtc media connection created.
|
|
1397
|
+
* Useful for debugging in the console.
|
|
1398
|
+
*
|
|
1399
|
+
* @private
|
|
1400
|
+
* @returns {Meeting} Meeting object that has a webrtc media connection, else undefined
|
|
1401
|
+
*/
|
|
1402
|
+
}, {
|
|
1403
|
+
key: "getActiveWebrtcMeeting",
|
|
1404
|
+
value: function getActiveWebrtcMeeting() {
|
|
1405
|
+
return this.meetingCollection.getActiveWebrtcMeeting();
|
|
1406
|
+
}
|
|
1107
1407
|
}]);
|
|
1108
1408
|
return Meetings;
|
|
1109
1409
|
}(_webexCore.WebexPlugin);
|