fcr-ui-scene 3.6.2 → 3.6.4
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/base.js +0 -3
- package/lib/creator.d.ts +1 -0
- package/lib/creator.js +64 -50
- package/lib/electron/app.js +33 -14
- package/lib/electron/bootstrap-dev.js +5 -3
- package/lib/electron/bootstrap-sdk.js +4 -10
- package/lib/electron/exit-codes.d.ts +14 -0
- package/lib/electron/exit-codes.js +22 -0
- package/lib/electron/injections.d.ts +3 -2
- package/lib/electron/injections.js +122 -124
- package/lib/electron/ipc/ipc.js +0 -1
- package/lib/electron/main.js +57 -12
- package/lib/electron/tools.js +0 -4
- package/lib/electron/window.js +1 -7
- package/lib/fragments/annotation/index.d.ts +1 -0
- package/lib/fragments/annotation/index.js +54 -40
- package/lib/fragments/annotation/store.d.ts +7 -2
- package/lib/fragments/annotation/store.js +181 -102
- package/lib/fragments/annotation/view.d.ts +1 -0
- package/lib/fragments/annotation/view.js +10 -2
- package/lib/modules/action-bar/components/apps/app-item/index.js +0 -2
- package/lib/modules/action-bar/components/apps/app-list.js +2 -5
- package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -3
- package/lib/modules/action-bar/components/apps/useWidgetList.js +2 -1
- package/lib/modules/action-bar/components/collapse/index.js +0 -4
- package/lib/modules/action-bar/components/item/index.js +0 -2
- package/lib/modules/action-bar/components/leave/index.js +0 -2
- package/lib/modules/action-bar/components/more/poppover-content.js +0 -4
- package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +2 -1
- package/lib/modules/action-bar/components/notification-bar/index.js +0 -2
- package/lib/modules/action-bar/components/screen-share/index.js +0 -1
- package/lib/modules/action-bar/components/screen-share/submenu.js +0 -3
- package/lib/modules/action-bar/components/trigger-output-language/index.js +11 -14
- package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +8 -11
- package/lib/modules/action-bar/index.css +4 -0
- package/lib/modules/action-bar/index.js +1 -2
- package/lib/modules/action-bar/store.d.ts +1 -7
- package/lib/modules/action-bar/store.js +67 -118
- package/lib/modules/annotation/board-cursor.css +76 -0
- package/lib/modules/annotation/components/control-bar/index.js +43 -2
- package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +2 -1
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +5 -2
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +11 -5
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +0 -2
- package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.js +3 -2
- package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +1 -0
- package/lib/modules/annotation/components/toolbar/store.js +0 -1
- package/lib/modules/annotation/index.d.ts +4 -0
- package/lib/modules/annotation/index.js +3 -1
- package/lib/modules/annotation/store.d.ts +15 -5
- package/lib/modules/annotation/store.js +222 -205
- package/lib/modules/annotation/style.css +3 -3
- package/lib/modules/annotation/view.d.ts +1 -0
- package/lib/modules/annotation/view.js +26 -9
- package/lib/modules/audio-stream/index.js +0 -4
- package/lib/modules/chat/chat-room-store.js +6 -10
- package/lib/modules/chat/components/chat-bar/index.js +0 -2
- package/lib/modules/chat/components/chat-select/index.js +0 -1
- package/lib/modules/chat/components/chat-select/select-item/index.js +2 -5
- package/lib/modules/chat/components/message-list/index.js +1 -3
- package/lib/modules/chat/components/message-list/message-item/index.js +11 -13
- package/lib/modules/chat/index.js +13 -14
- package/lib/modules/chat/store.js +0 -1
- package/lib/modules/chat/view.js +11 -15
- package/lib/modules/components/annotation-menu/index.js +0 -3
- package/lib/modules/components/device-control/components/audio-menu/index.js +2 -1
- package/lib/modules/components/device-control/components/video-menu/index.js +2 -1
- package/lib/modules/components/device-control/store.js +0 -1
- package/lib/modules/components/leave-meeting/components/assign-host.js +4 -5
- package/lib/modules/components/leave-meeting/store.js +11 -12
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +2 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +4 -4
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
- package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +1 -2
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +7 -34
- package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
- package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-info.js +8 -13
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
- package/lib/modules/components/member-window/components/member-actions/index.js +1 -33
- package/lib/modules/components/member-window/components/member-actions/provider.js +1 -2
- package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
- package/lib/modules/components/member-window/components/member-actions/store.js +120 -13
- package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +3 -0
- package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +16 -3
- package/lib/modules/components/member-window/components/video-player/index.d.ts +2 -0
- package/lib/modules/components/member-window/components/video-player/index.js +3 -3
- package/lib/modules/components/member-window/index.css +37 -0
- package/lib/modules/components/member-window/index.js +1 -0
- package/lib/modules/components/security-menu/index.js +1 -4
- package/lib/modules/components/tab-frame/index.js +0 -4
- package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -1
- package/lib/modules/connection-gateway/components/phone/index.js +5 -4
- package/lib/modules/connection-gateway/index.js +1 -2
- package/lib/modules/connection-gateway/store.js +23 -26
- package/lib/modules/control-bar/components/more-actions/index.js +0 -3
- package/lib/modules/control-bar/index.d.ts +0 -4
- package/lib/modules/control-bar/index.js +1 -34
- package/lib/modules/control-bar/store.d.ts +5 -6
- package/lib/modules/control-bar/store.js +70 -104
- package/lib/modules/control-bar/view.js +53 -13
- package/lib/modules/device-pretest/settings/beauty.js +1 -2
- package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -1
- package/lib/modules/device-pretest/store.js +2 -4
- package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
- package/lib/modules/dialog/components/control-bar/index.js +4 -6
- package/lib/modules/dialog/components/dialog-container/component/body.js +0 -2
- package/lib/modules/dialog/components/dialog-container/index.js +1 -2
- package/lib/modules/dialog/components/host-area-container/index.js +0 -3
- package/lib/modules/dialog/components/pre-setting-container/component/body.js +0 -2
- package/lib/modules/dialog/components/pre-setting-container/index.js +1 -2
- package/lib/modules/dialog/components/system-preference/index.js +2 -5
- package/lib/modules/dialog/components/video-window/index.js +0 -2
- package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -1
- package/lib/modules/dialog/hooks/useElectron.js +3 -4
- package/lib/modules/dialog/index.d.ts +0 -3
- package/lib/modules/dialog/index.js +2 -28
- package/lib/modules/dialog/store.d.ts +6 -8
- package/lib/modules/dialog/store.js +22 -60
- package/lib/modules/dialog/view.js +2 -1
- package/lib/modules/event-confirm/components/window/index.js +0 -2
- package/lib/modules/event-confirm/index.js +1 -2
- package/lib/modules/event-confirm/store.js +4 -7
- package/lib/modules/event-confirm/view.js +2 -1
- package/lib/modules/event-sound/index.js +1 -2
- package/lib/modules/event-sound/sound-effect-player.js +2 -2
- package/lib/modules/event-toast/index.js +1 -2
- package/lib/modules/event-toast/store.js +0 -2
- package/lib/modules/event-toast/view.js +2 -1
- package/lib/modules/interpreter/index.js +1 -2
- package/lib/modules/interpreter/interpreter-list/index.js +3 -4
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +2 -5
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +0 -2
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +0 -4
- package/lib/modules/interpreter/store.js +5 -10
- package/lib/modules/interpreter/utils.js +15 -14
- package/lib/modules/invite/components/pstn-invite.js +22 -23
- package/lib/modules/invite/components/voip-invite.js +7 -7
- package/lib/modules/invite/enums.js +1 -0
- package/lib/modules/invite/index.js +1 -2
- package/lib/modules/invite/store.js +46 -45
- package/lib/modules/layout/components/CommonVideoRenderer.js +7 -3
- package/lib/modules/layout/components/Gallery.js +5 -3
- package/lib/modules/layout/components/index.js +0 -1
- package/lib/modules/layout/index.js +1 -2
- package/lib/modules/layout/store.d.ts +3 -0
- package/lib/modules/layout/store.js +38 -14
- package/lib/modules/layout/type.d.ts +7 -0
- package/lib/modules/layout/type.js +9 -0
- package/lib/modules/live-streaming/index.dev.js +6 -6
- package/lib/modules/live-streaming/index.js +1 -2
- package/lib/modules/live-streaming/store.js +19 -19
- package/lib/modules/notification/index.js +1 -2
- package/lib/modules/notification/interpreter-status/index.js +2 -1
- package/lib/modules/notification/view.js +1 -2
- package/lib/modules/offscreen-pulling/index.js +0 -1
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +1 -4
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +0 -2
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +0 -2
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +1 -4
- package/lib/modules/participant/components/participants/components/participants/index.js +0 -2
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +0 -1
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +0 -2
- package/lib/modules/participant/index.js +1 -4
- package/lib/modules/participant/member-list-data-source.js +0 -3
- package/lib/modules/participant/store.js +140 -114
- package/lib/modules/pc-audio-connect/index.js +1 -2
- package/lib/modules/pc-audio-connect/store.js +9 -10
- package/lib/modules/phone-audio-connect/components/callinfo/index.js +2 -1
- package/lib/modules/phone-audio-connect/index.js +1 -2
- package/lib/modules/phone-audio-connect/store.js +0 -3
- package/lib/modules/phone-audio-connect/view.js +5 -4
- package/lib/modules/setting/audio-settings/audio-settings.js +1 -4
- package/lib/modules/setting/general-settings/general-settings.js +1 -2
- package/lib/modules/setting/index.d.ts +2 -0
- package/lib/modules/setting/index.js +4 -5
- package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -2
- package/lib/modules/setting/state/index.js +0 -4
- package/lib/modules/setting/storage-settings/storage-settings.js +4 -4
- package/lib/modules/setting/store.d.ts +8 -10
- package/lib/modules/setting/store.js +33 -35
- package/lib/modules/setting/translate-settings/translate-settings.js +1 -1
- package/lib/modules/setting/video-settings/video-settings.js +1 -2
- package/lib/modules/setting/view.js +1 -2
- package/lib/modules/share-screen/components/selection/index.js +16 -9
- package/lib/modules/share-screen/index.d.ts +2 -0
- package/lib/modules/share-screen/index.js +3 -3
- package/lib/modules/share-screen/store.d.ts +12 -2
- package/lib/modules/share-screen/store.js +149 -136
- package/lib/modules/state-bar/index.css +8 -6
- package/lib/modules/state-bar/index.d.ts +2 -0
- package/lib/modules/state-bar/index.js +3 -3
- package/lib/modules/state-bar/layout-config.d.ts +1 -0
- package/lib/modules/state-bar/layout-config.js +17 -6
- package/lib/modules/state-bar/live-streaming-state.js +0 -3
- package/lib/modules/state-bar/store.d.ts +5 -1
- package/lib/modules/state-bar/store.js +8 -2
- package/lib/modules/state-bar/view.js +9 -5
- package/lib/modules/video-window/components/members/index.js +2 -1
- package/lib/modules/video-window/components/topControl/index.js +0 -3
- package/lib/modules/video-window/index.js +1 -2
- package/lib/modules/video-window/store.js +0 -4
- package/lib/modules/waiting-room-layout/index.js +1 -2
- package/lib/modules/whiteboard/components/control-bar/store.js +2 -1
- package/lib/modules/whiteboard/components/switch-theme/index.js +0 -2
- package/lib/modules/whiteboard/components/switch-theme/item.js +2 -1
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -1
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +2 -1
- package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +1 -4
- package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -3
- package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +0 -2
- package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +1 -2
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +1 -3
- package/lib/modules/whiteboard/components/toolbar/hooks/index.js +2 -4
- package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -3
- package/lib/modules/whiteboard/components/toolbar/store.js +64 -37
- package/lib/modules/whiteboard/index.js +5 -8
- package/lib/modules/whiteboard/style.css +12 -4
- package/lib/modules/whiteboard/view.js +10 -2
- package/lib/modules/widget/index.js +1 -2
- package/lib/modules/widget/web-widget.js +1 -1
- package/lib/plugins/browser-runtime-plugin.js +1 -1
- package/lib/plugins/module-dev-plugin.js +13 -13
- package/lib/providers/ability-provider.d.ts +12 -1
- package/lib/providers/ability-provider.js +8 -1
- package/lib/providers/annotation-provider.d.ts +63 -12
- package/lib/providers/annotation-provider.js +52 -46
- package/lib/providers/device-privilege-provider.js +81 -83
- package/lib/providers/device-provider.d.ts +3 -3
- package/lib/providers/device-provider.js +201 -204
- package/lib/providers/device-stream-provider.js +24 -27
- package/lib/providers/event-provider.d.ts +3 -3
- package/lib/providers/event-provider.js +0 -2
- package/lib/providers/interpreter-provider.js +195 -197
- package/lib/providers/message-provider.js +0 -2
- package/lib/providers/phone-audio-provider.js +17 -19
- package/lib/providers/privilege-provider.js +53 -58
- package/lib/providers/renderer-provider.d.ts +3 -1
- package/lib/providers/renderer-provider.js +18 -4
- package/lib/providers/room-provider.js +31 -33
- package/lib/providers/screen-share-provider.d.ts +1 -0
- package/lib/providers/screen-share-provider.js +97 -103
- package/lib/providers/sharing-provider.d.ts +5 -1
- package/lib/providers/sharing-provider.js +17 -1
- package/lib/providers/user-setting-storage-provider.d.ts +20 -0
- package/lib/providers/user-setting-storage-provider.js +72 -0
- package/lib/providers/widget-provider.js +0 -1
- package/lib/scenes/main-scene.js +13 -16
- package/lib/scenes/waiting-scene.js +4 -4
- package/lib/shared-data-source/chat-data.js +0 -2
- package/lib/shared-data-source/config.d.ts +1 -5
- package/lib/shared-data-source/config.js +11 -81
- package/lib/shared-data-source/interpreter.js +0 -2
- package/lib/shared-data-source/layout-data.js +1 -4
- package/lib/shared-data-source/member-data.js +0 -4
- package/lib/shared-data-source/pin-data.js +0 -1
- package/lib/shared-data-source/screen-share-data.d.ts +6 -2
- package/lib/shared-data-source/screen-share-data.js +2 -2
- package/lib/shared-data-source/security-data.js +0 -1
- package/lib/shared-data-source/setting.d.ts +13 -13
- package/lib/shared-data-source/setting.js +10 -8
- package/lib/shared-data-source/video-window.d.ts +2 -1
- package/lib/shared-data-source/video-window.js +82 -66
- package/lib/shared-data-source/waiting-room.js +0 -2
- package/lib/translations/enUS.d.ts +8 -0
- package/lib/translations/enUS.js +9 -1
- package/lib/translations/zhCN.d.ts +8 -0
- package/lib/translations/zhCN.js +11 -3
- package/lib/type.d.ts +2 -1
- package/lib/type.js +14 -0
- package/lib/ui-scene.js +18 -14
- package/lib/utilities/constant.d.ts +2 -1
- package/lib/utilities/constant.js +8 -0
- package/lib/utilities/copyText.js +12 -12
- package/lib/utilities/hooks.js +1 -2
- package/lib/utilities/logger.js +0 -1
- package/lib/utilities/parameters.js +2 -2
- package/lib/utilities/privilege.js +0 -3
- package/lib/utilities/renderer-event.js +0 -2
- package/lib/utilities/setting-config-storage.d.ts +7 -6
- package/lib/utilities/setting-config-storage.js +55 -41
- package/lib/utilities/tools.d.ts +1 -0
- package/lib/utilities/tools.js +9 -12
- package/lib/waiting-room-control-manager.js +26 -28
- package/package.json +8 -6
- package/dist/132.js +0 -2
- package/dist/132.js.LICENSE.txt +0 -311
- package/dist/317.js +0 -2
- package/dist/317.js.LICENSE.txt +0 -20
- package/dist/651.js +0 -2
- package/dist/651.js.LICENSE.txt +0 -1
- package/dist/689343b64b60bfb7ffff.png +0 -0
- package/dist/73.js +0 -1
- package/dist/885f9369ea05a8ac0e56.png +0 -0
- package/dist/90f383876a6e93e7c7ca.png +0 -0
- package/dist/9b37584780995fc5df8c.gif +0 -0
- package/dist/annotation.e5cbd3a70b6d42361872.css +0 -1274
- package/dist/annotation.html +0 -1
- package/dist/annotation.js +0 -2
- package/dist/annotation.js.LICENSE.txt +0 -252
- package/dist/assets/browser/images/default1.jpg +0 -0
- package/dist/assets/browser/images/default2.jpg +0 -0
- package/dist/assets/browser/images/default3.jpg +0 -0
- package/dist/assets/browser/images/default4.jpg +0 -0
- package/dist/assets/browser/images/default5.jpg +0 -0
- package/dist/assets/browser/images/default6.jpg +0 -0
- package/dist/assets/browser/images/default7.jpg +0 -0
- package/dist/assets/browser/sound_effects/pretest.mp3 +0 -0
- package/dist/assets/browser/sound_effects/recording_started.mp3 +0 -0
- package/dist/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
- package/dist/assets/browser/sound_effects/speaker_test.mp3 +0 -0
- package/dist/assets/browser/videos/default8.mp4 +0 -0
- package/dist/assets/browser/videos/default9.mp4 +0 -0
- package/dist/assets/cursors/fcr_whiteboard_input.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_pen.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
- package/dist/assets/electron/images/default1.jpg +0 -0
- package/dist/assets/electron/images/default2.jpg +0 -0
- package/dist/assets/electron/sound_effects/pretest.mp3 +0 -0
- package/dist/assets/electron/videos/default8.mp4 +0 -0
- package/dist/assets/fcr_chat_reddot.svg +0 -5
- package/dist/assets/fcr_defaultpage.png +0 -0
- package/dist/assets/fcr_grid_big.svg +0 -3
- package/dist/assets/fcr_leave2.svg +0 -58
- package/dist/assets/fcr_listontop_big.svg +0 -3
- package/dist/assets/full-screen-error-boundary-img.png +0 -0
- package/dist/assets/leave-meeting.png +0 -0
- package/dist/assets/loading.gif +0 -0
- package/dist/assets/login_confirm.png +0 -0
- package/dist/assets/pretest.mp3 +0 -0
- package/dist/assets/state-bar-logo.png +0 -0
- package/dist/assets/step-gradient.svg +0 -10
- package/dist/b74b002687a3a3346bec.png +0 -0
- package/dist/b94869094481702f949b.png +0 -0
- package/dist/ebeace75fd46b90d890e.png +0 -0
- package/dist/electron/app.js +0 -194
- package/dist/electron/bootstrap-dev.js +0 -46
- package/dist/electron/bootstrap-sdk.js +0 -211
- package/dist/electron/default-options.js +0 -25
- package/dist/electron/env.js +0 -13
- package/dist/electron/index.js +0 -20
- package/dist/electron/injections.js +0 -903
- package/dist/electron/ipc/ipc.js +0 -141
- package/dist/electron/ipc/type.js +0 -19
- package/dist/electron/logger.js +0 -65
- package/dist/electron/main.js +0 -94
- package/dist/electron/plugins/devtool-shortcut.js +0 -33
- package/dist/electron/plugins/meeting-state.js +0 -39
- package/dist/electron/plugins/screenshot.js +0 -54
- package/dist/electron/preload.js +0 -108
- package/dist/electron/tools.js +0 -66
- package/dist/electron/window.js +0 -123
- package/dist/extensions/agora-extension-virtual-background/agora-wasm.wasm +0 -0
- package/dist/extensions/ai-denoiser/denoiser-wasm-simd.wasm +0 -0
- package/dist/extensions/ai-denoiser/denoiser-wasm.js +0 -1
- package/dist/extensions/ai-denoiser/denoiser-wasm.wasm +0 -0
- package/dist/fad688b9135b15d6c405.png +0 -0
- package/dist/index.html +0 -224
- package/dist/main.393a2a91ab7fc05ffce6.css +0 -15403
- package/dist/main.js +0 -2
- package/dist/main.js.LICENSE.txt +0 -272
- package/dist/worker-entry.worker.js.LICENSE.txt +0 -13
package/lib/base.js
CHANGED
|
@@ -51,9 +51,6 @@ require("core-js/modules/es.reflect.has.js");
|
|
|
51
51
|
require("core-js/modules/es.reflect.set.js");
|
|
52
52
|
require("core-js/modules/es.set.js");
|
|
53
53
|
require("core-js/modules/es.string.iterator.js");
|
|
54
|
-
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
55
|
-
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
56
|
-
require("core-js/modules/esnext.async-iterator.map.js");
|
|
57
54
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
58
55
|
require("core-js/modules/esnext.iterator.filter.js");
|
|
59
56
|
require("core-js/modules/esnext.iterator.for-each.js");
|
package/lib/creator.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare class FcrUISceneCreator {
|
|
|
9
9
|
accessor observableSettingStore: FcrObservableSettingStore;
|
|
10
10
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
11
11
|
private _settingConfigStorage;
|
|
12
|
+
private _userSettingStorageProvider;
|
|
12
13
|
private _registeredWidgetConfigs;
|
|
13
14
|
private _released;
|
|
14
15
|
private _scene;
|
package/lib/creator.js
CHANGED
|
@@ -15,7 +15,6 @@ require("core-js/modules/es.object.define-properties.js");
|
|
|
15
15
|
require("core-js/modules/es.object.define-property.js");
|
|
16
16
|
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
17
17
|
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
18
|
-
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
19
18
|
require("core-js/modules/esnext.function.metadata.js");
|
|
20
19
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
21
20
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
@@ -38,14 +37,10 @@ require("core-js/modules/es.array.map.js");
|
|
|
38
37
|
require("core-js/modules/es.date.to-json.js");
|
|
39
38
|
require("core-js/modules/es.json.stringify.js");
|
|
40
39
|
require("core-js/modules/es.map.js");
|
|
41
|
-
require("core-js/modules/es.object.assign.js");
|
|
42
40
|
require("core-js/modules/es.object.keys.js");
|
|
43
41
|
require("core-js/modules/es.object.to-string.js");
|
|
44
42
|
require("core-js/modules/es.string.iterator.js");
|
|
45
43
|
require("core-js/modules/es.weak-map.js");
|
|
46
|
-
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
47
|
-
require("core-js/modules/esnext.async-iterator.find.js");
|
|
48
|
-
require("core-js/modules/esnext.async-iterator.map.js");
|
|
49
44
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
50
45
|
require("core-js/modules/esnext.iterator.filter.js");
|
|
51
46
|
require("core-js/modules/esnext.iterator.find.js");
|
|
@@ -97,6 +92,7 @@ var _imports = require("fcr-core/lib/imports");
|
|
|
97
92
|
var _localStorageProvider = require("./providers/local-storage-provider");
|
|
98
93
|
var _logger = require("./utilities/logger");
|
|
99
94
|
var _uiResources = require("./utilities/ui-resources");
|
|
95
|
+
var _userSettingStorageProvider = require("./providers/user-setting-storage-provider");
|
|
100
96
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
101
97
|
var _excluded = ["rtc.microphone.keep.recording"];
|
|
102
98
|
var _FcrUISceneCreator;
|
|
@@ -135,9 +131,10 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
135
131
|
this._config = _config;
|
|
136
132
|
this.logger.info("creator config: ".concat(JSON.stringify(_config)));
|
|
137
133
|
this._localStorageProvider = new _localStorageProvider.FcrUILocalStorageProviderImpl();
|
|
134
|
+
this._userSettingStorageProvider = new _userSettingStorageProvider.FcrUIUserSettingStorageProviderImpl();
|
|
138
135
|
this._localStorageProvider.write('annotation_rtm_app_id', this._config.appId);
|
|
139
136
|
this._settingConfigStorage = new _settingConfigStorage.FcrSettingConfigStorage({
|
|
140
|
-
|
|
137
|
+
userSettingStorageProvider: this._userSettingStorageProvider
|
|
141
138
|
});
|
|
142
139
|
this._setKeepRecordingValueFromParameters(this._config.parameters || {});
|
|
143
140
|
var filteredParameters = this._filterKeepRecordingValueFromParameters(this._config.parameters || {});
|
|
@@ -190,18 +187,22 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
190
187
|
}
|
|
191
188
|
(0, _i18n.changeLanguage)(config.language);
|
|
192
189
|
var scene = new _uiScene.FcrUIDefaultScene(config, this._config, dom, this._settingConfigStorage, this._registeredWidgetConfigs, this._engine);
|
|
193
|
-
var
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
190
|
+
var _onLaunchSuccess = function onLaunchSuccess() {
|
|
191
|
+
if (_this._microphoneKeepRecording) {
|
|
192
|
+
var parameters = {
|
|
193
|
+
rtc: [JSON.stringify({
|
|
194
|
+
'rtc.microphone.keep.recording': true
|
|
195
|
+
})]
|
|
196
|
+
};
|
|
197
|
+
_this.logger.info("[MicrophoneKeepRecording][onLaunchSuccess] parameters ==> ".concat(JSON.stringify(parameters)));
|
|
198
|
+
_this._engine.setParameters(parameters);
|
|
199
|
+
}
|
|
201
200
|
return onSuccess;
|
|
202
201
|
};
|
|
203
202
|
scene.addObserver({
|
|
204
|
-
onLaunchSuccess: onLaunchSuccess()
|
|
203
|
+
onLaunchSuccess: function onLaunchSuccess() {
|
|
204
|
+
return _onLaunchSuccess();
|
|
205
|
+
},
|
|
205
206
|
onLaunchFailure: onFailure,
|
|
206
207
|
onLaunchCancel: onCancel,
|
|
207
208
|
onSettingStore: function onSettingStore(store) {
|
|
@@ -209,13 +210,15 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
209
210
|
_this.closeSetting();
|
|
210
211
|
},
|
|
211
212
|
onExited: function onExited() {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
213
|
+
if (_this._microphoneKeepRecording) {
|
|
214
|
+
var parameters = {
|
|
215
|
+
rtc: [JSON.stringify({
|
|
216
|
+
'rtc.microphone.keep.recording': false
|
|
217
|
+
})]
|
|
218
|
+
};
|
|
219
|
+
_this.logger.info("[MicrophoneKeepRecording][onExited] parameters ==> ".concat(JSON.stringify(parameters)));
|
|
220
|
+
_this._engine.setParameters(parameters);
|
|
221
|
+
}
|
|
219
222
|
_this.closeSetting();
|
|
220
223
|
_this._initSettingStore();
|
|
221
224
|
_this._resetScene();
|
|
@@ -280,19 +283,18 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
280
283
|
value: function () {
|
|
281
284
|
var _initSettingStore2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
282
285
|
var openDefaultCamera, openDefaultMicrophone, eventProvider, deviceProvider, dialogProvider, messageProvider, sharedConfigDataSource, sharedSettingDataSource, monitorProvider;
|
|
283
|
-
return _regenerator["default"].wrap(function
|
|
286
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
284
287
|
while (1) switch (_context.prev = _context.next) {
|
|
285
288
|
case 0:
|
|
286
289
|
this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
|
|
287
290
|
this._messageProvider = new _messageProvider.FcrUIMessageProviderImpl();
|
|
288
291
|
this._dialogProvider = new _dialogProvider.FcrUIDialogProviderImpl();
|
|
289
|
-
this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this.
|
|
292
|
+
this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._settingConfigStorage.media, this._userSettingStorageProvider);
|
|
290
293
|
this._sharedConfigDataSource = new _config2.FcrUISharedConfigDataSourceImpl({
|
|
291
294
|
creatorConfig: this._config,
|
|
292
|
-
settingConfig: this._settingConfigStorage
|
|
293
|
-
localStorageProvider: this._localStorageProvider
|
|
295
|
+
settingConfig: this._settingConfigStorage
|
|
294
296
|
});
|
|
295
|
-
this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this.
|
|
297
|
+
this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this._userSettingStorageProvider);
|
|
296
298
|
openDefaultCamera = (0, _parameters.isOpenDefaultCamera)(this._config.parameters);
|
|
297
299
|
openDefaultMicrophone = (0, _parameters.isOpenDefaultMicrophone)(this._config.parameters);
|
|
298
300
|
if (openDefaultCamera) {
|
|
@@ -310,9 +312,9 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
310
312
|
sharedSettingDataSource = this._sharedSettingDataSource;
|
|
311
313
|
monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(this._engine.getMonitorControl());
|
|
312
314
|
deviceProvider.loadUiResources((0, _uiResources.getNormalDownloadResources)(this._config.resource));
|
|
313
|
-
_context.next =
|
|
315
|
+
_context.next = 1;
|
|
314
316
|
return deviceProvider.init();
|
|
315
|
-
case
|
|
317
|
+
case 1:
|
|
316
318
|
this.observableSettingStore.value = new _store["default"]({
|
|
317
319
|
uiEventStore: eventProvider,
|
|
318
320
|
monitorControl: monitorProvider,
|
|
@@ -323,10 +325,10 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
323
325
|
sharedSettingDataSource: sharedSettingDataSource,
|
|
324
326
|
dialogProvider: dialogProvider,
|
|
325
327
|
settingConfig: sharedConfigDataSource.settingConfig,
|
|
326
|
-
|
|
327
|
-
|
|
328
|
+
userId: this._config.userId,
|
|
329
|
+
userSettingStorageProvider: this._userSettingStorageProvider
|
|
328
330
|
});
|
|
329
|
-
case
|
|
331
|
+
case 2:
|
|
330
332
|
case "end":
|
|
331
333
|
return _context.stop();
|
|
332
334
|
}
|
|
@@ -389,28 +391,40 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
|
|
|
389
391
|
}, {
|
|
390
392
|
key: "_filterKeepRecordingValueFromParameters",
|
|
391
393
|
value: function _filterKeepRecordingValueFromParameters(parameters) {
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
var
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
394
|
+
if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return parameters;
|
|
395
|
+
try {
|
|
396
|
+
var rtc = (parameters === null || parameters === void 0 ? void 0 : parameters.rtc).map(function (item) {
|
|
397
|
+
var _JSON$parse = JSON.parse(item),
|
|
398
|
+
_ = _JSON$parse['rtc.microphone.keep.recording'],
|
|
399
|
+
rest = (0, _objectWithoutProperties2["default"])(_JSON$parse, _excluded);
|
|
400
|
+
return Object.keys(rest).length > 0 ? JSON.stringify(rest) : null;
|
|
401
|
+
}).filter(function (item) {
|
|
402
|
+
return item !== null;
|
|
403
|
+
});
|
|
404
|
+
return _objectSpread(_objectSpread({}, parameters), {}, {
|
|
405
|
+
rtc: rtc
|
|
406
|
+
});
|
|
407
|
+
} catch (e) {
|
|
408
|
+
this.logger.error("[MicrophoneKeepRecording][filterKeepRecordingValueFromParameters] error: ".concat(e));
|
|
409
|
+
return parameters;
|
|
410
|
+
}
|
|
402
411
|
}
|
|
403
412
|
}, {
|
|
404
413
|
key: "_setKeepRecordingValueFromParameters",
|
|
405
414
|
value: function _setKeepRecordingValueFromParameters(parameters) {
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
415
|
+
if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return;
|
|
416
|
+
try {
|
|
417
|
+
var rtcs = parameters === null || parameters === void 0 ? void 0 : parameters.rtc;
|
|
418
|
+
var keepRecording = rtcs.find(function (item) {
|
|
419
|
+
return typeof JSON.parse(item)['rtc.microphone.keep.recording'] === 'boolean';
|
|
420
|
+
});
|
|
421
|
+
if (keepRecording) {
|
|
422
|
+
var keepRecordingValue = JSON.parse(keepRecording)['rtc.microphone.keep.recording'];
|
|
423
|
+
this._microphoneKeepRecording = !!keepRecordingValue;
|
|
424
|
+
this.logger.info("[MicrophoneKeepRecording][setParameters] keepRecording value is ==> ".concat(JSON.stringify(parameters)));
|
|
425
|
+
}
|
|
426
|
+
} catch (e) {
|
|
427
|
+
this.logger.error("[MicrophoneKeepRecording][setParameters] error: ".concat(e));
|
|
414
428
|
}
|
|
415
429
|
}
|
|
416
430
|
}]);
|
package/lib/electron/app.js
CHANGED
|
@@ -9,16 +9,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.hookApp = void 0;
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
require("core-js/modules/es.array.concat.js");
|
|
12
13
|
require("core-js/modules/es.array.find.js");
|
|
13
14
|
require("core-js/modules/es.array.for-each.js");
|
|
14
15
|
require("core-js/modules/es.array.join.js");
|
|
15
|
-
require("core-js/modules/es.date.to-json.js");
|
|
16
|
-
require("core-js/modules/es.json.stringify.js");
|
|
17
16
|
require("core-js/modules/es.object.keys.js");
|
|
18
17
|
require("core-js/modules/es.object.to-string.js");
|
|
19
18
|
require("core-js/modules/es.string.starts-with.js");
|
|
20
|
-
require("core-js/modules/esnext.async-iterator.find.js");
|
|
21
|
-
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
22
19
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
23
20
|
require("core-js/modules/esnext.iterator.find.js");
|
|
24
21
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
@@ -30,14 +27,17 @@ var _electron = require("electron");
|
|
|
30
27
|
var _path = _interopRequireDefault(require("path"));
|
|
31
28
|
var _logger = require("./logger");
|
|
32
29
|
var _child_process = require("child_process");
|
|
30
|
+
var _exitCodes = require("./exit-codes");
|
|
33
31
|
var logger = (0, _logger.getLogger)();
|
|
34
32
|
var hookApp = exports.hookApp = function hookApp(app) {
|
|
33
|
+
logger.info("hook app, main process id: ".concat(process.pid));
|
|
35
34
|
var isWindowDestroyed = function isWindowDestroyed(window) {
|
|
36
35
|
return window.isDestroyed();
|
|
37
36
|
};
|
|
38
37
|
app.commandLine.appendSwitch('ignore-certificate-errors');
|
|
39
38
|
app.addListener('browser-window-created', function (_, window) {
|
|
40
39
|
var windowId = window.id;
|
|
40
|
+
logger.info("[electron][window]: browser window is created, id: ".concat(windowId));
|
|
41
41
|
window.addListener('close', function () {
|
|
42
42
|
_electron.BrowserWindow.getAllWindows().forEach(function (window) {
|
|
43
43
|
if (!isWindowDestroyed(window)) {
|
|
@@ -48,10 +48,29 @@ var hookApp = exports.hookApp = function hookApp(app) {
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
});
|
|
51
|
-
window.webContents.addListener('render-process-gone', function (event,
|
|
52
|
-
|
|
51
|
+
window.webContents.addListener('render-process-gone', function (event, details) {
|
|
52
|
+
// 安全地获取 window 信息,避免在崩溃状态下访问可能失效的属性
|
|
53
|
+
var windowTitle = 'Unknown';
|
|
54
|
+
var windowId = 'Unknown';
|
|
55
|
+
try {
|
|
56
|
+
// 检查 window 是否仍然有效
|
|
57
|
+
if (!window.isDestroyed()) {
|
|
58
|
+
windowTitle = window.getTitle() || 'Unknown';
|
|
59
|
+
windowId = String(window.id);
|
|
60
|
+
}
|
|
61
|
+
} catch (error) {
|
|
62
|
+
logger.warn("[electron][window]: failed to get window info during crash: ".concat(error));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// 输出详细的崩溃信息
|
|
66
|
+
logger.error("[electron][window]: app exit due to render-process-gone event, window crash details - title: ".concat(windowTitle, ", id: ").concat(windowId, ", exitCode: ").concat(details.exitCode, ", reason: ").concat(details.reason));
|
|
67
|
+
logger.error('[electron][window]: exiting process due to render-process-gone event');
|
|
68
|
+
app.exit(_exitCodes.AppExitCode.RENDERER_PROCESS_GONE);
|
|
53
69
|
});
|
|
54
70
|
window.webContents.addListener('did-finish-load', function () {
|
|
71
|
+
var title = window.getTitle();
|
|
72
|
+
var processId = window.webContents.getOSProcessId();
|
|
73
|
+
logger.info("[electron][window]: browser window did finish load, id: ".concat(windowId, ", title: ").concat(title, ", process id: ").concat(processId));
|
|
55
74
|
setTimeout(function () {
|
|
56
75
|
_electron.BrowserWindow.getAllWindows().forEach(function (window) {
|
|
57
76
|
if (!isWindowDestroyed(window)) {
|
|
@@ -130,11 +149,11 @@ var hookApp = exports.hookApp = function hookApp(app) {
|
|
|
130
149
|
_electron.ipcMain.handle('checkMediaPermission', /*#__PURE__*/function () {
|
|
131
150
|
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_, mediaType) {
|
|
132
151
|
var accessStatus, res;
|
|
133
|
-
return _regenerator["default"].wrap(function
|
|
152
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
134
153
|
while (1) switch (_context.prev = _context.next) {
|
|
135
154
|
case 0:
|
|
136
155
|
if (!(mediaType === 'sharing')) {
|
|
137
|
-
_context.next =
|
|
156
|
+
_context.next = 1;
|
|
138
157
|
break;
|
|
139
158
|
}
|
|
140
159
|
// below API call will trigger the system to add the permission for screen recording on macOS
|
|
@@ -142,20 +161,20 @@ var hookApp = exports.hookApp = function hookApp(app) {
|
|
|
142
161
|
types: ['screen']
|
|
143
162
|
});
|
|
144
163
|
return _context.abrupt("return", true);
|
|
145
|
-
case
|
|
164
|
+
case 1:
|
|
146
165
|
accessStatus = _electron.systemPreferences.getMediaAccessStatus(mediaType);
|
|
147
166
|
if (!(accessStatus !== 'granted')) {
|
|
148
|
-
_context.next =
|
|
167
|
+
_context.next = 3;
|
|
149
168
|
break;
|
|
150
169
|
}
|
|
151
|
-
_context.next =
|
|
170
|
+
_context.next = 2;
|
|
152
171
|
return _electron.systemPreferences.askForMediaAccess(mediaType);
|
|
153
|
-
case
|
|
172
|
+
case 2:
|
|
154
173
|
res = _context.sent;
|
|
155
174
|
return _context.abrupt("return", res);
|
|
156
|
-
case
|
|
175
|
+
case 3:
|
|
157
176
|
return _context.abrupt("return", true);
|
|
158
|
-
case
|
|
177
|
+
case 4:
|
|
159
178
|
case "end":
|
|
160
179
|
return _context.stop();
|
|
161
180
|
}
|
|
@@ -10,8 +10,6 @@ require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
|
10
10
|
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
11
|
require("core-js/modules/es.object.keys.js");
|
|
12
12
|
require("core-js/modules/es.object.to-string.js");
|
|
13
|
-
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
14
|
-
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
15
13
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
16
14
|
require("core-js/modules/esnext.iterator.filter.js");
|
|
17
15
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
@@ -25,9 +23,13 @@ var _defaultOptions = require("./default-options");
|
|
|
25
23
|
var _env = require("./env");
|
|
26
24
|
var _main2 = require("./main");
|
|
27
25
|
var _devtoolShortcut = require("./plugins/devtool-shortcut");
|
|
26
|
+
var _exitCodes = require("./exit-codes");
|
|
28
27
|
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; }
|
|
29
28
|
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; }
|
|
30
29
|
(0, _main.initialize)();
|
|
30
|
+
_electron.crashReporter.start({
|
|
31
|
+
uploadToServer: false
|
|
32
|
+
});
|
|
31
33
|
(0, _app.hookApp)(_electron.app);
|
|
32
34
|
_electron.app.addListener('ready', function () {
|
|
33
35
|
var mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
|
|
@@ -35,7 +37,7 @@ _electron.app.addListener('ready', function () {
|
|
|
35
37
|
}));
|
|
36
38
|
(0, _main2.hookWindow)(mainWindow);
|
|
37
39
|
mainWindow.addListener('closed', function () {
|
|
38
|
-
_electron.app.exit(
|
|
40
|
+
_electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
|
|
39
41
|
});
|
|
40
42
|
mainWindow.webContents.openDevTools({
|
|
41
43
|
mode: 'detach'
|
|
@@ -8,8 +8,6 @@ require("core-js/modules/es.object.define-properties.js");
|
|
|
8
8
|
require("core-js/modules/es.object.define-property.js");
|
|
9
9
|
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
10
|
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
|
-
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
12
|
-
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
13
11
|
require("core-js/modules/esnext.iterator.filter.js");
|
|
14
12
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
15
13
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
@@ -23,7 +21,6 @@ require("core-js/modules/es.object.keys.js");
|
|
|
23
21
|
require("core-js/modules/es.object.to-string.js");
|
|
24
22
|
require("core-js/modules/es.parse-int.js");
|
|
25
23
|
require("core-js/modules/es.string.starts-with.js");
|
|
26
|
-
require("core-js/modules/esnext.async-iterator.find.js");
|
|
27
24
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
28
25
|
require("core-js/modules/esnext.iterator.find.js");
|
|
29
26
|
require("core-js/modules/esnext.json.parse.js");
|
|
@@ -41,6 +38,7 @@ var _devtoolShortcut = require("./plugins/devtool-shortcut");
|
|
|
41
38
|
var _ipc = require("./ipc/ipc");
|
|
42
39
|
var _type = require("./ipc/type");
|
|
43
40
|
var _meetingState = require("./plugins/meeting-state");
|
|
41
|
+
var _exitCodes = require("./exit-codes");
|
|
44
42
|
var _process$argv$find;
|
|
45
43
|
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; }
|
|
46
44
|
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; }
|
|
@@ -65,7 +63,7 @@ ipcClient.addObserver({
|
|
|
65
63
|
},
|
|
66
64
|
onDisconnected: function onDisconnected() {
|
|
67
65
|
(0, _logger.getLogger)().info('IPC client disconnected from server');
|
|
68
|
-
_electron.app.exit(
|
|
66
|
+
_electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
|
|
69
67
|
},
|
|
70
68
|
onMessageReceived: function onMessageReceived(message) {
|
|
71
69
|
switch (message.cmd) {
|
|
@@ -180,21 +178,17 @@ _electron.app.addListener('ready', function () {
|
|
|
180
178
|
});
|
|
181
179
|
});
|
|
182
180
|
mainWindow.addListener('closed', function () {
|
|
183
|
-
_electron.app.exit(
|
|
181
|
+
_electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
|
|
184
182
|
});
|
|
185
183
|
mainWindow.addListener('close', function (e) {
|
|
186
184
|
var closeListenerCount = mainWindow.listenerCount('close');
|
|
187
|
-
(0, _logger.getLogger)().info("
|
|
185
|
+
(0, _logger.getLogger)().info("main window close listener count: ".concat(closeListenerCount, ", isInMeeting: ").concat(_meetingState.isInMeeting));
|
|
188
186
|
if (_meetingState.isInMeeting === 0) {
|
|
189
187
|
e.preventDefault();
|
|
190
188
|
mainWindow.hide();
|
|
191
189
|
mainWindow.webContents.send('close-window-before-launch-success');
|
|
192
190
|
}
|
|
193
191
|
});
|
|
194
|
-
mainWindow.webContents.addListener('render-process-gone', function (e, details) {
|
|
195
|
-
(0, _logger.getLogger)().info("app exit due to render-process-gone event: ".concat(JSON.stringify(details)));
|
|
196
|
-
_electron.app.exit(0);
|
|
197
|
-
});
|
|
198
192
|
if (_env.isDev) {
|
|
199
193
|
mainWindow.webContents.openDevTools({
|
|
200
194
|
mode: 'detach'
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application exit codes
|
|
3
|
+
*
|
|
4
|
+
* These codes are used when calling app.exit() to indicate the reason for application termination.
|
|
5
|
+
* Using specific exit codes helps with debugging and process monitoring.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum AppExitCode {
|
|
8
|
+
NORMAL_EXIT = 0,
|
|
9
|
+
/**
|
|
10
|
+
* Renderer process has unexpectedly terminated
|
|
11
|
+
* This typically indicates a crash or critical error in the sub window renderer process
|
|
12
|
+
*/
|
|
13
|
+
RENDERER_PROCESS_GONE = 100
|
|
14
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.AppExitCode = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Application exit codes
|
|
10
|
+
*
|
|
11
|
+
* These codes are used when calling app.exit() to indicate the reason for application termination.
|
|
12
|
+
* Using specific exit codes helps with debugging and process monitoring.
|
|
13
|
+
*/
|
|
14
|
+
var AppExitCode = exports.AppExitCode = /*#__PURE__*/function (AppExitCode) {
|
|
15
|
+
AppExitCode[AppExitCode["NORMAL_EXIT"] = 0] = "NORMAL_EXIT";
|
|
16
|
+
/**
|
|
17
|
+
* Renderer process has unexpectedly terminated
|
|
18
|
+
* This typically indicates a crash or critical error in the sub window renderer process
|
|
19
|
+
*/
|
|
20
|
+
AppExitCode[AppExitCode["RENDERER_PROCESS_GONE"] = 100] = "RENDERER_PROCESS_GONE";
|
|
21
|
+
return AppExitCode;
|
|
22
|
+
}({});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IpcRendererEvent } from 'electron';
|
|
2
2
|
import { BrowserWindowConstructorOptions } from 'electron/renderer';
|
|
3
3
|
import os from 'os';
|
|
4
|
+
import type { WindowManager } from '../type';
|
|
4
5
|
export declare enum FcrNumericExitReason {
|
|
5
6
|
LEAVE_ROOM = 1,// 自己离开而退出
|
|
6
7
|
CLOSE_ROOM = 2,// 房间关闭而退出
|
|
@@ -27,8 +28,8 @@ export declare const captureScreen: (options?: {
|
|
|
27
28
|
hideWindow?: boolean;
|
|
28
29
|
alwaysHide?: boolean;
|
|
29
30
|
}) => void;
|
|
30
|
-
export declare const getActiveWindow: () =>
|
|
31
|
-
export declare const getWindows: () =>
|
|
31
|
+
export declare const getActiveWindow: () => WindowManager;
|
|
32
|
+
export declare const getWindows: () => WindowManager[];
|
|
32
33
|
export declare const openRendererWindow: (frameName: string, renderFn: (dom: Element, browserWindow: Electron.BrowserWindow, newRendererWindow: Window) => void, windowOptions: BrowserWindowConstructorOptions) => Promise<void>;
|
|
33
34
|
export declare const checkMediaPermission: (mediaType: "microphone" | "camera" | "sharing") => Promise<any>;
|
|
34
35
|
export declare const openSystemPreferences: (mediaType: "microphone" | "camera") => void;
|