@webex/plugin-meetings 3.0.0-beta.18 → 3.0.0-beta.180
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/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 +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 +352 -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 +302 -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 +1 -1
- 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 +39 -134
- 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 +76 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2610 -2465
- 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 +189 -146
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +478 -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 +350 -65
- 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 +98 -2
- 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 +48 -30
- 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/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 +32 -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 +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 +1467 -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 +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/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 +26 -23
- 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/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 +286 -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 +318 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +316 -38
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +1 -1
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +77 -142
- package/src/media/properties.ts +49 -90
- package/src/mediaQualityMetrics/config.ts +379 -377
- package/src/meeting/in-meeting-actions.ts +151 -3
- package/src/meeting/index.ts +1919 -2002
- package/src/meeting/locusMediaRequest.ts +309 -0
- package/src/meeting/muteState.ts +228 -132
- package/src/meeting/request.ts +96 -65
- package/src/meeting/util.ts +464 -396
- 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 +386 -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 +103 -0
- 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 +42 -20
- package/src/multistream/remoteMedia.ts +28 -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/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/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 +570 -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 +707 -22
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- 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 +129 -23
- package/test/unit/spec/meeting/in-meeting-actions.ts +75 -3
- package/test/unit/spec/meeting/index.js +2728 -1397
- 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 +378 -55
- 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 +846 -121
- 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 +415 -33
- 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 +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/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/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,10 +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);
|
|
74
82
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "services", void 0);
|
|
83
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mainSessionLocusCache", void 0);
|
|
75
84
|
_this.parsedLocus = {
|
|
76
85
|
states: []
|
|
77
86
|
};
|
|
@@ -110,7 +119,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
110
119
|
case DESYNC:
|
|
111
120
|
meeting.meetingRequest.getFullLocus({
|
|
112
121
|
desync: true,
|
|
113
|
-
locusUrl: meeting.locusUrl
|
|
122
|
+
locusUrl: locus.url ? locus.url : meeting.locusUrl
|
|
114
123
|
}).then(function (res) {
|
|
115
124
|
meeting.locusInfo.onFullLocus(res.body);
|
|
116
125
|
// Notify parser to resume processing delta events
|
|
@@ -186,13 +195,13 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
186
195
|
* @member LocusInfo
|
|
187
196
|
*/
|
|
188
197
|
this.deltaParticipants = [];
|
|
189
|
-
|
|
198
|
+
this.updateLocusCache(locus);
|
|
190
199
|
// above section only updates the locusInfo object
|
|
191
200
|
// The below section makes sure it updates the locusInfo as well as updates the meeting object
|
|
192
201
|
this.updateParticipants(locus.participants);
|
|
193
202
|
// For 1:1 space meeting the conversation Url does not exist in locus.conversation
|
|
194
203
|
this.updateConversationUrl(locus.conversationUrl, locus.info);
|
|
195
|
-
this.updateControls(locus.controls);
|
|
204
|
+
this.updateControls(locus.controls, locus.self);
|
|
196
205
|
this.updateLocusUrl(locus.url);
|
|
197
206
|
this.updateFullState(locus.fullState);
|
|
198
207
|
this.updateMeetingInfo(locus.info);
|
|
@@ -212,6 +221,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
212
221
|
}, {
|
|
213
222
|
key: "initialSetup",
|
|
214
223
|
value: function initialSetup(locus) {
|
|
224
|
+
this.updateLocusCache(locus);
|
|
215
225
|
this.onFullLocus(locus);
|
|
216
226
|
|
|
217
227
|
// Change it to true after it receives it first locus object
|
|
@@ -229,6 +239,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
229
239
|
value: function parse(meeting, data) {
|
|
230
240
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
231
241
|
var eventType = data.eventType;
|
|
242
|
+
var locus = this.getTheLocusToUpdate(data.locus);
|
|
232
243
|
_loggerProxy.default.logger.info("Locus-info:index#parse --> received locus data: ".concat(eventType));
|
|
233
244
|
switch (eventType) {
|
|
234
245
|
case _constants.LOCUSEVENT.PARTICIPANT_JOIN:
|
|
@@ -245,15 +256,15 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
245
256
|
case _constants.LOCUSEVENT.PARTICIPANT_DECLINED:
|
|
246
257
|
case _constants.LOCUSEVENT.FLOOR_GRANTED:
|
|
247
258
|
case _constants.LOCUSEVENT.FLOOR_RELEASED:
|
|
248
|
-
this.onFullLocus(
|
|
259
|
+
this.onFullLocus(locus, eventType);
|
|
249
260
|
break;
|
|
250
261
|
case _constants.LOCUSEVENT.DIFFERENCE:
|
|
251
|
-
this.handleLocusDelta(
|
|
262
|
+
this.handleLocusDelta(locus, meeting);
|
|
252
263
|
break;
|
|
253
264
|
default:
|
|
254
265
|
// Why will there be a event with no eventType ????
|
|
255
266
|
// we may not need this, we can get full locus
|
|
256
|
-
this.handleLocusDelta(
|
|
267
|
+
this.handleLocusDelta(locus, meeting);
|
|
257
268
|
}
|
|
258
269
|
}
|
|
259
270
|
|
|
@@ -287,8 +298,9 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
287
298
|
this.updateParticipantDeltas(locus.participants);
|
|
288
299
|
this.scheduledMeeting = locus.meeting || null;
|
|
289
300
|
this.participants = locus.participants;
|
|
301
|
+
var isReplaceMembers = _controlsUtils.default.isNeedReplaceMembers(this.controls, locus.controls);
|
|
290
302
|
this.updateLocusInfo(locus);
|
|
291
|
-
this.updateParticipants(locus.participants);
|
|
303
|
+
this.updateParticipants(locus.participants, isReplaceMembers);
|
|
292
304
|
this.isMeetingActive();
|
|
293
305
|
this.handleOneOnOneEvent(eventType);
|
|
294
306
|
this.updateEmbeddedApps(locus.embeddedApps);
|
|
@@ -340,8 +352,9 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
340
352
|
}, {
|
|
341
353
|
key: "onDeltaLocus",
|
|
342
354
|
value: function onDeltaLocus(locus) {
|
|
355
|
+
var isReplaceMembers = _controlsUtils.default.isNeedReplaceMembers(this.controls, locus.controls);
|
|
343
356
|
this.updateLocusInfo(locus);
|
|
344
|
-
this.updateParticipants(locus.participants);
|
|
357
|
+
this.updateParticipants(locus.participants, isReplaceMembers);
|
|
345
358
|
this.isMeetingActive();
|
|
346
359
|
}
|
|
347
360
|
|
|
@@ -360,7 +373,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
360
373
|
// as it gets interpreted as if we have left the call
|
|
361
374
|
return;
|
|
362
375
|
}
|
|
363
|
-
this.updateControls(locus.controls);
|
|
376
|
+
this.updateControls(locus.controls, locus.self);
|
|
364
377
|
this.updateConversationUrl(locus.conversationUrl, locus.info);
|
|
365
378
|
this.updateCreated(locus.created);
|
|
366
379
|
this.updateFullState(locus.fullState);
|
|
@@ -426,9 +439,13 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
426
439
|
if (this.fullState && this.fullState.state === _constants.LOCUS.STATE.INACTIVE) {
|
|
427
440
|
// TODO: update the meeting state
|
|
428
441
|
_loggerProxy.default.logger.warn('Locus-info:index#isMeetingActive --> Call Ended, locus state is inactive.');
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
442
|
+
|
|
443
|
+
// @ts-ignore
|
|
444
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
445
|
+
name: 'client.call.remote-ended',
|
|
446
|
+
options: {
|
|
447
|
+
meetingId: this.meetingId
|
|
448
|
+
}
|
|
432
449
|
});
|
|
433
450
|
this.emitScoped({
|
|
434
451
|
file: 'locus-info',
|
|
@@ -438,9 +455,12 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
438
455
|
shouldLeave: false
|
|
439
456
|
});
|
|
440
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)) {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
458
|
+
// @ts-ignore
|
|
459
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
460
|
+
name: 'client.call.remote-ended',
|
|
461
|
+
options: {
|
|
462
|
+
meetingId: this.meetingId
|
|
463
|
+
}
|
|
444
464
|
});
|
|
445
465
|
this.emitScoped({
|
|
446
466
|
file: 'locus-info',
|
|
@@ -451,9 +471,12 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
451
471
|
});
|
|
452
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
|
|
453
473
|
) {
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
474
|
+
// @ts-ignore
|
|
475
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
476
|
+
name: 'client.call.remote-ended',
|
|
477
|
+
options: {
|
|
478
|
+
meetingId: this.meetingId
|
|
479
|
+
}
|
|
457
480
|
});
|
|
458
481
|
this.emitScoped({
|
|
459
482
|
file: 'locus-info',
|
|
@@ -468,9 +491,13 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
468
491
|
// @ts-ignore
|
|
469
492
|
this.fullState.state === _constants.LOCUS.STATE.TERMINATING)) {
|
|
470
493
|
_loggerProxy.default.logger.warn('Locus-info:index#isMeetingActive --> Meeting is ending due to inactive or terminating');
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
494
|
+
|
|
495
|
+
// @ts-ignore
|
|
496
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
497
|
+
name: 'client.call.remote-ended',
|
|
498
|
+
options: {
|
|
499
|
+
meetingId: this.meetingId
|
|
500
|
+
}
|
|
474
501
|
});
|
|
475
502
|
this.emitScoped({
|
|
476
503
|
file: 'locus-info',
|
|
@@ -481,9 +508,13 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
481
508
|
});
|
|
482
509
|
} else if (this.fullState && this.fullState.removed) {
|
|
483
510
|
// user has been dropped from a meeting
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
511
|
+
|
|
512
|
+
// @ts-ignore
|
|
513
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
514
|
+
name: 'client.call.remote-ended',
|
|
515
|
+
options: {
|
|
516
|
+
meetingId: this.meetingId
|
|
517
|
+
}
|
|
487
518
|
});
|
|
488
519
|
this.emitScoped({
|
|
489
520
|
file: 'locus-info',
|
|
@@ -606,15 +637,15 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
606
637
|
}
|
|
607
638
|
|
|
608
639
|
/**
|
|
609
|
-
*
|
|
640
|
+
* update meeting's members
|
|
610
641
|
* @param {Object} participants new participants object
|
|
611
|
-
* @param {
|
|
642
|
+
* @param {Boolean} isReplace is replace the whole members
|
|
612
643
|
* @returns {Array} updatedParticipants
|
|
613
644
|
* @memberof LocusInfo
|
|
614
645
|
*/
|
|
615
646
|
}, {
|
|
616
647
|
key: "updateParticipants",
|
|
617
|
-
value: function updateParticipants(participants) {
|
|
648
|
+
value: function updateParticipants(participants, isReplace) {
|
|
618
649
|
var _this$parsedLocus$con;
|
|
619
650
|
this.emitScoped({
|
|
620
651
|
file: 'locus-info',
|
|
@@ -624,18 +655,20 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
624
655
|
recordingId: this.parsedLocus.controls && ((_this$parsedLocus$con = this.parsedLocus.controls.record) === null || _this$parsedLocus$con === void 0 ? void 0 : _this$parsedLocus$con.modifiedBy),
|
|
625
656
|
selfIdentity: this.parsedLocus.self && this.parsedLocus.self.selfIdentity,
|
|
626
657
|
selfId: this.parsedLocus.self && this.parsedLocus.self.selfId,
|
|
627
|
-
hostId: this.parsedLocus.host && this.parsedLocus.host.hostId
|
|
658
|
+
hostId: this.parsedLocus.host && this.parsedLocus.host.hostId,
|
|
659
|
+
isReplace: isReplace
|
|
628
660
|
});
|
|
629
661
|
}
|
|
630
662
|
|
|
631
663
|
/**
|
|
632
664
|
* @param {Object} controls
|
|
665
|
+
* @param {Object} self
|
|
633
666
|
* @returns {undefined}
|
|
634
667
|
* @memberof LocusInfo
|
|
635
668
|
*/
|
|
636
669
|
}, {
|
|
637
670
|
key: "updateControls",
|
|
638
|
-
value: function updateControls(controls) {
|
|
671
|
+
value: function updateControls(controls, self) {
|
|
639
672
|
if (controls && !(0, _isEqual2.default)(this.controls, controls)) {
|
|
640
673
|
this.parsedLocus.controls = _controlsUtils.default.parse(controls);
|
|
641
674
|
var _ControlsUtils$getCon = _controlsUtils.default.getControls(this.controls, controls),
|
|
@@ -646,7 +679,73 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
646
679
|
hasTranscribeChanged = _ControlsUtils$getCon2.hasTranscribeChanged,
|
|
647
680
|
hasEntryExitToneChanged = _ControlsUtils$getCon2.hasEntryExitToneChanged,
|
|
648
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,
|
|
649
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
|
+
}
|
|
650
749
|
if (hasRecordingChanged || hasRecordingPausedChanged) {
|
|
651
750
|
var state = null;
|
|
652
751
|
if (hasRecordingPausedChanged) {
|
|
@@ -691,6 +790,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
691
790
|
}
|
|
692
791
|
if (hasBreakoutChanged) {
|
|
693
792
|
var breakout = current.breakout;
|
|
793
|
+
breakout.breakoutMoveId = _selfUtils.default.getReplacedBreakoutMoveId(self, this.webex.internal.device.url);
|
|
694
794
|
this.emitScoped({
|
|
695
795
|
file: 'locus-info',
|
|
696
796
|
function: 'updateControls'
|
|
@@ -698,16 +798,41 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
698
798
|
breakout: breakout
|
|
699
799
|
});
|
|
700
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
|
+
}
|
|
701
810
|
if (hasEntryExitToneChanged) {
|
|
702
811
|
var entryExitTone = current.entryExitTone;
|
|
812
|
+
this.updateMeeting({
|
|
813
|
+
entryExitTone: entryExitTone
|
|
814
|
+
});
|
|
703
815
|
this.emitScoped({
|
|
704
816
|
file: 'locus-info',
|
|
705
817
|
function: 'updateControls'
|
|
706
818
|
}, _constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, {
|
|
707
819
|
entryExitTone: entryExitTone
|
|
708
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;
|
|
709
827
|
this.updateMeeting({
|
|
710
|
-
|
|
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
|
|
711
836
|
});
|
|
712
837
|
}
|
|
713
838
|
this.controls = controls;
|
|
@@ -840,9 +965,9 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
840
965
|
}, {
|
|
841
966
|
key: "updateMeetingInfo",
|
|
842
967
|
value: function updateMeetingInfo(info, self) {
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
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) {
|
|
846
971
|
var isJoined = _selfUtils.default.isJoined(self || this.parsedLocus.self);
|
|
847
972
|
var parsedInfo = _infoUtils.default.getInfos(this.parsedLocus.info, info, roles, isJoined);
|
|
848
973
|
this.emitScoped({
|
|
@@ -869,6 +994,7 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
869
994
|
// Parses the info and adds necessary values
|
|
870
995
|
this.updateMeeting(parsedInfo.current);
|
|
871
996
|
}
|
|
997
|
+
this.roles = roles;
|
|
872
998
|
}
|
|
873
999
|
|
|
874
1000
|
/**
|
|
@@ -907,6 +1033,8 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
907
1033
|
if (mediaShares && !(0, _isEqual2.default)(this.mediaShares, mediaShares)) {
|
|
908
1034
|
var parsedMediaShares = _mediaSharesUtils.default.getMediaShares(this.mediaShares, mediaShares);
|
|
909
1035
|
this.updateMeeting(parsedMediaShares.current);
|
|
1036
|
+
this.parsedLocus.mediaShares = parsedMediaShares.current;
|
|
1037
|
+
this.mediaShares = mediaShares;
|
|
910
1038
|
this.emitScoped({
|
|
911
1039
|
file: 'locus-info',
|
|
912
1040
|
function: 'updateMediaShares'
|
|
@@ -914,8 +1042,6 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
914
1042
|
current: parsedMediaShares.current,
|
|
915
1043
|
previous: parsedMediaShares.previous
|
|
916
1044
|
});
|
|
917
|
-
this.parsedLocus.mediaShares = parsedMediaShares.current;
|
|
918
|
-
this.mediaShares = mediaShares;
|
|
919
1045
|
}
|
|
920
1046
|
}
|
|
921
1047
|
|
|
@@ -994,6 +1120,15 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
994
1120
|
breakoutSessions: parsedSelves.current.breakoutSessions
|
|
995
1121
|
});
|
|
996
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
|
+
}
|
|
997
1132
|
if (parsedSelves.updates.isMediaInactiveOrReleased) {
|
|
998
1133
|
this.emitScoped({
|
|
999
1134
|
file: 'locus-info',
|
|
@@ -1008,6 +1143,26 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
1008
1143
|
function: 'updateSelf'
|
|
1009
1144
|
}, _constants.LOCUSINFO.EVENTS.SELF_MODERATOR_CHANGED, self);
|
|
1010
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
|
+
|
|
1011
1166
|
if (parsedSelves.updates.localAudioUnmuteRequiredByServer) {
|
|
1012
1167
|
this.emitScoped({
|
|
1013
1168
|
file: 'locus-info',
|
|
@@ -1053,14 +1208,14 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
1053
1208
|
_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, _selfUtils.default.getMediaStatus(self.mediaSessions));
|
|
1054
1209
|
}
|
|
1055
1210
|
if (parsedSelves.updates.audioStateChange || parsedSelves.updates.videoStateChange || parsedSelves.updates.shareStateChange) {
|
|
1056
|
-
var _parsedSelves$
|
|
1211
|
+
var _parsedSelves$current2, _parsedSelves$current3, _parsedSelves$current4;
|
|
1057
1212
|
this.emitScoped({
|
|
1058
1213
|
file: 'locus-info',
|
|
1059
1214
|
function: 'updateSelf'
|
|
1060
1215
|
}, _constants.LOCUSINFO.EVENTS.MEDIA_STATUS_CHANGE, {
|
|
1061
|
-
audioStatus: (_parsedSelves$
|
|
1062
|
-
videoStatus: (_parsedSelves$
|
|
1063
|
-
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
|
|
1064
1219
|
});
|
|
1065
1220
|
}
|
|
1066
1221
|
if (parsedSelves.updates.isUserObserving) {
|
|
@@ -1185,6 +1340,112 @@ var LocusInfo = /*#__PURE__*/function (_EventsScope) {
|
|
|
1185
1340
|
this.identities = identities;
|
|
1186
1341
|
}
|
|
1187
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
|
+
}
|
|
1188
1449
|
}]);
|
|
1189
1450
|
return LocusInfo;
|
|
1190
1451
|
}(_eventsScope.default);
|