fcr-ui-scene 3.7.9-alpha → 3.8.0-alpha
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/index.d.ts +6 -3
- package/lib/creator/index.js +38 -20
- package/lib/creator/provider-initializer.browser.js +30 -2
- package/lib/creator/provider-initializer.electron.js +34 -6
- package/lib/electron/app.js +0 -1
- package/lib/electron/bootstrap-sdk.d.ts +3 -1
- package/lib/electron/bootstrap-sdk.js +93 -375
- package/lib/electron/exit-codes.d.ts +6 -1
- package/lib/electron/exit-codes.js +5 -0
- package/lib/electron/injections.d.ts +10 -4
- package/lib/electron/injections.js +116 -74
- package/lib/electron/ipc/ipc.js +13 -11
- package/lib/electron/ipc/type.d.ts +3 -1
- package/lib/electron/ipc/type.js +2 -0
- package/lib/electron/main.js +3 -1
- package/lib/electron/preload.js +2 -1
- package/lib/electron/process-manager/constants.d.ts +1 -0
- package/lib/electron/process-manager/constants.js +8 -0
- package/lib/electron/{event-manager.d.ts → process-manager/event-manager.d.ts} +3 -4
- package/lib/electron/{event-manager.js → process-manager/event-manager.js} +38 -30
- package/lib/electron/process-manager/index.d.ts +179 -0
- package/lib/electron/process-manager/index.js +848 -0
- package/lib/electron/process-manager/state-manager.d.ts +135 -0
- package/lib/electron/process-manager/state-manager.js +358 -0
- package/lib/electron/process-manager/types.d.ts +80 -0
- package/lib/electron/process-manager/types.js +79 -0
- package/lib/electron/sdk-helper.d.ts +4 -0
- package/lib/electron/sdk-helper.js +39 -2
- package/lib/fragments/annotation/libs.d.ts +1 -1
- package/lib/fragments/annotation/libs.js +12 -12
- package/lib/fragments/annotation/store.d.ts +1 -1
- package/lib/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -1
- package/lib/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/libs.js +21 -21
- package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +3 -3
- package/lib/fragments/annotation/toolbar/store.d.ts +1 -1
- package/lib/fragments/annotation/toolbar/store.js +10 -10
- package/lib/fragments/annotation/toolbar/view.js +7 -7
- package/lib/fragments/whiteboard/store.d.ts +2 -2
- package/lib/fragments/whiteboard/store.js +27 -21
- package/lib/fragments/whiteboard/view.js +2 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/modules/action-bar/components/apps/index.js +1 -37
- package/lib/modules/action-bar/components/collapse/index.d.ts +2 -1
- package/lib/modules/action-bar/components/collapse/index.js +11 -2
- package/lib/modules/action-bar/components/item/index.js +2 -2
- package/lib/modules/action-bar/components/screen-share/index.browser.js +21 -14
- package/lib/modules/action-bar/components/screen-share/index.electron.js +38 -24
- package/lib/modules/action-bar/components/screen-share/submenu.js +6 -5
- package/lib/modules/action-bar/components/security/index.js +2 -2
- package/lib/modules/action-bar/index.css +26 -0
- package/lib/modules/action-bar/main-scene/store.base.d.ts +6 -4
- package/lib/modules/action-bar/main-scene/store.base.js +41 -46
- package/lib/modules/action-bar/type.d.ts +0 -10
- package/lib/modules/audio-stream/index.d.ts +1 -1
- package/lib/modules/audio-stream/index.js +22 -8
- package/lib/modules/caption/draggable-container/index.css +10 -0
- package/lib/modules/caption/draggable-container/index.d.ts +4 -0
- package/lib/modules/caption/draggable-container/index.js +145 -0
- package/lib/modules/caption/index.d.ts +10 -0
- package/lib/modules/caption/index.js +127 -0
- package/lib/modules/caption/store.d.ts +56 -0
- package/lib/modules/caption/store.js +366 -0
- package/lib/modules/caption/type.d.ts +13 -0
- package/lib/modules/caption/type.js +14 -0
- package/lib/modules/caption/view.css +158 -0
- package/lib/modules/caption/view.d.ts +4 -0
- package/lib/modules/caption/view.js +292 -0
- package/lib/modules/chat/chat-room-store.d.ts +1 -1
- package/lib/modules/chat/chat-room-store.js +6 -6
- package/lib/modules/chat/components/message-list/message-item/index.js +60 -18
- package/lib/modules/chat/index.css +7 -0
- package/lib/modules/chat/store.js +1 -1
- package/lib/modules/components/apps/app-item/index.css +16 -1
- package/lib/modules/components/apps/app-item/index.js +102 -35
- package/lib/modules/components/apps/app-list.js +17 -1
- package/lib/modules/components/apps/types.d.ts +11 -1
- package/lib/modules/components/caption-menu/index.css +58 -0
- package/lib/modules/components/caption-menu/index.d.ts +41 -0
- package/lib/modules/components/caption-menu/index.js +112 -0
- package/lib/modules/components/caption-menu/participants-privilege-control-options.d.ts +2 -0
- package/lib/modules/components/caption-menu/participants-privilege-control-options.js +87 -0
- package/lib/modules/components/caption-menu/steps/index.css +73 -0
- package/lib/modules/components/caption-menu/steps/index.d.ts +11 -0
- package/lib/modules/components/caption-menu/steps/index.js +56 -0
- package/lib/modules/components/caption-menu/translation-setting-options.d.ts +17 -0
- package/lib/modules/components/caption-menu/translation-setting-options.js +181 -0
- package/lib/modules/components/control-bar/index.d.ts +3 -3
- package/lib/modules/components/control-bar/index.js +10 -10
- package/lib/modules/components/device-control/components/audio-menu/index.js +17 -0
- package/lib/modules/components/device-control/components/carmera/index.js +3 -0
- package/lib/modules/components/device-control/components/microphone/index.js +4 -1
- package/lib/modules/components/device-control/index.css +12 -4
- package/lib/modules/components/device-control/store.base.d.ts +1 -0
- package/lib/modules/components/device-control/store.base.js +2 -0
- package/lib/modules/components/security-menu/index.js +147 -65
- package/lib/modules/components/security-menu/store.d.ts +15 -0
- package/lib/modules/components/security-menu/store.js +78 -16
- package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +1 -1
- package/lib/modules/components/toolbar/components/clean-tool/index.js +4 -4
- package/lib/modules/components/toolbar/components/color-tool/index.d.ts +1 -1
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +1 -1
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -1
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +21 -21
- package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +1 -1
- package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +1 -1
- package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +1 -1
- package/lib/modules/components/toolbar/components/pen-tool/index.js +3 -3
- package/lib/modules/components/toolbar/index.d.ts +2 -2
- package/lib/modules/components/toolbar/index.js +35 -34
- package/lib/modules/components/toolbar/style.css +1 -1
- package/lib/modules/components/toolbar/types.d.ts +1 -1
- package/lib/modules/connection-gateway/store.d.ts +1 -0
- package/lib/modules/connection-gateway/store.js +5 -0
- package/lib/modules/control-bar/components/apps-popover/index.d.ts +3 -0
- package/lib/modules/control-bar/components/apps-popover/index.js +41 -0
- package/lib/modules/control-bar/components/more-actions/index.js +9 -1
- package/lib/modules/control-bar/enums.d.ts +2 -1
- package/lib/modules/control-bar/enums.js +1 -0
- package/lib/modules/control-bar/store.d.ts +6 -1
- package/lib/modules/control-bar/store.js +56 -12
- package/lib/modules/control-bar/view.js +16 -11
- package/lib/modules/dialog/components/dialog-container/component/body.d.ts +8 -0
- package/lib/modules/dialog/components/dialog-container/component/body.js +44 -5
- package/lib/modules/dialog/components/dialog-container/index.css +4 -1
- package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
- package/lib/modules/dialog/components/dialog-container/index.js +7 -1
- package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
- package/lib/modules/dialog/components/normal-window/index.js +3 -1
- package/lib/modules/dialog/dialogs/caption/index.d.ts +21 -0
- package/lib/modules/dialog/dialogs/caption/index.js +42 -0
- package/lib/modules/dialog/dialogs/chat/components/actions.js +2 -2
- package/lib/modules/dialog/dialogs/confirm/index.js +1 -1
- package/lib/modules/dialog/dialogs/participant/components/actions.js +2 -2
- package/lib/modules/dialog/dialogs/subtitles-history/index.d.ts +27 -0
- package/lib/modules/dialog/dialogs/subtitles-history/index.js +51 -0
- package/lib/modules/dialog/store.base.d.ts +1 -1
- package/lib/modules/dialog/store.browser.d.ts +1 -1
- package/lib/modules/dialog/store.electron.d.ts +1 -3
- package/lib/modules/dialog/store.electron.js +0 -9
- package/lib/modules/event-sound/enum.d.ts +5 -0
- package/lib/modules/event-sound/enum.js +20 -0
- package/lib/modules/event-sound/index.d.ts +0 -10
- package/lib/modules/event-sound/index.js +1 -12
- package/lib/modules/event-sound/store.d.ts +2 -2
- package/lib/modules/event-sound/store.js +21 -22
- package/lib/modules/interpreter/store.js +4 -2
- package/lib/modules/layout/components/Aside.d.ts +2 -1
- package/lib/modules/layout/components/Aside.js +97 -58
- package/lib/modules/layout/components/CommonVideoRenderer.js +1 -2
- package/lib/modules/layout/components/index.css +15 -2
- package/lib/modules/layout/store.base.d.ts +13 -2
- package/lib/modules/layout/store.base.js +149 -54
- package/lib/modules/layout/store.electron.d.ts +1 -0
- package/lib/modules/layout/store.electron.js +132 -32
- package/lib/modules/layout/type.d.ts +4 -0
- package/lib/modules/layout/view.js +27 -5
- package/lib/modules/notification/index.css +4 -4
- package/lib/modules/notification/store.d.ts +5 -3
- package/lib/modules/notification/store.js +9 -2
- package/lib/modules/notification/view.d.ts +1 -0
- package/lib/modules/notification/view.js +33 -2
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +0 -1
- package/lib/modules/participant/components/participants/components/footer/index.js +1 -1
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +2 -2
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +6 -1
- package/lib/modules/participant/components/participants/components/render-user/index.d.ts +1 -1
- package/lib/modules/participant/components/participants/index.js +13 -1
- package/lib/modules/participant/store.base.d.ts +1 -2
- package/lib/modules/participant/store.base.js +70 -71
- package/lib/modules/participant/type.d.ts +3 -1
- package/lib/modules/participant/type.js +2 -0
- package/lib/modules/pc-audio-connect/main-scene/store.d.ts +1 -0
- package/lib/modules/pc-audio-connect/main-scene/store.js +5 -0
- package/lib/modules/pc-audio-connect/waiting-scene/store.d.ts +2 -0
- package/lib/modules/pc-audio-connect/waiting-scene/store.js +10 -6
- package/lib/modules/phone-audio-connect/store.d.ts +1 -0
- package/lib/modules/phone-audio-connect/store.js +5 -0
- package/lib/modules/secondary-window/store.d.ts +1 -2
- package/lib/modules/secondary-window/store.js +22 -12
- package/lib/modules/secondary-window/type.d.ts +1 -1
- package/lib/modules/secondary-window/view.js +7 -8
- package/lib/modules/setting/audio-whiteList/audio-device-adaptation.d.ts +18 -0
- package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +34 -0
- package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.d.ts +63 -0
- package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +353 -0
- package/lib/modules/setting/caption_and_transcribing/index.css +88 -0
- package/lib/modules/setting/caption_and_transcribing/index.d.ts +3 -0
- package/lib/modules/setting/caption_and_transcribing/index.js +96 -0
- package/lib/modules/setting/general-settings/general-settings.d.ts +4 -0
- package/lib/modules/setting/general-settings/general-settings.js +3 -3
- package/lib/modules/setting/index.d.ts +1 -0
- package/lib/modules/setting/index.js +10 -7
- package/lib/modules/setting/state/index.js +5 -3
- package/lib/modules/setting/store.base.d.ts +29 -4
- package/lib/modules/setting/store.base.js +141 -61
- package/lib/modules/setting/store.browser.js +4 -9
- package/lib/modules/setting/store.electron.d.ts +11 -0
- package/lib/modules/setting/store.electron.js +110 -1
- package/lib/modules/setting/type.d.ts +2 -1
- package/lib/modules/setting/type.js +1 -0
- package/lib/modules/setting/video-settings/video-settings-basic.js +1 -7
- package/lib/modules/setting/view.js +11 -4
- package/lib/modules/share-screen/store.base.d.ts +1 -1
- package/lib/modules/share-screen/store.base.js +3 -0
- package/lib/modules/share-screen/store.electron.d.ts +3 -1
- package/lib/modules/share-screen/store.electron.js +130 -23
- package/lib/modules/state-bar/index.css +73 -2
- package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
- package/lib/modules/state-bar/main-scene/store.base.js +7 -1
- package/lib/modules/state-bar/main-scene/store.browser.js +1 -1
- package/lib/modules/state-bar/main-scene/store.electron.js +1 -1
- package/lib/modules/state-bar/store.base.d.ts +5 -0
- package/lib/modules/state-bar/store.base.js +29 -2
- package/lib/modules/state-bar/subtitles-history-state.d.ts +7 -0
- package/lib/modules/state-bar/subtitles-history-state.js +108 -0
- package/lib/modules/state-bar/view.js +16 -1
- package/lib/modules/state-bar/waiting-scene/store.base.d.ts +1 -0
- package/lib/modules/state-bar/waiting-scene/store.base.js +5 -0
- package/lib/modules/subtitles-history/components/actions.d.ts +5 -0
- package/lib/modules/subtitles-history/components/actions.js +36 -0
- package/lib/modules/subtitles-history/components/list-item.d.ts +12 -0
- package/lib/modules/subtitles-history/components/list-item.js +105 -0
- package/lib/modules/subtitles-history/components/list.d.ts +10 -0
- package/lib/modules/subtitles-history/components/list.js +182 -0
- package/lib/modules/subtitles-history/components/respond-dialog-content.d.ts +5 -0
- package/lib/modules/subtitles-history/components/respond-dialog-content.js +44 -0
- package/lib/modules/subtitles-history/components/settings/index.css +5 -0
- package/lib/modules/subtitles-history/components/settings/index.d.ts +2 -0
- package/lib/modules/subtitles-history/components/settings/index.js +53 -0
- package/lib/modules/subtitles-history/components/timer.d.ts +3 -0
- package/lib/modules/subtitles-history/components/timer.js +44 -0
- package/lib/modules/subtitles-history/components/title.d.ts +1 -0
- package/lib/modules/subtitles-history/components/title.js +15 -0
- package/lib/modules/subtitles-history/empty.d.ts +2 -0
- package/lib/modules/subtitles-history/empty.js +22 -0
- package/lib/modules/subtitles-history/index.css +129 -0
- package/lib/modules/subtitles-history/index.d.ts +13 -0
- package/lib/modules/subtitles-history/index.js +107 -0
- package/lib/modules/subtitles-history/store.base.d.ts +74 -0
- package/lib/modules/subtitles-history/store.base.js +786 -0
- package/lib/modules/subtitles-history/store.electron.d.ts +15 -0
- package/lib/modules/subtitles-history/store.electron.js +154 -0
- package/lib/modules/subtitles-history/type.d.ts +4 -0
- package/lib/modules/subtitles-history/type.js +6 -0
- package/lib/modules/subtitles-history/view.d.ts +1 -0
- package/lib/modules/subtitles-history/view.js +104 -0
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +2 -2
- package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +5 -5
- package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +15 -15
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +21 -21
- package/lib/modules/whiteboard/components/toolbar/hooks/index.js +23 -21
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -6
- package/lib/modules/whiteboard/components/toolbar/store.js +14 -15
- package/lib/modules/whiteboard/store.d.ts +2 -3
- package/lib/modules/whiteboard/store.electron.d.ts +2 -0
- package/lib/modules/whiteboard/store.electron.js +35 -0
- package/lib/modules/whiteboard/store.js +14 -2
- package/lib/modules/whiteboard/type.d.ts +0 -35
- package/lib/modules/whiteboard/type.js +1 -26
- package/lib/modules/widget/type.d.ts +3 -66
- package/lib/object-manager.d.ts +3 -1
- package/lib/object-manager.js +2 -0
- package/lib/providers/ability-provider.d.ts +24 -0
- package/lib/providers/ability-provider.js +21 -0
- package/lib/providers/app-list-provider.d.ts +90 -4
- package/lib/providers/app-list-provider.js +157 -13
- package/lib/providers/board-share/bar-control/base.d.ts +4 -5
- package/lib/providers/board-share/bar-control/base.js +4 -4
- package/lib/providers/board-share/bar-control/browser.d.ts +2 -2
- package/lib/providers/board-share/bar-control/electron.d.ts +4 -5
- package/lib/providers/board-share/bar-control/electron.js +2 -0
- package/lib/providers/board-share/provider.base.d.ts +6 -6
- package/lib/providers/board-share/provider.base.js +20 -3
- package/lib/providers/board-share/provider.browser.js +2 -2
- package/lib/providers/board-share/provider.electron.js +1 -2
- package/lib/providers/board-share/type.d.ts +1 -2
- package/lib/providers/device-provider.d.ts +15 -5
- package/lib/providers/device-provider.js +199 -145
- package/lib/providers/dialog/provider.base.js +1 -1
- package/lib/providers/dialog/provider.electron.js +3 -0
- package/lib/providers/interpreter-provider.js +4 -9
- package/lib/providers/multi-display-provider.d.ts +1 -1
- package/lib/providers/privilege-provider.d.ts +241 -139
- package/lib/providers/privilege-provider.js +577 -318
- package/lib/providers/room-provider/waiting-room-control-manager.d.ts +1 -1
- package/lib/providers/screen-share/constant.d.ts +1 -0
- package/lib/providers/screen-share/constant.js +8 -0
- package/lib/providers/screen-share/provider.base.d.ts +20 -7
- package/lib/providers/screen-share/provider.base.js +27 -27
- package/lib/providers/screen-share/provider.browser.js +14 -18
- package/lib/providers/screen-share/provider.electron.d.ts +8 -0
- package/lib/providers/screen-share/provider.electron.js +41 -13
- package/lib/providers/screen-share/strategy/electron.d.ts +2 -1
- package/lib/providers/screen-share/strategy/electron.js +64 -56
- package/lib/providers/screen-share/strategy/type.d.ts +2 -2
- package/lib/providers/screen-share/stream-state-sync.js +5 -3
- package/lib/providers/screen-share/struct.d.ts +14 -4
- package/lib/providers/screen-share/struct.js +16 -5
- package/lib/providers/screen-share/type.d.ts +32 -2
- package/lib/providers/stt-provider/stt-provider.d.ts +89 -0
- package/lib/providers/stt-provider/stt-provider.js +1008 -0
- package/lib/providers/stt-provider/type.d.ts +168 -0
- package/lib/providers/stt-provider/type.js +19 -0
- package/lib/providers/window/main-window.d.ts +1 -0
- package/lib/providers/window/main-window.js +6 -1
- package/lib/providers/window/renderer-window.d.ts +4 -0
- package/lib/providers/window/renderer-window.js +19 -1
- package/lib/providers/window/type.d.ts +4 -0
- package/lib/runtime.d.ts +8 -7
- package/lib/runtime.js +1 -2
- package/lib/scenes/main-scene.js +112 -66
- package/lib/schema.d.ts +70 -8
- package/lib/schema.js +7 -2
- package/lib/shared-data/app-list-data.d.ts +4 -0
- package/lib/shared-data/app-list-data.js +21 -1
- package/lib/shared-data/config.d.ts +5 -1
- package/lib/shared-data/layout-data.d.ts +5 -0
- package/lib/shared-data/layout-data.js +35 -9
- package/lib/shared-data/member-data.d.ts +2 -3
- package/lib/shared-data/screen-share/index.d.ts +0 -2
- package/lib/shared-data/screen-share/index.js +20 -36
- package/lib/shared-data/screen-share/type.d.ts +0 -8
- package/lib/shared-data/security-data.d.ts +4 -0
- package/lib/shared-data/security-data.js +14 -10
- package/lib/shared-data/setting.d.ts +16 -1
- package/lib/shared-data/setting.js +33 -6
- package/lib/shared-data/stt-setting.ts/constant.d.ts +29 -0
- package/lib/shared-data/stt-setting.ts/constant.js +35 -0
- package/lib/shared-data/stt-setting.ts/index.d.ts +67 -0
- package/lib/shared-data/stt-setting.ts/index.js +202 -0
- package/lib/shared-data/stt-setting.ts/type.d.ts +10 -0
- package/lib/shared-data/stt-setting.ts/type.js +14 -0
- package/lib/shared-data/video-window.d.ts +1 -2
- package/lib/shared-data/video-window.js +20 -32
- package/lib/translations/enUS.d.ts +9 -0
- package/lib/translations/enUS.js +21 -4
- package/lib/translations/zhCN.d.ts +9 -0
- package/lib/translations/zhCN.js +21 -4
- package/lib/type.d.ts +20 -15
- package/lib/type.js +1 -0
- package/lib/{ui-scene.d.ts → ui-scene-switch.d.ts} +1 -1
- package/lib/{ui-scene.js → ui-scene-switch.js} +29 -9
- package/lib/utilities/constant.d.ts +6 -2
- package/lib/utilities/constant.js +5 -1
- package/lib/utilities/default-config.d.ts +3 -3
- package/lib/utilities/default-config.js +7 -17
- package/lib/utilities/focus-helper.js +18 -11
- package/lib/utilities/renderer.d.ts +4 -6
- package/lib/utilities/renderer.js +10 -4
- package/lib/utilities/tools.d.ts +1 -0
- package/lib/utilities/tools.js +6 -1
- package/lib/utilities/ui-resources.d.ts +9 -2
- package/lib/utilities/ui-resources.js +36 -12
- package/package.json +11 -6
- package/public/index.html +1 -0
- package/public/meeting-manager.js +23 -9
- package/installer/icons/favicon.ico +0 -0
- package/installer/icons/favicon.png +0 -0
- package/installer/icons/icon.png +0 -0
- package/installer/mac/entitlements.mac.plist +0 -16
- package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +0 -17
- package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +0 -5
- package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +0 -242
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +0 -192
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +0 -4
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +0 -206
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +0 -57
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +0 -5
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +0 -229
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +0 -5
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +0 -68
- package/lib/modules/participant/components/participants/components/participants/index.css +0 -105
- package/lib/modules/participant/components/participants/components/participants/index.d.ts +0 -3
- package/lib/modules/participant/components/participants/components/participants/index.js +0 -117
- package/lib/modules/participant/components/participants/types.d.ts +0 -101
- package/lib/modules/participant/components/participants/types.js +0 -37
- package/lib/modules/setting/config.d.ts +0 -36
- package/lib/modules/setting/config.js +0 -36
- package/lib/modules/widget/sdk.d.ts +0 -30
- package/lib/modules/widget/sdk.js +0 -224
- package/lib/widget-sdk.d.ts +0 -2
- package/lib/widget-sdk.js +0 -13
- /package/public/assets/electron/sound_effects/{pretest.mp3 → speakerTest.mp3} +0 -0
|
@@ -2,31 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.symbol.js");
|
|
4
4
|
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.for-each.js");
|
|
5
6
|
require("core-js/modules/es.array.push.js");
|
|
6
7
|
require("core-js/modules/es.object.define-properties.js");
|
|
7
8
|
require("core-js/modules/es.object.define-property.js");
|
|
8
9
|
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
9
10
|
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
|
+
require("core-js/modules/es.object.keys.js");
|
|
10
12
|
require("core-js/modules/esnext.iterator.filter.js");
|
|
13
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
14
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
11
15
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
16
|
+
Object.defineProperty(exports, "__esModule", {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
19
|
+
exports.processManager = void 0;
|
|
12
20
|
require("core-js/modules/es.array.concat.js");
|
|
13
21
|
require("core-js/modules/es.array.find.js");
|
|
14
|
-
require("core-js/modules/es.array.for-each.js");
|
|
15
22
|
require("core-js/modules/es.array.join.js");
|
|
16
|
-
require("core-js/modules/es.array.map.js");
|
|
17
|
-
require("core-js/modules/es.date.to-json.js");
|
|
18
|
-
require("core-js/modules/es.json.stringify.js");
|
|
19
|
-
require("core-js/modules/es.object.keys.js");
|
|
20
23
|
require("core-js/modules/es.object.to-string.js");
|
|
21
24
|
require("core-js/modules/es.parse-int.js");
|
|
22
25
|
require("core-js/modules/es.string.starts-with.js");
|
|
23
26
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
24
27
|
require("core-js/modules/esnext.iterator.find.js");
|
|
25
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
26
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
27
|
-
require("core-js/modules/esnext.json.parse.js");
|
|
28
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
29
|
-
require("core-js/modules/web.timers.js");
|
|
30
28
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
31
29
|
var _electron = require("electron");
|
|
32
30
|
var _main = require("@electron/remote/main");
|
|
@@ -34,369 +32,51 @@ var _2 = require(".");
|
|
|
34
32
|
var _defaultOptions = require("./default-options");
|
|
35
33
|
var _env = require("./env");
|
|
36
34
|
var _path = _interopRequireDefault(require("path"));
|
|
37
|
-
var _os = _interopRequireDefault(require("os"));
|
|
38
35
|
var _logger = require("./logger");
|
|
39
36
|
var _devtoolShortcut = require("./plugins/devtool-shortcut");
|
|
40
|
-
var
|
|
41
|
-
var _type = require("./ipc/type");
|
|
42
|
-
var _meetingState = require("./plugins/meeting-state");
|
|
43
|
-
var _exitCodes = require("./exit-codes");
|
|
44
|
-
var _struct = require("./struct");
|
|
45
|
-
var _eventManager = require("./event-manager");
|
|
46
|
-
var _until = require("./until");
|
|
37
|
+
var _processManager = require("./process-manager");
|
|
47
38
|
var _hangDetection = require("./hang-detection");
|
|
48
|
-
var _process$argv$find;
|
|
49
|
-
// processManager --- stateManager 和 eventManager
|
|
39
|
+
var _process$argv$find;
|
|
50
40
|
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; }
|
|
51
41
|
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; }
|
|
52
|
-
var
|
|
53
|
-
var mainWindowReady = false;
|
|
54
|
-
var userMinimize = false;
|
|
55
|
-
var mainWindowDisplayState = _struct.DisplayState.HIDE;
|
|
56
|
-
var lastInitParams = '';
|
|
42
|
+
var logger = (0, _logger.getLogger)();
|
|
57
43
|
(0, _main.initialize)();
|
|
58
44
|
var port = (_process$argv$find = process.argv.find(function (arg) {
|
|
59
45
|
return arg.startsWith('--port=');
|
|
60
46
|
})) === null || _process$argv$find === void 0 ? void 0 : _process$argv$find.split('=')[1];
|
|
61
|
-
var
|
|
62
|
-
port: port ? parseInt(port, 10) : 50000
|
|
47
|
+
var processManager = exports.processManager = new _processManager.ProcessManager({
|
|
48
|
+
port: port ? parseInt(port, 10) : 50000,
|
|
49
|
+
isDev: _env.isDev
|
|
63
50
|
});
|
|
64
|
-
ipcClient.addObserver({
|
|
65
|
-
onConnected: function onConnected() {
|
|
66
|
-
(0, _logger.getLogger)().info('IPC client connected to server');
|
|
67
|
-
if (mainWindowReady) {
|
|
68
|
-
ipcClient.sendMessage({
|
|
69
|
-
cmd: _type.IPCMessageCMD.ElectronMainWindowLoaded,
|
|
70
|
-
data: {}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
onDisconnected: function onDisconnected() {
|
|
75
|
-
(0, _logger.getLogger)().info('IPC client disconnected from server, close all windows');
|
|
76
|
-
_electron.BrowserWindow.getAllWindows().forEach(function (window) {
|
|
77
|
-
if (window.isDestroyed()) {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
window.close();
|
|
81
|
-
});
|
|
82
|
-
_electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
|
|
83
|
-
},
|
|
84
|
-
onMessageReceived: function onMessageReceived(message) {
|
|
85
|
-
var _message$data;
|
|
86
|
-
switch (message.cmd) {
|
|
87
|
-
case _type.IPCMessageCMD.LaunchMeeting:
|
|
88
|
-
// 检查当前launch状态,如果正在处理中则拒绝新的launch请求
|
|
89
|
-
var roomId = ((_message$data = message.data) === null || _message$data === void 0 ? void 0 : _message$data.roomId) || 'unknown';
|
|
90
|
-
if (!_eventManager.eventManager.canLaunchMeeting()) {
|
|
91
|
-
(0, _logger.getLogger)().warn("CPP EVENT: Launch request rejected: already in PROCESSING state. Current state: ".concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
|
|
92
|
-
// 发送失败消息给客户端
|
|
93
|
-
ipcClient.sendMessage({
|
|
94
|
-
cmd: _type.IPCMessageCMD.LaunchFailure,
|
|
95
|
-
data: {
|
|
96
|
-
roomId: roomId,
|
|
97
|
-
errorCode: _until.meetingLaunchProcessingErrorCode
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
_eventManager.eventManager.startMeetingProcess(roomId);
|
|
103
|
-
(0, _logger.getLogger)().info("CPP EVENT: LaunchMeeting: ".concat(JSON.stringify(message.data), ", has mainWindow ").concat(!!mainWindow, ", state changed to ").concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
|
|
104
|
-
if (mainWindow) {
|
|
105
|
-
mainWindow.webContents.send(_type.IPCMessageCMD.LaunchMeeting, {
|
|
106
|
-
data: message.data,
|
|
107
|
-
lastInitParams: lastInitParams
|
|
108
|
-
});
|
|
109
|
-
mainWindow.show();
|
|
110
|
-
mainWindow.focus();
|
|
111
|
-
mainWindow.moveTop();
|
|
112
|
-
var platform = _os["default"].platform();
|
|
113
|
-
if (platform === 'win32') {
|
|
114
|
-
(0, _logger.getLogger)().info('windows_index setAlwaysOnTop in bootstrap-sdk');
|
|
115
|
-
mainWindow.setAlwaysOnTop(true, 'pop-up-menu');
|
|
116
|
-
setTimeout(function () {
|
|
117
|
-
(0, _logger.getLogger)().info("windows_index set main window in bootstrap-sdk,current display state: ".concat(mainWindowDisplayState));
|
|
118
|
-
if (mainWindowDisplayState === _struct.DisplayState.SHOW) {
|
|
119
|
-
mainWindow.moveTop();
|
|
120
|
-
mainWindow.show();
|
|
121
|
-
mainWindow.focus();
|
|
122
|
-
}
|
|
123
|
-
}, 300);
|
|
124
|
-
mainWindow.setAlwaysOnTop(false, 'pop-up-menu');
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
break;
|
|
128
|
-
case _type.IPCMessageCMD.InitCreator:
|
|
129
|
-
(0, _logger.getLogger)().info("InitCreator, current message data: ".concat(JSON.stringify(message.data)));
|
|
130
|
-
lastInitParams = JSON.stringify(message.data);
|
|
131
51
|
|
|
132
|
-
|
|
133
|
-
if (_eventManager.eventManager.launchState === _struct.FcrUISceneLaunchState.PROCESSING) {
|
|
134
|
-
(0, _logger.getLogger)().error("CPP EVENT: InitCreator call rejected: Launch is already in PROCESSING state. Please complete the current launch cycle first.");
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
(0, _logger.getLogger)().info("InitCreator: Initialization completed");
|
|
138
|
-
try {
|
|
139
|
-
var data = message.data;
|
|
140
|
-
if (typeof message.data == 'string') {
|
|
141
|
-
data = JSON.parse(message.data);
|
|
142
|
-
}
|
|
143
|
-
if (data['appUserModelId']) {
|
|
144
|
-
_electron.app.setAppUserModelId(data['appUserModelId']);
|
|
145
|
-
}
|
|
146
|
-
} catch (e) {
|
|
147
|
-
(0, _logger.getLogger)().error("InitCreator: ".concat(e));
|
|
148
|
-
}
|
|
149
|
-
if (mainWindow) {
|
|
150
|
-
(0, _logger.getLogger)().info("InitCreator: send InitCreator message to mainWindow");
|
|
151
|
-
mainWindow.webContents.send(_type.IPCMessageCMD.InitCreator, message.data);
|
|
152
|
-
} else {
|
|
153
|
-
(0, _logger.getLogger)().error("InitCreator: mainWindow is not ready");
|
|
154
|
-
}
|
|
155
|
-
break;
|
|
156
|
-
case _type.IPCMessageCMD.OpenSetting:
|
|
157
|
-
(0, _logger.getLogger)().info("CPP EVENT: OpenSetting: ".concat(JSON.stringify(message.data)));
|
|
158
|
-
if (mainWindow) {
|
|
159
|
-
mainWindow.webContents.send(_type.IPCMessageCMD.OpenSetting, message.data);
|
|
160
|
-
}
|
|
161
|
-
break;
|
|
162
|
-
case _type.IPCMessageCMD.CloseSetting:
|
|
163
|
-
(0, _logger.getLogger)().info("CPP EVENT: CloseSetting: ".concat(JSON.stringify(message.data)));
|
|
164
|
-
if (mainWindow) {
|
|
165
|
-
mainWindow.webContents.send(_type.IPCMessageCMD.CloseSetting, message.data);
|
|
166
|
-
}
|
|
167
|
-
break;
|
|
168
|
-
case _type.IPCMessageCMD.SetParameters:
|
|
169
|
-
(0, _logger.getLogger)().info("CPP EVENT: SetParameters: ".concat(JSON.stringify(message.data)));
|
|
170
|
-
if (mainWindow) {
|
|
171
|
-
mainWindow.webContents.send(_type.IPCMessageCMD.SetParameters, message.data);
|
|
172
|
-
}
|
|
173
|
-
break;
|
|
174
|
-
case _type.IPCMessageCMD.RenewUserToken:
|
|
175
|
-
(0, _logger.getLogger)().info("CPP EVENT: RenewUserToken: ".concat(JSON.stringify(message.data)));
|
|
176
|
-
if (mainWindow) {
|
|
177
|
-
mainWindow.webContents.send(_type.IPCMessageCMD.RenewUserToken, message.data);
|
|
178
|
-
}
|
|
179
|
-
break;
|
|
180
|
-
case _type.IPCMessageCMD.ExitUiScene:
|
|
181
|
-
(0, _logger.getLogger)().info("CPP EVENT:ExitUiScene: ".concat(JSON.stringify(message.data)));
|
|
182
|
-
if (mainWindow) {
|
|
183
|
-
mainWindow.webContents.send(_type.IPCMessageCMD.ExitUiScene, message.data);
|
|
184
|
-
}
|
|
185
|
-
break;
|
|
186
|
-
default:
|
|
187
|
-
(0, _logger.getLogger)().info("CPP EVENT: Unknown command: ".concat(message.cmd));
|
|
188
|
-
break;
|
|
189
|
-
}
|
|
190
|
-
},
|
|
191
|
-
onError: function onError(error) {
|
|
192
|
-
(0, _logger.getLogger)().error("Error: ".concat(error));
|
|
193
|
-
}
|
|
194
|
-
});
|
|
52
|
+
// 启动崩溃报告器
|
|
195
53
|
_electron.crashReporter.start({
|
|
196
54
|
uploadToServer: false
|
|
197
55
|
});
|
|
198
56
|
(0, _2.hookApp)(_electron.app);
|
|
57
|
+
|
|
58
|
+
// ==================== 应用就绪事件 ====================
|
|
59
|
+
|
|
199
60
|
_electron.app.addListener('ready', function () {
|
|
200
|
-
|
|
201
|
-
mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
|
|
202
|
-
webPreferences: _objectSpread({}, _defaultOptions.defaultWebPreferences),
|
|
203
|
-
show: false
|
|
204
|
-
}));
|
|
205
|
-
_electron.Menu.setApplicationMenu(null);
|
|
206
|
-
_electron.ipcMain.addListener('launch-success', function (_, roomId) {
|
|
207
|
-
if (_eventManager.eventManager.launchState !== _struct.FcrUISceneLaunchState.PROCESSING) {
|
|
208
|
-
(0, _logger.getLogger)().warn("launch-success in bootstrap-sdk: ".concat(roomId, ", but launch state is not PROCESSING, current state is ").concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
_eventManager.eventManager.onLaunchSuccess(roomId);
|
|
212
|
-
(0, _logger.getLogger)().info("launch-success in bootstrap-sdk: ".concat(roomId));
|
|
213
|
-
ipcClient.sendMessage({
|
|
214
|
-
cmd: _type.IPCMessageCMD.LaunchSuccess,
|
|
215
|
-
data: {
|
|
216
|
-
roomId: roomId
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
});
|
|
220
|
-
_electron.ipcMain.addListener('launch-failure', function (_, roomId, errorCode) {
|
|
221
|
-
if (_eventManager.eventManager.launchState !== _struct.FcrUISceneLaunchState.PROCESSING) {
|
|
222
|
-
(0, _logger.getLogger)().warn("launch-failure in bootstrap-sdk: ".concat(roomId, ", but launch state is not PROCESSING, current state is ").concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
if (!roomId || typeof roomId !== 'string') {
|
|
226
|
-
(0, _logger.getLogger)().error("Invalid roomId: ".concat(roomId));
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
_eventManager.eventManager.onLaunchFailure(roomId, errorCode);
|
|
230
|
-
ipcClient.sendMessage({
|
|
231
|
-
cmd: _type.IPCMessageCMD.LaunchFailure,
|
|
232
|
-
data: {
|
|
233
|
-
roomId: roomId,
|
|
234
|
-
errorCode: errorCode
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
});
|
|
238
|
-
_electron.ipcMain.addListener('exited-meeting', function (_, roomId, reason) {
|
|
239
|
-
if (_eventManager.eventManager.launchState === _struct.FcrUISceneLaunchState.END && _eventManager.eventManager.endReason === _struct.FcrUISceneLaunchEndReason.CLOSE_WINDOW) {
|
|
240
|
-
(0, _logger.getLogger)().warn("exited-meeting in bootstrap-sdk: ".concat(roomId, ", but launch state is END with closeWindow reason, ignore this event"));
|
|
241
|
-
return;
|
|
242
|
-
}
|
|
243
|
-
ipcClient.sendMessage({
|
|
244
|
-
cmd: _type.IPCMessageCMD.ExitedMeeting,
|
|
245
|
-
data: {
|
|
246
|
-
roomId: roomId,
|
|
247
|
-
reason: reason
|
|
248
|
-
}
|
|
249
|
-
});
|
|
250
|
-
_eventManager.eventManager.onExitedMeeting(roomId, 'exited-meeting');
|
|
251
|
-
});
|
|
252
|
-
_electron.ipcMain.addListener('widget-clicked', function (_, widgetId) {
|
|
253
|
-
(0, _logger.getLogger)().info("widget-clicked in bootstrap-sdk: ".concat(widgetId));
|
|
254
|
-
ipcClient.sendMessage({
|
|
255
|
-
cmd: _type.IPCMessageCMD.WidgetClicked,
|
|
256
|
-
data: {
|
|
257
|
-
widgetId: widgetId
|
|
258
|
-
}
|
|
259
|
-
});
|
|
260
|
-
});
|
|
261
|
-
_electron.ipcMain.addListener('user-token-will-expire', function () {
|
|
262
|
-
(0, _logger.getLogger)().info("user-token-will-expire in bootstrap-sdk");
|
|
263
|
-
ipcClient.sendMessage({
|
|
264
|
-
cmd: _type.IPCMessageCMD.TokenWillExpire,
|
|
265
|
-
data: {}
|
|
266
|
-
});
|
|
267
|
-
});
|
|
268
|
-
(0, _2.hookWindow)(mainWindow);
|
|
269
|
-
mainWindow.webContents.addListener('render-process-gone', function () {
|
|
270
|
-
var roomId = _eventManager.eventManager.roomId;
|
|
271
|
-
ipcClient.sendMessage({
|
|
272
|
-
cmd: _type.IPCMessageCMD.ExitedMeeting,
|
|
273
|
-
data: {
|
|
274
|
-
roomId: roomId,
|
|
275
|
-
reason: _until.crashedErrorCode
|
|
276
|
-
}
|
|
277
|
-
});
|
|
278
|
-
_eventManager.eventManager.onExitedMeeting(roomId, _struct.FcrUISceneLaunchEndReason.CRASHED);
|
|
279
|
-
});
|
|
280
|
-
mainWindow.webContents.addListener('did-finish-load', function () {
|
|
281
|
-
mainWindowReady = true;
|
|
282
|
-
ipcClient.sendMessage({
|
|
283
|
-
cmd: _type.IPCMessageCMD.ElectronMainWindowLoaded,
|
|
284
|
-
data: {}
|
|
285
|
-
});
|
|
286
|
-
});
|
|
287
|
-
mainWindow.addListener('minimize', function () {
|
|
288
|
-
(0, _logger.getLogger)().info('windows_release main window minimized');
|
|
289
|
-
mainWindowDisplayState = _struct.DisplayState.MINIMIZE;
|
|
290
|
-
userMinimize = true;
|
|
291
|
-
});
|
|
292
|
-
mainWindow.addListener('show', function () {
|
|
293
|
-
(0, _logger.getLogger)().info('windows_release main window show');
|
|
294
|
-
mainWindowDisplayState = _struct.DisplayState.SHOW;
|
|
295
|
-
mainWindow.focus();
|
|
296
|
-
userMinimize = false;
|
|
297
|
-
});
|
|
298
|
-
mainWindow.addListener('always-on-top-changed', function (event, alwaysOnTop) {
|
|
299
|
-
(0, _logger.getLogger)().info("windows_index main window always-on-top-changed: ".concat(alwaysOnTop));
|
|
300
|
-
});
|
|
301
|
-
mainWindow.addListener('hide', function () {
|
|
302
|
-
(0, _logger.getLogger)().info("windows_release main window hidden, current launch state: ".concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
|
|
303
|
-
(0, _logger.getLogger)().info("windows_release the main window is hide, all window State: ".concat(_electron.BrowserWindow.getAllWindows().map(function (windowItem) {
|
|
304
|
-
return "the window id ".concat(windowItem.id, " ").concat(windowItem.getTitle(), " ").concat(windowItem.isVisible());
|
|
305
|
-
})));
|
|
306
|
-
mainWindowDisplayState = _struct.DisplayState.HIDE;
|
|
307
|
-
if (userMinimize) {
|
|
308
|
-
(0, _logger.getLogger)().info('windows_release main window hidden, but user minimize, ignore this event');
|
|
309
|
-
return;
|
|
310
|
-
}
|
|
61
|
+
logger.info('app ready in bootstrap-sdk');
|
|
311
62
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
// ) {
|
|
316
|
-
// getLogger().info(
|
|
317
|
-
// 'windows_release main window hidden, but launch state is END, send error Event',
|
|
318
|
-
// );
|
|
63
|
+
// 创建主窗口
|
|
64
|
+
var mainWindow = createMainWindow();
|
|
65
|
+
processManager.init(mainWindow);
|
|
319
66
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
// data: {
|
|
323
|
-
// roomId: eventManager.roomId,
|
|
324
|
-
// errorCode: mainWindowHiddenOnLaunchSuccessErrorCode,
|
|
325
|
-
// message: 'main window hidden on launch success',
|
|
326
|
-
// },
|
|
327
|
-
// });
|
|
328
|
-
// return;
|
|
329
|
-
// }
|
|
67
|
+
// 挂钩窗口事件
|
|
68
|
+
(0, _2.hookWindow)(mainWindow);
|
|
330
69
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
// 再会议启动过程中,窗口被其他窗口遮挡也会触发hide事件,实际窗口在后面运行,所以需要判断窗口是否可见
|
|
336
|
-
if (mainWindow.isVisible()) {
|
|
337
|
-
(0, _logger.getLogger)().info('windows_release main window hidden, but window is visible, ignore this event');
|
|
338
|
-
return;
|
|
339
|
-
}
|
|
340
|
-
} catch (error) {
|
|
341
|
-
(0, _logger.getLogger)().error("windows_release main window hide, get main window visible error");
|
|
342
|
-
}
|
|
343
|
-
ipcClient.sendMessage({
|
|
344
|
-
// TODO
|
|
345
|
-
// cmd: IPCMessageCMD.ExitUiSceneFromMainProcess,
|
|
346
|
-
cmd: _type.IPCMessageCMD.ExitedMeeting,
|
|
347
|
-
data: {
|
|
348
|
-
roomId: _eventManager.eventManager.roomId,
|
|
349
|
-
reason: _until.windowHideErrorCode
|
|
350
|
-
}
|
|
351
|
-
});
|
|
352
|
-
_eventManager.eventManager.onExitedMeeting(_eventManager.eventManager.roomId, 'window hidden');
|
|
353
|
-
});
|
|
354
|
-
mainWindow.addListener('closed', function () {
|
|
355
|
-
(0, _logger.getLogger)().info('windows_release main window closed');
|
|
356
|
-
// 清理主窗口的hang detection状态
|
|
357
|
-
hangDetectionManager.handleWindowClosed(mainWindow.id);
|
|
358
|
-
_electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
|
|
359
|
-
});
|
|
360
|
-
mainWindow.addListener('close', function (e) {
|
|
361
|
-
mainWindowDisplayState = _struct.DisplayState.HIDE;
|
|
362
|
-
var closeListenerCount = mainWindow.listenerCount('close');
|
|
363
|
-
(0, _logger.getLogger)().info("windows_release main window close listener count: ".concat(closeListenerCount, ", isInMeeting: ").concat(_meetingState.isInMeeting));
|
|
364
|
-
if (_meetingState.isInMeeting === 0) {
|
|
365
|
-
// 只有在会议启动中才处理窗口关闭事件,其他状态走默认的会中逻辑
|
|
366
|
-
if (_eventManager.eventManager.launchState === _struct.FcrUISceneLaunchState.PROCESSING) {
|
|
367
|
-
_eventManager.eventManager.onCloseWindow();
|
|
368
|
-
}
|
|
369
|
-
e.preventDefault();
|
|
370
|
-
(0, _logger.getLogger)().info('windows_release main window close event prevented');
|
|
371
|
-
(0, _logger.getLogger)().info("windows_release main window close event prevented send close-window-before-launch-success, listener count: ".concat(mainWindow.listenerCount('close-window-before-launch-success')));
|
|
372
|
-
mainWindow.webContents.send('close-window-before-launch-success');
|
|
373
|
-
ipcClient.sendMessage({
|
|
374
|
-
// cmd: IPCMessageCMD.ExitUiSceneFromMainProcess,
|
|
375
|
-
cmd: _type.IPCMessageCMD.ExitedMeeting,
|
|
376
|
-
data: {
|
|
377
|
-
roomId: _eventManager.eventManager.roomId,
|
|
378
|
-
reason: _until.closeWindowBeforeLaunchSuccessErrorCode
|
|
379
|
-
}
|
|
380
|
-
});
|
|
381
|
-
(0, _logger.getLogger)().info('main window close event prevented');
|
|
382
|
-
setTimeout(function () {
|
|
383
|
-
if (mainWindow && !mainWindow.isDestroyed()) {
|
|
384
|
-
mainWindow.hide();
|
|
385
|
-
}
|
|
386
|
-
}, 300);
|
|
387
|
-
}
|
|
388
|
-
});
|
|
389
|
-
if (_env.isDev) {
|
|
390
|
-
mainWindow.webContents.openDevTools({
|
|
391
|
-
mode: 'detach'
|
|
392
|
-
});
|
|
393
|
-
mainWindow.loadURL(_env.devPageUrl);
|
|
394
|
-
} else {
|
|
395
|
-
mainWindow.loadFile(_path["default"].join(_env.distPathPrefix, _env.distIndexFileName));
|
|
396
|
-
}
|
|
70
|
+
// 加载页面
|
|
71
|
+
loadPage(mainWindow);
|
|
72
|
+
|
|
73
|
+
// 开发环境下启用 DevTools 快捷键
|
|
397
74
|
(0, _devtoolShortcut.listenDevToolShortcut)(mainWindow);
|
|
398
|
-
|
|
75
|
+
logger.info('Main window created and initialized');
|
|
399
76
|
});
|
|
77
|
+
|
|
78
|
+
// ==================== 浏览器窗口创建事件 ====================
|
|
79
|
+
|
|
400
80
|
_electron.app.addListener('browser-window-created', function (_, window) {
|
|
401
81
|
var windowId = window.id;
|
|
402
82
|
(0, _logger.getLogger)().warn("window created: ".concat(windowId, " ,window title: ").concat(window.getTitle()));
|
|
@@ -417,31 +97,57 @@ _electron.app.addListener('browser-window-created', function (_, window) {
|
|
|
417
97
|
(0, _main.enable)(window.webContents);
|
|
418
98
|
});
|
|
419
99
|
|
|
420
|
-
//
|
|
100
|
+
// ==================== 应用退出事件 ====================
|
|
101
|
+
|
|
421
102
|
_electron.app.addListener('before-quit', function (event) {
|
|
422
|
-
|
|
103
|
+
logger.info('app before-quit event triggered');
|
|
423
104
|
});
|
|
424
105
|
_electron.app.addListener('will-quit', function (event) {
|
|
425
|
-
|
|
106
|
+
logger.info('app will-quit event triggered');
|
|
426
107
|
});
|
|
427
108
|
_electron.app.addListener('quit', function (event, exitCode) {
|
|
428
|
-
|
|
429
|
-
// 清理 EventManager 资源
|
|
430
|
-
_eventManager.eventManager.dispose();
|
|
109
|
+
logger.info("app quit event triggered with exit code: ".concat(exitCode));
|
|
431
110
|
|
|
432
|
-
//
|
|
433
|
-
|
|
111
|
+
// 清理资源
|
|
112
|
+
cleanupResources();
|
|
434
113
|
});
|
|
114
|
+
|
|
115
|
+
// ==================== 辅助函数 ====================
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* 创建主窗口
|
|
119
|
+
*/
|
|
120
|
+
function createMainWindow() {
|
|
121
|
+
var mainWindow = new _electron.BrowserWindow(_objectSpread(_objectSpread({}, _defaultOptions.defaultWindowOptions), {}, {
|
|
122
|
+
webPreferences: _objectSpread({}, _defaultOptions.defaultWebPreferences),
|
|
123
|
+
show: false // 初始不显示窗口,等待 LaunchMeeting 消息
|
|
124
|
+
}));
|
|
125
|
+
|
|
126
|
+
// 禁用默认菜单
|
|
127
|
+
_electron.Menu.setApplicationMenu(null);
|
|
128
|
+
logger.info('Main window created');
|
|
129
|
+
return mainWindow;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* 加载页面
|
|
134
|
+
*/
|
|
135
|
+
function loadPage(mainWindow) {
|
|
136
|
+
if (_env.isDev) {
|
|
137
|
+
mainWindow.webContents.openDevTools({
|
|
138
|
+
mode: 'detach'
|
|
139
|
+
});
|
|
140
|
+
mainWindow.loadURL(_env.devPageUrl);
|
|
141
|
+
logger.info("Loading dev page: ".concat(_env.devPageUrl));
|
|
142
|
+
} else {
|
|
143
|
+
var indexPath = _path["default"].join(_env.distPathPrefix, _env.distIndexFileName);
|
|
144
|
+
mainWindow.loadFile(indexPath);
|
|
145
|
+
logger.info("Loading production page: ".concat(indexPath));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
435
148
|
var onHangTimeout = function onHangTimeout(windowId) {
|
|
436
149
|
(0, _logger.getLogger)().error("Window ".concat(windowId, " hang timeout, triggering application exit"));
|
|
437
|
-
|
|
438
|
-
ipcClient.sendMessage({
|
|
439
|
-
cmd: _type.IPCMessageCMD.ExitedMeeting,
|
|
440
|
-
data: {
|
|
441
|
-
roomId: _eventManager.eventManager.roomId,
|
|
442
|
-
reason: _until.hangDetectionErrorCode
|
|
443
|
-
}
|
|
444
|
-
});
|
|
150
|
+
processManager.handleWindowUnresponsive();
|
|
445
151
|
};
|
|
446
152
|
var onStateChange = function onStateChange(windowId, isUnresponsive, duration) {
|
|
447
153
|
if (isUnresponsive) {
|
|
@@ -457,21 +163,33 @@ var hangDetectionManager = new _hangDetection.MultiWindowHangDetectionManager({
|
|
|
457
163
|
timeout: _hangDetection.DEFAULT_HANG_DETECTION_TIMEOUT,
|
|
458
164
|
enableVerboseLogging: true
|
|
459
165
|
});
|
|
460
|
-
function handleUnresponsive(
|
|
461
|
-
var _mainWindow;
|
|
462
|
-
var targetWindowId = windowId || ((_mainWindow = mainWindow) === null || _mainWindow === void 0 ? void 0 : _mainWindow.id);
|
|
166
|
+
function handleUnresponsive(targetWindowId) {
|
|
463
167
|
if (!targetWindowId) {
|
|
464
168
|
(0, _logger.getLogger)().warn('Cannot handle unresponsive: no window ID available');
|
|
465
169
|
return;
|
|
466
170
|
}
|
|
467
171
|
hangDetectionManager.handleWindowUnresponsive(targetWindowId);
|
|
468
172
|
}
|
|
469
|
-
function handleResponsive(
|
|
470
|
-
var _mainWindow2;
|
|
471
|
-
var targetWindowId = windowId || ((_mainWindow2 = mainWindow) === null || _mainWindow2 === void 0 ? void 0 : _mainWindow2.id);
|
|
173
|
+
function handleResponsive(targetWindowId) {
|
|
472
174
|
if (!targetWindowId) {
|
|
473
175
|
(0, _logger.getLogger)().warn('Cannot handle responsive: no window ID available');
|
|
474
176
|
return;
|
|
475
177
|
}
|
|
476
178
|
hangDetectionManager.handleWindowResponsive(targetWindowId);
|
|
477
|
-
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* 清理资源
|
|
183
|
+
*/
|
|
184
|
+
function cleanupResources() {
|
|
185
|
+
logger.info('Cleaning up resources...');
|
|
186
|
+
|
|
187
|
+
// ProcessManager 会自动清理内部的 stateManager 和 eventManager
|
|
188
|
+
processManager.release();
|
|
189
|
+
|
|
190
|
+
// 清理所有 hang detection 计时器
|
|
191
|
+
hangDetectionManager.dispose();
|
|
192
|
+
logger.info('All resources cleaned up');
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// ==================== 导出 ====================
|
|
@@ -10,5 +10,10 @@ export declare enum AppExitCode {
|
|
|
10
10
|
* Renderer process has unexpectedly terminated
|
|
11
11
|
* This typically indicates a crash or critical error in the sub window renderer process
|
|
12
12
|
*/
|
|
13
|
-
RENDERER_PROCESS_GONE = 100
|
|
13
|
+
RENDERER_PROCESS_GONE = 100,
|
|
14
|
+
/**
|
|
15
|
+
* Window hang detection
|
|
16
|
+
* This typically indicates a hang or critical error in the main window
|
|
17
|
+
*/
|
|
18
|
+
HANG_DETECTION_EXIT = 101
|
|
14
19
|
}
|
|
@@ -18,5 +18,10 @@ var AppExitCode = exports.AppExitCode = /*#__PURE__*/function (AppExitCode) {
|
|
|
18
18
|
* This typically indicates a crash or critical error in the sub window renderer process
|
|
19
19
|
*/
|
|
20
20
|
AppExitCode[AppExitCode["RENDERER_PROCESS_GONE"] = 100] = "RENDERER_PROCESS_GONE";
|
|
21
|
+
/**
|
|
22
|
+
* Window hang detection
|
|
23
|
+
* This typically indicates a hang or critical error in the main window
|
|
24
|
+
*/
|
|
25
|
+
AppExitCode[AppExitCode["HANG_DETECTION_EXIT"] = 101] = "HANG_DETECTION_EXIT";
|
|
21
26
|
return AppExitCode;
|
|
22
27
|
}({});
|
|
@@ -3,6 +3,7 @@ import { BrowserWindowConstructorOptions } from 'electron/renderer';
|
|
|
3
3
|
import os from 'os';
|
|
4
4
|
import { NetworkType, RendererCustomEvent } from '../runtime';
|
|
5
5
|
import { BrowserWindowProxyImpl } from './window-proxy/browser-window-proxy';
|
|
6
|
+
import { FcrUiResourceType } from '../type';
|
|
6
7
|
export declare const openDirectory: () => Promise<string | undefined>;
|
|
7
8
|
export declare const showItemInFolder: (path: string) => void;
|
|
8
9
|
export declare const sendEvent: (event: RendererCustomEvent) => void;
|
|
@@ -27,13 +28,18 @@ export declare const quitApp: () => void;
|
|
|
27
28
|
export declare const getSystemMemorySize: () => number;
|
|
28
29
|
export declare const getSystemCpuInfo: () => os.CpuInfo[];
|
|
29
30
|
export declare const getNetworkType: () => Promise<NetworkType>;
|
|
30
|
-
export declare const
|
|
31
|
+
export declare const downloadAndExtractResourceFileFromZip: (zipUrl: string, type: FcrUiResourceType) => Promise<string[]>;
|
|
32
|
+
export declare const downloadResourceFile: (fileUrl: string, type: FcrUiResourceType) => Promise<string>;
|
|
31
33
|
export declare const fileToBase64: (file: string, type: "image" | "video" | "audio") => string;
|
|
32
34
|
export declare const fileToBlob: (file: string, type: "image" | "video" | "audio") => Blob;
|
|
33
35
|
export declare const loadBuiltinResources: () => Promise<{
|
|
34
|
-
virtualBackgroundImages
|
|
35
|
-
virtualBackgroundVideos
|
|
36
|
-
|
|
36
|
+
virtualBackgroundImages?: string[] | undefined;
|
|
37
|
+
virtualBackgroundVideos?: string[] | undefined;
|
|
38
|
+
soundEffectAudios?: {
|
|
39
|
+
cloudRecording?: string | undefined;
|
|
40
|
+
userJoin?: string | undefined;
|
|
41
|
+
speakerTest?: string | undefined;
|
|
42
|
+
} | undefined;
|
|
37
43
|
}>;
|
|
38
44
|
export declare const getMediaSourceIdList: () => {
|
|
39
45
|
title: string;
|