@webex/plugin-meetings 3.0.0-beta.2 → 3.0.0-beta.20
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/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/breakouts/breakout.js +116 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/index.js +226 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/common/browser-detection.js +1 -20
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +10 -24
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +11 -24
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +12 -25
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +10 -24
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +5 -33
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +10 -24
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +9 -23
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +10 -24
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +10 -24
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +6 -41
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +5 -25
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +37 -60
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +4 -14
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +6 -6
- package/dist/config.js.map +1 -1
- package/dist/constants.js +88 -46
- package/dist/constants.js.map +1 -1
- package/dist/index.js +1 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +12 -29
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +184 -190
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +3 -37
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +12 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +92 -118
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +34 -91
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +67 -111
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +80 -114
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +2 -9
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +10 -12
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/effectsState.js +125 -190
- package/dist/meeting/effectsState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +5 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +1692 -1925
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +36 -77
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +224 -230
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.js +21 -31
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +43 -215
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +6 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +14 -32
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +193 -268
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +3 -15
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +137 -228
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +5 -20
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +490 -560
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +24 -41
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +99 -155
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +78 -86
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +31 -68
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +3 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +93 -200
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +16 -39
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +9 -38
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +0 -2
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +1 -2
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +55 -135
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +57 -32
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/multistreamMedia.js +15 -21
- package/dist/multistream/multistreamMedia.js.map +1 -1
- package/dist/multistream/receiveSlot.js +10 -50
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +45 -82
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +18 -58
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +6 -40
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +362 -416
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +36 -57
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +21 -45
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +1 -31
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.js +138 -182
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +3 -18
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.js +109 -0
- package/dist/reactions/reactions.js.map +1 -0
- package/dist/reactions/reactions.type.js +36 -0
- package/dist/reactions/reactions.type.js.map +1 -0
- package/dist/reconnection-manager/index.js +322 -455
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.js +343 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.js +63 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/index.js +39 -64
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +94 -113
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +85 -94
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +0 -2
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +85 -175
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +72 -53
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +22 -47
- package/dist/transcription/index.js.map +1 -1
- package/internal-README.md +7 -6
- package/package.json +25 -20
- package/src/breakouts/README.md +190 -0
- package/src/breakouts/breakout.ts +110 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/index.ts +225 -0
- package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
- package/src/common/collection.ts +9 -7
- package/src/common/{config.js → config.ts} +1 -1
- package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
- package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
- package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
- package/src/common/errors/{media.js → media.ts} +11 -7
- package/src/common/errors/parameter.ts +11 -7
- package/src/common/errors/{password-error.js → password-error.ts} +11 -7
- package/src/common/errors/{permission.js → permission.ts} +10 -6
- package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
- package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
- package/src/common/errors/{stats.js → stats.ts} +11 -7
- package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
- package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
- package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
- package/src/common/events/{events.js → events.ts} +5 -1
- package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
- package/src/common/events/{util.js → util.ts} +2 -3
- package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
- package/src/common/logs/logger-proxy.ts +44 -0
- package/src/common/logs/{request.js → request.ts} +22 -9
- package/src/common/queue.ts +1 -2
- package/src/{config.js → config.ts} +17 -12
- package/src/constants.ts +40 -1
- package/src/index.js +1 -1
- package/src/locus-info/controlsUtils.ts +114 -0
- package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
- package/src/locus-info/{fullState.js → fullState.ts} +16 -12
- package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
- package/src/locus-info/{index.js → index.ts} +148 -64
- package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
- package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
- package/src/locus-info/{parser.js → parser.ts} +67 -79
- package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
- package/src/media/{index.js → index.ts} +181 -131
- package/src/media/{properties.js → properties.ts} +47 -28
- package/src/media/{util.js → util.ts} +2 -2
- package/src/mediaQualityMetrics/{config.js → config.ts} +46 -46
- package/src/meeting/{effectsState.js → effectsState.ts} +47 -41
- package/src/meeting/in-meeting-actions.ts +15 -3
- package/src/meeting/{index.js → index.ts} +2263 -1427
- package/src/meeting/{muteState.js → muteState.ts} +78 -42
- package/src/meeting/{request.js → request.ts} +292 -142
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/{state.js → state.ts} +50 -35
- package/src/meeting/{util.js → util.ts} +112 -115
- package/src/meeting-info/{collection.js → collection.ts} +6 -2
- package/src/meeting-info/{index.js → index.ts} +42 -36
- package/src/meeting-info/meeting-info-v2.ts +273 -0
- package/src/meeting-info/{request.js → request.ts} +14 -4
- package/src/meeting-info/{util.js → util.ts} +60 -51
- package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
- package/src/meetings/{collection.js → collection.ts} +6 -3
- package/src/meetings/index.ts +1159 -0
- package/src/meetings/{request.js → request.ts} +32 -25
- package/src/meetings/{util.js → util.ts} +34 -32
- package/src/member/{index.js → index.ts} +102 -56
- package/src/member/{util.js → util.ts} +52 -25
- package/src/members/{collection.js → collection.ts} +2 -2
- package/src/members/{index.js → index.ts} +219 -142
- package/src/members/{request.js → request.ts} +60 -16
- package/src/members/{util.js → util.ts} +50 -48
- package/src/metrics/{config.js → config.ts} +254 -83
- package/src/metrics/{constants.js → constants.ts} +0 -2
- package/src/metrics/{index.js → index.ts} +106 -74
- package/src/multistream/mediaRequestManager.ts +81 -15
- package/src/multistream/multistreamMedia.ts +5 -0
- package/src/multistream/receiveSlot.ts +18 -12
- package/src/multistream/receiveSlotManager.ts +23 -21
- package/src/multistream/remoteMedia.ts +15 -5
- package/src/multistream/remoteMediaGroup.ts +4 -3
- package/src/multistream/remoteMediaManager.ts +153 -37
- package/src/networkQualityMonitor/{index.js → index.ts} +37 -25
- package/src/personal-meeting-room/{index.js → index.ts} +28 -19
- package/src/personal-meeting-room/{request.js → request.ts} +13 -4
- package/src/personal-meeting-room/{util.js → util.ts} +4 -4
- package/src/reachability/{index.js → index.ts} +99 -83
- package/src/reachability/request.ts +39 -33
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +104 -0
- package/src/reactions/reactions.type.ts +62 -0
- package/src/reconnection-manager/{index.js → index.ts} +195 -102
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +315 -0
- package/src/recording-controller/util.ts +58 -0
- package/src/roap/{index.js → index.ts} +73 -56
- package/src/roap/request.ts +157 -0
- package/src/roap/turnDiscovery.ts +77 -37
- package/src/statsAnalyzer/{global.js → global.ts} +30 -33
- package/src/statsAnalyzer/{index.js → index.ts} +468 -192
- package/src/statsAnalyzer/mqaUtil.ts +290 -0
- package/src/transcription/{index.js → index.ts} +46 -39
- package/test/integration/spec/journey.js +664 -463
- package/test/integration/spec/space-meeting.js +320 -206
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/breakouts/breakout.ts +119 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/index.ts +293 -0
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +25 -5
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +104 -2
- package/test/unit/spec/locus-info/infoUtils.js +41 -32
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/parser.js +3 -9
- package/test/unit/spec/locus-info/selfConstant.js +97 -103
- package/test/unit/spec/locus-info/selfUtils.js +105 -12
- package/test/unit/spec/media/index.ts +31 -47
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/effectsState.js +39 -45
- package/test/unit/spec/meeting/in-meeting-actions.ts +5 -2
- package/test/unit/spec/meeting/index.js +2017 -742
- package/test/unit/spec/meeting/muteState.js +42 -33
- package/test/unit/spec/meeting/request.js +115 -44
- package/test/unit/spec/meeting/utils.js +104 -171
- package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +110 -74
- package/test/unit/spec/meetings/collection.js +1 -1
- package/test/unit/spec/meetings/index.js +439 -257
- package/test/unit/spec/meetings/utils.js +14 -12
- package/test/unit/spec/member/index.js +0 -1
- package/test/unit/spec/member/util.js +31 -7
- package/test/unit/spec/members/index.js +104 -54
- package/test/unit/spec/members/request.js +29 -20
- package/test/unit/spec/members/utils.js +8 -5
- package/test/unit/spec/metrics/index.js +16 -21
- package/test/unit/spec/multistream/mediaRequestManager.ts +316 -50
- package/test/unit/spec/multistream/receiveSlot.ts +6 -6
- package/test/unit/spec/multistream/receiveSlotManager.ts +13 -13
- package/test/unit/spec/multistream/remoteMedia.ts +10 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +412 -65
- package/test/unit/spec/networkQualityMonitor/index.js +21 -15
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +58 -26
- package/test/unit/spec/reconnection-manager/index.js +102 -9
- package/test/unit/spec/recording-controller/index.js +231 -0
- package/test/unit/spec/recording-controller/util.js +102 -0
- package/test/unit/spec/roap/index.ts +2 -1
- package/test/unit/spec/roap/request.ts +114 -0
- package/test/unit/spec/roap/turnDiscovery.ts +64 -45
- package/test/unit/spec/stats-analyzer/index.js +27 -22
- package/test/utils/cmr.js +44 -42
- package/test/utils/testUtils.js +83 -74
- package/test/utils/webex-config.js +18 -18
- package/test/utils/webex-test-users.js +54 -50
- package/tsconfig.json +6 -0
- package/dist/media/internal-media-core-wrapper.js +0 -22
- package/dist/media/internal-media-core-wrapper.js.map +0 -1
- package/dist/peer-connection-manager/util.js +0 -124
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/src/common/logs/logger-proxy.js +0 -33
- package/src/locus-info/controlsUtils.js +0 -102
- package/src/media/internal-media-core-wrapper.ts +0 -9
- package/src/meeting-info/meeting-info-v2.js +0 -255
- package/src/meetings/index.js +0 -1015
- package/src/peer-connection-manager/util.ts +0 -117
- package/src/roap/request.js +0 -127
- package/src/statsAnalyzer/mqaUtil.js +0 -173
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
package/dist/meeting/util.js
CHANGED
|
@@ -1,74 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
4
|
-
|
|
5
4
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
6
|
-
|
|
7
5
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
8
|
-
|
|
9
6
|
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
10
|
-
|
|
11
7
|
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
12
|
-
|
|
13
8
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
14
|
-
|
|
15
9
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
16
|
-
|
|
17
10
|
_Object$defineProperty(exports, "__esModule", {
|
|
18
11
|
value: true
|
|
19
12
|
});
|
|
20
|
-
|
|
21
13
|
exports.default = void 0;
|
|
22
|
-
|
|
23
14
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
24
|
-
|
|
25
15
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
26
|
-
|
|
27
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
|
|
28
|
-
|
|
29
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
30
|
-
|
|
31
18
|
var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
|
|
32
|
-
|
|
33
19
|
var _webexErrors = require("../common/errors/webex-errors");
|
|
34
|
-
|
|
35
20
|
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
36
|
-
|
|
37
21
|
var _config = require("../metrics/config");
|
|
38
|
-
|
|
39
22
|
var _media = _interopRequireDefault(require("../media"));
|
|
40
|
-
|
|
41
23
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
42
|
-
|
|
43
24
|
var _constants = require("../constants");
|
|
44
|
-
|
|
45
25
|
var _intentToJoin = _interopRequireDefault(require("../common/errors/intent-to-join"));
|
|
46
|
-
|
|
47
26
|
var _joinMeeting = _interopRequireDefault(require("../common/errors/join-meeting"));
|
|
48
|
-
|
|
49
27
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
50
|
-
|
|
51
28
|
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
52
|
-
|
|
53
29
|
var _passwordError = _interopRequireDefault(require("../common/errors/password-error"));
|
|
54
|
-
|
|
55
30
|
var _captchaError = _interopRequireDefault(require("../common/errors/captcha-error"));
|
|
56
|
-
|
|
57
31
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(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; }
|
|
58
|
-
|
|
59
32
|
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; }
|
|
60
|
-
|
|
61
33
|
var MeetingUtil = {};
|
|
62
|
-
|
|
63
34
|
MeetingUtil.parseLocusJoin = function (response) {
|
|
64
|
-
var parsed = {};
|
|
35
|
+
var parsed = {};
|
|
65
36
|
|
|
37
|
+
// First todo: add check for existance
|
|
66
38
|
parsed.locus = response.body.locus;
|
|
67
39
|
parsed.mediaConnections = response.body.mediaConnections;
|
|
68
40
|
parsed.locusUrl = parsed.locus.url;
|
|
69
41
|
parsed.locusId = parsed.locus.url.split('/').pop();
|
|
70
|
-
parsed.selfId = parsed.locus.self.id;
|
|
42
|
+
parsed.selfId = parsed.locus.self.id;
|
|
71
43
|
|
|
44
|
+
// we need mediaId before making roap calls
|
|
72
45
|
parsed.mediaConnections.forEach(function (mediaConnection) {
|
|
73
46
|
if (mediaConnection.mediaId) {
|
|
74
47
|
parsed.mediaId = mediaConnection.mediaId;
|
|
@@ -76,23 +49,18 @@ MeetingUtil.parseLocusJoin = function (response) {
|
|
|
76
49
|
});
|
|
77
50
|
return parsed;
|
|
78
51
|
};
|
|
79
|
-
|
|
80
52
|
MeetingUtil.remoteUpdateAudioVideo = function (audioMuted, videoMuted, meeting) {
|
|
81
53
|
if (!meeting) {
|
|
82
54
|
return _promise.default.reject(new _parameter.default('You need a meeting object.'));
|
|
83
55
|
}
|
|
84
|
-
|
|
85
56
|
var localMedias = _media.default.generateLocalMedias(meeting.mediaId, audioMuted, videoMuted);
|
|
86
|
-
|
|
87
57
|
if ((0, _isEmpty2.default)(localMedias)) {
|
|
88
58
|
return _promise.default.reject(new _parameter.default('You need a media id on the meeting to change remote audio.'));
|
|
89
59
|
}
|
|
90
|
-
|
|
91
60
|
_metrics.default.postEvent({
|
|
92
61
|
event: _config.eventType.MEDIA_REQUEST,
|
|
93
62
|
meeting: meeting
|
|
94
63
|
});
|
|
95
|
-
|
|
96
64
|
return meeting.meetingRequest.remoteAudioVideoToggle({
|
|
97
65
|
locusUrl: meeting.locusUrl,
|
|
98
66
|
selfId: meeting.selfId,
|
|
@@ -105,38 +73,31 @@ MeetingUtil.remoteUpdateAudioVideo = function (audioMuted, videoMuted, meeting)
|
|
|
105
73
|
event: _config.eventType.MEDIA_RESPONSE,
|
|
106
74
|
meeting: meeting
|
|
107
75
|
});
|
|
108
|
-
|
|
109
76
|
return response.body.locus;
|
|
110
77
|
});
|
|
111
78
|
};
|
|
112
|
-
|
|
113
79
|
MeetingUtil.hasOwner = function (info) {
|
|
114
80
|
return info && info.owner;
|
|
115
81
|
};
|
|
116
|
-
|
|
117
82
|
MeetingUtil.isOwnerSelf = function (owner, selfId) {
|
|
118
83
|
return owner === selfId;
|
|
119
84
|
};
|
|
120
|
-
|
|
121
85
|
MeetingUtil.isPinOrGuest = function (err) {
|
|
122
86
|
var _err$body;
|
|
123
|
-
|
|
124
87
|
return (err === null || err === void 0 ? void 0 : (_err$body = err.body) === null || _err$body === void 0 ? void 0 : _err$body.errorCode) && _constants.INTENT_TO_JOIN.includes(err.body.errorCode);
|
|
125
88
|
};
|
|
126
|
-
|
|
127
89
|
MeetingUtil.joinMeeting = function (meeting, options) {
|
|
128
90
|
if (!meeting) {
|
|
129
91
|
return _promise.default.reject(new _parameter.default('You need a meeting object.'));
|
|
130
92
|
}
|
|
131
|
-
|
|
132
93
|
_metrics.default.postEvent({
|
|
133
94
|
event: _config.eventType.LOCUS_JOIN_REQUEST,
|
|
134
95
|
meeting: meeting
|
|
135
|
-
});
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
// eslint-disable-next-line no-warning-comments
|
|
136
99
|
// TODO: check if the meeting is in JOINING state
|
|
137
100
|
// if Joining state termintate the request as user might click multiple times
|
|
138
|
-
|
|
139
|
-
|
|
140
101
|
return meeting.meetingRequest.joinMeeting({
|
|
141
102
|
inviteeAddress: meeting.meetingJoinUrl || meeting.sipUri,
|
|
142
103
|
meetingNumber: meeting.meetingNumber,
|
|
@@ -150,7 +111,8 @@ MeetingUtil.joinMeeting = function (meeting, options) {
|
|
|
150
111
|
pin: options.pin,
|
|
151
112
|
moveToResource: options.moveToResource,
|
|
152
113
|
preferTranscoding: !meeting.isMultistream,
|
|
153
|
-
asResourceOccupant: options.asResourceOccupant
|
|
114
|
+
asResourceOccupant: options.asResourceOccupant,
|
|
115
|
+
breakoutsSupported: options.breakoutsSupported
|
|
154
116
|
}).then(function (res) {
|
|
155
117
|
_metrics.default.postEvent({
|
|
156
118
|
event: _config.eventType.LOCUS_JOIN_RESPONSE,
|
|
@@ -162,12 +124,12 @@ MeetingUtil.joinMeeting = function (meeting, options) {
|
|
|
162
124
|
trackingId: res.headers.trackingid
|
|
163
125
|
}
|
|
164
126
|
});
|
|
165
|
-
|
|
166
127
|
return MeetingUtil.parseLocusJoin(res);
|
|
167
128
|
});
|
|
168
129
|
};
|
|
169
|
-
|
|
170
130
|
MeetingUtil.cleanUp = function (meeting) {
|
|
131
|
+
meeting.breakouts.cleanUp();
|
|
132
|
+
|
|
171
133
|
// make sure we send last metrics before we close the peerconnection
|
|
172
134
|
var stopStatsAnalyzer = meeting.statsAnalyzer ? meeting.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
|
|
173
135
|
return stopStatsAnalyzer.then(function () {
|
|
@@ -186,14 +148,14 @@ MeetingUtil.cleanUp = function (meeting) {
|
|
|
186
148
|
meeting.reconnectionManager.cleanUp();
|
|
187
149
|
}).then(function () {
|
|
188
150
|
return meeting.stopKeepAlive();
|
|
151
|
+
}).then(function () {
|
|
152
|
+
return meeting.updateLLMConnection();
|
|
189
153
|
});
|
|
190
154
|
};
|
|
191
|
-
|
|
192
155
|
MeetingUtil.disconnectPhoneAudio = function (meeting, phoneUrl) {
|
|
193
156
|
if (meeting.meetingState === _constants.FULL_STATE.INACTIVE) {
|
|
194
157
|
return _promise.default.reject(new _webexErrors.MeetingNotActiveError());
|
|
195
158
|
}
|
|
196
|
-
|
|
197
159
|
var options = {
|
|
198
160
|
locusUrl: meeting.locusUrl,
|
|
199
161
|
selfId: meeting.selfId,
|
|
@@ -202,33 +164,28 @@ MeetingUtil.disconnectPhoneAudio = function (meeting, phoneUrl) {
|
|
|
202
164
|
};
|
|
203
165
|
return meeting.meetingRequest.disconnectPhoneAudio(options).then(function (response) {
|
|
204
166
|
var _response$body;
|
|
205
|
-
|
|
206
167
|
if (response !== null && response !== void 0 && (_response$body = response.body) !== null && _response$body !== void 0 && _response$body.locus) {
|
|
207
168
|
meeting.locusInfo.onFullLocus(response.body.locus);
|
|
208
169
|
}
|
|
209
170
|
}).catch(function (err) {
|
|
210
171
|
_loggerProxy.default.logger.error("Meeting:util#disconnectPhoneAudio --> An error occured while disconnecting phone audio in meeting ".concat(meeting.id, ", error: ").concat(err));
|
|
211
|
-
|
|
212
172
|
return _promise.default.reject(err);
|
|
213
173
|
});
|
|
214
|
-
};
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
// by default will leave on meeting's resourceId
|
|
215
177
|
// if you explicity want it not to leave on resource id, pass
|
|
216
178
|
// {resourceId: null}
|
|
217
179
|
// TODO: chris, you can modify this however you want
|
|
218
|
-
|
|
219
|
-
|
|
220
180
|
MeetingUtil.leaveMeeting = function (meeting) {
|
|
221
181
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
222
|
-
|
|
223
182
|
if (meeting.meetingState === _constants.FULL_STATE.INACTIVE) {
|
|
224
183
|
// TODO: clean up if the meeting is already inactive
|
|
225
184
|
return _promise.default.reject(new _webexErrors.MeetingNotActiveError());
|
|
226
185
|
}
|
|
227
|
-
|
|
228
186
|
if (MeetingUtil.isUserInLeftState(meeting.locusInfo)) {
|
|
229
187
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
230
188
|
}
|
|
231
|
-
|
|
232
189
|
var defaultOptions = {
|
|
233
190
|
locusUrl: meeting.locusUrl,
|
|
234
191
|
selfId: meeting.selfId,
|
|
@@ -236,32 +193,26 @@ MeetingUtil.leaveMeeting = function (meeting) {
|
|
|
236
193
|
resourceId: meeting.resourceId,
|
|
237
194
|
deviceUrl: meeting.deviceUrl
|
|
238
195
|
};
|
|
239
|
-
|
|
240
196
|
var leaveOptions = _objectSpread(_objectSpread({}, defaultOptions), options);
|
|
241
|
-
|
|
242
197
|
return meeting.meetingRequest.leaveMeeting(leaveOptions).then(function (response) {
|
|
243
198
|
if (response && response.body && response.body.locus) {
|
|
244
199
|
// && !options.moveMeeting) {
|
|
245
200
|
meeting.locusInfo.onFullLocus(response.body.locus);
|
|
246
201
|
}
|
|
247
|
-
|
|
248
202
|
return _promise.default.resolve();
|
|
249
203
|
}).then(function () {
|
|
250
204
|
if (options.moveMeeting) {
|
|
251
205
|
return _promise.default.resolve();
|
|
252
206
|
}
|
|
253
|
-
|
|
254
207
|
return MeetingUtil.cleanUp(meeting);
|
|
255
208
|
}).catch(function (err) {
|
|
256
209
|
// TODO: If the meeting state comes as LEFT or INACTIVE as response then
|
|
257
210
|
// 1) on leave clean up the meeting or simply do a sync on the meeting
|
|
258
211
|
// 2) If the error says meeting is inactive then destroy the meeting object
|
|
259
212
|
_loggerProxy.default.logger.error("Meeting:util#leaveMeeting --> An error occured while trying to leave meeting with an id of ".concat(meeting.id, ", error: ").concat(err));
|
|
260
|
-
|
|
261
213
|
return _promise.default.reject(err);
|
|
262
214
|
});
|
|
263
215
|
};
|
|
264
|
-
|
|
265
216
|
MeetingUtil.declineMeeting = function (meeting, reason) {
|
|
266
217
|
return meeting.meetingRequest.declineMeeting({
|
|
267
218
|
locusUrl: meeting.locusUrl,
|
|
@@ -269,49 +220,38 @@ MeetingUtil.declineMeeting = function (meeting, reason) {
|
|
|
269
220
|
reason: reason
|
|
270
221
|
});
|
|
271
222
|
};
|
|
272
|
-
|
|
273
223
|
MeetingUtil.isUserInLeftState = function (locusInfo) {
|
|
274
224
|
var _locusInfo$parsedLocu, _locusInfo$parsedLocu2;
|
|
275
|
-
|
|
276
225
|
return ((_locusInfo$parsedLocu = locusInfo.parsedLocus) === null || _locusInfo$parsedLocu === void 0 ? void 0 : (_locusInfo$parsedLocu2 = _locusInfo$parsedLocu.self) === null || _locusInfo$parsedLocu2 === void 0 ? void 0 : _locusInfo$parsedLocu2.state) === _constants._LEFT_;
|
|
277
226
|
};
|
|
278
|
-
|
|
279
227
|
MeetingUtil.isUserInIdleState = function (locusInfo) {
|
|
280
228
|
var _locusInfo$parsedLocu3, _locusInfo$parsedLocu4;
|
|
281
|
-
|
|
282
229
|
return ((_locusInfo$parsedLocu3 = locusInfo.parsedLocus) === null || _locusInfo$parsedLocu3 === void 0 ? void 0 : (_locusInfo$parsedLocu4 = _locusInfo$parsedLocu3.self) === null || _locusInfo$parsedLocu4 === void 0 ? void 0 : _locusInfo$parsedLocu4.state) === _constants._IDLE_;
|
|
283
230
|
};
|
|
284
|
-
|
|
285
231
|
MeetingUtil.isUserInJoinedState = function (locusInfo) {
|
|
286
232
|
var _locusInfo$parsedLocu5, _locusInfo$parsedLocu6;
|
|
287
|
-
|
|
288
233
|
return ((_locusInfo$parsedLocu5 = locusInfo.parsedLocus) === null || _locusInfo$parsedLocu5 === void 0 ? void 0 : (_locusInfo$parsedLocu6 = _locusInfo$parsedLocu5.self) === null || _locusInfo$parsedLocu6 === void 0 ? void 0 : _locusInfo$parsedLocu6.state) === _constants._JOINED_;
|
|
289
234
|
};
|
|
290
|
-
|
|
291
235
|
MeetingUtil.isMediaEstablished = function (currentMediaStatus) {
|
|
292
236
|
return currentMediaStatus && (currentMediaStatus.audio || currentMediaStatus.video || currentMediaStatus.share);
|
|
293
237
|
};
|
|
294
|
-
|
|
295
238
|
MeetingUtil.joinMeetingOptions = function (meeting) {
|
|
296
239
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
297
240
|
meeting.resourceId = meeting.resourceId || options.resourceId;
|
|
298
|
-
|
|
299
241
|
if (meeting.requiredCaptcha) {
|
|
300
242
|
return _promise.default.reject(new _captchaError.default());
|
|
301
243
|
}
|
|
302
|
-
|
|
303
244
|
if (meeting.passwordStatus === _constants.PASSWORD_STATUS.REQUIRED) {
|
|
304
245
|
return _promise.default.reject(new _passwordError.default());
|
|
305
246
|
}
|
|
306
|
-
|
|
307
247
|
if (options.pin) {
|
|
308
248
|
_metrics.default.postEvent({
|
|
309
249
|
event: _config.eventType.PIN_COLLECTED,
|
|
310
250
|
meeting: meeting
|
|
311
251
|
});
|
|
312
|
-
}
|
|
313
|
-
|
|
252
|
+
}
|
|
314
253
|
|
|
254
|
+
// normal join meeting, scenario A, D
|
|
315
255
|
return MeetingUtil.joinMeeting(meeting, options).then(function (response) {
|
|
316
256
|
meeting.setLocus(response);
|
|
317
257
|
return _promise.default.resolve(response);
|
|
@@ -321,202 +261,99 @@ MeetingUtil.joinMeetingOptions = function (meeting) {
|
|
|
321
261
|
_metrics.default.postEvent({
|
|
322
262
|
event: _config.eventType.PIN_PROMPT,
|
|
323
263
|
meeting: meeting
|
|
324
|
-
});
|
|
325
|
-
// see https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-Lobby-and--IVR-Feature
|
|
326
|
-
|
|
264
|
+
});
|
|
327
265
|
|
|
266
|
+
// request host pin or non host for unclaimed PMR, start of Scenario C
|
|
267
|
+
// see https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-Lobby-and--IVR-Feature
|
|
328
268
|
return _promise.default.reject(new _intentToJoin.default('Error Joining Meeting', err));
|
|
329
269
|
}
|
|
330
|
-
|
|
331
270
|
_loggerProxy.default.logger.error('Meeting:util#joinMeetingOptions --> Error joining the call, ', err);
|
|
332
|
-
|
|
333
271
|
return _promise.default.reject(new _joinMeeting.default(options, 'Error Joining Meeting', err));
|
|
334
272
|
});
|
|
335
273
|
};
|
|
336
|
-
|
|
337
274
|
MeetingUtil.validateOptions = function (options) {
|
|
338
275
|
var sendVideo = options.sendVideo,
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
276
|
+
sendAudio = options.sendAudio,
|
|
277
|
+
sendShare = options.sendShare,
|
|
278
|
+
localStream = options.localStream,
|
|
279
|
+
localShare = options.localShare;
|
|
344
280
|
if (sendVideo && !MeetingUtil.getTrack(localStream).videoTrack) {
|
|
345
281
|
return _promise.default.reject(new _parameter.default('please pass valid video streams'));
|
|
346
282
|
}
|
|
347
|
-
|
|
348
283
|
if (sendAudio && !MeetingUtil.getTrack(localStream).audioTrack) {
|
|
349
284
|
return _promise.default.reject(new _parameter.default('please pass valid audio streams'));
|
|
350
285
|
}
|
|
351
|
-
|
|
352
286
|
if (sendShare && !MeetingUtil.getTrack(localShare).videoTrack) {
|
|
353
287
|
return _promise.default.reject(new _parameter.default('please pass valid share streams'));
|
|
354
288
|
}
|
|
355
|
-
|
|
356
289
|
return _promise.default.resolve();
|
|
357
290
|
};
|
|
358
|
-
|
|
359
291
|
MeetingUtil.getTrack = function (stream) {
|
|
360
292
|
var audioTrack = null;
|
|
361
293
|
var videoTrack = null;
|
|
362
294
|
var audioTracks = null;
|
|
363
295
|
var videoTracks = null;
|
|
364
|
-
|
|
365
296
|
if (!stream) {
|
|
366
297
|
return {
|
|
367
298
|
audioTrack: null,
|
|
368
299
|
videoTrack: null
|
|
369
300
|
};
|
|
370
301
|
}
|
|
371
|
-
|
|
372
302
|
if (stream.getAudioTracks) {
|
|
373
303
|
audioTracks = stream.getAudioTracks();
|
|
374
304
|
}
|
|
375
|
-
|
|
376
305
|
if (stream.getVideoTracks) {
|
|
377
306
|
videoTracks = stream.getVideoTracks();
|
|
378
307
|
}
|
|
379
|
-
|
|
380
308
|
if (audioTracks && audioTracks.length > 0) {
|
|
381
309
|
var _audioTracks = audioTracks;
|
|
382
|
-
|
|
383
310
|
var _audioTracks2 = (0, _slicedToArray2.default)(_audioTracks, 1);
|
|
384
|
-
|
|
385
311
|
audioTrack = _audioTracks2[0];
|
|
386
312
|
}
|
|
387
|
-
|
|
388
313
|
if (videoTracks && videoTracks.length > 0) {
|
|
389
314
|
var _videoTracks = videoTracks;
|
|
390
|
-
|
|
391
315
|
var _videoTracks2 = (0, _slicedToArray2.default)(_videoTracks, 1);
|
|
392
|
-
|
|
393
316
|
videoTrack = _videoTracks2[0];
|
|
394
317
|
}
|
|
395
|
-
|
|
396
318
|
return {
|
|
397
319
|
audioTrack: audioTrack,
|
|
398
320
|
videoTrack: videoTrack
|
|
399
321
|
};
|
|
400
322
|
};
|
|
401
|
-
|
|
402
323
|
MeetingUtil.getModeratorFromLocusInfo = function (locusInfo) {
|
|
403
324
|
return locusInfo && locusInfo.parsedLocus && locusInfo.parsedLocus.info && locusInfo.parsedLocus.info && locusInfo.parsedLocus.info.moderator;
|
|
404
325
|
};
|
|
405
|
-
|
|
406
326
|
MeetingUtil.getPolicyFromLocusInfo = function (locusInfo) {
|
|
407
327
|
return locusInfo && locusInfo.parsedLocus && locusInfo.parsedLocus.info && locusInfo.parsedLocus.info && locusInfo.parsedLocus.info.policy;
|
|
408
328
|
};
|
|
409
|
-
|
|
410
329
|
MeetingUtil.getUserDisplayHintsFromLocusInfo = function (locusInfo) {
|
|
411
330
|
var _locusInfo$parsedLocu7, _locusInfo$parsedLocu8;
|
|
412
|
-
|
|
413
331
|
return (locusInfo === null || locusInfo === void 0 ? void 0 : (_locusInfo$parsedLocu7 = locusInfo.parsedLocus) === null || _locusInfo$parsedLocu7 === void 0 ? void 0 : (_locusInfo$parsedLocu8 = _locusInfo$parsedLocu7.info) === null || _locusInfo$parsedLocu8 === void 0 ? void 0 : _locusInfo$parsedLocu8.userDisplayHints) || [];
|
|
414
332
|
};
|
|
415
|
-
|
|
416
333
|
MeetingUtil.canInviteNewParticipants = function (displayHints) {
|
|
417
334
|
return displayHints.includes(_constants.DISPLAY_HINTS.ADD_GUEST);
|
|
418
335
|
};
|
|
419
|
-
|
|
420
336
|
MeetingUtil.canAdmitParticipant = function (displayHints) {
|
|
421
337
|
return displayHints.includes(_constants.DISPLAY_HINTS.ROSTER_WAITING_TO_JOIN);
|
|
422
338
|
};
|
|
423
|
-
|
|
424
339
|
MeetingUtil.canUserLock = function (displayHints) {
|
|
425
340
|
return displayHints.includes(_constants.DISPLAY_HINTS.LOCK_CONTROL_LOCK) && displayHints.includes(_constants.DISPLAY_HINTS.LOCK_STATUS_UNLOCKED);
|
|
426
341
|
};
|
|
427
|
-
|
|
428
342
|
MeetingUtil.canUserUnlock = function (displayHints) {
|
|
429
343
|
return displayHints.includes(_constants.DISPLAY_HINTS.LOCK_CONTROL_UNLOCK) && displayHints.includes(_constants.DISPLAY_HINTS.LOCK_STATUS_LOCKED);
|
|
430
344
|
};
|
|
431
|
-
|
|
432
|
-
MeetingUtil.canUserRecord = function (displayHints) {
|
|
433
|
-
return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_START);
|
|
434
|
-
};
|
|
435
|
-
|
|
436
|
-
MeetingUtil.canUserPause = function (displayHints) {
|
|
437
|
-
return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_PAUSE);
|
|
438
|
-
};
|
|
439
|
-
|
|
440
|
-
MeetingUtil.canUserResume = function (displayHints) {
|
|
441
|
-
return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_RESUME);
|
|
442
|
-
};
|
|
443
|
-
|
|
444
|
-
MeetingUtil.canUserStop = function (displayHints) {
|
|
445
|
-
return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_STOP);
|
|
446
|
-
};
|
|
447
|
-
|
|
448
|
-
MeetingUtil.startRecording = function (request, locusUrl, locusInfo) {
|
|
449
|
-
var displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);
|
|
450
|
-
|
|
451
|
-
if (MeetingUtil.canUserRecord(displayHints)) {
|
|
452
|
-
return request.recordMeeting({
|
|
453
|
-
locusUrl: locusUrl,
|
|
454
|
-
recording: true,
|
|
455
|
-
paused: false
|
|
456
|
-
});
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
return _promise.default.reject(new _permission.default('Start recording not allowed, due to moderator property.'));
|
|
460
|
-
};
|
|
461
|
-
|
|
462
|
-
MeetingUtil.pauseRecording = function (request, locusUrl, locusInfo) {
|
|
463
|
-
var displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);
|
|
464
|
-
|
|
465
|
-
if (MeetingUtil.canUserPause(displayHints)) {
|
|
466
|
-
return request.recordMeeting({
|
|
467
|
-
locusUrl: locusUrl,
|
|
468
|
-
recording: true,
|
|
469
|
-
paused: true
|
|
470
|
-
});
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
return _promise.default.reject(new _permission.default('Pause recording not allowed, due to moderator property.'));
|
|
474
|
-
};
|
|
475
|
-
|
|
476
|
-
MeetingUtil.resumeRecording = function (request, locusUrl, locusInfo) {
|
|
477
|
-
var displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);
|
|
478
|
-
|
|
479
|
-
if (MeetingUtil.canUserResume(displayHints)) {
|
|
480
|
-
return request.recordMeeting({
|
|
481
|
-
locusUrl: locusUrl,
|
|
482
|
-
recording: true,
|
|
483
|
-
paused: false
|
|
484
|
-
});
|
|
485
|
-
}
|
|
486
|
-
|
|
487
|
-
return _promise.default.reject(new _permission.default('Resume recording not allowed, due to moderator property.'));
|
|
488
|
-
};
|
|
489
|
-
|
|
490
|
-
MeetingUtil.stopRecording = function (request, locusUrl, locusInfo) {
|
|
491
|
-
var displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);
|
|
492
|
-
|
|
493
|
-
if (MeetingUtil.canUserStop(displayHints)) {
|
|
494
|
-
return request.recordMeeting({
|
|
495
|
-
locusUrl: locusUrl,
|
|
496
|
-
recording: false,
|
|
497
|
-
paused: false
|
|
498
|
-
});
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
return _promise.default.reject(new _permission.default('Stop recording not allowed, due to moderator property.'));
|
|
502
|
-
};
|
|
503
|
-
|
|
504
345
|
MeetingUtil.canUserRaiseHand = function (displayHints) {
|
|
505
346
|
return displayHints.includes(_constants.DISPLAY_HINTS.RAISE_HAND);
|
|
506
347
|
};
|
|
507
|
-
|
|
508
348
|
MeetingUtil.canUserLowerAllHands = function (displayHints) {
|
|
509
349
|
return displayHints.includes(_constants.DISPLAY_HINTS.LOWER_ALL_HANDS);
|
|
510
350
|
};
|
|
511
|
-
|
|
512
351
|
MeetingUtil.canUserLowerSomeoneElsesHand = function (displayHints) {
|
|
513
352
|
return displayHints.includes(_constants.DISPLAY_HINTS.LOWER_SOMEONE_ELSES_HAND);
|
|
514
353
|
};
|
|
515
|
-
|
|
516
354
|
MeetingUtil.bothLeaveAndEndMeetingAvailable = function (displayHints) {
|
|
517
355
|
return displayHints.includes(_constants.DISPLAY_HINTS.LEAVE_TRANSFER_HOST_END_MEETING) || displayHints.includes(_constants.DISPLAY_HINTS.LEAVE_END_MEETING);
|
|
518
356
|
};
|
|
519
|
-
|
|
520
357
|
MeetingUtil.lockMeeting = function (actions, request, locusUrl) {
|
|
521
358
|
if (actions && actions.canLock) {
|
|
522
359
|
return request.lockMeeting({
|
|
@@ -524,10 +361,8 @@ MeetingUtil.lockMeeting = function (actions, request, locusUrl) {
|
|
|
524
361
|
lock: true
|
|
525
362
|
});
|
|
526
363
|
}
|
|
527
|
-
|
|
528
364
|
return _promise.default.reject(new _permission.default('Lock not allowed, due to joined property.'));
|
|
529
365
|
};
|
|
530
|
-
|
|
531
366
|
MeetingUtil.unlockMeeting = function (actions, request, locusUrl) {
|
|
532
367
|
if (actions && actions.canUnlock) {
|
|
533
368
|
return request.lockMeeting({
|
|
@@ -535,51 +370,38 @@ MeetingUtil.unlockMeeting = function (actions, request, locusUrl) {
|
|
|
535
370
|
lock: false
|
|
536
371
|
});
|
|
537
372
|
}
|
|
538
|
-
|
|
539
373
|
return _promise.default.reject(new _permission.default('Unlock not allowed, due to joined property.'));
|
|
540
374
|
};
|
|
541
|
-
|
|
542
375
|
MeetingUtil.handleAudioLogging = function (audioTrack) {
|
|
543
376
|
var LOG_HEADER = 'MeetingUtil#handleAudioLogging -->';
|
|
544
|
-
|
|
545
377
|
if (audioTrack) {
|
|
546
378
|
var settings = audioTrack.getSettings();
|
|
547
379
|
var deviceId = settings.deviceId;
|
|
548
|
-
|
|
549
380
|
_loggerProxy.default.logger.log(LOG_HEADER, "deviceId = ".concat(deviceId));
|
|
550
|
-
|
|
551
381
|
_loggerProxy.default.logger.log(LOG_HEADER, 'settings =', (0, _stringify.default)(settings));
|
|
552
382
|
}
|
|
553
383
|
};
|
|
554
|
-
|
|
555
384
|
MeetingUtil.handleVideoLogging = function (videoTrack) {
|
|
556
385
|
var LOG_HEADER = 'MeetingUtil#handleVideoLogging -->';
|
|
557
|
-
|
|
558
386
|
if (videoTrack) {
|
|
559
387
|
var settings = videoTrack.getSettings();
|
|
560
388
|
var deviceId = settings.deviceId;
|
|
561
|
-
|
|
562
389
|
_loggerProxy.default.logger.log(LOG_HEADER, "deviceId = ".concat(deviceId));
|
|
563
|
-
|
|
564
390
|
_loggerProxy.default.logger.log(LOG_HEADER, 'settings =', (0, _stringify.default)(settings));
|
|
565
391
|
}
|
|
566
392
|
};
|
|
567
|
-
|
|
568
393
|
MeetingUtil.handleDeviceLogging = function () {
|
|
569
394
|
var devices = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
570
395
|
var LOG_HEADER = 'MeetingUtil#handleDeviceLogging -->';
|
|
571
396
|
devices.forEach(function (device) {
|
|
572
397
|
_loggerProxy.default.logger.log(LOG_HEADER, "deviceId = ".concat(device.deviceId));
|
|
573
|
-
|
|
574
398
|
_loggerProxy.default.logger.log(LOG_HEADER, 'settings', (0, _stringify.default)(device));
|
|
575
399
|
});
|
|
576
400
|
};
|
|
577
|
-
|
|
578
401
|
MeetingUtil.endMeetingForAll = function (meeting) {
|
|
579
402
|
if (meeting.meetingState === _constants.FULL_STATE.INACTIVE) {
|
|
580
403
|
return _promise.default.reject(new _webexErrors.MeetingNotActiveError());
|
|
581
404
|
}
|
|
582
|
-
|
|
583
405
|
var endOptions = {
|
|
584
406
|
locusUrl: meeting.locusUrl
|
|
585
407
|
};
|
|
@@ -587,53 +409,59 @@ MeetingUtil.endMeetingForAll = function (meeting) {
|
|
|
587
409
|
if (response && response.body && response.body.locus) {
|
|
588
410
|
meeting.locusInfo.onFullLocus(response.body.locus);
|
|
589
411
|
}
|
|
590
|
-
|
|
591
412
|
return _promise.default.resolve();
|
|
592
413
|
}).then(function () {
|
|
593
414
|
return MeetingUtil.cleanUp(meeting);
|
|
594
415
|
}).catch(function (err) {
|
|
595
416
|
_loggerProxy.default.logger.error("Meeting:util#endMeetingForAll An error occured while trying to end meeting for all with an id of ".concat(meeting.id, ", error: ").concat(err));
|
|
596
|
-
|
|
597
417
|
return _promise.default.reject(err);
|
|
598
418
|
});
|
|
599
419
|
};
|
|
600
|
-
|
|
601
420
|
MeetingUtil.canEnableClosedCaption = function (displayHints) {
|
|
602
421
|
return displayHints.includes(_constants.DISPLAY_HINTS.CAPTION_START);
|
|
603
422
|
};
|
|
604
|
-
|
|
605
423
|
MeetingUtil.canStartTranscribing = function (displayHints) {
|
|
606
424
|
return displayHints.includes(_constants.DISPLAY_HINTS.TRANSCRIPTION_CONTROL_START);
|
|
607
425
|
};
|
|
608
|
-
|
|
609
426
|
MeetingUtil.canStopTranscribing = function (displayHints) {
|
|
610
427
|
return displayHints.includes(_constants.DISPLAY_HINTS.TRANSCRIPTION_CONTROL_STOP);
|
|
611
428
|
};
|
|
612
|
-
|
|
613
429
|
MeetingUtil.isClosedCaptionActive = function (displayHints) {
|
|
614
430
|
return displayHints.includes(_constants.DISPLAY_HINTS.CAPTION_STATUS_ACTIVE);
|
|
615
431
|
};
|
|
616
|
-
|
|
617
432
|
MeetingUtil.isWebexAssistantActive = function (displayHints) {
|
|
618
433
|
return displayHints.includes(_constants.DISPLAY_HINTS.WEBEX_ASSISTANT_STATUS_ACTIVE);
|
|
619
434
|
};
|
|
620
|
-
|
|
621
435
|
MeetingUtil.canViewCaptionPanel = function (displayHints) {
|
|
622
436
|
return displayHints.includes(_constants.DISPLAY_HINTS.ENABLE_CAPTION_PANEL);
|
|
623
437
|
};
|
|
624
|
-
|
|
625
438
|
MeetingUtil.isRealTimeTranslationEnabled = function (displayHints) {
|
|
626
439
|
return displayHints.includes(_constants.DISPLAY_HINTS.DISPLAY_REAL_TIME_TRANSLATION);
|
|
627
440
|
};
|
|
628
|
-
|
|
629
441
|
MeetingUtil.canSelectSpokenLanguages = function (displayHints) {
|
|
630
442
|
return displayHints.includes(_constants.DISPLAY_HINTS.DISPLAY_NON_ENGLISH_ASR);
|
|
631
443
|
};
|
|
632
|
-
|
|
633
444
|
MeetingUtil.waitingForOthersToJoin = function (displayHints) {
|
|
634
445
|
return displayHints.includes(_constants.DISPLAY_HINTS.WAITING_FOR_OTHERS);
|
|
635
446
|
};
|
|
636
|
-
|
|
447
|
+
MeetingUtil.canEnableReactions = function (originalValue, displayHints) {
|
|
448
|
+
if (displayHints.includes(_constants.DISPLAY_HINTS.ENABLE_REACTIONS)) {
|
|
449
|
+
return true;
|
|
450
|
+
}
|
|
451
|
+
if (displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_REACTIONS)) {
|
|
452
|
+
return false;
|
|
453
|
+
}
|
|
454
|
+
return originalValue;
|
|
455
|
+
};
|
|
456
|
+
MeetingUtil.canSendReactions = function (originalValue, displayHints) {
|
|
457
|
+
if (displayHints.includes(_constants.DISPLAY_HINTS.REACTIONS_ACTIVE)) {
|
|
458
|
+
return true;
|
|
459
|
+
}
|
|
460
|
+
if (displayHints.includes(_constants.DISPLAY_HINTS.REACTIONS_INACTIVE)) {
|
|
461
|
+
return false;
|
|
462
|
+
}
|
|
463
|
+
return originalValue;
|
|
464
|
+
};
|
|
637
465
|
var _default = MeetingUtil;
|
|
638
466
|
exports.default = _default;
|
|
639
467
|
//# sourceMappingURL=util.js.map
|