fcr-ui-scene 3.5.1 → 3.6.0
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/lib/creator.d.ts +14 -0
- package/lib/creator.js +239 -14
- package/lib/electron/app.js +0 -21
- package/lib/electron/bootstrap-sdk.js +136 -7
- package/lib/electron/injections.d.ts +19 -7
- package/lib/electron/injections.js +206 -77
- package/lib/electron/ipc/ipc.d.ts +26 -0
- package/lib/electron/ipc/ipc.js +137 -0
- package/lib/electron/ipc/type.d.ts +11 -0
- package/lib/electron/ipc/type.js +19 -0
- package/lib/electron/logger.js +1 -1
- package/lib/electron/main.js +1 -1
- package/lib/electron/plugins/meeting-state.d.ts +1 -0
- package/lib/electron/plugins/meeting-state.js +3 -3
- package/lib/electron/plugins/screenshot.js +2 -2
- package/lib/electron/preload.js +67 -5
- package/lib/electron/window.js +0 -2
- package/lib/global.css +21 -0
- package/lib/modules/action-bar/components/apps/index.js +1 -0
- package/lib/modules/action-bar/components/apps/useWidgetList.js +1 -1
- package/lib/modules/action-bar/components/item/index.d.ts +2 -0
- package/lib/modules/action-bar/components/item/index.js +4 -2
- package/lib/modules/action-bar/components/leave/index.js +1 -0
- package/lib/modules/action-bar/components/more/index.js +1 -0
- package/lib/modules/action-bar/components/record/index.js +43 -106
- package/lib/modules/action-bar/components/record/popover.d.ts +4 -0
- package/lib/modules/action-bar/components/record/popover.js +57 -0
- package/lib/modules/action-bar/components/record/stop-record-dialog.js +1 -0
- package/lib/modules/action-bar/components/screen-share/index.js +15 -3
- package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
- package/lib/modules/action-bar/components/security/index.js +2 -1
- package/lib/modules/action-bar/components/smaller/index.js +1 -1
- package/lib/modules/action-bar/components/trigger-output-language/index.js +17 -22
- package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +2 -1
- package/lib/modules/action-bar/index.css +3 -2
- package/lib/modules/action-bar/index.js +2 -1
- package/lib/modules/action-bar/store.d.ts +5 -0
- package/lib/modules/action-bar/store.js +30 -12
- package/lib/modules/action-bar/types.d.ts +1 -0
- package/lib/modules/chat/chat-room-store.js +1 -1
- package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
- package/lib/modules/chat/components/chat-bar/index.js +5 -3
- package/lib/modules/chat/components/chat-select/select-item/index.js +1 -1
- package/lib/modules/chat/components/message-list/index.js +1 -2
- package/lib/modules/chat/components/message-list/message-item/index.d.ts +0 -1
- package/lib/modules/chat/components/message-list/message-item/index.js +9 -10
- package/lib/modules/chat/index.css +24 -0
- package/lib/modules/chat/view.js +13 -3
- package/lib/modules/components/device-control/components/carmera/index.js +4 -5
- package/lib/modules/components/device-control/components/microphone/index.js +4 -5
- package/lib/modules/components/device-control/index.css +6 -3
- package/lib/modules/components/leave-meeting/components/assign-host.js +26 -4
- package/lib/modules/components/leave-meeting/components/index.css +35 -0
- package/lib/modules/components/leave-meeting/index.js +1 -0
- package/lib/modules/components/leave-meeting/store.js +25 -67
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +3 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +1 -1
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +10 -9
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
- package/lib/modules/components/member-window/components/member-actions/components/user-info.js +1 -1
- package/lib/modules/components/member-window/components/member-actions/index.js +2 -2
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +3 -14
- package/lib/modules/components/member-window/index.css +18 -7
- package/lib/modules/components/member-window/types.d.ts +1 -1
- package/lib/modules/components/security-menu/index.css +2 -2
- package/lib/modules/components/security-menu/index.js +80 -28
- package/lib/modules/components/tab-frame/index.css +1 -1
- package/lib/modules/control-bar/components/meeting-details/index.css +1 -1
- package/lib/modules/control-bar/components/meeting-details/index.js +15 -9
- package/lib/modules/control-bar/components/more-actions/index.js +3 -21
- package/lib/modules/control-bar/components/share-state-nav/index.js +4 -20
- package/lib/modules/control-bar/index.d.ts +2 -0
- package/lib/modules/control-bar/index.js +3 -1
- package/lib/modules/control-bar/store.d.ts +11 -2
- package/lib/modules/control-bar/store.js +103 -95
- package/lib/modules/control-bar/view.js +1 -6
- package/lib/modules/device-pretest/audio-preview/speaker-detection.js +1 -1
- package/lib/modules/dialog/components/chat/electron.d.ts +1 -3
- package/lib/modules/dialog/components/chat/index.js +24 -17
- package/lib/modules/dialog/components/confirm-leave-meeting/index.d.ts +6 -0
- package/lib/modules/dialog/components/confirm-leave-meeting/index.js +86 -0
- package/lib/modules/dialog/components/control-bar/index.d.ts +1 -2
- package/lib/modules/dialog/components/control-bar/index.js +5 -17
- package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
- package/lib/modules/dialog/components/dialog-container/component/body.js +4 -2
- package/lib/modules/dialog/components/dialog-container/index.css +2 -1
- package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
- package/lib/modules/dialog/components/dialog-container/index.js +3 -1
- package/lib/modules/dialog/components/participant/index.d.ts +0 -1
- package/lib/modules/dialog/components/participant/index.js +15 -24
- package/lib/modules/dialog/components/pre-setting/electron.d.ts +2 -0
- package/lib/modules/dialog/components/pre-setting/electron.js +51 -0
- package/lib/modules/dialog/components/pre-setting/index.css +26 -0
- package/lib/modules/dialog/components/pre-setting/index.d.ts +6 -0
- package/lib/modules/dialog/components/pre-setting/index.js +38 -0
- package/lib/modules/dialog/components/pre-setting-container/component/body.d.ts +8 -0
- package/lib/modules/dialog/components/pre-setting-container/component/body.js +80 -0
- package/lib/modules/dialog/components/pre-setting-container/index.css +82 -0
- package/lib/modules/dialog/components/pre-setting-container/index.d.ts +18 -0
- package/lib/modules/dialog/components/pre-setting-container/index.js +117 -0
- package/lib/modules/dialog/components/rename/index.d.ts +4 -0
- package/lib/modules/dialog/components/rename/index.js +72 -0
- package/lib/modules/dialog/components/video-window/index.js +18 -16
- package/lib/modules/dialog/components/widget/electron.d.ts +2 -1
- package/lib/modules/dialog/components/widget/electron.js +3 -2
- package/lib/modules/dialog/components/widget/index.d.ts +2 -1
- package/lib/modules/dialog/components/widget/index.js +4 -6
- package/lib/modules/dialog/dialogs.d.ts +1 -0
- package/lib/modules/dialog/dialogs.js +3 -2
- package/lib/modules/dialog/hooks/useElectron.d.ts +2 -0
- package/lib/modules/dialog/hooks/useElectron.js +11 -13
- package/lib/modules/dialog/index.d.ts +2 -0
- package/lib/modules/dialog/index.js +2 -1
- package/lib/modules/dialog/store.d.ts +8 -3
- package/lib/modules/dialog/store.js +38 -26
- package/lib/modules/dialog/type.d.ts +1 -0
- package/lib/modules/dialog/view.js +2 -1
- package/lib/modules/event-confirm/index.d.ts +2 -0
- package/lib/modules/event-confirm/index.js +2 -1
- package/lib/modules/event-confirm/store.d.ts +9 -1
- package/lib/modules/event-confirm/store.js +94 -8
- package/lib/modules/event-confirm/view.js +55 -46
- package/lib/modules/{sound-effect → event-sound}/index.d.ts +3 -2
- package/lib/modules/{sound-effect → event-sound}/index.js +9 -5
- package/lib/modules/event-toast/store.js +2 -0
- package/lib/modules/interpreter/dialog-content/index.js +4 -1
- package/lib/modules/interpreter/index.d.ts +2 -0
- package/lib/modules/interpreter/index.js +2 -1
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -0
- package/lib/modules/interpreter/store.d.ts +2 -2
- package/lib/modules/interpreter/store.js +30 -24
- package/lib/modules/interpreter/type.d.ts +2 -0
- package/lib/modules/invite/components/pstn-invite.js +3 -9
- package/lib/modules/invite/components/voip-invite.css +26 -0
- package/lib/modules/invite/components/voip-invite.d.ts +1 -0
- package/lib/modules/invite/components/voip-invite.js +8 -11
- package/lib/modules/invite/index.css +16 -3
- package/lib/modules/invite/index.d.ts +2 -1
- package/lib/modules/invite/index.js +2 -1
- package/lib/modules/invite/store.d.ts +5 -1
- package/lib/modules/invite/store.js +8 -1
- package/lib/modules/layout/components/Carousel.d.ts +1 -1
- package/lib/modules/layout/components/Carousel.js +16 -118
- package/lib/modules/layout/components/CommonVideoRenderer.d.ts +13 -0
- package/lib/modules/layout/components/CommonVideoRenderer.js +214 -0
- package/lib/modules/layout/components/Gallery.d.ts +1 -0
- package/lib/modules/layout/components/Gallery.js +62 -205
- package/lib/modules/layout/components/index.css +17 -34
- package/lib/modules/layout/index.d.ts +2 -0
- package/lib/modules/layout/index.js +2 -1
- package/lib/modules/layout/store.d.ts +5 -2
- package/lib/modules/layout/store.js +47 -39
- package/lib/modules/layout/type.d.ts +4 -0
- package/lib/modules/layout/type.js +6 -1
- package/lib/modules/live-streaming/store.d.ts +1 -0
- package/lib/modules/live-streaming/store.js +19 -8
- package/lib/modules/participant/components/confirm-input/index.d.ts +4 -4
- package/lib/modules/participant/components/confirm-input/index.js +74 -6
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +27 -3
- package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +4 -0
- package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +3 -2
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +4 -3
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +1 -0
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +9 -1
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +1 -1
- package/lib/modules/participant/components/participants/components/participants/index.css +1 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +18 -0
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +12 -5
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +1 -8
- package/lib/modules/participant/index.css +6 -0
- package/lib/modules/participant/index.d.ts +1 -0
- package/lib/modules/participant/index.js +9 -0
- package/lib/modules/participant/store.d.ts +6 -0
- package/lib/modules/participant/store.js +130 -96
- package/lib/modules/pc-audio-connect/store.js +1 -1
- package/lib/modules/phone-audio-connect/index.d.ts +2 -0
- package/lib/modules/phone-audio-connect/index.js +2 -1
- package/lib/modules/phone-audio-connect/store.d.ts +4 -1
- package/lib/modules/phone-audio-connect/store.js +4 -2
- package/lib/modules/setting/audio-settings/audio-settings.js +70 -48
- package/lib/modules/setting/audio-settings/index.css +23 -6
- package/lib/modules/setting/general-settings/general-settings.d.ts +1 -2
- package/lib/modules/setting/general-settings/general-settings.js +111 -37
- package/lib/modules/setting/general-settings/index.css +15 -0
- package/lib/modules/setting/index.d.ts +4 -1
- package/lib/modules/setting/index.js +7 -4
- package/lib/modules/setting/state/index.js +1 -1
- package/lib/modules/setting/store.d.ts +24 -11
- package/lib/modules/setting/store.js +203 -142
- package/lib/modules/setting/video-settings/index.css +13 -2
- package/lib/modules/setting/video-settings/video-settings-basic.js +18 -27
- package/lib/modules/setting/video-settings/video-settings.d.ts +0 -2
- package/lib/modules/setting/video-settings/video-settings.js +3 -2
- package/lib/modules/setting/view.d.ts +11 -2
- package/lib/modules/setting/view.js +93 -71
- package/lib/modules/share-screen/components/selection/index.js +6 -2
- package/lib/modules/share-screen/index.d.ts +4 -1
- package/lib/modules/share-screen/index.js +3 -1
- package/lib/modules/share-screen/store.d.ts +15 -5
- package/lib/modules/share-screen/store.js +105 -59
- package/lib/modules/share-screen/view.js +1 -1
- package/lib/modules/state-bar/index.css +4 -2
- package/lib/modules/state-bar/index.d.ts +2 -0
- package/lib/modules/state-bar/index.js +2 -1
- package/lib/modules/state-bar/layout-config.js +1 -0
- package/lib/modules/state-bar/live-streaming-state.js +1 -0
- package/lib/modules/state-bar/meeting-detail.css +10 -1
- package/lib/modules/state-bar/meeting-details.js +42 -26
- package/lib/modules/state-bar/meeting-network-state.css +8 -0
- package/lib/modules/state-bar/meeting-time.js +9 -20
- package/lib/modules/state-bar/store.d.ts +5 -1
- package/lib/modules/state-bar/store.js +10 -3
- package/lib/modules/state-bar/view.js +17 -6
- package/lib/modules/video-window/components/members/index.js +0 -3
- package/lib/modules/waiting-room-layout/index.css +13 -0
- package/lib/modules/waiting-room-layout/index.d.ts +2 -1
- package/lib/modules/waiting-room-layout/index.js +2 -1
- package/lib/modules/waiting-room-layout/store.d.ts +12 -1
- package/lib/modules/waiting-room-layout/store.js +42 -6
- package/lib/modules/waiting-room-layout/view.js +22 -5
- package/lib/modules/whiteboard/components/control-bar/index.css +1 -1
- package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +1 -1
- package/lib/modules/whiteboard/components/switch-theme/libs.js +3 -1
- package/lib/modules/whiteboard/components/toolbar/ style.css +1 -0
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +1 -0
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +1 -0
- package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +3 -14
- package/lib/modules/whiteboard/components/toolbar/components/expansion/index.d.ts +1 -0
- package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +83 -0
- package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -2
- package/lib/modules/whiteboard/components/toolbar/components/history.js +3 -3
- package/lib/modules/whiteboard/components/toolbar/components/item/index.d.ts +1 -0
- package/lib/modules/whiteboard/components/toolbar/components/item/index.js +42 -0
- package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -2
- package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +2 -2
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +3 -3
- package/lib/modules/whiteboard/components/toolbar/hooks/index.js +6 -6
- package/lib/modules/whiteboard/components/toolbar/index.js +9 -113
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +18 -0
- package/lib/modules/whiteboard/components/toolbar/store.js +276 -83
- package/lib/modules/whiteboard/context.d.ts +1 -2
- package/lib/modules/whiteboard/index.d.ts +1 -14
- package/lib/modules/whiteboard/index.js +131 -426
- package/lib/modules/whiteboard/view.js +12 -10
- package/lib/modules/widget/sdk.js +2 -1
- package/lib/object-manager.d.ts +8 -0
- package/lib/object-manager.js +75 -0
- package/lib/plugins/browser-runtime-plugin.js +19 -14
- package/lib/providers/ability-provider.d.ts +8 -0
- package/lib/providers/ability-provider.js +14 -0
- package/lib/providers/device-privilege-provider.d.ts +1 -0
- package/lib/providers/device-privilege-provider.js +53 -75
- package/lib/providers/device-provider.d.ts +18 -8
- package/lib/providers/device-provider.js +397 -209
- package/lib/providers/device-stream-provider.js +0 -4
- package/lib/providers/dialog-provider.d.ts +1 -0
- package/lib/providers/dialog-provider.js +4 -18
- package/lib/providers/event-provider.js +45 -2
- package/lib/providers/interpreter-provider.d.ts +4 -0
- package/lib/providers/interpreter-provider.js +166 -137
- package/lib/providers/message-provider.js +44 -2
- package/lib/providers/privilege-provider.d.ts +33 -0
- package/lib/providers/privilege-provider.js +120 -45
- package/lib/providers/room-provider.d.ts +12 -10
- package/lib/providers/room-provider.js +162 -262
- package/lib/providers/screen-share-provider.d.ts +4 -0
- package/lib/providers/screen-share-provider.js +3 -6
- package/lib/providers/widget-provider.js +6 -4
- package/lib/runtime.d.ts +20 -8
- package/lib/scenes/main-scene.d.ts +2 -0
- package/lib/scenes/main-scene.js +95 -37
- package/lib/scenes/waiting-scene.js +16 -13
- package/lib/schema.d.ts +55 -32
- package/lib/schema.js +23 -9
- package/lib/shared-data-source/config.d.ts +6 -2
- package/lib/shared-data-source/config.js +81 -10
- package/lib/shared-data-source/member-data.d.ts +16 -20
- package/lib/shared-data-source/member-data.js +121 -110
- package/lib/shared-data-source/screen-share-data-source.d.ts +37 -0
- package/lib/shared-data-source/screen-share-data-source.js +134 -0
- package/lib/shared-data-source/security-data.d.ts +1 -0
- package/lib/shared-data-source/security-data.js +3 -5
- package/lib/shared-data-source/setting.d.ts +1 -0
- package/lib/shared-data-source/setting.js +33 -17
- package/lib/shared-data-source/video-window.d.ts +3 -3
- package/lib/shared-data-source/video-window.js +55 -38
- package/lib/translations/enUS.d.ts +48 -1
- package/lib/translations/enUS.js +101 -17
- package/lib/translations/zhCN.d.ts +48 -1
- package/lib/translations/zhCN.js +88 -4
- package/lib/type.d.ts +40 -20
- package/lib/type.js +14 -1
- package/lib/ui-manager.d.ts +11 -9
- package/lib/ui-manager.js +118 -29
- package/lib/ui-scene.d.ts +7 -4
- package/lib/ui-scene.js +111 -128
- package/lib/utilities/constant.d.ts +3 -1
- package/lib/utilities/constant.js +2 -0
- package/lib/utilities/copyText.js +15 -11
- package/lib/utilities/default-config.d.ts +2 -0
- package/lib/utilities/default-config.js +11 -5
- package/lib/utilities/i18n-common-data.d.ts +2 -0
- package/lib/utilities/i18n-common-data.js +15 -0
- package/lib/utilities/logger.d.ts +0 -1
- package/lib/utilities/logger.js +3 -4
- package/lib/utilities/renderer.d.ts +0 -9
- package/lib/utilities/renderer.js +1 -70
- package/lib/utilities/screen.js +3 -1
- package/lib/utilities/setting-config-storage.d.ts +6 -1
- package/lib/utilities/setting-config-storage.js +21 -4
- package/lib/utilities/tools.d.ts +7 -6
- package/lib/utilities/tools.js +56 -44
- package/lib/utilities/ui-resources.d.ts +6 -0
- package/lib/utilities/ui-resources.js +47 -9
- package/lib/waiting-room-control-manager.d.ts +4 -4
- package/lib/waiting-room-control-manager.js +29 -9
- package/package.json +6 -6
- package/public/assets/browser/images/default1.jpg +0 -0
- package/public/assets/browser/images/default2.jpg +0 -0
- package/public/assets/browser/images/default3.jpg +0 -0
- package/public/assets/browser/images/default4.jpg +0 -0
- package/public/assets/browser/images/default5.jpg +0 -0
- package/public/assets/browser/images/default6.jpg +0 -0
- package/public/assets/browser/images/default7.jpg +0 -0
- package/public/assets/browser/sound_effects/pretest.mp3 +0 -0
- package/public/assets/browser/sound_effects/recording_started.mp3 +0 -0
- package/public/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
- package/public/assets/browser/sound_effects/speaker_test.mp3 +0 -0
- package/public/assets/browser/videos/default8.mp4 +0 -0
- package/public/assets/browser/videos/default9.mp4 +0 -0
- package/public/assets/electron/images/default1.jpg +0 -0
- package/public/assets/electron/images/default2.jpg +0 -0
- package/public/assets/electron/sound_effects/pretest.mp3 +0 -0
- package/public/assets/electron/videos/default8.mp4 +0 -0
- package/public/index.html +103 -82
- package/lib/hooks/meeting-time.d.ts +0 -15
- package/lib/hooks/meeting-time.js +0 -92
- package/lib/login-confirm-dialog.d.ts +0 -13
- package/lib/login-confirm-dialog.js +0 -85
- package/lib/modules/action-bar/components/apps/appitems.d.ts +0 -3
- package/lib/modules/action-bar/components/apps/appitems.js +0 -45
- package/lib/modules/components/member-window/components/member-board.d.ts +0 -2
- package/lib/modules/components/member-window/components/member-board.js +0 -63
- package/lib/modules/dialog/components/system-preference/bg1.png +0 -0
- package/lib/modules/dialog/components/system-preference/bg2.png +0 -0
- package/lib/modules/dialog/types/index.d.ts +0 -70
- package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +0 -6
- package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +0 -28
- package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +0 -7
- package/lib/modules/participant/components/attendee/components/user-avatar/index.js +0 -39
- package/lib/modules/participant/components/attendee/index.css +0 -69
- package/lib/modules/participant/components/attendee/index.d.ts +0 -4
- package/lib/modules/participant/components/attendee/index.js +0 -337
- package/lib/modules/participant/components/drop-menu/index.css +0 -60
- package/lib/modules/participant/components/drop-menu/index.d.ts +0 -2
- package/lib/modules/participant/components/drop-menu/index.js +0 -189
- package/lib/modules/participant/components/footer/buttons.d.ts +0 -6
- package/lib/modules/participant/components/footer/buttons.js +0 -52
- package/lib/modules/participant/components/footer/index.d.ts +0 -4
- package/lib/modules/participant/components/footer/index.js +0 -37
- package/lib/modules/participant/components/merge/index.d.ts +0 -11
- package/lib/modules/participant/components/merge/index.js +0 -49
- package/lib/modules/participant/components/rename/index.d.ts +0 -4
- package/lib/modules/participant/components/rename/index.js +0 -45
- package/lib/modules/participant/components/user-action/index.d.ts +0 -17
- package/lib/modules/participant/components/user-action/index.js +0 -169
- package/lib/modules/video-window/deviceState/index.d.ts +0 -16
- package/lib/modules/video-window/deviceState/index.js +0 -75
- package/lib/modules/video-window/members/index.css +0 -51
- package/lib/modules/video-window/members/index.d.ts +0 -2
- package/lib/modules/video-window/members/index.js +0 -157
- package/lib/modules/video-window/speaking/index.css +0 -69
- package/lib/modules/video-window/speaking/index.d.ts +0 -3
- package/lib/modules/video-window/speaking/index.js +0 -57
- package/lib/modules/video-window/topControl/index.css +0 -35
- package/lib/modules/video-window/topControl/index.d.ts +0 -3
- package/lib/modules/video-window/topControl/index.js +0 -92
- /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.d.ts +0 -0
- /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.js +0 -0
package/lib/utilities/logger.js
CHANGED
|
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.getLogger = exports.generateLogObserver = exports.createLogger = void 0;
|
|
8
8
|
require("core-js/modules/es.array.concat.js");
|
|
9
9
|
require("core-js/modules/es.array.for-each.js");
|
|
10
10
|
require("core-js/modules/es.object.to-string.js");
|
|
@@ -13,7 +13,7 @@ require("core-js/modules/esnext.iterator.constructor.js");
|
|
|
13
13
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
14
14
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
15
15
|
var _logger = require("agora-foundation/lib/logger");
|
|
16
|
-
var
|
|
16
|
+
var _misc = require("agora-foundation/lib/utilities/misc");
|
|
17
17
|
var _logSerializer = require("agora-foundation/lib/decorator/log/log-serializer");
|
|
18
18
|
var getLogger = exports.getLogger = function getLogger() {
|
|
19
19
|
return (0, _logger.getLogger)({
|
|
@@ -23,11 +23,10 @@ var getLogger = exports.getLogger = function getLogger() {
|
|
|
23
23
|
var createLogger = exports.createLogger = function createLogger(opts) {
|
|
24
24
|
return (0, _logger.createLogger)({
|
|
25
25
|
label: 'ui-scene',
|
|
26
|
-
prefix: opts.prefix,
|
|
26
|
+
prefix: "".concat(opts.prefix, "@").concat((0, _misc.randomString)(5)),
|
|
27
27
|
database: opts.database
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
|
-
var trace = exports.trace = _decorator.trace.to('ui-scene');
|
|
31
30
|
var generateLogObserver = exports.generateLogObserver = function generateLogObserver(logger, callbackMethods) {
|
|
32
31
|
var observer = {};
|
|
33
32
|
callbackMethods.forEach(function (method) {
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import { AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
|
|
2
1
|
export declare const open: (path: string) => void;
|
|
3
2
|
export declare const close: (path: string) => void;
|
|
4
3
|
export declare const isWindows: () => boolean;
|
|
5
4
|
export declare const isMac: () => boolean;
|
|
6
|
-
export declare const getCurrentSharingWorkArea: (currentShareId: string, currentShareType: AgoraRtcScreenCaptureType, allApplicationWindows: AgoraRtcWindowInfo[]) => {
|
|
7
|
-
x: number;
|
|
8
|
-
y: number;
|
|
9
|
-
width: number;
|
|
10
|
-
height: number;
|
|
11
|
-
displayId: number;
|
|
12
|
-
availTop: number;
|
|
13
|
-
};
|
|
14
5
|
/**
|
|
15
6
|
* handle the will-close event of the browserWindow,
|
|
16
7
|
* callback will be called when:
|
|
@@ -4,16 +4,8 @@ require("core-js/modules/es.object.define-property.js");
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.setInMeetingState = exports.restartApp = exports.releaseSubAllWindowRefs = exports.open = exports.isWindows = exports.isMac = exports.handleWillClose = exports.
|
|
8
|
-
require("core-js/modules/es.array.concat.js");
|
|
9
|
-
require("core-js/modules/es.array.find.js");
|
|
7
|
+
exports.setInMeetingState = exports.restartApp = exports.releaseSubAllWindowRefs = exports.open = exports.isWindows = exports.isMac = exports.handleWillClose = exports.close = void 0;
|
|
10
8
|
require("core-js/modules/es.array.index-of.js");
|
|
11
|
-
require("core-js/modules/es.number.constructor.js");
|
|
12
|
-
require("core-js/modules/es.object.to-string.js");
|
|
13
|
-
require("core-js/modules/esnext.async-iterator.find.js");
|
|
14
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
15
|
-
require("core-js/modules/esnext.iterator.find.js");
|
|
16
|
-
var _type = require("agora-rte-sdk/lib/core/rtc/type");
|
|
17
9
|
var open = exports.open = function open(path) {
|
|
18
10
|
window.runtime.open(path);
|
|
19
11
|
};
|
|
@@ -26,67 +18,6 @@ var isWindows = exports.isWindows = function isWindows() {
|
|
|
26
18
|
var isMac = exports.isMac = function isMac() {
|
|
27
19
|
return navigator.userAgent.indexOf('Mac') > -1;
|
|
28
20
|
};
|
|
29
|
-
var getCurrentSharingWorkArea = exports.getCurrentSharingWorkArea = function getCurrentSharingWorkArea(currentShareId, currentShareType, allApplicationWindows) {
|
|
30
|
-
var displays = window.runtime.screen.getAllDisplays();
|
|
31
|
-
var bounds = {
|
|
32
|
-
x: 0,
|
|
33
|
-
y: 0,
|
|
34
|
-
width: 0,
|
|
35
|
-
height: 0,
|
|
36
|
-
displayId: 1,
|
|
37
|
-
availTop: 0
|
|
38
|
-
};
|
|
39
|
-
if (currentShareType === _type.AgoraRtcScreenCaptureType.SCREEN) {
|
|
40
|
-
var display;
|
|
41
|
-
if (isWindows()) {
|
|
42
|
-
display = displays.find(function (display, index) {
|
|
43
|
-
return index === Number(currentShareId);
|
|
44
|
-
});
|
|
45
|
-
} else {
|
|
46
|
-
display = displays.find(function (display, index) {
|
|
47
|
-
return display.id === Number(currentShareId);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
if (!display) {
|
|
51
|
-
console.log("cannot get correct display, use current display. width: ".concat(window.screen.availWidth, ", height: ").concat(window.screen.availHeight));
|
|
52
|
-
bounds = {
|
|
53
|
-
x: 0,
|
|
54
|
-
y: 0,
|
|
55
|
-
width: window.screen.availWidth,
|
|
56
|
-
height: window.screen.availHeight,
|
|
57
|
-
displayId: 0,
|
|
58
|
-
availTop: 0
|
|
59
|
-
};
|
|
60
|
-
} else {
|
|
61
|
-
bounds = {
|
|
62
|
-
x: display.bounds.x,
|
|
63
|
-
y: isWindows() ? 0 : display.bounds.y,
|
|
64
|
-
width: display.bounds.width,
|
|
65
|
-
height: display.bounds.height,
|
|
66
|
-
displayId: display.id,
|
|
67
|
-
availTop: display.workArea.y
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
} else {
|
|
71
|
-
var _appWindow$bounds$x, _appWindow$bounds, _appWindow$bounds$y, _appWindow$bounds2;
|
|
72
|
-
var appWindow = allApplicationWindows.find(function (app) {
|
|
73
|
-
return app.id === currentShareId;
|
|
74
|
-
});
|
|
75
|
-
var _display = window.runtime.screen.getDisplayNearestPoint({
|
|
76
|
-
x: (_appWindow$bounds$x = appWindow === null || appWindow === void 0 || (_appWindow$bounds = appWindow.bounds) === null || _appWindow$bounds === void 0 ? void 0 : _appWindow$bounds.x) !== null && _appWindow$bounds$x !== void 0 ? _appWindow$bounds$x : 0,
|
|
77
|
-
y: (_appWindow$bounds$y = appWindow === null || appWindow === void 0 || (_appWindow$bounds2 = appWindow.bounds) === null || _appWindow$bounds2 === void 0 ? void 0 : _appWindow$bounds2.y) !== null && _appWindow$bounds$y !== void 0 ? _appWindow$bounds$y : 0
|
|
78
|
-
});
|
|
79
|
-
bounds = {
|
|
80
|
-
x: _display.bounds.x,
|
|
81
|
-
y: isWindows() ? 0 : _display.bounds.y,
|
|
82
|
-
width: _display.bounds.width,
|
|
83
|
-
height: _display.bounds.height,
|
|
84
|
-
displayId: _display.id,
|
|
85
|
-
availTop: _display.workArea.y
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
return bounds;
|
|
89
|
-
};
|
|
90
21
|
|
|
91
22
|
/**
|
|
92
23
|
* handle the will-close event of the browserWindow,
|
package/lib/utilities/screen.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.isFullScreen = exports.exitFullScreen = exports.enterFullScreen = void 0;
|
|
8
9
|
var _env = require("agora-foundation/lib/utilities/env");
|
|
10
|
+
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
|
|
9
11
|
var isFullScreen = exports.isFullScreen = function isFullScreen() {
|
|
10
|
-
return !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement || (0, _env.isElectron)() && window.runtime.browserWindow.isFullScreen());
|
|
12
|
+
return !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement || (0, _env.isElectron)() && (0, _isFunction["default"])(window.runtime.browserWindow.isFullScreen) && window.runtime.browserWindow.isFullScreen());
|
|
11
13
|
};
|
|
12
14
|
var enterFullScreen = exports.enterFullScreen = function enterFullScreen() {
|
|
13
15
|
if (isFullScreen()) return;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { FcrUIMediaConfig, FcrUISettingConfig } from '../type';
|
|
2
|
+
import { FcrUILocalStorageProvider } from '../providers/local-storage-provider';
|
|
2
3
|
export declare const settingConfigStorageKey = "fcr-ui-setting-config";
|
|
3
4
|
export declare class FcrSettingConfigStorage implements FcrUISettingConfig {
|
|
4
5
|
private _isElectron;
|
|
5
6
|
private _settingConfig;
|
|
6
|
-
|
|
7
|
+
private _localStorageProvider;
|
|
8
|
+
constructor({ localStorageProvider }: {
|
|
9
|
+
localStorageProvider: FcrUILocalStorageProvider;
|
|
10
|
+
});
|
|
7
11
|
get media(): FcrUIMediaConfig;
|
|
8
12
|
set media(media: FcrUIMediaConfig);
|
|
13
|
+
private _initMediaConfig;
|
|
9
14
|
private _initSettingConfig;
|
|
10
15
|
private _setSettingConfig;
|
|
11
16
|
private _createMediaProxy;
|
|
@@ -28,11 +28,13 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
28
28
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
29
29
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
30
30
|
var _env = require("agora-foundation/lib/utilities/env");
|
|
31
|
+
var _store = require("../modules/setting/store");
|
|
31
32
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
32
33
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
33
34
|
var settingConfigStorageKey = exports.settingConfigStorageKey = 'fcr-ui-setting-config';
|
|
34
35
|
var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/function () {
|
|
35
|
-
function FcrSettingConfigStorage() {
|
|
36
|
+
function FcrSettingConfigStorage(_ref) {
|
|
37
|
+
var localStorageProvider = _ref.localStorageProvider;
|
|
36
38
|
(0, _classCallCheck2["default"])(this, FcrSettingConfigStorage);
|
|
37
39
|
(0, _defineProperty2["default"])(this, "_isElectron", false);
|
|
38
40
|
(0, _defineProperty2["default"])(this, "_settingConfig", {
|
|
@@ -43,6 +45,7 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
|
|
|
43
45
|
}
|
|
44
46
|
});
|
|
45
47
|
this._isElectron = (0, _env.isElectron)();
|
|
48
|
+
this._localStorageProvider = localStorageProvider;
|
|
46
49
|
this._initSettingConfig();
|
|
47
50
|
}
|
|
48
51
|
return (0, _createClass2["default"])(FcrSettingConfigStorage, [{
|
|
@@ -54,6 +57,19 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
|
|
|
54
57
|
this._settingConfig.media = this._createMediaProxy(media);
|
|
55
58
|
this._setSettingConfig(this._settingConfig);
|
|
56
59
|
}
|
|
60
|
+
}, {
|
|
61
|
+
key: "_initMediaConfig",
|
|
62
|
+
value: function _initMediaConfig() {
|
|
63
|
+
var localSetting = this._localStorageProvider.read(_store.SETTING_KEY);
|
|
64
|
+
if (localSetting) {
|
|
65
|
+
var _localSetting$cameraE, _localSetting$microph, _localSetting$autoCon;
|
|
66
|
+
this._settingConfig.media = {
|
|
67
|
+
cameraExpectedOff: (_localSetting$cameraE = localSetting.cameraExpectedOff) !== null && _localSetting$cameraE !== void 0 ? _localSetting$cameraE : this._settingConfig.media.cameraExpectedOff,
|
|
68
|
+
microphoneExpectedOff: (_localSetting$microph = localSetting.microphoneExpectedOff) !== null && _localSetting$microph !== void 0 ? _localSetting$microph : this._settingConfig.media.microphoneExpectedOff,
|
|
69
|
+
autoConnectAudio: (_localSetting$autoCon = localSetting.autoConnectAudio) !== null && _localSetting$autoCon !== void 0 ? _localSetting$autoCon : this._settingConfig.media.autoConnectAudio
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
57
73
|
}, {
|
|
58
74
|
key: "_initSettingConfig",
|
|
59
75
|
value: function _initSettingConfig() {
|
|
@@ -65,14 +81,15 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
|
|
|
65
81
|
this._settingConfig = settingConfig;
|
|
66
82
|
}
|
|
67
83
|
} else {
|
|
68
|
-
var _settingConfig =
|
|
84
|
+
var _settingConfig = this._localStorageProvider.read(settingConfigStorageKey);
|
|
69
85
|
if (!_settingConfig) return;
|
|
70
86
|
try {
|
|
71
87
|
this._settingConfig = JSON.parse(_settingConfig);
|
|
72
88
|
} catch (e) {
|
|
73
|
-
|
|
89
|
+
this._localStorageProvider.write(settingConfigStorageKey, JSON.stringify(this._settingConfig));
|
|
74
90
|
}
|
|
75
91
|
}
|
|
92
|
+
this._initMediaConfig();
|
|
76
93
|
this._settingConfig.media = this._createMediaProxy(this._settingConfig.media);
|
|
77
94
|
}
|
|
78
95
|
}, {
|
|
@@ -82,7 +99,7 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
|
|
|
82
99
|
if (this._isElectron) {
|
|
83
100
|
window.runtime.setUserSettingData(settingConfig);
|
|
84
101
|
} else {
|
|
85
|
-
|
|
102
|
+
this._localStorageProvider.write(settingConfigStorageKey, JSON.stringify(settingConfig));
|
|
86
103
|
}
|
|
87
104
|
}
|
|
88
105
|
}, {
|
package/lib/utilities/tools.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { FcrUIDialogKey } from './constant';
|
|
2
|
-
import { AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
|
|
3
2
|
import { CurrentShareBounds } from '../modules/control-bar/types';
|
|
4
3
|
export declare const uint8ArrayToImageData: (target: {
|
|
5
4
|
buffer?: Uint8Array;
|
|
@@ -15,10 +14,9 @@ declare class LocalStorage {
|
|
|
15
14
|
export declare const storage: LocalStorage;
|
|
16
15
|
export declare const ASIDE_WIDTH = "aside_width";
|
|
17
16
|
export declare const PARTICIPANT_POSITION = "participant_position";
|
|
18
|
-
export declare const getAssetUrl: (path: string) => string;
|
|
19
17
|
export declare const convertToFixedNumber: (value: number, divisor?: number, fractionDigits?: number) => number;
|
|
20
18
|
export declare const matchVirtualSoundCardPattern: (deviceName: string) => boolean;
|
|
21
|
-
export declare const
|
|
19
|
+
export declare const isZipUrl: (url: string) => boolean;
|
|
22
20
|
export declare const isPngOrJpg: (path: string) => boolean;
|
|
23
21
|
export declare const isMp4: (path: string) => boolean;
|
|
24
22
|
export declare const isMp3OrWav: (path: string) => boolean;
|
|
@@ -26,6 +24,7 @@ export declare function getFileNameWithoutExtension(filePath: string): string;
|
|
|
26
24
|
export declare const setLanguage: (language: string) => void;
|
|
27
25
|
export declare const getLanguage: () => string | null;
|
|
28
26
|
export declare const waitUntil: (prediction: () => boolean | Promise<boolean>, memo?: string, intervalMs?: number, timeout?: number) => Promise<void>;
|
|
27
|
+
export declare const renderMeetingName: (meetingName: string) => string;
|
|
29
28
|
export declare const renderMeetingId: (meetingId: string | undefined, roomId: string) => string;
|
|
30
29
|
export declare function handleCheckMouseOver(params: {
|
|
31
30
|
/**
|
|
@@ -61,9 +60,11 @@ export type CurrentShareScreenWorkArea = {
|
|
|
61
60
|
scaleFactor: number;
|
|
62
61
|
};
|
|
63
62
|
export declare function getCurrentSharingWorkArea(params: {
|
|
64
|
-
currentShareId: string;
|
|
65
|
-
currentShareType: AgoraRtcScreenCaptureType;
|
|
66
63
|
currentShareBounds: CurrentShareBounds;
|
|
67
|
-
allApplicationWindows: AgoraRtcWindowInfo[];
|
|
68
64
|
}): CurrentShareScreenWorkArea;
|
|
65
|
+
export declare function followCorrectDisplay(dailogKey: FcrUIDialogKey | FcrUIDialogKey[], extraRefControlbarCondition?: boolean): {
|
|
66
|
+
bounds: CurrentShareBounds;
|
|
67
|
+
nearDisplay: Electron.Display;
|
|
68
|
+
} | undefined;
|
|
69
|
+
export declare const getBrowserLanguage: () => "zh" | "en";
|
|
69
70
|
export {};
|
package/lib/utilities/tools.js
CHANGED
|
@@ -5,17 +5,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.convertToFixedNumber = exports.PARTICIPANT_POSITION = exports.ASIDE_WIDTH = void 0;
|
|
9
|
+
exports.followCorrectDisplay = followCorrectDisplay;
|
|
10
|
+
exports.getBrowserLanguage = void 0;
|
|
9
11
|
exports.getCurrentSharingWorkArea = getCurrentSharingWorkArea;
|
|
10
12
|
exports.getFileNameWithoutExtension = getFileNameWithoutExtension;
|
|
11
13
|
exports.getLanguage = void 0;
|
|
12
14
|
exports.handleCheckMouseOver = handleCheckMouseOver;
|
|
13
|
-
exports.waitUntil = exports.uint8ArrayToImageData = exports.storage = exports.setLanguage = exports.renderMeetingId = exports.matchVirtualSoundCardPattern = exports.
|
|
15
|
+
exports.waitUntil = exports.uint8ArrayToImageData = exports.storage = exports.setLanguage = exports.renderMeetingName = exports.renderMeetingId = exports.matchVirtualSoundCardPattern = exports.isZipUrl = exports.isPngOrJpg = exports.isMp4 = exports.isMp3OrWav = void 0;
|
|
14
16
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
15
17
|
require("core-js/modules/es.array.concat.js");
|
|
16
|
-
require("core-js/modules/es.array.find.js");
|
|
17
18
|
require("core-js/modules/es.array.for-each.js");
|
|
18
|
-
require("core-js/modules/es.array.
|
|
19
|
+
require("core-js/modules/es.array.is-array.js");
|
|
20
|
+
require("core-js/modules/es.array.map.js");
|
|
19
21
|
require("core-js/modules/es.array.reduce.js");
|
|
20
22
|
require("core-js/modules/es.array.slice.js");
|
|
21
23
|
require("core-js/modules/es.date.now.js");
|
|
@@ -26,15 +28,15 @@ require("core-js/modules/es.promise.js");
|
|
|
26
28
|
require("core-js/modules/es.regexp.exec.js");
|
|
27
29
|
require("core-js/modules/es.regexp.test.js");
|
|
28
30
|
require("core-js/modules/es.string.ends-with.js");
|
|
29
|
-
require("core-js/modules/es.string.includes.js");
|
|
30
31
|
require("core-js/modules/es.string.match.js");
|
|
31
32
|
require("core-js/modules/es.string.replace.js");
|
|
32
|
-
require("core-js/modules/
|
|
33
|
+
require("core-js/modules/es.string.starts-with.js");
|
|
33
34
|
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
35
|
+
require("core-js/modules/esnext.async-iterator.map.js");
|
|
34
36
|
require("core-js/modules/esnext.async-iterator.reduce.js");
|
|
35
37
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
36
|
-
require("core-js/modules/esnext.iterator.find.js");
|
|
37
38
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
39
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
38
40
|
require("core-js/modules/esnext.iterator.reduce.js");
|
|
39
41
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
40
42
|
require("core-js/modules/web.timers.js");
|
|
@@ -45,8 +47,8 @@ var _schedule = require("agora-foundation/lib/schedule");
|
|
|
45
47
|
var _logger = require("agora-foundation/lib/logger");
|
|
46
48
|
var _platform = require("./platform");
|
|
47
49
|
var _constant = require("./constant");
|
|
48
|
-
var _type = require("agora-rte-sdk/lib/core/rtc/type");
|
|
49
50
|
var _env = require("agora-foundation/lib/utilities/env");
|
|
51
|
+
var _dialogs = require("../modules/dialog/dialogs");
|
|
50
52
|
var uint8ArrayToImageData = exports.uint8ArrayToImageData = function uint8ArrayToImageData(target) {
|
|
51
53
|
var _target$buffer;
|
|
52
54
|
if (!target || !(target !== null && target !== void 0 && (_target$buffer = target.buffer) !== null && _target$buffer !== void 0 && _target$buffer.length)) {
|
|
@@ -107,9 +109,6 @@ var LocalStorage = /*#__PURE__*/function () {
|
|
|
107
109
|
var storage = exports.storage = new LocalStorage();
|
|
108
110
|
var ASIDE_WIDTH = exports.ASIDE_WIDTH = 'aside_width';
|
|
109
111
|
var PARTICIPANT_POSITION = exports.PARTICIPANT_POSITION = 'participant_position';
|
|
110
|
-
var getAssetUrl = exports.getAssetUrl = function getAssetUrl(path) {
|
|
111
|
-
return window.runtime.getAssetUrl(path);
|
|
112
|
-
};
|
|
113
112
|
var convertToFixedNumber = exports.convertToFixedNumber = function convertToFixedNumber(value) {
|
|
114
113
|
var divisor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
|
|
115
114
|
var fractionDigits = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
|
|
@@ -122,7 +121,7 @@ var matchVirtualSoundCardPattern = exports.matchVirtualSoundCardPattern = functi
|
|
|
122
121
|
return prev;
|
|
123
122
|
}, false);
|
|
124
123
|
};
|
|
125
|
-
var
|
|
124
|
+
var isZipUrl = exports.isZipUrl = function isZipUrl(url) {
|
|
126
125
|
if (!url || typeof url !== 'string') return false;
|
|
127
126
|
var regex = /^https?:\/\/.+\.(zip)(\?.*)?$/i;
|
|
128
127
|
return regex.test(url);
|
|
@@ -201,10 +200,14 @@ var waitUntil = exports.waitUntil = /*#__PURE__*/function () {
|
|
|
201
200
|
return _ref.apply(this, arguments);
|
|
202
201
|
};
|
|
203
202
|
}();
|
|
203
|
+
var renderMeetingName = exports.renderMeetingName = function renderMeetingName(meetingName) {
|
|
204
|
+
if (meetingName.length <= 20) return meetingName;
|
|
205
|
+
return meetingName.slice(0, 20) + '...';
|
|
206
|
+
};
|
|
204
207
|
var renderMeetingId = exports.renderMeetingId = function renderMeetingId(meetingId, roomId) {
|
|
205
208
|
var renderMeetingId = '';
|
|
206
209
|
if (meetingId) {
|
|
207
|
-
renderMeetingId = meetingId;
|
|
210
|
+
renderMeetingId = meetingId.replace(/(.{3})/g, '$1 ');
|
|
208
211
|
} else {
|
|
209
212
|
if (roomId.endsWith('-waiting')) {
|
|
210
213
|
renderMeetingId = roomId.slice(0, -8).replace(/(.{3})/g, '$1 ');
|
|
@@ -285,9 +288,10 @@ function handleCheckMouseOver(params) {
|
|
|
285
288
|
var barWrapWithInsideBoundary = mouse_x > bar_x1 && mouse_x < bar_x2 && mouse_y > bar_y1 && mouse_y < bar_y2 - inside_h || barControlBoundary;
|
|
286
289
|
if (dialog === _constant.FcrUIDialogKey.CONTROL_BAR ? barWrapWithInsideBoundary : barWrapBoundary) {
|
|
287
290
|
browserWindow.setIgnoreMouseEvents(false);
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
+
// 因为当用户点击其他窗口时,鼠标返回热区窗口会自动聚焦返回到上层,经测试这个注释不会影响现有功能,先注释看有没有其它影响
|
|
292
|
+
// if (!browserWindow.isFocused()) {
|
|
293
|
+
// browserWindow.focus();
|
|
294
|
+
// }
|
|
291
295
|
} else {
|
|
292
296
|
browserWindow.setIgnoreMouseEvents(true);
|
|
293
297
|
}
|
|
@@ -296,18 +300,10 @@ function handleCheckMouseOver(params) {
|
|
|
296
300
|
return timerId;
|
|
297
301
|
}
|
|
298
302
|
function getCurrentSharingWorkArea(params) {
|
|
299
|
-
var
|
|
300
|
-
currentShareType = params.currentShareType,
|
|
301
|
-
currentShareBounds = params.currentShareBounds,
|
|
302
|
-
allApplicationWindows = params.allApplicationWindows;
|
|
303
|
+
var currentShareBounds = params.currentShareBounds;
|
|
303
304
|
var _window$screen = window.screen,
|
|
304
305
|
availWidth = _window$screen.availWidth,
|
|
305
306
|
availHeight = _window$screen.availHeight;
|
|
306
|
-
var displays = window.runtime.screen.getAllDisplays();
|
|
307
|
-
var isDisplay = currentShareType === _type.AgoraRtcScreenCaptureType.SCREEN;
|
|
308
|
-
var appWindow = allApplicationWindows.find(function (app) {
|
|
309
|
-
return app.id === currentShareId;
|
|
310
|
-
});
|
|
311
307
|
var nearDisplay = window.runtime.screen.getDisplayNearestPoint(currentShareBounds);
|
|
312
308
|
var dataStruct = {
|
|
313
309
|
bounds: {
|
|
@@ -322,24 +318,6 @@ function getCurrentSharingWorkArea(params) {
|
|
|
322
318
|
},
|
|
323
319
|
scaleFactor: 1
|
|
324
320
|
};
|
|
325
|
-
var matchBounds = function matchBounds() {
|
|
326
|
-
return displays.find(function (display) {
|
|
327
|
-
var x = currentShareBounds.x,
|
|
328
|
-
y = currentShareBounds.y;
|
|
329
|
-
var bounds = display.bounds,
|
|
330
|
-
scaleFactor = display.scaleFactor;
|
|
331
|
-
var cx = x > 0 ? Math.round(x / scaleFactor) : Math.floor(x / scaleFactor);
|
|
332
|
-
var cy = y > 0 ? Math.round(y / scaleFactor) : Math.floor(y / scaleFactor);
|
|
333
|
-
var matchBounds = [cx, x].includes(bounds.x) && [cy, y].includes(bounds.y);
|
|
334
|
-
return matchBounds;
|
|
335
|
-
});
|
|
336
|
-
};
|
|
337
|
-
var matchIdOrIndex = function matchIdOrIndex() {
|
|
338
|
-
return displays.find(function (display, index) {
|
|
339
|
-
var id = (0, _platform.isWindows)() ? index : display.id;
|
|
340
|
-
return id === Number(currentShareId);
|
|
341
|
-
});
|
|
342
|
-
};
|
|
343
321
|
var _ref5 = nearDisplay || dataStruct,
|
|
344
322
|
_ref5$bounds = _ref5.bounds,
|
|
345
323
|
x = _ref5$bounds.x,
|
|
@@ -359,4 +337,38 @@ function getCurrentSharingWorkArea(params) {
|
|
|
359
337
|
// 此算法能确保显示器在不同的上下排列和主次组合时,获取到的偏移值始终正确。
|
|
360
338
|
scaleFactor: scaleFactor
|
|
361
339
|
};
|
|
362
|
-
}
|
|
340
|
+
}
|
|
341
|
+
function followCorrectDisplay(dailogKey) {
|
|
342
|
+
var extraRefControlbarCondition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
343
|
+
if (!(0, _env.isElectron)()) return;
|
|
344
|
+
var objectDialog = Array.isArray(dailogKey) ? dailogKey.map(function (dialog) {
|
|
345
|
+
return _dialogs.dialogWindows.get(dialog);
|
|
346
|
+
}) : _dialogs.dialogWindows.get(dailogKey);
|
|
347
|
+
var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
|
|
348
|
+
// 按当前的窗口管理方式,在关闭 controlbar 的时候,controlbar 实际上是隐藏了自己,所以,依然能够通过 controlbar 访问到,所以需要判断是否是 visible 状态
|
|
349
|
+
var followControlbar = controlbar && (extraRefControlbarCondition || controlbar.isVisible());
|
|
350
|
+
// 屏幕抢占时,需要判断是否是抢占屏幕,决定是取 controlbar 的位置计算热区,还是走原有逻辑,此类条件通过 extraRefControlbarCondition 传入
|
|
351
|
+
var nearestPoint = followControlbar ? controlbar === null || controlbar === void 0 ? void 0 : controlbar.getBounds() : window.runtime.browserWindow.getBounds();
|
|
352
|
+
var nearDisplay = window.runtime.screen.getDisplayNearestPoint(nearestPoint);
|
|
353
|
+
var nearDisplayBounds = nearDisplay.bounds;
|
|
354
|
+
var bounds = {
|
|
355
|
+
x: Math.floor(nearDisplayBounds.x),
|
|
356
|
+
y: Math.floor(nearDisplayBounds.y),
|
|
357
|
+
width: Math.floor(nearDisplayBounds.width),
|
|
358
|
+
height: Math.floor(nearDisplayBounds.height)
|
|
359
|
+
};
|
|
360
|
+
Array.isArray(objectDialog) ? objectDialog.forEach(function (dialog) {
|
|
361
|
+
return dialog === null || dialog === void 0 ? void 0 : dialog.setBounds(bounds);
|
|
362
|
+
}) : objectDialog === null || objectDialog === void 0 ? void 0 : objectDialog.setBounds(bounds);
|
|
363
|
+
return {
|
|
364
|
+
bounds: bounds,
|
|
365
|
+
nearDisplay: nearDisplay
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
var getBrowserLanguage = exports.getBrowserLanguage = function getBrowserLanguage() {
|
|
369
|
+
var usrlang = navigator.language;
|
|
370
|
+
if (usrlang.startsWith('zh')) {
|
|
371
|
+
return 'zh';
|
|
372
|
+
}
|
|
373
|
+
return 'en';
|
|
374
|
+
};
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { FcrUIResource } from '../type';
|
|
1
2
|
export declare const BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST: string[];
|
|
2
3
|
export declare const BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST: string[];
|
|
3
4
|
export declare const BUILTIN_SOUND_EFFECT_URL_LIST: string[];
|
|
5
|
+
export declare const getNormalDownloadResources: (customResource?: FcrUIResource) => {
|
|
6
|
+
virtualBackgroundImages: string[];
|
|
7
|
+
virtualBackgroundVideos: string[];
|
|
8
|
+
soundEffectAudios: string[];
|
|
9
|
+
};
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
|
-
exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = void 0;
|
|
8
|
+
exports.getNormalDownloadResources = exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = void 0;
|
|
9
|
+
require("core-js/modules/es.array.concat.js");
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
// Asset types:
|
|
12
|
+
// Electron
|
|
13
|
+
// 1. Built-in assets: packaged with the app, no need to download
|
|
14
|
+
// 2. Built-in asset URLs: which will be downloaded when the app starts
|
|
15
|
+
// 3. User-defined assets: which will be downloaded when the app starts
|
|
16
|
+
// Browser
|
|
17
|
+
// 1. User-defined assets: asset URLs need to be in the same domain as the app
|
|
18
|
+
|
|
8
19
|
var BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = [
|
|
9
|
-
//
|
|
10
|
-
'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/virtual_background_images.zip'
|
|
11
|
-
|
|
20
|
+
// Built-in assets URL
|
|
21
|
+
// 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/virtual_background_images.zip',
|
|
22
|
+
'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/virtual_background_images_202505231623.zip'
|
|
23
|
+
|
|
24
|
+
// in browser, images need to be in the same domain as the app
|
|
12
25
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default1.jpg',
|
|
13
26
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default2.jpg',
|
|
14
27
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default3.jpg',
|
|
@@ -18,12 +31,37 @@ var BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROU
|
|
|
18
31
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default7.jpg',
|
|
19
32
|
];
|
|
20
33
|
var BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = [
|
|
21
|
-
//
|
|
22
|
-
'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/
|
|
23
|
-
// browser
|
|
34
|
+
// Built-in assets URL
|
|
35
|
+
'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/virtual_background_videos_202505231623.zip'
|
|
36
|
+
// in browser, videos need to be in the same domain as the app
|
|
24
37
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/default8.mp4',
|
|
25
38
|
// 'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/default9.mp4',
|
|
26
39
|
];
|
|
27
|
-
var BUILTIN_SOUND_EFFECT_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = [
|
|
40
|
+
var BUILTIN_SOUND_EFFECT_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = [
|
|
41
|
+
// Built-in assets URL
|
|
42
|
+
'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/sound_effect_audios.zip'
|
|
43
|
+
|
|
28
44
|
// browser mp3
|
|
29
|
-
'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/remote_user_joined.mp3',
|
|
45
|
+
// 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/remote_user_joined.mp3',
|
|
46
|
+
// 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/speaker_test.mp3',
|
|
47
|
+
// 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/recording_started.mp3',
|
|
48
|
+
];
|
|
49
|
+
var getNormalDownloadResources = exports.getNormalDownloadResources = function getNormalDownloadResources(customResource) {
|
|
50
|
+
var _ref = customResource !== null && customResource !== void 0 ? customResource : {
|
|
51
|
+
virtualBackgroundImages: [],
|
|
52
|
+
virtualBackgroundVideos: [],
|
|
53
|
+
soundEffectAudios: []
|
|
54
|
+
},
|
|
55
|
+
_ref$virtualBackgroun = _ref.virtualBackgroundImages,
|
|
56
|
+
virtualBackgroundImages = _ref$virtualBackgroun === void 0 ? [] : _ref$virtualBackgroun,
|
|
57
|
+
_ref$virtualBackgroun2 = _ref.virtualBackgroundVideos,
|
|
58
|
+
virtualBackgroundVideos = _ref$virtualBackgroun2 === void 0 ? [] : _ref$virtualBackgroun2,
|
|
59
|
+
_ref$soundEffectAudio = _ref.soundEffectAudios,
|
|
60
|
+
soundEffectAudios = _ref$soundEffectAudio === void 0 ? [] : _ref$soundEffectAudio;
|
|
61
|
+
var uiResources = {
|
|
62
|
+
virtualBackgroundImages: [].concat(BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST, (0, _toConsumableArray2["default"])(virtualBackgroundImages)),
|
|
63
|
+
virtualBackgroundVideos: [].concat(BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST, (0, _toConsumableArray2["default"])(virtualBackgroundVideos)),
|
|
64
|
+
soundEffectAudios: [].concat(BUILTIN_SOUND_EFFECT_URL_LIST, (0, _toConsumableArray2["default"])(soundEffectAudios))
|
|
65
|
+
};
|
|
66
|
+
return uiResources;
|
|
67
|
+
};
|
|
@@ -8,14 +8,14 @@ export interface FcrUIWaitingRoomControlManagerObserver {
|
|
|
8
8
|
export default class FcrUIWaitingRoomControlManager {
|
|
9
9
|
private _sceneConfig;
|
|
10
10
|
private _engine;
|
|
11
|
+
private _mainRoomControl;
|
|
11
12
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
12
13
|
private _observable;
|
|
13
14
|
private _waitingRoomControl;
|
|
14
|
-
private _mainRoomControl?;
|
|
15
15
|
private _isJoining;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
private _mainRoomUserObserver;
|
|
17
|
+
constructor(_sceneConfig: FcrUISceneConfig, _engine: FcrCoreEngine, _mainRoomControl: FcrMainRoomControl);
|
|
18
|
+
private _isWaitingRoomManager;
|
|
19
19
|
private _createAndJoinWaitingRoom;
|
|
20
20
|
private _leaveWaitingRoom;
|
|
21
21
|
private _getMainRoomControlInfo;
|
|
@@ -36,7 +36,8 @@ var _logger = require("./utilities/logger");
|
|
|
36
36
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
37
37
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
38
38
|
var FcrUIWaitingRoomControlManager = exports["default"] = /*#__PURE__*/function () {
|
|
39
|
-
function FcrUIWaitingRoomControlManager(_sceneConfig, _engine) {
|
|
39
|
+
function FcrUIWaitingRoomControlManager(_sceneConfig, _engine, _mainRoomControl) {
|
|
40
|
+
var _this = this;
|
|
40
41
|
(0, _classCallCheck2["default"])(this, FcrUIWaitingRoomControlManager);
|
|
41
42
|
(0, _defineProperty2["default"])(this, "logger", (0, _logger.createLogger)({
|
|
42
43
|
prefix: 'FcrUIWaitingRoomControlManagerObserver'
|
|
@@ -44,18 +45,36 @@ var FcrUIWaitingRoomControlManager = exports["default"] = /*#__PURE__*/function
|
|
|
44
45
|
(0, _defineProperty2["default"])(this, "_observable", new _imports.AgoraObservable());
|
|
45
46
|
(0, _defineProperty2["default"])(this, "_waitingRoomControl", null);
|
|
46
47
|
(0, _defineProperty2["default"])(this, "_isJoining", false);
|
|
48
|
+
(0, _defineProperty2["default"])(this, "_mainRoomUserObserver", {
|
|
49
|
+
onUserInfoUpdated: function onUserInfoUpdated(roomId, event) {
|
|
50
|
+
var isLocalUserInfoUpdated = event.modifiedUser.userId === _this._mainRoomControl.getUserControl().getLocalUser().userId;
|
|
51
|
+
|
|
52
|
+
// 权限变更的时候
|
|
53
|
+
if (isLocalUserInfoUpdated) {
|
|
54
|
+
_this._sceneConfig.userRole = event.modifiedUser.userRole;
|
|
55
|
+
var isWaitingRoomManager = _this._isWaitingRoomManager();
|
|
56
|
+
if (isWaitingRoomManager) {
|
|
57
|
+
_this._createAndJoinWaitingRoom();
|
|
58
|
+
} else {
|
|
59
|
+
_this._leaveWaitingRoom();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
47
64
|
this._sceneConfig = _sceneConfig;
|
|
48
65
|
this._engine = _engine;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
66
|
+
this._mainRoomControl = _mainRoomControl;
|
|
67
|
+
this._mainRoomControl.getUserControl().addObserver(this._mainRoomUserObserver);
|
|
68
|
+
var _isWaitingRoomManager = this._isWaitingRoomManager();
|
|
69
|
+
if (_isWaitingRoomManager) {
|
|
53
70
|
this._createAndJoinWaitingRoom();
|
|
54
71
|
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
72
|
+
}
|
|
73
|
+
return (0, _createClass2["default"])(FcrUIWaitingRoomControlManager, [{
|
|
74
|
+
key: "_isWaitingRoomManager",
|
|
75
|
+
value: function _isWaitingRoomManager() {
|
|
76
|
+
var isWaitingRoomManager = this._mainRoomControl.getPrivilegeControl().getLocalUserPermissionInfo(_type2.FcrPermissionAction.WaitingRoomOpen).enable;
|
|
77
|
+
return isWaitingRoomManager;
|
|
59
78
|
}
|
|
60
79
|
}, {
|
|
61
80
|
key: "_createAndJoinWaitingRoom",
|
|
@@ -205,6 +224,7 @@ var FcrUIWaitingRoomControlManager = exports["default"] = /*#__PURE__*/function
|
|
|
205
224
|
value: function release() {
|
|
206
225
|
if (this._waitingRoomControl) {
|
|
207
226
|
this._leaveWaitingRoom();
|
|
227
|
+
this._mainRoomControl.getUserControl().removeObserver(this._mainRoomUserObserver);
|
|
208
228
|
this._waitingRoomControl = null;
|
|
209
229
|
}
|
|
210
230
|
}
|