@webex/plugin-meetings 3.0.0-beta.17 → 3.0.0-beta.171
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 +359 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +216 -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/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +1048 -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 +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/config.js +6 -8
- package/dist/config.js.map +1 -1
- package/dist/constants.js +194 -28
- 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 +300 -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 +214 -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 +92 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +350 -41
- 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 +2 -1
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +97 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +41 -136
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +33 -94
- 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 +76 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2757 -2439
- 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 +191 -167
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +477 -466
- 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 +172 -50
- 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 +377 -82
- 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 +16 -12
- 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 +43 -0
- 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 +97 -3
- 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 +94 -11
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +109 -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 +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 +265 -36
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +52 -19
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +53 -33
- 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 +322 -103
- 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 +117 -60
- 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/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- 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 +216 -162
- 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 +363 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.js +64 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/index.js +21 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +135 -94
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +135 -53
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +1 -93
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +329 -314
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +103 -54
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +43 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +124 -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 +32 -0
- package/dist/types/config.d.ts +72 -0
- package/dist/types/constants.d.ts +1007 -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 +315 -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 +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 +149 -0
- package/dist/types/meeting/index.d.ts +1462 -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 +270 -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 +77 -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 +365 -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 +158 -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 +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/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 +29 -21
- package/src/annotation/annotation.types.ts +52 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +343 -0
- package/src/breakouts/README.md +220 -0
- package/src/breakouts/breakout.ts +188 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +925 -0
- 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/config.ts +5 -7
- package/src/constants.ts +183 -22
- 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 +286 -0
- package/src/index.ts +39 -0
- package/src/interpretation/README.md +51 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +182 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +110 -0
- package/src/locus-info/index.ts +374 -38
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +2 -1
- package/src/locus-info/selfUtils.ts +86 -2
- package/src/media/index.ts +78 -144
- package/src/media/properties.ts +55 -99
- package/src/mediaQualityMetrics/config.ts +379 -377
- package/src/meeting/in-meeting-actions.ts +151 -3
- package/src/meeting/index.ts +2181 -2052
- package/src/meeting/locusMediaRequest.ts +309 -0
- package/src/meeting/muteState.ts +228 -132
- package/src/meeting/request.ts +100 -91
- package/src/meeting/request.type.ts +2 -0
- package/src/meeting/util.ts +450 -439
- package/src/meeting-info/index.ts +54 -8
- package/src/meeting-info/meeting-info-v2.ts +150 -14
- package/src/meeting-info/utilv2.ts +13 -3
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +396 -89
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +3 -1
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +42 -0
- package/src/member/types.ts +24 -0
- package/src/member/util.ts +95 -1
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +108 -6
- package/src/members/request.ts +98 -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 +337 -63
- package/src/multistream/receiveSlot.ts +68 -26
- package/src/multistream/receiveSlotManager.ts +61 -38
- package/src/multistream/remoteMedia.ts +29 -3
- package/src/multistream/remoteMediaGroup.ts +61 -2
- package/src/multistream/remoteMediaManager.ts +260 -66
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/index.ts +75 -25
- package/src/reachability/request.ts +10 -5
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +28 -3
- package/src/reconnection-manager/index.ts +83 -49
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +333 -0
- package/src/recording-controller/util.ts +75 -0
- package/src/roap/index.ts +21 -30
- package/src/roap/request.ts +72 -61
- package/src/roap/turnDiscovery.ts +51 -27
- package/src/statsAnalyzer/global.ts +1 -94
- package/src/statsAnalyzer/index.ts +380 -390
- package/src/statsAnalyzer/mqaUtil.ts +106 -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 +436 -0
- package/test/unit/spec/breakouts/breakout.ts +237 -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/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1790 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +518 -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 +329 -0
- package/test/unit/spec/interpretation/siLanguage.ts +26 -0
- package/test/unit/spec/locus-info/controlsUtils.js +323 -30
- package/test/unit/spec/locus-info/index.js +792 -4
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/selfConstant.js +48 -0
- package/test/unit/spec/locus-info/selfUtils.js +275 -0
- package/test/unit/spec/media/index.ts +130 -24
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +75 -3
- package/test/unit/spec/meeting/index.js +2834 -1442
- 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 +354 -42
- package/test/unit/spec/meeting/utils.js +384 -170
- 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 +847 -121
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +31 -0
- package/test/unit/spec/member/util.js +408 -32
- package/test/unit/spec/members/index.js +320 -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 +1012 -109
- package/test/unit/spec/multistream/receiveSlot.ts +77 -18
- package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
- package/test/unit/spec/multistream/remoteMedia.ts +32 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +672 -65
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/index.ts +176 -25
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +95 -13
- package/test/unit/spec/recording-controller/index.js +307 -0
- package/test/unit/spec/recording-controller/util.js +229 -0
- package/test/unit/spec/roap/index.ts +28 -52
- package/test/unit/spec/roap/request.ts +225 -0
- package/test/unit/spec/roap/turnDiscovery.ts +73 -34
- package/test/unit/spec/stats-analyzer/index.js +94 -43
- 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 +7 -3
- package/tsconfig.json +6 -0
- package/dist/media/internal-media-core-wrapper.js +0 -18
- package/dist/media/internal-media-core-wrapper.js.map +0 -1
- 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 -106
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/src/index.js +0 -15
- package/src/media/internal-media-core-wrapper.ts +0 -9
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/src/multistream/multistreamMedia.ts +0 -93
- package/test/unit/spec/meeting/effectsState.js +0 -281
package/dist/locus-info/index.js
CHANGED
|
@@ -15,12 +15,12 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
|
|
|
15
15
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
16
16
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
17
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
18
|
+
var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
19
|
+
var _assignWith2 = _interopRequireDefault(require("lodash/assignWith"));
|
|
18
20
|
var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
|
|
19
21
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
20
22
|
var _eventsScope = _interopRequireDefault(require("../common/events/events-scope"));
|
|
21
23
|
var _constants = require("../constants");
|
|
22
|
-
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
23
|
-
var _config = require("../metrics/config");
|
|
24
24
|
var _infoUtils = _interopRequireDefault(require("./infoUtils"));
|
|
25
25
|
var _fullState = _interopRequireDefault(require("./fullState"));
|
|
26
26
|
var _selfUtils = _interopRequireDefault(require("./selfUtils"));
|
|
@@ -40,6 +40,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
|
|
|
40
40
|
var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
41
41
|
(0, _inherits2.default)(LocusInfo, _EventsScope);
|
|
42
42
|
var _super = _createSuper(LocusInfo);
|
|
43
|
+
/**
|
|
44
|
+
* Constructor
|
|
45
|
+
* @param {boolean} updateMeeting true if the meeting should be updated
|
|
46
|
+
* @param {object} webex
|
|
47
|
+
* @param {string} meetingId
|
|
48
|
+
* @returns {undefined}
|
|
49
|
+
*/
|
|
43
50
|
function LocusInfo(updateMeeting, webex, meetingId) {
|
|
44
51
|
var _this;
|
|
45
52
|
(0, _classCallCheck2.default)(this, LocusInfo);
|
|
@@ -68,9 +75,12 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
68
75
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fullState", void 0);
|
|
69
76
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "host", void 0);
|
|
70
77
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "info", void 0);
|
|
78
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "roles", void 0);
|
|
71
79
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaShares", void 0);
|
|
72
80
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "replace", void 0);
|
|
73
81
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "url", void 0);
|
|
82
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "services", void 0);
|
|
83
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mainSessionLocusCache", void 0);
|
|
74
84
|
_this.parsedLocus = {
|
|
75
85
|
states: []
|
|
76
86
|
};
|
|
@@ -109,7 +119,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
109
119
|
case DESYNC:
|
|
110
120
|
meeting.meetingRequest.getFullLocus({
|
|
111
121
|
desync: true,
|
|
112
|
-
locusUrl: meeting.locusUrl
|
|
122
|
+
locusUrl: locus.url ? locus.url : meeting.locusUrl
|
|
113
123
|
}).then(function (res) {
|
|
114
124
|
meeting.locusInfo.onFullLocus(res.body);
|
|
115
125
|
// Notify parser to resume processing delta events
|
|
@@ -154,6 +164,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
154
164
|
}, {
|
|
155
165
|
key: "init",
|
|
156
166
|
value: function init() {
|
|
167
|
+
var _locus$links;
|
|
157
168
|
var locus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
158
169
|
this.created = locus.created || null;
|
|
159
170
|
this.scheduledMeeting = locus.meeting || null;
|
|
@@ -184,13 +195,13 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
184
195
|
* @member LocusInfo
|
|
185
196
|
*/
|
|
186
197
|
this.deltaParticipants = [];
|
|
187
|
-
|
|
198
|
+
this.updateLocusCache(locus);
|
|
188
199
|
// above section only updates the locusInfo object
|
|
189
200
|
// The below section makes sure it updates the locusInfo as well as updates the meeting object
|
|
190
201
|
this.updateParticipants(locus.participants);
|
|
191
202
|
// For 1:1 space meeting the conversation Url does not exist in locus.conversation
|
|
192
203
|
this.updateConversationUrl(locus.conversationUrl, locus.info);
|
|
193
|
-
this.updateControls(locus.controls);
|
|
204
|
+
this.updateControls(locus.controls, locus.self);
|
|
194
205
|
this.updateLocusUrl(locus.url);
|
|
195
206
|
this.updateFullState(locus.fullState);
|
|
196
207
|
this.updateMeetingInfo(locus.info);
|
|
@@ -199,6 +210,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
199
210
|
this.updateSelf(locus.self, locus.participants);
|
|
200
211
|
this.updateHostInfo(locus.host);
|
|
201
212
|
this.updateMediaShares(locus.mediaShares);
|
|
213
|
+
this.updateServices((_locus$links = locus.links) === null || _locus$links === void 0 ? void 0 : _locus$links.services);
|
|
202
214
|
}
|
|
203
215
|
|
|
204
216
|
/**
|
|
@@ -209,6 +221,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
209
221
|
}, {
|
|
210
222
|
key: "initialSetup",
|
|
211
223
|
value: function initialSetup(locus) {
|
|
224
|
+
this.updateLocusCache(locus);
|
|
212
225
|
this.onFullLocus(locus);
|
|
213
226
|
|
|
214
227
|
// Change it to true after it receives it first locus object
|
|
@@ -226,6 +239,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
226
239
|
value: function parse(meeting, data) {
|
|
227
240
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
228
241
|
var eventType = data.eventType;
|
|
242
|
+
var locus = this.getTheLocusToUpdate(data.locus);
|
|
229
243
|
_loggerProxy.default.logger.info("Locus-info:index#parse --> received locus data: ".concat(eventType));
|
|
230
244
|
switch (eventType) {
|
|
231
245
|
case _constants.LOCUSEVENT.PARTICIPANT_JOIN:
|
|
@@ -242,15 +256,15 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
242
256
|
case _constants.LOCUSEVENT.PARTICIPANT_DECLINED:
|
|
243
257
|
case _constants.LOCUSEVENT.FLOOR_GRANTED:
|
|
244
258
|
case _constants.LOCUSEVENT.FLOOR_RELEASED:
|
|
245
|
-
this.onFullLocus(
|
|
259
|
+
this.onFullLocus(locus, eventType);
|
|
246
260
|
break;
|
|
247
261
|
case _constants.LOCUSEVENT.DIFFERENCE:
|
|
248
|
-
this.handleLocusDelta(
|
|
262
|
+
this.handleLocusDelta(locus, meeting);
|
|
249
263
|
break;
|
|
250
264
|
default:
|
|
251
265
|
// Why will there be a event with no eventType ????
|
|
252
266
|
// we may not need this, we can get full locus
|
|
253
|
-
this.handleLocusDelta(
|
|
267
|
+
this.handleLocusDelta(locus, meeting);
|
|
254
268
|
}
|
|
255
269
|
}
|
|
256
270
|
|
|
@@ -284,8 +298,9 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
284
298
|
this.updateParticipantDeltas(locus.participants);
|
|
285
299
|
this.scheduledMeeting = locus.meeting || null;
|
|
286
300
|
this.participants = locus.participants;
|
|
301
|
+
var isReplaceMembers = _controlsUtils.default.isNeedReplaceMembers(this.controls, locus.controls);
|
|
287
302
|
this.updateLocusInfo(locus);
|
|
288
|
-
this.updateParticipants(locus.participants);
|
|
303
|
+
this.updateParticipants(locus.participants, isReplaceMembers);
|
|
289
304
|
this.isMeetingActive();
|
|
290
305
|
this.handleOneOnOneEvent(eventType);
|
|
291
306
|
this.updateEmbeddedApps(locus.embeddedApps);
|
|
@@ -337,8 +352,9 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
337
352
|
}, {
|
|
338
353
|
key: "onDeltaLocus",
|
|
339
354
|
value: function onDeltaLocus(locus) {
|
|
355
|
+
var isReplaceMembers = _controlsUtils.default.isNeedReplaceMembers(this.controls, locus.controls);
|
|
340
356
|
this.updateLocusInfo(locus);
|
|
341
|
-
this.updateParticipants(locus.participants);
|
|
357
|
+
this.updateParticipants(locus.participants, isReplaceMembers);
|
|
342
358
|
this.isMeetingActive();
|
|
343
359
|
}
|
|
344
360
|
|
|
@@ -350,7 +366,14 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
350
366
|
}, {
|
|
351
367
|
key: "updateLocusInfo",
|
|
352
368
|
value: function updateLocusInfo(locus) {
|
|
353
|
-
|
|
369
|
+
var _locus$self, _locus$self2, _locus$links2;
|
|
370
|
+
if (((_locus$self = locus.self) === null || _locus$self === void 0 ? void 0 : _locus$self.reason) === 'MOVED' && ((_locus$self2 = locus.self) === null || _locus$self2 === void 0 ? void 0 : _locus$self2.state) === 'LEFT') {
|
|
371
|
+
// When moved to a breakout session locus sends a message for the previous locus
|
|
372
|
+
// indicating that we have been moved. It isn't helpful to continue parsing this
|
|
373
|
+
// as it gets interpreted as if we have left the call
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
this.updateControls(locus.controls, locus.self);
|
|
354
377
|
this.updateConversationUrl(locus.conversationUrl, locus.info);
|
|
355
378
|
this.updateCreated(locus.created);
|
|
356
379
|
this.updateFullState(locus.fullState);
|
|
@@ -367,6 +390,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
367
390
|
this.updateMemberShip(locus.membership);
|
|
368
391
|
this.updateIdentifiers(locus.identities);
|
|
369
392
|
this.updateEmbeddedApps(locus.embeddedApps);
|
|
393
|
+
this.updateServices((_locus$links2 = locus.links) === null || _locus$links2 === void 0 ? void 0 : _locus$links2.services);
|
|
370
394
|
this.compareAndUpdate();
|
|
371
395
|
// update which required to compare different objects from locus
|
|
372
396
|
}
|
|
@@ -415,9 +439,13 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
415
439
|
if (this.fullState && this.fullState.state === _constants.LOCUS.STATE.INACTIVE) {
|
|
416
440
|
// TODO: update the meeting state
|
|
417
441
|
_loggerProxy.default.logger.warn('Locus-info:index#isMeetingActive --> Call Ended, locus state is inactive.');
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
442
|
+
|
|
443
|
+
// @ts-ignore
|
|
444
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
445
|
+
name: 'client.call.remote-ended',
|
|
446
|
+
options: {
|
|
447
|
+
meetingId: this.meetingId
|
|
448
|
+
}
|
|
421
449
|
});
|
|
422
450
|
this.emitScoped({
|
|
423
451
|
file: 'locus-info',
|
|
@@ -427,9 +455,12 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
427
455
|
shouldLeave: false
|
|
428
456
|
});
|
|
429
457
|
} else if (partner.state === _constants.MEETING_STATE.STATES.LEFT && this.parsedLocus.self && (this.parsedLocus.self.state === _constants.MEETING_STATE.STATES.DECLINED || this.parsedLocus.self.state === _constants.MEETING_STATE.STATES.NOTIFIED || this.parsedLocus.self.state === _constants.MEETING_STATE.STATES.JOINED)) {
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
458
|
+
// @ts-ignore
|
|
459
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
460
|
+
name: 'client.call.remote-ended',
|
|
461
|
+
options: {
|
|
462
|
+
meetingId: this.meetingId
|
|
463
|
+
}
|
|
433
464
|
});
|
|
434
465
|
this.emitScoped({
|
|
435
466
|
file: 'locus-info',
|
|
@@ -440,9 +471,12 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
440
471
|
});
|
|
441
472
|
} else if (this.parsedLocus.self && this.parsedLocus.self.state === _constants.MEETING_STATE.STATES.LEFT && (partner.state === _constants.MEETING_STATE.STATES.LEFT || partner.state === _constants.MEETING_STATE.STATES.DECLINED || partner.state === _constants.MEETING_STATE.STATES.NOTIFIED || partner.state === _constants.MEETING_STATE.STATES.IDLE) // Happens when user just joins and adds no Media
|
|
442
473
|
) {
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
474
|
+
// @ts-ignore
|
|
475
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
476
|
+
name: 'client.call.remote-ended',
|
|
477
|
+
options: {
|
|
478
|
+
meetingId: this.meetingId
|
|
479
|
+
}
|
|
446
480
|
});
|
|
447
481
|
this.emitScoped({
|
|
448
482
|
file: 'locus-info',
|
|
@@ -457,9 +491,13 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
457
491
|
// @ts-ignore
|
|
458
492
|
this.fullState.state === _constants.LOCUS.STATE.TERMINATING)) {
|
|
459
493
|
_loggerProxy.default.logger.warn('Locus-info:index#isMeetingActive --> Meeting is ending due to inactive or terminating');
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
494
|
+
|
|
495
|
+
// @ts-ignore
|
|
496
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
497
|
+
name: 'client.call.remote-ended',
|
|
498
|
+
options: {
|
|
499
|
+
meetingId: this.meetingId
|
|
500
|
+
}
|
|
463
501
|
});
|
|
464
502
|
this.emitScoped({
|
|
465
503
|
file: 'locus-info',
|
|
@@ -470,9 +508,13 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
470
508
|
});
|
|
471
509
|
} else if (this.fullState && this.fullState.removed) {
|
|
472
510
|
// user has been dropped from a meeting
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
511
|
+
|
|
512
|
+
// @ts-ignore
|
|
513
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
514
|
+
name: 'client.call.remote-ended',
|
|
515
|
+
options: {
|
|
516
|
+
meetingId: this.meetingId
|
|
517
|
+
}
|
|
476
518
|
});
|
|
477
519
|
this.emitScoped({
|
|
478
520
|
file: 'locus-info',
|
|
@@ -595,15 +637,15 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
595
637
|
}
|
|
596
638
|
|
|
597
639
|
/**
|
|
598
|
-
*
|
|
640
|
+
* update meeting's members
|
|
599
641
|
* @param {Object} participants new participants object
|
|
600
|
-
* @param {
|
|
642
|
+
* @param {Boolean} isReplace is replace the whole members
|
|
601
643
|
* @returns {Array} updatedParticipants
|
|
602
644
|
* @memberof LocusInfo
|
|
603
645
|
*/
|
|
604
646
|
}, {
|
|
605
647
|
key: "updateParticipants",
|
|
606
|
-
value: function updateParticipants(participants) {
|
|
648
|
+
value: function updateParticipants(participants, isReplace) {
|
|
607
649
|
var _this$parsedLocus$con;
|
|
608
650
|
this.emitScoped({
|
|
609
651
|
file: 'locus-info',
|
|
@@ -613,18 +655,20 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
613
655
|
recordingId: this.parsedLocus.controls && ((_this$parsedLocus$con = this.parsedLocus.controls.record) === null || _this$parsedLocus$con === void 0 ? void 0 : _this$parsedLocus$con.modifiedBy),
|
|
614
656
|
selfIdentity: this.parsedLocus.self && this.parsedLocus.self.selfIdentity,
|
|
615
657
|
selfId: this.parsedLocus.self && this.parsedLocus.self.selfId,
|
|
616
|
-
hostId: this.parsedLocus.host && this.parsedLocus.host.hostId
|
|
658
|
+
hostId: this.parsedLocus.host && this.parsedLocus.host.hostId,
|
|
659
|
+
isReplace: isReplace
|
|
617
660
|
});
|
|
618
661
|
}
|
|
619
662
|
|
|
620
663
|
/**
|
|
621
664
|
* @param {Object} controls
|
|
665
|
+
* @param {Object} self
|
|
622
666
|
* @returns {undefined}
|
|
623
667
|
* @memberof LocusInfo
|
|
624
668
|
*/
|
|
625
669
|
}, {
|
|
626
670
|
key: "updateControls",
|
|
627
|
-
value: function updateControls(controls) {
|
|
671
|
+
value: function updateControls(controls, self) {
|
|
628
672
|
if (controls && !(0, _isEqual2.default)(this.controls, controls)) {
|
|
629
673
|
this.parsedLocus.controls = _controlsUtils.default.parse(controls);
|
|
630
674
|
var _ControlsUtils$getCon = _controlsUtils.default.getControls(this.controls, controls),
|
|
@@ -634,7 +678,74 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
634
678
|
hasMeetingContainerChanged = _ControlsUtils$getCon2.hasMeetingContainerChanged,
|
|
635
679
|
hasTranscribeChanged = _ControlsUtils$getCon2.hasTranscribeChanged,
|
|
636
680
|
hasEntryExitToneChanged = _ControlsUtils$getCon2.hasEntryExitToneChanged,
|
|
681
|
+
hasBreakoutChanged = _ControlsUtils$getCon2.hasBreakoutChanged,
|
|
682
|
+
hasVideoEnabledChanged = _ControlsUtils$getCon2.hasVideoEnabledChanged,
|
|
683
|
+
hasMuteOnEntryChanged = _ControlsUtils$getCon2.hasMuteOnEntryChanged,
|
|
684
|
+
hasShareControlChanged = _ControlsUtils$getCon2.hasShareControlChanged,
|
|
685
|
+
hasDisallowUnmuteChanged = _ControlsUtils$getCon2.hasDisallowUnmuteChanged,
|
|
686
|
+
hasReactionsChanged = _ControlsUtils$getCon2.hasReactionsChanged,
|
|
687
|
+
hasReactionDisplayNamesChanged = _ControlsUtils$getCon2.hasReactionDisplayNamesChanged,
|
|
688
|
+
hasViewTheParticipantListChanged = _ControlsUtils$getCon2.hasViewTheParticipantListChanged,
|
|
689
|
+
hasRaiseHandChanged = _ControlsUtils$getCon2.hasRaiseHandChanged,
|
|
690
|
+
hasVideoChanged = _ControlsUtils$getCon2.hasVideoChanged,
|
|
691
|
+
hasInterpretationChanged = _ControlsUtils$getCon2.hasInterpretationChanged,
|
|
637
692
|
current = _ControlsUtils$getCon.current;
|
|
693
|
+
if (hasMuteOnEntryChanged) {
|
|
694
|
+
this.emitScoped({
|
|
695
|
+
file: 'locus-info',
|
|
696
|
+
function: 'updateControls'
|
|
697
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, {
|
|
698
|
+
state: current.muteOnEntry
|
|
699
|
+
});
|
|
700
|
+
}
|
|
701
|
+
if (hasShareControlChanged) {
|
|
702
|
+
this.emitScoped({
|
|
703
|
+
file: 'locus-info',
|
|
704
|
+
function: 'updateControls'
|
|
705
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, {
|
|
706
|
+
state: current.shareControl
|
|
707
|
+
});
|
|
708
|
+
}
|
|
709
|
+
if (hasDisallowUnmuteChanged) {
|
|
710
|
+
this.emitScoped({
|
|
711
|
+
file: 'locus-info',
|
|
712
|
+
function: 'updateControls'
|
|
713
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, {
|
|
714
|
+
state: current.disallowUnmute
|
|
715
|
+
});
|
|
716
|
+
}
|
|
717
|
+
if (hasReactionsChanged || hasReactionDisplayNamesChanged) {
|
|
718
|
+
this.emitScoped({
|
|
719
|
+
file: 'locus-info',
|
|
720
|
+
function: 'updateControls'
|
|
721
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, {
|
|
722
|
+
state: current.reactions
|
|
723
|
+
});
|
|
724
|
+
}
|
|
725
|
+
if (hasViewTheParticipantListChanged) {
|
|
726
|
+
this.emitScoped({
|
|
727
|
+
file: 'locus-info',
|
|
728
|
+
function: 'updateControls'
|
|
729
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, {
|
|
730
|
+
state: current.viewTheParticipantList
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
if (hasRaiseHandChanged) {
|
|
734
|
+
this.emitScoped({
|
|
735
|
+
file: 'locus-info',
|
|
736
|
+
function: 'updateControls'
|
|
737
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, {
|
|
738
|
+
state: current.raiseHand
|
|
739
|
+
});
|
|
740
|
+
}
|
|
741
|
+
if (hasVideoChanged) {
|
|
742
|
+
this.emitScoped({
|
|
743
|
+
file: 'locus-info',
|
|
744
|
+
function: 'updateControls'
|
|
745
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, {
|
|
746
|
+
state: current.video
|
|
747
|
+
});
|
|
748
|
+
}
|
|
638
749
|
if (hasRecordingChanged || hasRecordingPausedChanged) {
|
|
639
750
|
var state = null;
|
|
640
751
|
if (hasRecordingPausedChanged) {
|
|
@@ -677,16 +788,51 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
677
788
|
caption: caption
|
|
678
789
|
});
|
|
679
790
|
}
|
|
791
|
+
if (hasBreakoutChanged) {
|
|
792
|
+
var breakout = current.breakout;
|
|
793
|
+
breakout.breakoutMoveId = _selfUtils.default.getReplacedBreakoutMoveId(self, this.webex.internal.device.url);
|
|
794
|
+
this.emitScoped({
|
|
795
|
+
file: 'locus-info',
|
|
796
|
+
function: 'updateControls'
|
|
797
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, {
|
|
798
|
+
breakout: breakout
|
|
799
|
+
});
|
|
800
|
+
}
|
|
801
|
+
if (hasInterpretationChanged) {
|
|
802
|
+
var interpretation = current.interpretation;
|
|
803
|
+
this.emitScoped({
|
|
804
|
+
file: 'locus-info',
|
|
805
|
+
function: 'updateControls'
|
|
806
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, {
|
|
807
|
+
interpretation: interpretation
|
|
808
|
+
});
|
|
809
|
+
}
|
|
680
810
|
if (hasEntryExitToneChanged) {
|
|
681
811
|
var entryExitTone = current.entryExitTone;
|
|
812
|
+
this.updateMeeting({
|
|
813
|
+
entryExitTone: entryExitTone
|
|
814
|
+
});
|
|
682
815
|
this.emitScoped({
|
|
683
816
|
file: 'locus-info',
|
|
684
817
|
function: 'updateControls'
|
|
685
818
|
}, _constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, {
|
|
686
819
|
entryExitTone: entryExitTone
|
|
687
820
|
});
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
// videoEnabled is handled differently than other controls,
|
|
824
|
+
// to fit with audio mute status logic
|
|
825
|
+
if (hasVideoEnabledChanged) {
|
|
826
|
+
var videoEnabled = current.videoEnabled;
|
|
688
827
|
this.updateMeeting({
|
|
689
|
-
|
|
828
|
+
unmuteVideoAllowed: videoEnabled
|
|
829
|
+
});
|
|
830
|
+
this.emitScoped({
|
|
831
|
+
file: 'locus-info',
|
|
832
|
+
function: 'updateControls'
|
|
833
|
+
}, _constants.LOCUSINFO.EVENTS.SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED, {
|
|
834
|
+
// muted: not part of locus.controls
|
|
835
|
+
unmuteAllowed: videoEnabled
|
|
690
836
|
});
|
|
691
837
|
}
|
|
692
838
|
this.controls = controls;
|
|
@@ -728,6 +874,25 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
728
874
|
}
|
|
729
875
|
}
|
|
730
876
|
|
|
877
|
+
/**
|
|
878
|
+
* @param {Object} services
|
|
879
|
+
* @returns {undefined}
|
|
880
|
+
* @memberof LocusInfo
|
|
881
|
+
*/
|
|
882
|
+
}, {
|
|
883
|
+
key: "updateServices",
|
|
884
|
+
value: function updateServices(services) {
|
|
885
|
+
if (services && !(0, _isEqual2.default)(this.services, services)) {
|
|
886
|
+
this.services = services;
|
|
887
|
+
this.emitScoped({
|
|
888
|
+
file: 'locus-info',
|
|
889
|
+
function: 'updateServices'
|
|
890
|
+
}, _constants.LOCUSINFO.EVENTS.LINKS_SERVICES, {
|
|
891
|
+
services: services
|
|
892
|
+
});
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
|
|
731
896
|
/**
|
|
732
897
|
* @param {Object} fullState
|
|
733
898
|
* @returns {undefined}
|
|
@@ -800,9 +965,9 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
800
965
|
}, {
|
|
801
966
|
key: "updateMeetingInfo",
|
|
802
967
|
value: function updateMeetingInfo(info, self) {
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
968
|
+
var _this$parsedLocus$sel;
|
|
969
|
+
var roles = self ? _selfUtils.default.getRoles(self) : ((_this$parsedLocus$sel = this.parsedLocus.self) === null || _this$parsedLocus$sel === void 0 ? void 0 : _this$parsedLocus$sel.roles) || [];
|
|
970
|
+
if (info && !(0, _isEqual2.default)(this.info, info) || roles.length && !(0, _isEqual2.default)(this.roles, roles) && info) {
|
|
806
971
|
var isJoined = _selfUtils.default.isJoined(self || this.parsedLocus.self);
|
|
807
972
|
var parsedInfo = _infoUtils.default.getInfos(this.parsedLocus.info, info, roles, isJoined);
|
|
808
973
|
this.emitScoped({
|
|
@@ -829,6 +994,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
829
994
|
// Parses the info and adds necessary values
|
|
830
995
|
this.updateMeeting(parsedInfo.current);
|
|
831
996
|
}
|
|
997
|
+
this.roles = roles;
|
|
832
998
|
}
|
|
833
999
|
|
|
834
1000
|
/**
|
|
@@ -867,6 +1033,8 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
867
1033
|
if (mediaShares && !(0, _isEqual2.default)(this.mediaShares, mediaShares)) {
|
|
868
1034
|
var parsedMediaShares = _mediaSharesUtils.default.getMediaShares(this.mediaShares, mediaShares);
|
|
869
1035
|
this.updateMeeting(parsedMediaShares.current);
|
|
1036
|
+
this.parsedLocus.mediaShares = parsedMediaShares.current;
|
|
1037
|
+
this.mediaShares = mediaShares;
|
|
870
1038
|
this.emitScoped({
|
|
871
1039
|
file: 'locus-info',
|
|
872
1040
|
function: 'updateMediaShares'
|
|
@@ -874,8 +1042,6 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
874
1042
|
current: parsedMediaShares.current,
|
|
875
1043
|
previous: parsedMediaShares.previous
|
|
876
1044
|
});
|
|
877
|
-
this.parsedLocus.mediaShares = parsedMediaShares.current;
|
|
878
|
-
this.mediaShares = mediaShares;
|
|
879
1045
|
}
|
|
880
1046
|
}
|
|
881
1047
|
|
|
@@ -946,6 +1112,23 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
946
1112
|
layout: parsedSelves.current.layout
|
|
947
1113
|
});
|
|
948
1114
|
}
|
|
1115
|
+
if (parsedSelves.updates.breakoutsChanged) {
|
|
1116
|
+
this.emitScoped({
|
|
1117
|
+
file: 'locus-info',
|
|
1118
|
+
function: 'updateSelf'
|
|
1119
|
+
}, _constants.LOCUSINFO.EVENTS.SELF_MEETING_BREAKOUTS_CHANGED, {
|
|
1120
|
+
breakoutSessions: parsedSelves.current.breakoutSessions
|
|
1121
|
+
});
|
|
1122
|
+
}
|
|
1123
|
+
if (parsedSelves.updates.interpretationChanged) {
|
|
1124
|
+
this.emitScoped({
|
|
1125
|
+
file: 'locus-info',
|
|
1126
|
+
function: 'updateSelf'
|
|
1127
|
+
}, _constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, {
|
|
1128
|
+
interpretation: parsedSelves.current.interpretation,
|
|
1129
|
+
selfParticipantId: parsedSelves.current.selfId
|
|
1130
|
+
});
|
|
1131
|
+
}
|
|
949
1132
|
if (parsedSelves.updates.isMediaInactiveOrReleased) {
|
|
950
1133
|
this.emitScoped({
|
|
951
1134
|
file: 'locus-info',
|
|
@@ -960,6 +1143,26 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
960
1143
|
function: 'updateSelf'
|
|
961
1144
|
}, _constants.LOCUSINFO.EVENTS.SELF_MODERATOR_CHANGED, self);
|
|
962
1145
|
}
|
|
1146
|
+
if (parsedSelves.updates.isRolesChanged) {
|
|
1147
|
+
var _parsedSelves$previou, _parsedSelves$current;
|
|
1148
|
+
this.emitScoped({
|
|
1149
|
+
file: 'locus-info',
|
|
1150
|
+
function: 'updateSelf'
|
|
1151
|
+
}, _constants.LOCUSINFO.EVENTS.SELF_ROLES_CHANGED, {
|
|
1152
|
+
oldRoles: (_parsedSelves$previou = parsedSelves.previous) === null || _parsedSelves$previou === void 0 ? void 0 : _parsedSelves$previou.roles,
|
|
1153
|
+
newRoles: (_parsedSelves$current = parsedSelves.current) === null || _parsedSelves$current === void 0 ? void 0 : _parsedSelves$current.roles
|
|
1154
|
+
});
|
|
1155
|
+
}
|
|
1156
|
+
if (parsedSelves.updates.isVideoMutedByOthersChanged) {
|
|
1157
|
+
this.emitScoped({
|
|
1158
|
+
file: 'locus-info',
|
|
1159
|
+
function: 'updateSelf'
|
|
1160
|
+
}, _constants.LOCUSINFO.EVENTS.SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED, {
|
|
1161
|
+
muted: parsedSelves.current.remoteVideoMuted
|
|
1162
|
+
// unmuteAllowed: not part of .self
|
|
1163
|
+
});
|
|
1164
|
+
}
|
|
1165
|
+
|
|
963
1166
|
if (parsedSelves.updates.localAudioUnmuteRequiredByServer) {
|
|
964
1167
|
this.emitScoped({
|
|
965
1168
|
file: 'locus-info',
|
|
@@ -1005,14 +1208,14 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
1005
1208
|
_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, _selfUtils.default.getMediaStatus(self.mediaSessions));
|
|
1006
1209
|
}
|
|
1007
1210
|
if (parsedSelves.updates.audioStateChange || parsedSelves.updates.videoStateChange || parsedSelves.updates.shareStateChange) {
|
|
1008
|
-
var _parsedSelves$
|
|
1211
|
+
var _parsedSelves$current2, _parsedSelves$current3, _parsedSelves$current4;
|
|
1009
1212
|
this.emitScoped({
|
|
1010
1213
|
file: 'locus-info',
|
|
1011
1214
|
function: 'updateSelf'
|
|
1012
1215
|
}, _constants.LOCUSINFO.EVENTS.MEDIA_STATUS_CHANGE, {
|
|
1013
|
-
audioStatus: (_parsedSelves$
|
|
1014
|
-
videoStatus: (_parsedSelves$
|
|
1015
|
-
shareStatus: (_parsedSelves$
|
|
1216
|
+
audioStatus: (_parsedSelves$current2 = parsedSelves.current.currentMediaStatus) === null || _parsedSelves$current2 === void 0 ? void 0 : _parsedSelves$current2.audio,
|
|
1217
|
+
videoStatus: (_parsedSelves$current3 = parsedSelves.current.currentMediaStatus) === null || _parsedSelves$current3 === void 0 ? void 0 : _parsedSelves$current3.video,
|
|
1218
|
+
shareStatus: (_parsedSelves$current4 = parsedSelves.current.currentMediaStatus) === null || _parsedSelves$current4 === void 0 ? void 0 : _parsedSelves$current4.share
|
|
1016
1219
|
});
|
|
1017
1220
|
}
|
|
1018
1221
|
if (parsedSelves.updates.isUserObserving) {
|
|
@@ -1137,6 +1340,112 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
1137
1340
|
this.identities = identities;
|
|
1138
1341
|
}
|
|
1139
1342
|
}
|
|
1343
|
+
|
|
1344
|
+
/**
|
|
1345
|
+
* check the locus is main session's one or not, if is main session's, update main session cache
|
|
1346
|
+
* @param {Object} locus
|
|
1347
|
+
* @returns {undefined}
|
|
1348
|
+
* @memberof LocusInfo
|
|
1349
|
+
*/
|
|
1350
|
+
}, {
|
|
1351
|
+
key: "updateLocusCache",
|
|
1352
|
+
value: function updateLocusCache(locus) {
|
|
1353
|
+
var isMainSessionDTO = _controlsUtils.default.isMainSessionDTO(locus);
|
|
1354
|
+
if (isMainSessionDTO) {
|
|
1355
|
+
this.updateMainSessionLocusCache(locus);
|
|
1356
|
+
}
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
/**
|
|
1360
|
+
* if return from breakout to main session, need to use cached main session DTO since locus won't send the full locus (participants)
|
|
1361
|
+
* if join breakout from main session, need to query main locus url (if response with 403 means no privilege, need to clear the cache)
|
|
1362
|
+
* @param {Object} newLocus
|
|
1363
|
+
* @returns {Object}
|
|
1364
|
+
* @memberof LocusInfo
|
|
1365
|
+
*/
|
|
1366
|
+
}, {
|
|
1367
|
+
key: "getTheLocusToUpdate",
|
|
1368
|
+
value: function getTheLocusToUpdate(newLocus) {
|
|
1369
|
+
var switchStatus = _controlsUtils.default.getSessionSwitchStatus(this.controls, newLocus === null || newLocus === void 0 ? void 0 : newLocus.controls);
|
|
1370
|
+
if (switchStatus.isReturnToMain && this.mainSessionLocusCache) {
|
|
1371
|
+
return (0, _cloneDeep2.default)(this.mainSessionLocusCache);
|
|
1372
|
+
}
|
|
1373
|
+
if (switchStatus.isJoinToBreakout) {
|
|
1374
|
+
this.emitScoped({
|
|
1375
|
+
file: 'locus-info',
|
|
1376
|
+
function: 'updateControls'
|
|
1377
|
+
}, _constants.LOCUSINFO.EVENTS.CONTROLS_JOIN_BREAKOUT_FROM_MAIN, {
|
|
1378
|
+
mainLocusUrl: this.url
|
|
1379
|
+
});
|
|
1380
|
+
}
|
|
1381
|
+
return newLocus;
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
/**
|
|
1385
|
+
* merge participants by participant id
|
|
1386
|
+
* @param {Array} participants
|
|
1387
|
+
* @param {Array} sourceParticipants
|
|
1388
|
+
* @returns {Array} merged participants
|
|
1389
|
+
* @memberof LocusInfo
|
|
1390
|
+
*/
|
|
1391
|
+
// eslint-disable-next-line class-methods-use-this
|
|
1392
|
+
}, {
|
|
1393
|
+
key: "mergeParticipants",
|
|
1394
|
+
value: function mergeParticipants(participants, sourceParticipants) {
|
|
1395
|
+
if (!sourceParticipants || !sourceParticipants.length) return participants;
|
|
1396
|
+
if (!participants || !participants.length) {
|
|
1397
|
+
return sourceParticipants;
|
|
1398
|
+
}
|
|
1399
|
+
sourceParticipants.forEach(function (participant) {
|
|
1400
|
+
var existIndex = participants.findIndex(function (p) {
|
|
1401
|
+
return p.id === participant.id;
|
|
1402
|
+
});
|
|
1403
|
+
if (existIndex > -1) {
|
|
1404
|
+
participants.splice(existIndex, 1, participant);
|
|
1405
|
+
} else {
|
|
1406
|
+
participants.push(participant);
|
|
1407
|
+
}
|
|
1408
|
+
});
|
|
1409
|
+
return participants;
|
|
1410
|
+
}
|
|
1411
|
+
|
|
1412
|
+
/**
|
|
1413
|
+
* need cache main sessions' participants since locus will not send the full list when cohost/host leave breakout
|
|
1414
|
+
* @param {Object} mainLocus
|
|
1415
|
+
* @returns {undefined}
|
|
1416
|
+
* @memberof LocusInfo
|
|
1417
|
+
*/
|
|
1418
|
+
}, {
|
|
1419
|
+
key: "updateMainSessionLocusCache",
|
|
1420
|
+
value: function updateMainSessionLocusCache(mainLocus) {
|
|
1421
|
+
var _this5 = this;
|
|
1422
|
+
if (!mainLocus) {
|
|
1423
|
+
return;
|
|
1424
|
+
}
|
|
1425
|
+
var locusClone = (0, _cloneDeep2.default)(mainLocus);
|
|
1426
|
+
if (this.mainSessionLocusCache) {
|
|
1427
|
+
// shallow merge and do special merge for participants
|
|
1428
|
+
(0, _assignWith2.default)(this.mainSessionLocusCache, locusClone, function (objValue, srcValue, key) {
|
|
1429
|
+
if (key === 'participants') {
|
|
1430
|
+
return _this5.mergeParticipants(objValue, srcValue);
|
|
1431
|
+
}
|
|
1432
|
+
return srcValue || objValue;
|
|
1433
|
+
});
|
|
1434
|
+
} else {
|
|
1435
|
+
this.mainSessionLocusCache = locusClone;
|
|
1436
|
+
}
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
/**
|
|
1440
|
+
* clear main session cache
|
|
1441
|
+
* @returns {undefined}
|
|
1442
|
+
* @memberof LocusInfo
|
|
1443
|
+
*/
|
|
1444
|
+
}, {
|
|
1445
|
+
key: "clearMainSessionLocusCache",
|
|
1446
|
+
value: function clearMainSessionLocusCache() {
|
|
1447
|
+
this.mainSessionLocusCache = null;
|
|
1448
|
+
}
|
|
1140
1449
|
}]);
|
|
1141
1450
|
return LocusInfo;
|
|
1142
1451
|
}(_eventsScope.default);
|