@webex/plugin-meetings 3.0.0-beta.20 → 3.0.0-beta.201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -7
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +114 -14
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +841 -19
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/errors/webex-errors.js +3 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +3 -8
- package/dist/config.js.map +1 -1
- package/dist/constants.js +172 -30
- 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 +27 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +319 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +107 -0
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +355 -57
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +219 -63
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +48 -135
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +29 -90
- package/dist/media/properties.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -493
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +80 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2692 -2544
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +229 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +196 -190
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +529 -414
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +171 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +20 -5
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +22 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +357 -66
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +88 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +49 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +121 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +86 -5
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +316 -233
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +3 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -468
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +238 -49
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +49 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +52 -34
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +173 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +4 -2
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/reachability/index.js +72 -27
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +12 -5
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/reactions.js +2 -2
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js +18 -18
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +196 -155
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -1
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +21 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +110 -89
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +93 -36
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +115 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.js +1 -93
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +326 -311
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +90 -53
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/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/events.d.ts +8 -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 +15 -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 +34 -0
- package/dist/types/config.d.ts +72 -0
- package/dist/types/constants.d.ts +1016 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +15 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/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 +322 -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 +271 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +34 -0
- package/dist/types/media/properties.d.ts +93 -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 +153 -0
- package/dist/types/meeting/index.d.ts +1471 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
- package/dist/types/meeting/muteState.d.ts +184 -0
- package/dist/types/meeting/request.d.ts +257 -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 +78 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +62 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -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 +367 -0
- package/dist/types/meetings/meetings.types.d.ts +4 -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 +159 -0
- package/dist/types/member/types.d.ts +32 -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 +353 -0
- package/dist/types/members/request.d.ts +114 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +210 -0
- package/dist/types/metrics/constants.d.ts +55 -0
- package/dist/types/metrics/index.d.ts +45 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +277 -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 +208 -0
- package/dist/types/recording-controller/util.d.ts +14 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +36 -0
- package/dist/types/roap/turnDiscovery.d.ts +91 -0
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +46 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +200 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/package.json +25 -22
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +44 -14
- package/src/breakouts/breakout.ts +87 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +710 -10
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/webex-errors.ts +6 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +2 -7
- package/src/constants.ts +157 -21
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +18 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +300 -0
- package/src/index.ts +39 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +375 -52
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +224 -39
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +87 -140
- package/src/media/properties.ts +49 -90
- package/src/mediaQualityMetrics/config.ts +379 -377
- package/src/meeting/in-meeting-actions.ts +159 -3
- package/src/meeting/index.ts +1980 -2030
- package/src/meeting/locusMediaRequest.ts +309 -0
- package/src/meeting/muteState.ts +228 -132
- package/src/meeting/request.ts +102 -112
- package/src/meeting/util.ts +509 -397
- package/src/meeting-info/index.ts +54 -8
- package/src/meeting-info/meeting-info-v2.ts +148 -14
- package/src/meeting-info/utilv2.ts +13 -3
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +392 -84
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +49 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +127 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +107 -6
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/constants.ts +2 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +55 -18
- package/src/multistream/receiveSlotManager.ts +46 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +113 -32
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/index.ts +62 -15
- package/src/reachability/request.ts +10 -5
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +3 -3
- package/src/reconnection-manager/index.ts +68 -43
- package/src/recording-controller/index.ts +20 -2
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +21 -30
- package/src/roap/request.ts +101 -95
- package/src/roap/turnDiscovery.ts +47 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +96 -0
- package/src/statsAnalyzer/global.ts +1 -94
- package/src/statsAnalyzer/index.ts +376 -386
- package/src/statsAnalyzer/mqaUtil.ts +100 -99
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +336 -259
- package/test/integration/spec/space-meeting.js +77 -4
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +142 -24
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1545 -48
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +582 -0
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +316 -43
- package/test/unit/spec/locus-info/index.js +1094 -38
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +62 -22
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +208 -17
- package/test/unit/spec/media/index.ts +138 -28
- package/test/unit/spec/meeting/in-meeting-actions.ts +79 -3
- package/test/unit/spec/meeting/index.js +3092 -1571
- package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
- package/test/unit/spec/meeting/muteState.js +370 -208
- package/test/unit/spec/meeting/request.js +338 -43
- package/test/unit/spec/meeting/utils.js +449 -53
- package/test/unit/spec/meeting-info/index.js +181 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +14 -0
- package/test/unit/spec/meetings/index.js +866 -124
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +58 -4
- package/test/unit/spec/member/util.js +479 -35
- package/test/unit/spec/members/index.js +319 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +184 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
- package/test/unit/spec/multistream/receiveSlot.ts +72 -13
- package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
- package/test/unit/spec/multistream/remoteMedia.ts +30 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +318 -0
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/index.ts +125 -8
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +59 -6
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +26 -51
- package/test/unit/spec/roap/request.ts +196 -85
- package/test/unit/spec/roap/turnDiscovery.ts +30 -7
- package/test/unit/spec/rtcMetrics/index.ts +60 -0
- package/test/unit/spec/stats-analyzer/index.js +92 -41
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +6 -3
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -299
- package/dist/metrics/config.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -110
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/src/index.js +0 -15
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/src/multistream/multistreamMedia.ts +0 -97
- package/test/unit/spec/meeting/effectsState.js +0 -285
package/src/meeting/request.ts
CHANGED
|
@@ -18,31 +18,70 @@ import {
|
|
|
18
18
|
HTTP_VERBS,
|
|
19
19
|
LEAVE,
|
|
20
20
|
LOCI,
|
|
21
|
-
LOCUS,
|
|
22
|
-
MEDIA,
|
|
23
21
|
PARTICIPANT,
|
|
24
22
|
PROVISIONAL_TYPE_DIAL_IN,
|
|
25
23
|
PROVISIONAL_TYPE_DIAL_OUT,
|
|
24
|
+
REACHABILITY,
|
|
26
25
|
SEND_DTMF_ENDPOINT,
|
|
27
26
|
_SLIDES_,
|
|
27
|
+
ANNOTATION,
|
|
28
28
|
} from '../constants';
|
|
29
|
-
import {Reaction} from '../reactions/reactions.type';
|
|
30
29
|
import {SendReactionOptions, ToggleReactionsOptions} from './request.type';
|
|
30
|
+
import MeetingUtil from './util';
|
|
31
|
+
import {AnnotationInfo} from '../annotation/annotation.types';
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
34
|
* @class MeetingRequest
|
|
34
35
|
*/
|
|
35
36
|
export default class MeetingRequest extends StatelessWebexPlugin {
|
|
36
37
|
changeVideoLayoutDebounced: any;
|
|
38
|
+
meetingRef: WeakRef<any>;
|
|
39
|
+
locusDeltaRequest: (options: object) => Promise<any>;
|
|
37
40
|
|
|
41
|
+
/**
|
|
42
|
+
* Constructor
|
|
43
|
+
* @param {Object} attrs
|
|
44
|
+
* @param {Object} options
|
|
45
|
+
*/
|
|
38
46
|
constructor(attrs: any, options: any) {
|
|
39
|
-
|
|
47
|
+
const {meeting, ...otherAttrs} = attrs;
|
|
48
|
+
|
|
49
|
+
super(otherAttrs, options);
|
|
50
|
+
|
|
51
|
+
this.locusDeltaRequest = MeetingUtil.generateLocusDeltaRequest(meeting);
|
|
52
|
+
|
|
40
53
|
this.changeVideoLayoutDebounced = debounce(this.changeVideoLayout, 2000, {
|
|
41
54
|
leading: true,
|
|
42
55
|
trailing: true,
|
|
43
56
|
});
|
|
44
57
|
}
|
|
45
58
|
|
|
59
|
+
/**
|
|
60
|
+
* Returns joinCookie from boundedStorage if present.
|
|
61
|
+
* @returns {Object} joinCookie
|
|
62
|
+
*/
|
|
63
|
+
private getJoinCookie = async () => {
|
|
64
|
+
// @ts-ignore
|
|
65
|
+
const joinCookieRaw = await this.webex.boundedStorage
|
|
66
|
+
.get(REACHABILITY.namespace, REACHABILITY.localStorageJoinCookie)
|
|
67
|
+
.catch(() => {});
|
|
68
|
+
|
|
69
|
+
if (joinCookieRaw) {
|
|
70
|
+
try {
|
|
71
|
+
const joinCookie = JSON.parse(joinCookieRaw);
|
|
72
|
+
if (joinCookie) {
|
|
73
|
+
return joinCookie;
|
|
74
|
+
}
|
|
75
|
+
} catch (e) {
|
|
76
|
+
LoggerProxy.logger.error(
|
|
77
|
+
`MeetingRequest#constructor --> Error in parsing join cookie data: ${e}`
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return null;
|
|
83
|
+
};
|
|
84
|
+
|
|
46
85
|
/**
|
|
47
86
|
* Make a network request to join a meeting
|
|
48
87
|
* @param {Object} options
|
|
@@ -57,6 +96,9 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
57
96
|
* @param {boolean} options.moveToResource
|
|
58
97
|
* @param {Object} options.roapMessage
|
|
59
98
|
* @param {boolean} options.breakoutsSupported
|
|
99
|
+
* @param {String} options.locale,
|
|
100
|
+
* @param {Array} options.deviceCapabilities
|
|
101
|
+
* @param {boolean} options.liveAnnotationSupported
|
|
60
102
|
* @returns {Promise}
|
|
61
103
|
*/
|
|
62
104
|
async joinMeeting(options: {
|
|
@@ -76,6 +118,9 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
76
118
|
permissionToken: any;
|
|
77
119
|
preferTranscoding: any;
|
|
78
120
|
breakoutsSupported: boolean;
|
|
121
|
+
locale?: string;
|
|
122
|
+
deviceCapabilities?: Array<string>;
|
|
123
|
+
liveAnnotationSupported: boolean;
|
|
79
124
|
}) {
|
|
80
125
|
const {
|
|
81
126
|
asResourceOccupant,
|
|
@@ -93,12 +138,17 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
93
138
|
roapMessage,
|
|
94
139
|
preferTranscoding,
|
|
95
140
|
breakoutsSupported,
|
|
141
|
+
locale,
|
|
142
|
+
deviceCapabilities = [],
|
|
143
|
+
liveAnnotationSupported,
|
|
96
144
|
} = options;
|
|
97
145
|
|
|
98
146
|
LoggerProxy.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
|
|
99
147
|
|
|
100
148
|
let url = '';
|
|
101
149
|
|
|
150
|
+
const joinCookie = await this.getJoinCookie();
|
|
151
|
+
|
|
102
152
|
const body: any = {
|
|
103
153
|
asResourceOccupant,
|
|
104
154
|
device: {
|
|
@@ -115,13 +165,25 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
115
165
|
supportsNativeLobby: 1,
|
|
116
166
|
clientMediaPreferences: {
|
|
117
167
|
preferTranscoding: preferTranscoding ?? true,
|
|
168
|
+
joinCookie,
|
|
118
169
|
},
|
|
119
170
|
};
|
|
120
171
|
|
|
121
172
|
if (breakoutsSupported) {
|
|
122
|
-
|
|
173
|
+
deviceCapabilities.push(BREAKOUTS.BREAKOUTS_SUPPORTED);
|
|
174
|
+
}
|
|
175
|
+
if (liveAnnotationSupported) {
|
|
176
|
+
deviceCapabilities.push(ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if (locale) {
|
|
180
|
+
body.locale = locale;
|
|
123
181
|
}
|
|
124
182
|
|
|
183
|
+
// add deviceCapabilities prop
|
|
184
|
+
if (deviceCapabilities.length) {
|
|
185
|
+
body.deviceCapabilities = deviceCapabilities;
|
|
186
|
+
}
|
|
125
187
|
// @ts-ignore
|
|
126
188
|
if (this.webex.meetings.clientRegion) {
|
|
127
189
|
// @ts-ignore
|
|
@@ -251,7 +313,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
251
313
|
};
|
|
252
314
|
|
|
253
315
|
// @ts-ignore
|
|
254
|
-
return this.
|
|
316
|
+
return this.locusDeltaRequest({
|
|
255
317
|
method: HTTP_VERBS.POST,
|
|
256
318
|
uri,
|
|
257
319
|
body,
|
|
@@ -306,7 +368,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
306
368
|
};
|
|
307
369
|
|
|
308
370
|
// @ts-ignore
|
|
309
|
-
return this.
|
|
371
|
+
return this.locusDeltaRequest({
|
|
310
372
|
method: HTTP_VERBS.POST,
|
|
311
373
|
uri,
|
|
312
374
|
body,
|
|
@@ -320,62 +382,22 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
320
382
|
}
|
|
321
383
|
|
|
322
384
|
/**
|
|
323
|
-
*
|
|
385
|
+
* Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
|
|
324
386
|
* @param {Object} options
|
|
325
|
-
* @param {boolean} options.desync flag to get partial or whole locus object
|
|
326
|
-
* @param {String} options.syncUrl sync url to get ht elatest locus delta
|
|
327
|
-
* @returns {Promise}
|
|
328
|
-
*/
|
|
329
|
-
syncMeeting(options: {desync: boolean; syncUrl: string}) {
|
|
330
|
-
/* eslint-disable no-else-return */
|
|
331
|
-
const {desync} = options;
|
|
332
|
-
let {syncUrl} = options;
|
|
333
|
-
|
|
334
|
-
/* istanbul ignore else */
|
|
335
|
-
if (desync) {
|
|
336
|
-
// check for existing URL parameters
|
|
337
|
-
syncUrl = syncUrl
|
|
338
|
-
.concat(syncUrl.split('?')[1] ? '&' : '?')
|
|
339
|
-
.concat(`${LOCUS.SYNCDEBUG}=${desync}`);
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
// @ts-ignore
|
|
343
|
-
return this.request({
|
|
344
|
-
method: HTTP_VERBS.GET,
|
|
345
|
-
uri: syncUrl,
|
|
346
|
-
}) // TODO: Handle if delta sync failed . Get the full locus object
|
|
347
|
-
.catch((err) => {
|
|
348
|
-
LoggerProxy.logger.error(
|
|
349
|
-
`Meeting:request#syncMeeting --> Error syncing meeting, error ${err}`
|
|
350
|
-
);
|
|
351
|
-
|
|
352
|
-
return err;
|
|
353
|
-
});
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
/**
|
|
357
|
-
* Request to get the complete locus object
|
|
358
|
-
* @param {Object} options
|
|
359
|
-
* @param {boolean} options.desync flag to get partial or whole locus object
|
|
360
387
|
* @param {String} options.locusUrl sync url to get ht elatest locus delta
|
|
361
388
|
* @returns {Promise}
|
|
362
389
|
*/
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
const {desync} = options;
|
|
366
|
-
|
|
367
|
-
if (locusUrl) {
|
|
368
|
-
if (desync) {
|
|
369
|
-
locusUrl += `?${LOCUS.SYNCDEBUG}=${desync}`;
|
|
370
|
-
}
|
|
390
|
+
getLocusDTO(options: {url: string}) {
|
|
391
|
+
const {url} = options;
|
|
371
392
|
|
|
393
|
+
if (url) {
|
|
372
394
|
// @ts-ignore
|
|
373
395
|
return this.request({
|
|
374
396
|
method: HTTP_VERBS.GET,
|
|
375
|
-
uri:
|
|
397
|
+
uri: url,
|
|
376
398
|
}).catch((err) => {
|
|
377
399
|
LoggerProxy.logger.error(
|
|
378
|
-
`Meeting:request#
|
|
400
|
+
`Meeting:request#getLocusDTO --> Error getting latest locus, error ${err}`
|
|
379
401
|
);
|
|
380
402
|
|
|
381
403
|
return err;
|
|
@@ -421,7 +443,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
421
443
|
};
|
|
422
444
|
|
|
423
445
|
// @ts-ignore
|
|
424
|
-
return this.
|
|
446
|
+
return this.locusDeltaRequest({
|
|
425
447
|
method: HTTP_VERBS.PUT,
|
|
426
448
|
uri,
|
|
427
449
|
body,
|
|
@@ -470,8 +492,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
470
492
|
correlationId,
|
|
471
493
|
};
|
|
472
494
|
|
|
473
|
-
|
|
474
|
-
return this.request({
|
|
495
|
+
return this.locusDeltaRequest({
|
|
475
496
|
method: HTTP_VERBS.PUT,
|
|
476
497
|
uri,
|
|
477
498
|
body,
|
|
@@ -497,14 +518,19 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
497
518
|
correlationId: options.correlationId,
|
|
498
519
|
};
|
|
499
520
|
|
|
500
|
-
|
|
501
|
-
return this.request({
|
|
521
|
+
return this.locusDeltaRequest({
|
|
502
522
|
method: HTTP_VERBS.PUT,
|
|
503
523
|
uri,
|
|
504
524
|
body,
|
|
505
525
|
});
|
|
506
526
|
}
|
|
507
527
|
|
|
528
|
+
/**
|
|
529
|
+
* Makes a network request to lock the meeting
|
|
530
|
+
* @param {Object} options
|
|
531
|
+
* @param {Boolean} options.lock Whether it is locked or not
|
|
532
|
+
* @returns {Promise}
|
|
533
|
+
*/
|
|
508
534
|
lockMeeting(options) {
|
|
509
535
|
const uri = `${options.locusUrl}/${CONTROLS}`;
|
|
510
536
|
const body = {
|
|
@@ -513,8 +539,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
513
539
|
},
|
|
514
540
|
};
|
|
515
541
|
|
|
516
|
-
|
|
517
|
-
return this.request({
|
|
542
|
+
return this.locusDeltaRequest({
|
|
518
543
|
method: HTTP_VERBS.PATCH,
|
|
519
544
|
uri,
|
|
520
545
|
body,
|
|
@@ -540,54 +565,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
540
565
|
...(options.reason && {reason: options.reason}),
|
|
541
566
|
};
|
|
542
567
|
|
|
543
|
-
|
|
544
|
-
return this.request({
|
|
545
|
-
method: HTTP_VERBS.PUT,
|
|
546
|
-
uri,
|
|
547
|
-
body,
|
|
548
|
-
});
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
/**
|
|
552
|
-
* Toggle remote audio and/or video
|
|
553
|
-
* @param {Object} options options for toggling
|
|
554
|
-
* @param {String} options.selfId Locus self id??
|
|
555
|
-
* @param {String} options.locusUrl Locus url
|
|
556
|
-
* @param {String} options.deviceUrl Url of a device
|
|
557
|
-
* @param {String} options.resourceId Populated if you are paired to a device
|
|
558
|
-
* @param {String} options.localMedias local sdps
|
|
559
|
-
* @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
|
|
560
|
-
* @returns {Promise}
|
|
561
|
-
*/
|
|
562
|
-
remoteAudioVideoToggle(
|
|
563
|
-
options:
|
|
564
|
-
| {
|
|
565
|
-
selfId: string;
|
|
566
|
-
locusUrl: string;
|
|
567
|
-
deviceUrl: string;
|
|
568
|
-
resourceId: string;
|
|
569
|
-
localMedias: string;
|
|
570
|
-
}
|
|
571
|
-
| any
|
|
572
|
-
) {
|
|
573
|
-
const uri = `${options.locusUrl}/${PARTICIPANT}/${options.selfId}/${MEDIA}`;
|
|
574
|
-
const body = {
|
|
575
|
-
device: {
|
|
576
|
-
// @ts-ignore
|
|
577
|
-
deviceType: this.config.meetings.deviceType,
|
|
578
|
-
url: options.deviceUrl,
|
|
579
|
-
},
|
|
580
|
-
usingResource: options.resourceId || null,
|
|
581
|
-
correlationId: options.correlationId,
|
|
582
|
-
respOnlySdp: true,
|
|
583
|
-
localMedias: options.localMedias,
|
|
584
|
-
clientMediaPreferences: {
|
|
585
|
-
preferTranscoding: options.preferTranscoding ?? true,
|
|
586
|
-
},
|
|
587
|
-
};
|
|
588
|
-
|
|
589
|
-
// @ts-ignore
|
|
590
|
-
return this.request({
|
|
568
|
+
return this.locusDeltaRequest({
|
|
591
569
|
method: HTTP_VERBS.PUT,
|
|
592
570
|
uri,
|
|
593
571
|
body,
|
|
@@ -612,6 +590,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
612
590
|
deviceUrl: string;
|
|
613
591
|
resourceId: string;
|
|
614
592
|
uri: string;
|
|
593
|
+
annotationInfo: AnnotationInfo;
|
|
615
594
|
}
|
|
616
595
|
| any
|
|
617
596
|
) {
|
|
@@ -645,6 +624,9 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
645
624
|
if (options?.resourceToken) {
|
|
646
625
|
body.resourceToken = options?.resourceToken;
|
|
647
626
|
}
|
|
627
|
+
if (options?.annotationInfo) {
|
|
628
|
+
body.annotation = options?.annotationInfo;
|
|
629
|
+
}
|
|
648
630
|
|
|
649
631
|
// @ts-ignore
|
|
650
632
|
return this.request({
|
|
@@ -664,7 +646,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
664
646
|
*/
|
|
665
647
|
sendDTMF({locusUrl, deviceUrl, tones}: {locusUrl: string; deviceUrl: string; tones: string}) {
|
|
666
648
|
// @ts-ignore
|
|
667
|
-
return this.
|
|
649
|
+
return this.locusDeltaRequest({
|
|
668
650
|
method: HTTP_VERBS.POST,
|
|
669
651
|
uri: `${locusUrl}/${SEND_DTMF_ENDPOINT}`,
|
|
670
652
|
body: {
|
|
@@ -745,7 +727,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
745
727
|
: undefined;
|
|
746
728
|
|
|
747
729
|
// @ts-ignore
|
|
748
|
-
return this.
|
|
730
|
+
return this.locusDeltaRequest({
|
|
749
731
|
method: HTTP_VERBS.PUT,
|
|
750
732
|
uri: `${locusUrl}/${CONTROLS}`,
|
|
751
733
|
body: {
|
|
@@ -768,7 +750,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
768
750
|
const uri = `${locusUrl}/${END}`;
|
|
769
751
|
|
|
770
752
|
// @ts-ignore
|
|
771
|
-
return this.
|
|
753
|
+
return this.locusDeltaRequest({
|
|
772
754
|
method: HTTP_VERBS.POST,
|
|
773
755
|
uri,
|
|
774
756
|
});
|
|
@@ -820,7 +802,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
820
802
|
const uri = `${locusUrl}/${CONTROLS}`;
|
|
821
803
|
|
|
822
804
|
// @ts-ignore
|
|
823
|
-
return this.
|
|
805
|
+
return this.locusDeltaRequest({
|
|
824
806
|
method: HTTP_VERBS.PUT,
|
|
825
807
|
uri,
|
|
826
808
|
body: {
|
|
@@ -831,4 +813,12 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
831
813
|
},
|
|
832
814
|
});
|
|
833
815
|
}
|
|
816
|
+
|
|
817
|
+
getLocusStatusByUrl(locusUrl: string) {
|
|
818
|
+
// @ts-ignore
|
|
819
|
+
return this.request({
|
|
820
|
+
method: HTTP_VERBS.GET,
|
|
821
|
+
uri: locusUrl,
|
|
822
|
+
});
|
|
823
|
+
}
|
|
834
824
|
}
|