@webex/plugin-meetings 3.0.0-beta.7 → 3.0.0-beta.71
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 +178 -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/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/index.js +843 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +56 -0
- package/dist/breakouts/utils.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 +143 -52
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +16 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +261 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/util.js +39 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +11 -18
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +31 -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 +237 -198
- 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 +80 -89
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +56 -146
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +83 -117
- 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 +505 -495
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +31 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2225 -2244
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +102 -100
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +308 -264
- 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 +63 -217
- 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 +26 -19
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +565 -552
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +26 -41
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +151 -155
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +100 -85
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +15 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +90 -68
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +13 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +152 -204
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +35 -39
- 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 +76 -46
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +4 -14
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +1 -6
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +59 -156
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +116 -52
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +58 -65
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +58 -93
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +55 -74
- 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 +466 -442
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +40 -59
- 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 +192 -191
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +15 -23
- 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 +342 -460
- 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 +48 -70
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +143 -131
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +91 -98
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +1 -95
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +372 -455
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +143 -87
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +22 -47
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +8 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +32 -0
- package/dist/types/config.d.ts +77 -0
- package/dist/types/constants.d.ts +944 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +6 -0
- package/dist/types/controls-options-manager/index.d.ts +128 -0
- package/dist/types/controls-options-manager/util.d.ts +9 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +276 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +212 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +32 -0
- package/dist/types/media/properties.d.ts +108 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +101 -0
- package/dist/types/meeting/index.d.ts +1720 -0
- package/dist/types/meeting/muteState.d.ts +132 -0
- package/dist/types/meeting/request.d.ts +271 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +2 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +57 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +315 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +156 -0
- package/dist/types/member/types.d.ts +21 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +343 -0
- package/dist/types/members/request.d.ts +58 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +2 -0
- package/dist/types/metrics/config.d.ts +171 -0
- package/dist/types/metrics/constants.d.ts +53 -0
- package/dist/types/metrics/index.d.ts +152 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +68 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +49 -0
- package/dist/types/multistream/remoteMedia.d.ts +100 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +56 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +193 -0
- package/dist/types/recording-controller/util.d.ts +13 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +38 -0
- package/dist/types/roap/turnDiscovery.d.ts +74 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +195 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/internal-README.md +7 -6
- package/package.json +27 -21
- package/src/breakouts/README.md +219 -0
- package/src/breakouts/breakout.ts +153 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/index.ts +745 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +44 -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.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 +92 -5
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +7 -0
- package/src/controls-options-manager/index.ts +240 -0
- package/src/controls-options-manager/util.ts +30 -0
- package/src/index.js +4 -1
- package/src/locus-info/controlsUtils.ts +141 -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} +211 -71
- 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} +183 -67
- package/src/media/{index.js → index.ts} +179 -176
- package/src/media/{properties.js → properties.ts} +60 -37
- package/src/media/{util.js → util.ts} +2 -2
- package/src/mediaQualityMetrics/config.ts +384 -0
- package/src/meeting/in-meeting-actions.ts +67 -3
- package/src/meeting/{index.js → index.ts} +2605 -1605
- package/src/meeting/{muteState.js → muteState.ts} +138 -73
- package/src/meeting/{request.js → request.ts} +326 -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} +131 -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} +26 -3
- package/src/meetings/index.ts +1275 -0
- package/src/meetings/{request.js → request.ts} +34 -25
- package/src/meetings/{util.js → util.ts} +99 -33
- package/src/member/{index.js → index.ts} +124 -56
- package/src/member/types.ts +24 -0
- package/src/member/{util.js → util.ts} +105 -25
- package/src/members/{collection.js → collection.ts} +10 -2
- package/src/members/{index.js → index.ts} +281 -144
- package/src/members/{request.js → request.ts} +80 -16
- package/src/members/types.ts +28 -0
- package/src/members/{util.js → util.ts} +108 -55
- package/src/metrics/{config.js → config.ts} +255 -92
- package/src/metrics/{constants.js → constants.ts} +0 -6
- package/src/metrics/{index.js → index.ts} +110 -94
- package/src/multistream/mediaRequestManager.ts +144 -40
- package/src/multistream/receiveSlot.ts +69 -26
- package/src/multistream/receiveSlotManager.ts +50 -38
- package/src/multistream/remoteMedia.ts +30 -4
- package/src/multistream/remoteMediaGroup.ts +4 -3
- package/src/multistream/remoteMediaManager.ts +230 -66
- package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
- 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} +157 -94
- package/src/reachability/request.ts +46 -35
- 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} +228 -120
- 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} +77 -60
- package/src/roap/request.ts +172 -0
- package/src/roap/turnDiscovery.ts +81 -41
- package/src/statsAnalyzer/global.ts +37 -0
- package/src/statsAnalyzer/index.ts +1242 -0
- package/src/statsAnalyzer/mqaUtil.ts +291 -0
- package/src/transcription/{index.js → index.ts} +46 -39
- package/test/integration/spec/converged-space-meetings.js +176 -0
- package/test/integration/spec/journey.js +665 -464
- package/test/integration/spec/space-meeting.js +320 -206
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/breakouts/breakout.ts +178 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/index.ts +1252 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +54 -0
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/controls-options-manager/index.js +204 -0
- package/test/unit/spec/controls-options-manager/util.js +86 -0
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +133 -34
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +303 -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 +101 -103
- package/test/unit/spec/locus-info/selfUtils.js +165 -12
- package/test/unit/spec/media/index.ts +72 -8
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +29 -2
- package/test/unit/spec/meeting/index.js +2503 -802
- package/test/unit/spec/meeting/muteState.js +146 -61
- package/test/unit/spec/meeting/request.js +141 -43
- package/test/unit/spec/meeting/utils.js +135 -164
- 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 +15 -1
- package/test/unit/spec/meetings/index.js +622 -263
- package/test/unit/spec/meetings/utils.js +65 -14
- package/test/unit/spec/member/index.js +24 -1
- package/test/unit/spec/member/util.js +359 -32
- package/test/unit/spec/members/index.js +294 -54
- package/test/unit/spec/members/request.js +50 -20
- package/test/unit/spec/members/utils.js +147 -4
- package/test/unit/spec/metrics/index.js +16 -21
- package/test/unit/spec/multistream/mediaRequestManager.ts +369 -68
- package/test/unit/spec/multistream/receiveSlot.ts +76 -17
- package/test/unit/spec/multistream/receiveSlotManager.ts +60 -38
- package/test/unit/spec/multistream/remoteMedia.ts +32 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
- package/test/unit/spec/networkQualityMonitor/index.js +24 -18
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +176 -27
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +58 -30
- 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 +12 -8
- package/test/unit/spec/roap/request.ts +217 -0
- package/test/unit/spec/roap/turnDiscovery.ts +72 -49
- package/test/unit/spec/stats-analyzer/index.js +108 -57
- package/test/utils/cmr.js +44 -42
- package/test/utils/constants.js +9 -0
- package/test/utils/testUtils.js +98 -77
- package/test/utils/webex-config.js +22 -18
- package/test/utils/webex-test-users.js +57 -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/meeting/effectsState.js +0 -327
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -116
- package/dist/multistream/multistreamMedia.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/mediaQualityMetrics/config.js +0 -382
- package/src/meeting/effectsState.js +0 -205
- package/src/meeting-info/meeting-info-v2.js +0 -255
- package/src/meetings/index.js +0 -1015
- package/src/multistream/multistreamMedia.ts +0 -92
- package/src/peer-connection-manager/util.ts +0 -117
- package/src/roap/request.js +0 -127
- package/src/statsAnalyzer/global.js +0 -133
- package/src/statsAnalyzer/index.js +0 -1006
- package/src/statsAnalyzer/mqaUtil.js +0 -173
- package/test/unit/spec/meeting/effectsState.js +0 -291
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
- /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
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,114 @@ 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
|
-
|
|
357
|
+
MeetingUtil.canManageBreakout = function (displayHints) {
|
|
358
|
+
return displayHints.includes(_constants.DISPLAY_HINTS.BREAKOUT_MANAGEMENT);
|
|
359
|
+
};
|
|
360
|
+
MeetingUtil.isSuppressBreakoutSupport = function (displayHints) {
|
|
361
|
+
return displayHints.includes(_constants.DISPLAY_HINTS.UCF_SUPPRESS_BREAKOUTS_SUPPORT);
|
|
362
|
+
};
|
|
363
|
+
MeetingUtil.canAdmitLobbyToBreakout = function (displayHints) {
|
|
364
|
+
return !displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_LOBBY_TO_BREAKOUT);
|
|
365
|
+
};
|
|
366
|
+
MeetingUtil.isBreakoutPreassignmentsEnabled = function (displayHints) {
|
|
367
|
+
return !displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_BREAKOUT_PREASSIGNMENTS);
|
|
368
|
+
};
|
|
369
|
+
MeetingUtil.canUserAskForHelp = function (displayHints) {
|
|
370
|
+
return !displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_ASK_FOR_HELP);
|
|
371
|
+
};
|
|
520
372
|
MeetingUtil.lockMeeting = function (actions, request, locusUrl) {
|
|
521
373
|
if (actions && actions.canLock) {
|
|
522
374
|
return request.lockMeeting({
|
|
@@ -524,10 +376,8 @@ MeetingUtil.lockMeeting = function (actions, request, locusUrl) {
|
|
|
524
376
|
lock: true
|
|
525
377
|
});
|
|
526
378
|
}
|
|
527
|
-
|
|
528
379
|
return _promise.default.reject(new _permission.default('Lock not allowed, due to joined property.'));
|
|
529
380
|
};
|
|
530
|
-
|
|
531
381
|
MeetingUtil.unlockMeeting = function (actions, request, locusUrl) {
|
|
532
382
|
if (actions && actions.canUnlock) {
|
|
533
383
|
return request.lockMeeting({
|
|
@@ -535,51 +385,38 @@ MeetingUtil.unlockMeeting = function (actions, request, locusUrl) {
|
|
|
535
385
|
lock: false
|
|
536
386
|
});
|
|
537
387
|
}
|
|
538
|
-
|
|
539
388
|
return _promise.default.reject(new _permission.default('Unlock not allowed, due to joined property.'));
|
|
540
389
|
};
|
|
541
|
-
|
|
542
390
|
MeetingUtil.handleAudioLogging = function (audioTrack) {
|
|
543
391
|
var LOG_HEADER = 'MeetingUtil#handleAudioLogging -->';
|
|
544
|
-
|
|
545
392
|
if (audioTrack) {
|
|
546
|
-
var settings = audioTrack.getSettings();
|
|
393
|
+
var settings = audioTrack.underlyingTrack.getSettings();
|
|
547
394
|
var deviceId = settings.deviceId;
|
|
548
|
-
|
|
549
395
|
_loggerProxy.default.logger.log(LOG_HEADER, "deviceId = ".concat(deviceId));
|
|
550
|
-
|
|
551
396
|
_loggerProxy.default.logger.log(LOG_HEADER, 'settings =', (0, _stringify.default)(settings));
|
|
552
397
|
}
|
|
553
398
|
};
|
|
554
|
-
|
|
555
399
|
MeetingUtil.handleVideoLogging = function (videoTrack) {
|
|
556
400
|
var LOG_HEADER = 'MeetingUtil#handleVideoLogging -->';
|
|
557
|
-
|
|
558
401
|
if (videoTrack) {
|
|
559
|
-
var settings = videoTrack.getSettings();
|
|
402
|
+
var settings = videoTrack.underlyingTrack.getSettings();
|
|
560
403
|
var deviceId = settings.deviceId;
|
|
561
|
-
|
|
562
404
|
_loggerProxy.default.logger.log(LOG_HEADER, "deviceId = ".concat(deviceId));
|
|
563
|
-
|
|
564
405
|
_loggerProxy.default.logger.log(LOG_HEADER, 'settings =', (0, _stringify.default)(settings));
|
|
565
406
|
}
|
|
566
407
|
};
|
|
567
|
-
|
|
568
408
|
MeetingUtil.handleDeviceLogging = function () {
|
|
569
409
|
var devices = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
570
410
|
var LOG_HEADER = 'MeetingUtil#handleDeviceLogging -->';
|
|
571
411
|
devices.forEach(function (device) {
|
|
572
412
|
_loggerProxy.default.logger.log(LOG_HEADER, "deviceId = ".concat(device.deviceId));
|
|
573
|
-
|
|
574
413
|
_loggerProxy.default.logger.log(LOG_HEADER, 'settings', (0, _stringify.default)(device));
|
|
575
414
|
});
|
|
576
415
|
};
|
|
577
|
-
|
|
578
416
|
MeetingUtil.endMeetingForAll = function (meeting) {
|
|
579
417
|
if (meeting.meetingState === _constants.FULL_STATE.INACTIVE) {
|
|
580
418
|
return _promise.default.reject(new _webexErrors.MeetingNotActiveError());
|
|
581
419
|
}
|
|
582
|
-
|
|
583
420
|
var endOptions = {
|
|
584
421
|
locusUrl: meeting.locusUrl
|
|
585
422
|
};
|
|
@@ -587,53 +424,62 @@ MeetingUtil.endMeetingForAll = function (meeting) {
|
|
|
587
424
|
if (response && response.body && response.body.locus) {
|
|
588
425
|
meeting.locusInfo.onFullLocus(response.body.locus);
|
|
589
426
|
}
|
|
590
|
-
|
|
591
427
|
return _promise.default.resolve();
|
|
592
428
|
}).then(function () {
|
|
593
429
|
return MeetingUtil.cleanUp(meeting);
|
|
594
430
|
}).catch(function (err) {
|
|
595
431
|
_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
432
|
return _promise.default.reject(err);
|
|
598
433
|
});
|
|
599
434
|
};
|
|
600
|
-
|
|
601
435
|
MeetingUtil.canEnableClosedCaption = function (displayHints) {
|
|
602
436
|
return displayHints.includes(_constants.DISPLAY_HINTS.CAPTION_START);
|
|
603
437
|
};
|
|
604
|
-
|
|
438
|
+
MeetingUtil.isSaveTranscriptsEnabled = function (displayHints) {
|
|
439
|
+
return displayHints.includes(_constants.DISPLAY_HINTS.SAVE_TRANSCRIPTS_ENABLED);
|
|
440
|
+
};
|
|
605
441
|
MeetingUtil.canStartTranscribing = function (displayHints) {
|
|
606
442
|
return displayHints.includes(_constants.DISPLAY_HINTS.TRANSCRIPTION_CONTROL_START);
|
|
607
443
|
};
|
|
608
|
-
|
|
609
444
|
MeetingUtil.canStopTranscribing = function (displayHints) {
|
|
610
445
|
return displayHints.includes(_constants.DISPLAY_HINTS.TRANSCRIPTION_CONTROL_STOP);
|
|
611
446
|
};
|
|
612
|
-
|
|
613
447
|
MeetingUtil.isClosedCaptionActive = function (displayHints) {
|
|
614
448
|
return displayHints.includes(_constants.DISPLAY_HINTS.CAPTION_STATUS_ACTIVE);
|
|
615
449
|
};
|
|
616
|
-
|
|
617
450
|
MeetingUtil.isWebexAssistantActive = function (displayHints) {
|
|
618
451
|
return displayHints.includes(_constants.DISPLAY_HINTS.WEBEX_ASSISTANT_STATUS_ACTIVE);
|
|
619
452
|
};
|
|
620
|
-
|
|
621
453
|
MeetingUtil.canViewCaptionPanel = function (displayHints) {
|
|
622
454
|
return displayHints.includes(_constants.DISPLAY_HINTS.ENABLE_CAPTION_PANEL);
|
|
623
455
|
};
|
|
624
|
-
|
|
625
456
|
MeetingUtil.isRealTimeTranslationEnabled = function (displayHints) {
|
|
626
457
|
return displayHints.includes(_constants.DISPLAY_HINTS.DISPLAY_REAL_TIME_TRANSLATION);
|
|
627
458
|
};
|
|
628
|
-
|
|
629
459
|
MeetingUtil.canSelectSpokenLanguages = function (displayHints) {
|
|
630
460
|
return displayHints.includes(_constants.DISPLAY_HINTS.DISPLAY_NON_ENGLISH_ASR);
|
|
631
461
|
};
|
|
632
|
-
|
|
633
462
|
MeetingUtil.waitingForOthersToJoin = function (displayHints) {
|
|
634
463
|
return displayHints.includes(_constants.DISPLAY_HINTS.WAITING_FOR_OTHERS);
|
|
635
464
|
};
|
|
636
|
-
|
|
465
|
+
MeetingUtil.canEnableReactions = function (originalValue, displayHints) {
|
|
466
|
+
if (displayHints.includes(_constants.DISPLAY_HINTS.ENABLE_REACTIONS)) {
|
|
467
|
+
return true;
|
|
468
|
+
}
|
|
469
|
+
if (displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_REACTIONS)) {
|
|
470
|
+
return false;
|
|
471
|
+
}
|
|
472
|
+
return originalValue;
|
|
473
|
+
};
|
|
474
|
+
MeetingUtil.canSendReactions = function (originalValue, displayHints) {
|
|
475
|
+
if (displayHints.includes(_constants.DISPLAY_HINTS.REACTIONS_ACTIVE)) {
|
|
476
|
+
return true;
|
|
477
|
+
}
|
|
478
|
+
if (displayHints.includes(_constants.DISPLAY_HINTS.REACTIONS_INACTIVE)) {
|
|
479
|
+
return false;
|
|
480
|
+
}
|
|
481
|
+
return originalValue;
|
|
482
|
+
};
|
|
637
483
|
var _default = MeetingUtil;
|
|
638
484
|
exports.default = _default;
|
|
639
485
|
//# sourceMappingURL=util.js.map
|