fcr-ui-scene 3.8.1 → 3.8.2
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/modules/dialog/dialogs/connection-gateway/tabs.d.ts +0 -1
- package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +2 -13
- package/lib/modules/invite/index.d.ts +4 -1
- package/lib/modules/invite/index.js +5 -2
- package/lib/modules/invite/store.d.ts +4 -0
- package/lib/modules/invite/store.js +48 -9
- package/lib/modules/invite/view.d.ts +4 -1
- package/lib/modules/invite/view.js +25 -10
- package/lib/modules/pc-audio-connect/main-scene/index.d.ts +0 -1
- package/lib/modules/pc-audio-connect/main-scene/index.js +2 -4
- package/lib/modules/pc-audio-connect/main-scene/store.d.ts +0 -3
- package/lib/modules/pc-audio-connect/main-scene/store.js +7 -43
- package/lib/modules/widget/store.electron.js +1 -1
- package/lib/scenes/main-scene.js +3 -2
- package/lib-es/assets/mic-loading.gif +0 -0
- package/lib-es/base.js +335 -0
- package/lib-es/creator/index.js +543 -0
- package/lib-es/creator/provider-initializer.browser.js +322 -0
- package/lib-es/creator/provider-initializer.electron.js +359 -0
- package/lib-es/creator/type.js +1 -0
- package/lib-es/electron/app.js +247 -0
- package/lib-es/electron/asar-validation.js +106 -0
- package/lib-es/electron/bootstrap-dev.js +45 -0
- package/lib-es/electron/bootstrap-sdk.js +198 -0
- package/lib-es/electron/default-options.js +18 -0
- package/lib-es/electron/env.js +8 -0
- package/lib-es/electron/exit-codes.js +20 -0
- package/lib-es/electron/hang-detection/index.js +2 -0
- package/lib-es/electron/hang-detection/manager.js +225 -0
- package/lib-es/electron/hang-detection/types.js +1 -0
- package/lib-es/electron/index.js +2 -0
- package/lib-es/electron/injections.js +830 -0
- package/lib-es/electron/ipc/ipc.js +134 -0
- package/lib-es/electron/ipc/type.js +22 -0
- package/lib-es/electron/ipc-protocol.js +58 -0
- package/lib-es/electron/logger.js +57 -0
- package/lib-es/electron/main.js +116 -0
- package/lib-es/electron/plugins/devtool-shortcut.js +26 -0
- package/lib-es/electron/plugins/meeting-state.js +32 -0
- package/lib-es/electron/plugins/screenshot.js +46 -0
- package/lib-es/electron/preload.js +42 -0
- package/lib-es/electron/process-manager/constants.js +1 -0
- package/lib-es/electron/process-manager/event-manager.js +242 -0
- package/lib-es/electron/process-manager/index.js +842 -0
- package/lib-es/electron/process-manager/state-manager.js +354 -0
- package/lib-es/electron/process-manager/types.js +78 -0
- package/lib-es/electron/sdk-helper.js +305 -0
- package/lib-es/electron/struct.js +21 -0
- package/lib-es/electron/until.js +64 -0
- package/lib-es/electron/window-proxy/browser-window-proxy.js +720 -0
- package/lib-es/electron/window-proxy/main-process-handler.js +441 -0
- package/lib-es/electron/window.js +91 -0
- package/lib-es/fragments/annotation/index.js +130 -0
- package/lib-es/fragments/annotation/libs.js +86 -0
- package/lib-es/fragments/annotation/store.js +866 -0
- package/lib-es/fragments/annotation/style.css +9 -0
- package/lib-es/fragments/annotation/toolbar/components/color-tool/color-panel/index.js +40 -0
- package/lib-es/fragments/annotation/toolbar/components/color-tool/index.js +48 -0
- package/lib-es/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/index.js +55 -0
- package/lib-es/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/libs.js +57 -0
- package/lib-es/fragments/annotation/toolbar/components/graphic-tool/index.js +62 -0
- package/lib-es/fragments/annotation/toolbar/components/item/item.js +106 -0
- package/lib-es/fragments/annotation/toolbar/components/item/style.css +45 -0
- package/lib-es/fragments/annotation/toolbar/components/panel/index.js +15 -0
- package/lib-es/fragments/annotation/toolbar/components/panel/style.css +24 -0
- package/lib-es/fragments/annotation/toolbar/components/pen-tool/index.js +54 -0
- package/lib-es/fragments/annotation/toolbar/components/pen-tool/pen-panel/index.js +28 -0
- package/lib-es/fragments/annotation/toolbar/components/tips/index.js +18 -0
- package/lib-es/fragments/annotation/toolbar/components/tips/style.css +19 -0
- package/lib-es/fragments/annotation/toolbar/store.js +292 -0
- package/lib-es/fragments/annotation/toolbar/style.css +55 -0
- package/lib-es/fragments/annotation/toolbar/view.js +140 -0
- package/lib-es/fragments/annotation/utils.js +20 -0
- package/lib-es/fragments/annotation/view.js +59 -0
- package/lib-es/fragments/base.js +40 -0
- package/lib-es/fragments/whiteboard/cursor.css +77 -0
- package/lib-es/fragments/whiteboard/index.js +80 -0
- package/lib-es/fragments/whiteboard/store.js +487 -0
- package/lib-es/fragments/whiteboard/style.css +4 -0
- package/lib-es/fragments/whiteboard/view.js +24 -0
- package/lib-es/global.css +62 -0
- package/lib-es/global.d.ts +27 -0
- package/lib-es/hooks/i18n.js +10 -0
- package/lib-es/index.js +38 -0
- package/lib-es/modules/action-bar/components/apps/index.js +43 -0
- package/lib-es/modules/action-bar/components/board/index.js +25 -0
- package/lib-es/modules/action-bar/components/breakout-room/index.js +23 -0
- package/lib-es/modules/action-bar/components/chat/index.css +88 -0
- package/lib-es/modules/action-bar/components/chat/index.js +126 -0
- package/lib-es/modules/action-bar/components/collapse/index.js +203 -0
- package/lib-es/modules/action-bar/components/confirm-leave-meeting/index.js +70 -0
- package/lib-es/modules/action-bar/components/interpreter/index.js +34 -0
- package/lib-es/modules/action-bar/components/item/index.js +158 -0
- package/lib-es/modules/action-bar/components/leave/index.js +118 -0
- package/lib-es/modules/action-bar/components/live-streaming/index.js +32 -0
- package/lib-es/modules/action-bar/components/more/index.css +114 -0
- package/lib-es/modules/action-bar/components/more/index.js +79 -0
- package/lib-es/modules/action-bar/components/more/poppover-content.js +410 -0
- package/lib-es/modules/action-bar/components/notification-bar/assets/dome.png +0 -0
- package/lib-es/modules/action-bar/components/notification-bar/assets/fcr_translateswitch.png +0 -0
- package/lib-es/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -0
- package/lib-es/modules/action-bar/components/notification-bar/components/interpreter/index.js +93 -0
- package/lib-es/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -0
- package/lib-es/modules/action-bar/components/notification-bar/components/virtual-image/index.js +25 -0
- package/lib-es/modules/action-bar/components/notification-bar/index.css +74 -0
- package/lib-es/modules/action-bar/components/notification-bar/index.js +96 -0
- package/lib-es/modules/action-bar/components/participants/index.css +21 -0
- package/lib-es/modules/action-bar/components/participants/index.js +52 -0
- package/lib-es/modules/action-bar/components/placement/index.js +10 -0
- package/lib-es/modules/action-bar/components/record/index.css +39 -0
- package/lib-es/modules/action-bar/components/record/index.js +89 -0
- package/lib-es/modules/action-bar/components/record/popover.js +50 -0
- package/lib-es/modules/action-bar/components/record/stop-record-dialog.js +41 -0
- package/lib-es/modules/action-bar/components/respond/index.js +25 -0
- package/lib-es/modules/action-bar/components/screen-share/index.browser.js +61 -0
- package/lib-es/modules/action-bar/components/screen-share/index.electron.js +78 -0
- package/lib-es/modules/action-bar/components/screen-share/index.js +4 -0
- package/lib-es/modules/action-bar/components/screen-share/submenu.js +219 -0
- package/lib-es/modules/action-bar/components/security/index.js +42 -0
- package/lib-es/modules/action-bar/components/settings/index.js +29 -0
- package/lib-es/modules/action-bar/components/smaller/index.js +45 -0
- package/lib-es/modules/action-bar/components/trigger-output-language/fcr_translateswitch.png +0 -0
- package/lib-es/modules/action-bar/components/trigger-output-language/index.css +86 -0
- package/lib-es/modules/action-bar/components/trigger-output-language/index.js +228 -0
- package/lib-es/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -0
- package/lib-es/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.js +62 -0
- package/lib-es/modules/action-bar/components/trigger-subscribe-language/index.js +216 -0
- package/lib-es/modules/action-bar/constants.js +1 -0
- package/lib-es/modules/action-bar/enums.js +28 -0
- package/lib-es/modules/action-bar/index.css +358 -0
- package/lib-es/modules/action-bar/main-scene/index.js +123 -0
- package/lib-es/modules/action-bar/main-scene/store.base.js +1486 -0
- package/lib-es/modules/action-bar/main-scene/store.browser.js +105 -0
- package/lib-es/modules/action-bar/main-scene/store.electron.js +94 -0
- package/lib-es/modules/action-bar/main-scene/view.js +105 -0
- package/lib-es/modules/action-bar/type.js +6 -0
- package/lib-es/modules/action-bar/waiting-scene/index.js +94 -0
- package/lib-es/modules/action-bar/waiting-scene/store.base.js +88 -0
- package/lib-es/modules/action-bar/waiting-scene/store.browser.js +17 -0
- package/lib-es/modules/action-bar/waiting-scene/store.electron.js +37 -0
- package/lib-es/modules/action-bar/waiting-scene/view.js +116 -0
- package/lib-es/modules/audio-stream/index.js +393 -0
- package/lib-es/modules/caption/draggable-container/index.css +10 -0
- package/lib-es/modules/caption/draggable-container/index.js +159 -0
- package/lib-es/modules/caption/index.js +117 -0
- package/lib-es/modules/caption/store.js +352 -0
- package/lib-es/modules/caption/type.js +7 -0
- package/lib-es/modules/caption/view.css +158 -0
- package/lib-es/modules/caption/view.js +266 -0
- package/lib-es/modules/chat/chat-room-store.js +923 -0
- package/lib-es/modules/chat/components/chat-action/index.js +21 -0
- package/lib-es/modules/chat/components/chat-bar/index.css +89 -0
- package/lib-es/modules/chat/components/chat-bar/index.js +141 -0
- package/lib-es/modules/chat/components/chat-select/index.css +185 -0
- package/lib-es/modules/chat/components/chat-select/index.js +100 -0
- package/lib-es/modules/chat/components/chat-select/select-input/index.js +27 -0
- package/lib-es/modules/chat/components/chat-select/select-item/index.js +150 -0
- package/lib-es/modules/chat/components/chat-tabs/index.js +53 -0
- package/lib-es/modules/chat/components/message-list/chat-empty/index.js +18 -0
- package/lib-es/modules/chat/components/message-list/history-unread-message-button/index.js +48 -0
- package/lib-es/modules/chat/components/message-list/index.js +327 -0
- package/lib-es/modules/chat/components/message-list/message-item/index.js +343 -0
- package/lib-es/modules/chat/components/message-list/scroll-bottom-button/index.js +60 -0
- package/lib-es/modules/chat/index.css +124 -0
- package/lib-es/modules/chat/index.dev.js +71 -0
- package/lib-es/modules/chat/index.js +168 -0
- package/lib-es/modules/chat/mock.js +276 -0
- package/lib-es/modules/chat/store.js +359 -0
- package/lib-es/modules/chat/types.js +12 -0
- package/lib-es/modules/chat/util.js +63 -0
- package/lib-es/modules/chat/view.js +312 -0
- package/lib-es/modules/components/annotation-menu/index.js +104 -0
- package/lib-es/modules/components/apps/app-item/index.css +49 -0
- package/lib-es/modules/components/apps/app-item/index.js +130 -0
- package/lib-es/modules/components/apps/app-list.js +49 -0
- package/lib-es/modules/components/apps/index.css +9 -0
- package/lib-es/modules/components/apps/types.js +1 -0
- package/lib-es/modules/components/caption-menu/index.css +58 -0
- package/lib-es/modules/components/caption-menu/index.js +108 -0
- package/lib-es/modules/components/caption-menu/participants-privilege-control-options.js +65 -0
- package/lib-es/modules/components/caption-menu/steps/index.css +73 -0
- package/lib-es/modules/components/caption-menu/steps/index.js +49 -0
- package/lib-es/modules/components/caption-menu/translation-setting-options.js +180 -0
- package/lib-es/modules/components/control-bar/components/loading/index.css +76 -0
- package/lib-es/modules/components/control-bar/components/loading/index.js +56 -0
- package/lib-es/modules/components/control-bar/components/loading/loading.png +0 -0
- package/lib-es/modules/components/control-bar/components/progress/index.js +36 -0
- package/lib-es/modules/components/control-bar/components/progress/style.css +51 -0
- package/lib-es/modules/components/control-bar/components/switch-theme/index.css +101 -0
- package/lib-es/modules/components/control-bar/components/switch-theme/index.js +86 -0
- package/lib-es/modules/components/control-bar/components/switch-theme/item.js +46 -0
- package/lib-es/modules/components/control-bar/components/switch-theme/libs.js +24 -0
- package/lib-es/modules/components/control-bar/index.css +99 -0
- package/lib-es/modules/components/control-bar/index.js +357 -0
- package/lib-es/modules/components/device-control/components/audio-menu/index.js +167 -0
- package/lib-es/modules/components/device-control/components/carmera/index.js +108 -0
- package/lib-es/modules/components/device-control/components/microphone/index.js +182 -0
- package/lib-es/modules/components/device-control/components/none-menu/index.js +61 -0
- package/lib-es/modules/components/device-control/components/phone-menu/index.js +54 -0
- package/lib-es/modules/components/device-control/components/video-menu/index.js +105 -0
- package/lib-es/modules/components/device-control/hooks/index.js +34 -0
- package/lib-es/modules/components/device-control/index.css +177 -0
- package/lib-es/modules/components/device-control/index.js +14 -0
- package/lib-es/modules/components/device-control/main-scene/store.js +88 -0
- package/lib-es/modules/components/device-control/store.base.js +242 -0
- package/lib-es/modules/components/device-control/type.js +1 -0
- package/lib-es/modules/components/device-control/waiting-scene/store.js +84 -0
- package/lib-es/modules/components/leave-meeting/components/assign-host.js +101 -0
- package/lib-es/modules/components/leave-meeting/components/index.css +151 -0
- package/lib-es/modules/components/leave-meeting/index.js +148 -0
- package/lib-es/modules/components/leave-meeting/main-scene/store.js +107 -0
- package/lib-es/modules/components/leave-meeting/portal.js +22 -0
- package/lib-es/modules/components/leave-meeting/store.base.js +299 -0
- package/lib-es/modules/components/leave-meeting/style.css +9 -0
- package/lib-es/modules/components/leave-meeting/type.js +1 -0
- package/lib-es/modules/components/leave-meeting/waiting-scene/store.js +98 -0
- package/lib-es/modules/components/member-window/components/member-actions/components/audio-control.js +35 -0
- package/lib-es/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +162 -0
- package/lib-es/modules/components/member-window/components/member-actions/components/icon-status.js +80 -0
- package/lib-es/modules/components/member-window/components/member-actions/components/layout/index.js +23 -0
- package/lib-es/modules/components/member-window/components/member-actions/components/more-actions.js +128 -0
- package/lib-es/modules/components/member-window/components/member-actions/components/share-status.js +34 -0
- package/lib-es/modules/components/member-window/components/member-actions/components/user-info.js +105 -0
- package/lib-es/modules/components/member-window/components/member-actions/components/user-tag.js +51 -0
- package/lib-es/modules/components/member-window/components/member-actions/index.js +98 -0
- package/lib-es/modules/components/member-window/components/member-actions/libs/index.js +14 -0
- package/lib-es/modules/components/member-window/components/member-actions/provider.js +70 -0
- package/lib-es/modules/components/member-window/components/member-actions/store.js +430 -0
- package/lib-es/modules/components/member-window/components/mic-volume.js +16 -0
- package/lib-es/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +104 -0
- package/lib-es/modules/components/member-window/components/video-player/components/local-video-player.js +1 -0
- package/lib-es/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.js +60 -0
- package/lib-es/modules/components/member-window/components/video-player/components/remote-video-player.js +1 -0
- package/lib-es/modules/components/member-window/components/video-player/components/zoomable-container.js +223 -0
- package/lib-es/modules/components/member-window/components/video-player/index.js +37 -0
- package/lib-es/modules/components/member-window/index.css +502 -0
- package/lib-es/modules/components/member-window/index.js +179 -0
- package/lib-es/modules/components/member-window/types.js +1 -0
- package/lib-es/modules/components/security-menu/index.css +42 -0
- package/lib-es/modules/components/security-menu/index.js +472 -0
- package/lib-es/modules/components/security-menu/store.js +388 -0
- package/lib-es/modules/components/security-menu/type.js +1 -0
- package/lib-es/modules/components/tab-frame/index.css +40 -0
- package/lib-es/modules/components/tab-frame/index.js +51 -0
- package/lib-es/modules/components/toolbar/components/capture-tool/index.js +58 -0
- package/lib-es/modules/components/toolbar/components/clean-tool/index.js +63 -0
- package/lib-es/modules/components/toolbar/components/color-tool/color-panel/index.js +70 -0
- package/lib-es/modules/components/toolbar/components/color-tool/index.js +58 -0
- package/lib-es/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +57 -0
- package/lib-es/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +57 -0
- package/lib-es/modules/components/toolbar/components/graphic-tool/index.js +72 -0
- package/lib-es/modules/components/toolbar/components/group-tool/index.js +35 -0
- package/lib-es/modules/components/toolbar/components/icons/fold-icon.js +33 -0
- package/lib-es/modules/components/toolbar/components/icons/move-icon.js +59 -0
- package/lib-es/modules/components/toolbar/components/item/index.js +157 -0
- package/lib-es/modules/components/toolbar/components/item/style.css +94 -0
- package/lib-es/modules/components/toolbar/components/multiple-color-tool/index.js +67 -0
- package/lib-es/modules/components/toolbar/components/panel/index.js +21 -0
- package/lib-es/modules/components/toolbar/components/panel/style.css +86 -0
- package/lib-es/modules/components/toolbar/components/pen-tool/index.js +54 -0
- package/lib-es/modules/components/toolbar/components/pen-tool/pen-panel/index.js +32 -0
- package/lib-es/modules/components/toolbar/components/save-draft/index.js +51 -0
- package/lib-es/modules/components/toolbar/components/vertical-frame/index.js +176 -0
- package/lib-es/modules/components/toolbar/hooks/use-resize-visible.js +64 -0
- package/lib-es/modules/components/toolbar/index.js +235 -0
- package/lib-es/modules/components/toolbar/style.css +85 -0
- package/lib-es/modules/components/toolbar/types.js +1 -0
- package/lib-es/modules/connection-gateway/components/computer/index.css +12 -0
- package/lib-es/modules/connection-gateway/components/computer/index.js +59 -0
- package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.css +36 -0
- package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.js +71 -0
- package/lib-es/modules/connection-gateway/components/phone/components/calling/index.css +72 -0
- package/lib-es/modules/connection-gateway/components/phone/components/calling/index.js +51 -0
- package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.css +10 -0
- package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.js +17 -0
- package/lib-es/modules/connection-gateway/components/phone/components/useing/index.css +46 -0
- package/lib-es/modules/connection-gateway/components/phone/components/useing/index.js +29 -0
- package/lib-es/modules/connection-gateway/components/phone/index.css +49 -0
- package/lib-es/modules/connection-gateway/components/phone/index.js +177 -0
- package/lib-es/modules/connection-gateway/enums.js +5 -0
- package/lib-es/modules/connection-gateway/index.css +6 -0
- package/lib-es/modules/connection-gateway/index.js +60 -0
- package/lib-es/modules/connection-gateway/store.js +709 -0
- package/lib-es/modules/connection-gateway/types.js +1 -0
- package/lib-es/modules/connection-gateway/view.js +31 -0
- package/lib-es/modules/control-bar/components/apps-popover/index.js +34 -0
- package/lib-es/modules/control-bar/components/boundary-detector.js +49 -0
- package/lib-es/modules/control-bar/components/carmera/index.js +107 -0
- package/lib-es/modules/control-bar/components/cloud-recording-buttons.js +109 -0
- package/lib-es/modules/control-bar/components/meeting-details/index.css +133 -0
- package/lib-es/modules/control-bar/components/meeting-details/index.js +230 -0
- package/lib-es/modules/control-bar/components/microphone/index.js +185 -0
- package/lib-es/modules/control-bar/components/more-actions/index.css +103 -0
- package/lib-es/modules/control-bar/components/more-actions/index.js +158 -0
- package/lib-es/modules/control-bar/components/share-audio/index.css +90 -0
- package/lib-es/modules/control-bar/components/share-audio/index.js +142 -0
- package/lib-es/modules/control-bar/components/share-state-nav/index.css +79 -0
- package/lib-es/modules/control-bar/components/share-state-nav/index.js +122 -0
- package/lib-es/modules/control-bar/components/stop-live-streaming/index.js +29 -0
- package/lib-es/modules/control-bar/components/stop-live-streaming/stop-button.js +28 -0
- package/lib-es/modules/control-bar/components/transfer-position-icon/index.js +34 -0
- package/lib-es/modules/control-bar/context.js +5 -0
- package/lib-es/modules/control-bar/enums.js +27 -0
- package/lib-es/modules/control-bar/hooks.js +168 -0
- package/lib-es/modules/control-bar/index.css +340 -0
- package/lib-es/modules/control-bar/index.dev.js +37 -0
- package/lib-es/modules/control-bar/index.js +144 -0
- package/lib-es/modules/control-bar/store.js +781 -0
- package/lib-es/modules/control-bar/type.js +1 -0
- package/lib-es/modules/control-bar/view.js +663 -0
- package/lib-es/modules/device-pretest/assets/virtual-backdound-resources.js +14 -0
- package/lib-es/modules/device-pretest/audio-preview/microphone-detection.js +64 -0
- package/lib-es/modules/device-pretest/audio-preview/speaker-control.js +58 -0
- package/lib-es/modules/device-pretest/audio-preview/speaker-detection.js +63 -0
- package/lib-es/modules/device-pretest/index.css +123 -0
- package/lib-es/modules/device-pretest/index.js +234 -0
- package/lib-es/modules/device-pretest/settings/beauty.js +107 -0
- package/lib-es/modules/device-pretest/settings/camera-select.js +45 -0
- package/lib-es/modules/device-pretest/settings/video-effect.js +43 -0
- package/lib-es/modules/device-pretest/settings/video-settings-basic.js +137 -0
- package/lib-es/modules/device-pretest/settings/virtual-background-setting.js +94 -0
- package/lib-es/modules/device-pretest/store.js +437 -0
- package/lib-es/modules/dialog/components/confirm/index.css +24 -0
- package/lib-es/modules/dialog/components/confirm/index.js +154 -0
- package/lib-es/modules/dialog/components/dialog-container/component/body.js +103 -0
- package/lib-es/modules/dialog/components/dialog-container/index.css +112 -0
- package/lib-es/modules/dialog/components/dialog-container/index.js +135 -0
- package/lib-es/modules/dialog/components/host-area-container/index.js +146 -0
- package/lib-es/modules/dialog/components/normal-window/index.js +53 -0
- package/lib-es/modules/dialog/dialogs/annotation-tool/index.js +47 -0
- package/lib-es/modules/dialog/dialogs/caption/index.js +35 -0
- package/lib-es/modules/dialog/dialogs/chat/components/actions.js +36 -0
- package/lib-es/modules/dialog/dialogs/chat/index.js +74 -0
- package/lib-es/modules/dialog/dialogs/confirm/index.css +24 -0
- package/lib-es/modules/dialog/dialogs/confirm/index.js +51 -0
- package/lib-es/modules/dialog/dialogs/confirm-leave-meeting/index.js +38 -0
- package/lib-es/modules/dialog/dialogs/connection-gateway/index.js +40 -0
- package/lib-es/modules/dialog/dialogs/connection-gateway/tabs.js +40 -0
- package/lib-es/modules/dialog/dialogs/control-bar/index.js +29 -0
- package/lib-es/modules/dialog/dialogs/control-bar-leave-meeting/index.js +33 -0
- package/lib-es/modules/dialog/dialogs/device-setting/index.css +26 -0
- package/lib-es/modules/dialog/dialogs/device-setting/index.js +36 -0
- package/lib-es/modules/dialog/dialogs/end-meeting/index.js +48 -0
- package/lib-es/modules/dialog/dialogs/interpreter/index.css +30 -0
- package/lib-es/modules/dialog/dialogs/interpreter/index.js +38 -0
- package/lib-es/modules/dialog/dialogs/invite/index.js +51 -0
- package/lib-es/modules/dialog/dialogs/live-streaming/index.js +30 -0
- package/lib-es/modules/dialog/dialogs/mute-all/index.css +20 -0
- package/lib-es/modules/dialog/dialogs/mute-all/index.js +42 -0
- package/lib-es/modules/dialog/dialogs/participant/components/actions.js +23 -0
- package/lib-es/modules/dialog/dialogs/participant/components/title.js +9 -0
- package/lib-es/modules/dialog/dialogs/participant/index.js +52 -0
- package/lib-es/modules/dialog/dialogs/rename/index.js +43 -0
- package/lib-es/modules/dialog/dialogs/sample-dialog/index.js +48 -0
- package/lib-es/modules/dialog/dialogs/share-screen-selection/index.js +32 -0
- package/lib-es/modules/dialog/dialogs/sub-window/index.js +31 -0
- package/lib-es/modules/dialog/dialogs/subtitles-history/index.js +44 -0
- package/lib-es/modules/dialog/dialogs/system-preference/assets/bg1.png +0 -0
- package/lib-es/modules/dialog/dialogs/system-preference/assets/bg2.png +0 -0
- package/lib-es/modules/dialog/dialogs/system-preference/assets/fcr_png_host.png +0 -0
- package/lib-es/modules/dialog/dialogs/system-preference/electron.js +31 -0
- package/lib-es/modules/dialog/dialogs/system-preference/index.css +52 -0
- package/lib-es/modules/dialog/dialogs/system-preference/index.js +130 -0
- package/lib-es/modules/dialog/dialogs/toast/index.js +28 -0
- package/lib-es/modules/dialog/dialogs/video-window/index.js +55 -0
- package/lib-es/modules/dialog/dialogs/whiteboard/index.js +60 -0
- package/lib-es/modules/dialog/dialogs/widget/index.js +40 -0
- package/lib-es/modules/dialog/hooks/use-web-drag.js +64 -0
- package/lib-es/modules/dialog/index.css +56 -0
- package/lib-es/modules/dialog/index.js +70 -0
- package/lib-es/modules/dialog/level-config.js +11 -0
- package/lib-es/modules/dialog/store.base.js +272 -0
- package/lib-es/modules/dialog/store.browser.js +135 -0
- package/lib-es/modules/dialog/store.electron.js +284 -0
- package/lib-es/modules/dialog/type.js +1 -0
- package/lib-es/modules/dialog/view.js +28 -0
- package/lib-es/modules/event-sound/enum.js +13 -0
- package/lib-es/modules/event-sound/index.js +49 -0
- package/lib-es/modules/event-sound/sound-effect-player.js +49 -0
- package/lib-es/modules/event-sound/store.js +275 -0
- package/lib-es/modules/event-sound/type.js +1 -0
- package/lib-es/modules/event-toast/index.css +25 -0
- package/lib-es/modules/event-toast/index.js +82 -0
- package/lib-es/modules/event-toast/store.base.js +193 -0
- package/lib-es/modules/event-toast/store.browser.js +23 -0
- package/lib-es/modules/event-toast/store.electron.js +138 -0
- package/lib-es/modules/event-toast/type.js +1 -0
- package/lib-es/modules/event-toast/view.js +37 -0
- package/lib-es/modules/interpreter/action/add-btn/index.css +4 -0
- package/lib-es/modules/interpreter/action/add-btn/index.js +35 -0
- package/lib-es/modules/interpreter/action/delete-btn/index.css +14 -0
- package/lib-es/modules/interpreter/action/delete-btn/index.js +31 -0
- package/lib-es/modules/interpreter/action/edit-btn/index.js +39 -0
- package/lib-es/modules/interpreter/action/switch-btn/index.css +3 -0
- package/lib-es/modules/interpreter/action/switch-btn/index.js +44 -0
- package/lib-es/modules/interpreter/dialog-content/index.css +33 -0
- package/lib-es/modules/interpreter/dialog-content/index.js +30 -0
- package/lib-es/modules/interpreter/footer/index.css +11 -0
- package/lib-es/modules/interpreter/footer/index.js +18 -0
- package/lib-es/modules/interpreter/index.css +4 -0
- package/lib-es/modules/interpreter/index.js +109 -0
- package/lib-es/modules/interpreter/interpreter-list/index.css +8 -0
- package/lib-es/modules/interpreter/interpreter-list/index.js +30 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +46 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +173 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ar.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_cn.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_de.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_en.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_es.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_fr.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_hi.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_id.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_it.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_jp.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ko.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ms.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_pt.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ru.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_th.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_tr.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_vi.png +0 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +169 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +46 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +120 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +51 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/index.css +32 -0
- package/lib-es/modules/interpreter/interpreter-list/interpreter-item/index.js +40 -0
- package/lib-es/modules/interpreter/loading-wrapper/index.css +53 -0
- package/lib-es/modules/interpreter/loading-wrapper/index.js +20 -0
- package/lib-es/modules/interpreter/store.js +614 -0
- package/lib-es/modules/interpreter/tooltip-wrapper/index.js +23 -0
- package/lib-es/modules/interpreter/type.js +5 -0
- package/lib-es/modules/interpreter/utils.js +54 -0
- package/lib-es/modules/interpreter/view.js +62 -0
- package/lib-es/modules/invite/components/error-tips.js +11 -0
- package/lib-es/modules/invite/components/pstn-invite.js +245 -0
- package/lib-es/modules/invite/components/voip-invite.css +26 -0
- package/lib-es/modules/invite/components/voip-invite.js +265 -0
- package/lib-es/modules/invite/enums.js +27 -0
- package/lib-es/modules/invite/index.css +331 -0
- package/lib-es/modules/invite/index.js +64 -0
- package/lib-es/modules/invite/store.js +578 -0
- package/lib-es/modules/invite/types.js +1 -0
- package/lib-es/modules/invite/view.js +46 -0
- package/lib-es/modules/layout/components/Aside.js +208 -0
- package/lib-es/modules/layout/components/Carousel.js +192 -0
- package/lib-es/modules/layout/components/CommonVideoRenderer.js +265 -0
- package/lib-es/modules/layout/components/Gallery.js +256 -0
- package/lib-es/modules/layout/components/index.css +653 -0
- package/lib-es/modules/layout/components/index.js +5 -0
- package/lib-es/modules/layout/components/utils.js +3 -0
- package/lib-es/modules/layout/components/who-is-speaking.js +49 -0
- package/lib-es/modules/layout/index.css +59 -0
- package/lib-es/modules/layout/index.dev.js +313 -0
- package/lib-es/modules/layout/index.js +74 -0
- package/lib-es/modules/layout/store.base.js +1468 -0
- package/lib-es/modules/layout/store.browser.js +49 -0
- package/lib-es/modules/layout/store.electron.js +175 -0
- package/lib-es/modules/layout/type.js +59 -0
- package/lib-es/modules/layout/view.js +149 -0
- package/lib-es/modules/live-streaming/index.css +0 -0
- package/lib-es/modules/live-streaming/index.dev.js +56 -0
- package/lib-es/modules/live-streaming/index.js +60 -0
- package/lib-es/modules/live-streaming/store.js +246 -0
- package/lib-es/modules/live-streaming/type.js +1 -0
- package/lib-es/modules/live-streaming/view.js +26 -0
- package/lib-es/modules/notification/index.css +77 -0
- package/lib-es/modules/notification/index.js +59 -0
- package/lib-es/modules/notification/interpreter-status/index.css +76 -0
- package/lib-es/modules/notification/interpreter-status/index.js +55 -0
- package/lib-es/modules/notification/store.js +122 -0
- package/lib-es/modules/notification/type.js +1 -0
- package/lib-es/modules/notification/view.js +127 -0
- package/lib-es/modules/offscreen-pulling/index.js +122 -0
- package/lib-es/modules/participant/components/can-moveable/index.js +59 -0
- package/lib-es/modules/participant/components/confirm-input/index.css +4 -0
- package/lib-es/modules/participant/components/confirm-input/index.js +112 -0
- package/lib-es/modules/participant/components/mute-all/index.js +67 -0
- package/lib-es/modules/participant/components/operate-waitingroom-member/index.js +40 -0
- package/lib-es/modules/participant/components/participants/components/footer/components/buttons.js +45 -0
- package/lib-es/modules/participant/components/participants/components/footer/components/drop-menu/index.css +83 -0
- package/lib-es/modules/participant/components/participants/components/footer/components/drop-menu/index.js +156 -0
- package/lib-es/modules/participant/components/participants/components/footer/components/drop-menu/util.js +21 -0
- package/lib-es/modules/participant/components/participants/components/footer/index.js +42 -0
- package/lib-es/modules/participant/components/participants/components/merge/index.js +40 -0
- package/lib-es/modules/participant/components/participants/components/render-tab/index.js +42 -0
- package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +40 -0
- package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +21 -0
- package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.js +32 -0
- package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/index.css +87 -0
- package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/index.js +138 -0
- package/lib-es/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.js +25 -0
- package/lib-es/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +70 -0
- package/lib-es/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.js +20 -0
- package/lib-es/modules/participant/components/participants/components/render-user/components/user-action/index.js +70 -0
- package/lib-es/modules/participant/components/participants/components/render-user/index.js +16 -0
- package/lib-es/modules/participant/components/participants/index.js +71 -0
- package/lib-es/modules/participant/index.css +102 -0
- package/lib-es/modules/participant/index.dev.js +87 -0
- package/lib-es/modules/participant/index.js +137 -0
- package/lib-es/modules/participant/member-list-data-source.js +297 -0
- package/lib-es/modules/participant/store.base.js +2354 -0
- package/lib-es/modules/participant/store.browser.js +117 -0
- package/lib-es/modules/participant/store.electron.js +124 -0
- package/lib-es/modules/participant/struct.js +55 -0
- package/lib-es/modules/participant/type.js +7 -0
- package/lib-es/modules/participant/view.js +18 -0
- package/lib-es/modules/pc-audio-connect/index.css +12 -0
- package/lib-es/modules/pc-audio-connect/main-scene/index.js +67 -0
- package/lib-es/modules/pc-audio-connect/main-scene/store.js +313 -0
- package/lib-es/modules/pc-audio-connect/types.js +1 -0
- package/lib-es/modules/pc-audio-connect/view.js +60 -0
- package/lib-es/modules/pc-audio-connect/waiting-scene/index.js +61 -0
- package/lib-es/modules/pc-audio-connect/waiting-scene/store.js +293 -0
- package/lib-es/modules/phone-audio-connect/components/callinfo/index.css +36 -0
- package/lib-es/modules/phone-audio-connect/components/callinfo/index.js +71 -0
- package/lib-es/modules/phone-audio-connect/components/calling/index.css +72 -0
- package/lib-es/modules/phone-audio-connect/components/calling/index.js +51 -0
- package/lib-es/modules/phone-audio-connect/components/remeber/index.css +10 -0
- package/lib-es/modules/phone-audio-connect/components/remeber/index.js +17 -0
- package/lib-es/modules/phone-audio-connect/components/useing/index.css +46 -0
- package/lib-es/modules/phone-audio-connect/components/useing/index.js +29 -0
- package/lib-es/modules/phone-audio-connect/enums.js +5 -0
- package/lib-es/modules/phone-audio-connect/index.css +56 -0
- package/lib-es/modules/phone-audio-connect/index.js +52 -0
- package/lib-es/modules/phone-audio-connect/store.js +317 -0
- package/lib-es/modules/phone-audio-connect/types.js +1 -0
- package/lib-es/modules/phone-audio-connect/view.js +177 -0
- package/lib-es/modules/secondary-window/index.js +147 -0
- package/lib-es/modules/secondary-window/store.js +502 -0
- package/lib-es/modules/secondary-window/type.js +28 -0
- package/lib-es/modules/secondary-window/view.js +281 -0
- package/lib-es/modules/setting/audio-settings/audio-settings.js +292 -0
- package/lib-es/modules/setting/audio-settings/index.css +195 -0
- package/lib-es/modules/setting/audio-whiteList/audio-device-adaptation.js +62 -0
- package/lib-es/modules/setting/audio-whiteList/audio-whiteList-manager.js +368 -0
- package/lib-es/modules/setting/caption_and_transcribing/index.css +88 -0
- package/lib-es/modules/setting/caption_and_transcribing/index.js +89 -0
- package/lib-es/modules/setting/general-settings/general-settings.js +148 -0
- package/lib-es/modules/setting/general-settings/index.css +41 -0
- package/lib-es/modules/setting/index.css +112 -0
- package/lib-es/modules/setting/index.dev.js +120 -0
- package/lib-es/modules/setting/index.js +145 -0
- package/lib-es/modules/setting/minutes-settings/index.css +65 -0
- package/lib-es/modules/setting/minutes-settings/minutes-settings.js +146 -0
- package/lib-es/modules/setting/state/index.css +207 -0
- package/lib-es/modules/setting/state/index.js +322 -0
- package/lib-es/modules/setting/storage-settings/index.css +91 -0
- package/lib-es/modules/setting/storage-settings/storage-settings.js +65 -0
- package/lib-es/modules/setting/store.base.js +1440 -0
- package/lib-es/modules/setting/store.browser.js +43 -0
- package/lib-es/modules/setting/store.electron.js +168 -0
- package/lib-es/modules/setting/translate-settings/index.css +47 -0
- package/lib-es/modules/setting/translate-settings/language-select.js +40 -0
- package/lib-es/modules/setting/translate-settings/translate-settings.js +131 -0
- package/lib-es/modules/setting/type.js +14 -0
- package/lib-es/modules/setting/video-settings/index.css +357 -0
- package/lib-es/modules/setting/video-settings/video-settings-basic.js +131 -0
- package/lib-es/modules/setting/video-settings/video-settings.js +167 -0
- package/lib-es/modules/setting/view.js +147 -0
- package/lib-es/modules/share-screen/components/control-bar/index.css +75 -0
- package/lib-es/modules/share-screen/components/control-bar/index.js +92 -0
- package/lib-es/modules/share-screen/components/control-bar/items/annotation-edit-btn/index.js +38 -0
- package/lib-es/modules/share-screen/components/control-bar/items/full-container-btn/index.js +25 -0
- package/lib-es/modules/share-screen/components/control-bar/items/original-size-btn/index.js +25 -0
- package/lib-es/modules/share-screen/components/control-bar/items/zoom-in-btn/index.js +25 -0
- package/lib-es/modules/share-screen/components/control-bar/items/zoom-out-btn/index.js +25 -0
- package/lib-es/modules/share-screen/components/selection/index.css +73 -0
- package/lib-es/modules/share-screen/components/selection/index.js +220 -0
- package/lib-es/modules/share-screen/components/share-scenario/index.js +40 -0
- package/lib-es/modules/share-screen/components/share-state-bar/index.css +76 -0
- package/lib-es/modules/share-screen/components/share-state-bar/index.js +90 -0
- package/lib-es/modules/share-screen/index.css +0 -0
- package/lib-es/modules/share-screen/index.dev.js +90 -0
- package/lib-es/modules/share-screen/index.js +99 -0
- package/lib-es/modules/share-screen/store.base.js +464 -0
- package/lib-es/modules/share-screen/store.browser.js +36 -0
- package/lib-es/modules/share-screen/store.electron.js +429 -0
- package/lib-es/modules/share-screen/type.js +8 -0
- package/lib-es/modules/share-screen/view.js +24 -0
- package/lib-es/modules/state-bar/assets/fcr_grid_big.svg +3 -0
- package/lib-es/modules/state-bar/assets/fcr_listontop_big.svg +3 -0
- package/lib-es/modules/state-bar/assets/live-streaming.gif +0 -0
- package/lib-es/modules/state-bar/index.css +706 -0
- package/lib-es/modules/state-bar/index.dev.js +78 -0
- package/lib-es/modules/state-bar/index.js +41 -0
- package/lib-es/modules/state-bar/layout-config.js +168 -0
- package/lib-es/modules/state-bar/live-streaming-state.js +169 -0
- package/lib-es/modules/state-bar/main-scene/index.js +39 -0
- package/lib-es/modules/state-bar/main-scene/store.base.js +137 -0
- package/lib-es/modules/state-bar/main-scene/store.browser.js +80 -0
- package/lib-es/modules/state-bar/main-scene/store.electron.js +107 -0
- package/lib-es/modules/state-bar/meeting-detail.css +137 -0
- package/lib-es/modules/state-bar/meeting-details.js +219 -0
- package/lib-es/modules/state-bar/meeting-network-state.css +150 -0
- package/lib-es/modules/state-bar/meeting-network-state.js +107 -0
- package/lib-es/modules/state-bar/meeting-time.js +25 -0
- package/lib-es/modules/state-bar/network-quality.js +26 -0
- package/lib-es/modules/state-bar/recording.js +103 -0
- package/lib-es/modules/state-bar/store.base.electron.js +108 -0
- package/lib-es/modules/state-bar/store.base.js +616 -0
- package/lib-es/modules/state-bar/subtitles-history-state.js +101 -0
- package/lib-es/modules/state-bar/type.js +1 -0
- package/lib-es/modules/state-bar/view.js +241 -0
- package/lib-es/modules/state-bar/waiting-scene/index.js +39 -0
- package/lib-es/modules/state-bar/waiting-scene/store.base.js +48 -0
- package/lib-es/modules/state-bar/waiting-scene/store.browser.js +80 -0
- package/lib-es/modules/state-bar/waiting-scene/store.electron.js +99 -0
- package/lib-es/modules/subtitles-history/components/actions.js +29 -0
- package/lib-es/modules/subtitles-history/components/list-item.js +95 -0
- package/lib-es/modules/subtitles-history/components/list.js +175 -0
- package/lib-es/modules/subtitles-history/components/respond-dialog-content.js +36 -0
- package/lib-es/modules/subtitles-history/components/settings/index.css +5 -0
- package/lib-es/modules/subtitles-history/components/settings/index.js +46 -0
- package/lib-es/modules/subtitles-history/components/timer.js +36 -0
- package/lib-es/modules/subtitles-history/components/title.js +8 -0
- package/lib-es/modules/subtitles-history/empty.js +14 -0
- package/lib-es/modules/subtitles-history/index.css +129 -0
- package/lib-es/modules/subtitles-history/index.js +89 -0
- package/lib-es/modules/subtitles-history/store.base.js +790 -0
- package/lib-es/modules/subtitles-history/store.electron.js +148 -0
- package/lib-es/modules/subtitles-history/type.js +1 -0
- package/lib-es/modules/subtitles-history/view.js +96 -0
- package/lib-es/modules/video-window/components/deviceState/index.js +68 -0
- package/lib-es/modules/video-window/components/members/index.css +51 -0
- package/lib-es/modules/video-window/components/members/index.js +116 -0
- package/lib-es/modules/video-window/components/speaking/index.css +86 -0
- package/lib-es/modules/video-window/components/speaking/index.js +40 -0
- package/lib-es/modules/video-window/components/topControl/index.css +35 -0
- package/lib-es/modules/video-window/components/topControl/index.js +68 -0
- package/lib-es/modules/video-window/index.css +21 -0
- package/lib-es/modules/video-window/index.js +82 -0
- package/lib-es/modules/video-window/popover-watcher.js +69 -0
- package/lib-es/modules/video-window/store.js +512 -0
- package/lib-es/modules/video-window/type.js +19 -0
- package/lib-es/modules/video-window/view.js +107 -0
- package/lib-es/modules/waiting-room-layout/index.css +96 -0
- package/lib-es/modules/waiting-room-layout/index.js +67 -0
- package/lib-es/modules/waiting-room-layout/store.js +231 -0
- package/lib-es/modules/waiting-room-layout/view.js +87 -0
- package/lib-es/modules/whiteboard/components/control-bar/index.css +52 -0
- package/lib-es/modules/whiteboard/components/control-bar/index.js +151 -0
- package/lib-es/modules/whiteboard/components/control-bar/store.js +298 -0
- package/lib-es/modules/whiteboard/components/loading/index.css +76 -0
- package/lib-es/modules/whiteboard/components/loading/index.js +57 -0
- package/lib-es/modules/whiteboard/components/loading/loading.png +0 -0
- package/lib-es/modules/whiteboard/components/multi-window/index.css +63 -0
- package/lib-es/modules/whiteboard/components/multi-window/index.js +31 -0
- package/lib-es/modules/whiteboard/components/pagination/index.css +228 -0
- package/lib-es/modules/whiteboard/components/pagination/index.js +155 -0
- package/lib-es/modules/whiteboard/components/pagination/store.js +10 -0
- package/lib-es/modules/whiteboard/components/progress/index.js +36 -0
- package/lib-es/modules/whiteboard/components/progress/style.css +51 -0
- package/lib-es/modules/whiteboard/components/scene-pagination.js +23 -0
- package/lib-es/modules/whiteboard/components/switch-theme/index.css +99 -0
- package/lib-es/modules/whiteboard/components/switch-theme/index.js +89 -0
- package/lib-es/modules/whiteboard/components/switch-theme/item.js +46 -0
- package/lib-es/modules/whiteboard/components/switch-theme/libs.js +24 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +30 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +101 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +67 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/color-picker/index.js +40 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/eraser-picker.js +136 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/expansion/index.js +85 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +46 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/history.js +70 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/icons/fold-icon.js +33 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/icons/move-icon.js +59 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/item/index.js +35 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/move-handle.js +127 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/pen-picker.js +147 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +78 -0
- package/lib-es/modules/whiteboard/components/toolbar/components/shape-picker.js +202 -0
- package/lib-es/modules/whiteboard/components/toolbar/hooks/index.js +285 -0
- package/lib-es/modules/whiteboard/components/toolbar/index.js +72 -0
- package/lib-es/modules/whiteboard/components/toolbar/store.js +484 -0
- package/lib-es/modules/whiteboard/components/toolbar/style.css +591 -0
- package/lib-es/modules/whiteboard/context.js +28 -0
- package/lib-es/modules/whiteboard/index.js +67 -0
- package/lib-es/modules/whiteboard/libs/theme.js +24 -0
- package/lib-es/modules/whiteboard/store.browser.js +20 -0
- package/lib-es/modules/whiteboard/store.electron.js +163 -0
- package/lib-es/modules/whiteboard/store.js +457 -0
- package/lib-es/modules/whiteboard/style.css +140 -0
- package/lib-es/modules/whiteboard/type.js +52 -0
- package/lib-es/modules/whiteboard/utils.js +29 -0
- package/lib-es/modules/whiteboard/view.js +105 -0
- package/lib-es/modules/widget/index.css +9 -0
- package/lib-es/modules/widget/index.js +129 -0
- package/lib-es/modules/widget/store.base.js +35 -0
- package/lib-es/modules/widget/store.browser.js +74 -0
- package/lib-es/modules/widget/store.electron.js +127 -0
- package/lib-es/modules/widget/type.js +1 -0
- package/lib-es/modules/widget/view.js +49 -0
- package/lib-es/modules/widget/web-widget.js +263 -0
- package/lib-es/object-manager.js +194 -0
- package/lib-es/plugins/browser-runtime-plugin.js +0 -0
- package/lib-es/plugins/css-preset-plugin.js +18 -0
- package/lib-es/plugins/electron-rtc-plugin.js +3 -0
- package/lib-es/plugins/module-dev-plugin.js +162 -0
- package/lib-es/plugins/multi-lang-plugin.js +18 -0
- package/lib-es/plugins/rtm-plugin.js +3 -0
- package/lib-es/plugins/web-rtc-plugin.js +3 -0
- package/lib-es/providers/ability-provider.js +76 -0
- package/lib-es/providers/annotation/provider.js +61 -0
- package/lib-es/providers/annotation/type.js +1 -0
- package/lib-es/providers/app-list-provider.js +392 -0
- package/lib-es/providers/board-share/bar-control/base.js +318 -0
- package/lib-es/providers/board-share/bar-control/browser.js +34 -0
- package/lib-es/providers/board-share/bar-control/electron.js +211 -0
- package/lib-es/providers/board-share/provider.base.js +406 -0
- package/lib-es/providers/board-share/provider.browser.js +147 -0
- package/lib-es/providers/board-share/provider.electron.js +162 -0
- package/lib-es/providers/board-share/struct.js +16 -0
- package/lib-es/providers/board-share/type.js +1 -0
- package/lib-es/providers/chat-provider.js +166 -0
- package/lib-es/providers/device-privilege-provider.js +402 -0
- package/lib-es/providers/device-provider.js +2148 -0
- package/lib-es/providers/device-stream-provider.js +418 -0
- package/lib-es/providers/dialog/provider.base.js +282 -0
- package/lib-es/providers/dialog/provider.browser.js +160 -0
- package/lib-es/providers/dialog/provider.electron.js +273 -0
- package/lib-es/providers/dialog/type.js +8 -0
- package/lib-es/providers/event-provider.js +50 -0
- package/lib-es/providers/facility/provider.base.js +152 -0
- package/lib-es/providers/facility/provider.browser.js +67 -0
- package/lib-es/providers/facility/provider.electron.js +83 -0
- package/lib-es/providers/facility/struct.js +6 -0
- package/lib-es/providers/facility/type.js +1 -0
- package/lib-es/providers/interpreter-provider.js +955 -0
- package/lib-es/providers/local-storage-provider.js +37 -0
- package/lib-es/providers/message/provider.js +97 -0
- package/lib-es/providers/message/struct.js +5 -0
- package/lib-es/providers/message/type.js +1 -0
- package/lib-es/providers/monitor-provider.js +22 -0
- package/lib-es/providers/mouse-detect/provider.js +312 -0
- package/lib-es/providers/mouse-detect/struct.js +5 -0
- package/lib-es/providers/mouse-detect/type.js +1 -0
- package/lib-es/providers/multi-display-provider.js +603 -0
- package/lib-es/providers/phone-audio-provider.js +512 -0
- package/lib-es/providers/privilege-provider.js +1158 -0
- package/lib-es/providers/renderer-provider.js +310 -0
- package/lib-es/providers/room-provider/room-provider.js +730 -0
- package/lib-es/providers/room-provider/waiting-room-control-manager.js +224 -0
- package/lib-es/providers/screen-share/constant.js +1 -0
- package/lib-es/providers/screen-share/provider.base.js +511 -0
- package/lib-es/providers/screen-share/provider.browser.js +290 -0
- package/lib-es/providers/screen-share/provider.electron.js +486 -0
- package/lib-es/providers/screen-share/strategy/browser.js +306 -0
- package/lib-es/providers/screen-share/strategy/electron.js +364 -0
- package/lib-es/providers/screen-share/strategy/type.js +31 -0
- package/lib-es/providers/screen-share/stream-state-sync.js +312 -0
- package/lib-es/providers/screen-share/struct.js +60 -0
- package/lib-es/providers/screen-share/type.js +1 -0
- package/lib-es/providers/session-provider.js +42 -0
- package/lib-es/providers/setting-storage/provider.base.js +6 -0
- package/lib-es/providers/setting-storage/provider.browser.js +57 -0
- package/lib-es/providers/setting-storage/provider.electron.js +55 -0
- package/lib-es/providers/setting-storage/type.js +1 -0
- package/lib-es/providers/stt-provider/stt-provider.js +1000 -0
- package/lib-es/providers/stt-provider/type.js +14 -0
- package/lib-es/providers/widget-provider.js +236 -0
- package/lib-es/providers/window/main-window.js +259 -0
- package/lib-es/providers/window/provider.js +158 -0
- package/lib-es/providers/window/renderer-window.js +576 -0
- package/lib-es/providers/window/type.js +1 -0
- package/lib-es/runtime.js +1 -0
- package/lib-es/scenes/main-scene.js +696 -0
- package/lib-es/scenes/type.js +1 -0
- package/lib-es/scenes/waiting-scene.js +155 -0
- package/lib-es/schema.js +88 -0
- package/lib-es/shared-context/board-context.js +7 -0
- package/lib-es/shared-context/dialog-context.js +3 -0
- package/lib-es/shared-context/video-track-render-context.js +2 -0
- package/lib-es/shared-data/app-list-data.js +122 -0
- package/lib-es/shared-data/chat-data.js +135 -0
- package/lib-es/shared-data/config.js +38 -0
- package/lib-es/shared-data/confirm-data.js +195 -0
- package/lib-es/shared-data/device-privilege-data.js +18 -0
- package/lib-es/shared-data/interpreter.js +235 -0
- package/lib-es/shared-data/layout-data.js +211 -0
- package/lib-es/shared-data/meeting-time.js +409 -0
- package/lib-es/shared-data/member-data.js +482 -0
- package/lib-es/shared-data/pin-data.js +107 -0
- package/lib-es/shared-data/screen-share/index.js +188 -0
- package/lib-es/shared-data/screen-share/type.js +1 -0
- package/lib-es/shared-data/security-data.js +153 -0
- package/lib-es/shared-data/setting.js +244 -0
- package/lib-es/shared-data/speaker-spotlight.js +11 -0
- package/lib-es/shared-data/stt-setting.ts/constant.js +27 -0
- package/lib-es/shared-data/stt-setting.ts/index.js +195 -0
- package/lib-es/shared-data/stt-setting.ts/type.js +7 -0
- package/lib-es/shared-data/video-window.js +1248 -0
- package/lib-es/shared-data/waiting-room.js +216 -0
- package/lib-es/shared-data/widget-data.js +42 -0
- package/lib-es/translations/enUS.js +2075 -0
- package/lib-es/translations/zhCN.js +2073 -0
- package/lib-es/type.js +149 -0
- package/lib-es/ui-manager.js +213 -0
- package/lib-es/ui-scene-switch.js +572 -0
- package/lib-es/utilities/browser-api.js +74 -0
- package/lib-es/utilities/constant.js +190 -0
- package/lib-es/utilities/debug.js +33 -0
- package/lib-es/utilities/default-config.js +89 -0
- package/lib-es/utilities/dialog-utils.js +210 -0
- package/lib-es/utilities/focus-helper.js +26 -0
- package/lib-es/utilities/hooks.js +82 -0
- package/lib-es/utilities/i18n-common-data.js +7 -0
- package/lib-es/utilities/logger.js +48 -0
- package/lib-es/utilities/meeting-detail.js +74 -0
- package/lib-es/utilities/mute-action.js +41 -0
- package/lib-es/utilities/package-info.js +7 -0
- package/lib-es/utilities/parameters.js +47 -0
- package/lib-es/utilities/platform.js +7 -0
- package/lib-es/utilities/privilege.js +21 -0
- package/lib-es/utilities/regex.js +7 -0
- package/lib-es/utilities/renderer.js +430 -0
- package/lib-es/utilities/shared-storage.js +56 -0
- package/lib-es/utilities/tools.js +252 -0
- package/lib-es/utilities/ui-resources.js +84 -0
- package/lib-es/utilities/useNamespace.js +59 -0
- package/lib-es/utilities/validate-params.js +9 -0
- package/package.json +11 -9
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import "core-js/modules/es.error.to-string.js";
|
|
2
|
+
import "core-js/modules/es.array.concat.js";
|
|
3
|
+
import "core-js/modules/es.array.join.js";
|
|
4
|
+
import "core-js/modules/es.date.to-string.js";
|
|
5
|
+
import "core-js/modules/es.object.to-string.js";
|
|
6
|
+
import "core-js/modules/es.promise.js";
|
|
7
|
+
import "core-js/modules/es.regexp.to-string.js";
|
|
8
|
+
import "core-js/modules/es.string.trim.js";
|
|
9
|
+
import crypto from 'crypto';
|
|
10
|
+
import { dialog } from 'electron';
|
|
11
|
+
import originalFs from 'original-fs';
|
|
12
|
+
import path from 'path';
|
|
13
|
+
import { getLogger } from './logger';
|
|
14
|
+
import { isDev } from './env';
|
|
15
|
+
var logger = getLogger();
|
|
16
|
+
var AES_KEY = 'FCRUISCENE';
|
|
17
|
+
var AES_ALGORITHM = 'aes-256-ecb';
|
|
18
|
+
function getAesKey() {
|
|
19
|
+
return crypto.createHash('sha256').update(AES_KEY).digest();
|
|
20
|
+
}
|
|
21
|
+
function decryptHash(encryptedHash) {
|
|
22
|
+
var decipher = crypto.createDecipheriv(AES_ALGORITHM, getAesKey(), null);
|
|
23
|
+
var decrypted = Buffer.concat([decipher.update(Buffer.from(encryptedHash, 'base64')), decipher["final"]()]);
|
|
24
|
+
return decrypted.toString('utf8');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Validate ASAR file integrity by comparing SHA256 hash
|
|
29
|
+
* @param isDev - Whether running in development mode
|
|
30
|
+
* @returns true if validation passes or is skipped, false if validation fails
|
|
31
|
+
*/
|
|
32
|
+
export function validateAsarIntegrity() {
|
|
33
|
+
var isAsarIntegrityCheckEnabled = !isDev;
|
|
34
|
+
// Skip validation in development mode
|
|
35
|
+
if (!isAsarIntegrityCheckEnabled) {
|
|
36
|
+
logger.info('Skipping ASAR validation');
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
var asarPath = path.join(process.resourcesPath, 'app.asar');
|
|
41
|
+
var hashFilePath = path.join(process.resourcesPath, 'asar-hash.enc');
|
|
42
|
+
|
|
43
|
+
// Check if ASAR file exists using original-fs
|
|
44
|
+
if (!originalFs.existsSync(asarPath)) {
|
|
45
|
+
logger.info('ASAR file not found, assuming unpacked development mode');
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Read expected hash from hash file or environment variable
|
|
50
|
+
var expectedHash = null;
|
|
51
|
+
if (originalFs.existsSync(hashFilePath)) {
|
|
52
|
+
try {
|
|
53
|
+
var encryptedHash = originalFs.readFileSync(hashFilePath, 'utf8').trim();
|
|
54
|
+
expectedHash = decryptHash(encryptedHash);
|
|
55
|
+
logger.info("Loaded expected hash from ".concat(hashFilePath, " (decrypted)"));
|
|
56
|
+
} catch (error) {
|
|
57
|
+
logger.error("Failed to decrypt ASAR hash: ".concat(error));
|
|
58
|
+
dialog.showErrorBox('Security Error', 'Failed to verify application integrity due to invalid hash data.');
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (!expectedHash) {
|
|
63
|
+
logger.error('No expected ASAR hash provided, cannot validate integrity');
|
|
64
|
+
dialog.showErrorBox('Security Error', 'Failed to verify application integrity due to invalid hash data.');
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
logger.info("Loading ASAR file at: ".concat(asarPath));
|
|
68
|
+
|
|
69
|
+
// Use original-fs to read ASAR file raw content
|
|
70
|
+
var asarContent = originalFs.readFileSync(asarPath);
|
|
71
|
+
logger.info("ASAR file size: ".concat(asarContent.length, " bytes"));
|
|
72
|
+
logger.info('Calculating ASAR file hash...');
|
|
73
|
+
var actualHash = crypto.createHash('sha256').update(asarContent).digest('hex');
|
|
74
|
+
logger.info("ASAR validation - Expected: ".concat(expectedHash, ", Actual: ").concat(actualHash));
|
|
75
|
+
if (actualHash !== expectedHash) {
|
|
76
|
+
logger.error('ASAR integrity validation failed! Hash mismatch detected.');
|
|
77
|
+
dialog.showErrorBox('Security Error', 'Application integrity check failed. The application may have been tampered with.');
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
logger.info('ASAR integrity validation passed');
|
|
81
|
+
return true;
|
|
82
|
+
} catch (error) {
|
|
83
|
+
logger.error("ASAR validation error: ".concat(error));
|
|
84
|
+
dialog.showErrorBox('Security Error', 'Failed to validate application integrity. The application may be corrupted.');
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Calculate SHA256 hash of ASAR file asynchronously (for large files)
|
|
91
|
+
* @param asarPath - Path to the ASAR file
|
|
92
|
+
* @returns Promise resolving to the hash string
|
|
93
|
+
*/
|
|
94
|
+
export function calculateAsarHashAsync(asarPath) {
|
|
95
|
+
return new Promise(function (resolve, reject) {
|
|
96
|
+
var hash = crypto.createHash('sha256');
|
|
97
|
+
var stream = originalFs.createReadStream(asarPath);
|
|
98
|
+
stream.on('data', function (chunk) {
|
|
99
|
+
return hash.update(chunk);
|
|
100
|
+
});
|
|
101
|
+
stream.on('end', function () {
|
|
102
|
+
return resolve(hash.digest('hex'));
|
|
103
|
+
});
|
|
104
|
+
stream.on('error', reject);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import "core-js/modules/es.symbol.js";
|
|
2
|
+
import "core-js/modules/es.array.filter.js";
|
|
3
|
+
import "core-js/modules/es.array.for-each.js";
|
|
4
|
+
import "core-js/modules/es.array.push.js";
|
|
5
|
+
import "core-js/modules/es.object.define-properties.js";
|
|
6
|
+
import "core-js/modules/es.object.define-property.js";
|
|
7
|
+
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
|
8
|
+
import "core-js/modules/es.object.get-own-property-descriptors.js";
|
|
9
|
+
import "core-js/modules/es.object.keys.js";
|
|
10
|
+
import "core-js/modules/es.object.to-string.js";
|
|
11
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
|
12
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
|
13
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
|
14
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
|
15
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
16
|
+
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; }
|
|
17
|
+
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) { _defineProperty(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; }
|
|
18
|
+
import { app, BrowserWindow, crashReporter } from 'electron';
|
|
19
|
+
import { initialize, enable } from '@electron/remote/main';
|
|
20
|
+
import { hookApp } from './app';
|
|
21
|
+
import { defaultWindowOptions, defaultWebPreferences } from './default-options';
|
|
22
|
+
import { devPageUrl } from './env';
|
|
23
|
+
import { hookWindow } from './main';
|
|
24
|
+
import { listenDevToolShortcut } from './plugins/devtool-shortcut';
|
|
25
|
+
import { AppExitCode } from './exit-codes';
|
|
26
|
+
initialize();
|
|
27
|
+
crashReporter.start({
|
|
28
|
+
uploadToServer: false
|
|
29
|
+
});
|
|
30
|
+
hookApp(app);
|
|
31
|
+
app.addListener('ready', function () {
|
|
32
|
+
var mainWindow = new BrowserWindow(_objectSpread(_objectSpread({}, defaultWindowOptions), {}, {
|
|
33
|
+
webPreferences: _objectSpread({}, defaultWebPreferences)
|
|
34
|
+
}));
|
|
35
|
+
hookWindow(mainWindow);
|
|
36
|
+
mainWindow.addListener('closed', function () {
|
|
37
|
+
app.exit(AppExitCode.NORMAL_EXIT);
|
|
38
|
+
});
|
|
39
|
+
mainWindow.webContents.openDevTools({
|
|
40
|
+
mode: 'detach'
|
|
41
|
+
});
|
|
42
|
+
mainWindow.loadURL(devPageUrl);
|
|
43
|
+
enable(mainWindow.webContents);
|
|
44
|
+
listenDevToolShortcut(mainWindow);
|
|
45
|
+
});
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
var _process$argv$find;
|
|
3
|
+
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; }
|
|
4
|
+
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) { _defineProperty(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; }
|
|
5
|
+
import "core-js/modules/es.symbol.js";
|
|
6
|
+
import "core-js/modules/es.array.concat.js";
|
|
7
|
+
import "core-js/modules/es.array.filter.js";
|
|
8
|
+
import "core-js/modules/es.array.find.js";
|
|
9
|
+
import "core-js/modules/es.array.join.js";
|
|
10
|
+
import "core-js/modules/es.array.for-each.js";
|
|
11
|
+
import "core-js/modules/es.array.push.js";
|
|
12
|
+
import "core-js/modules/es.object.define-properties.js";
|
|
13
|
+
import "core-js/modules/es.object.define-property.js";
|
|
14
|
+
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
|
15
|
+
import "core-js/modules/es.object.get-own-property-descriptors.js";
|
|
16
|
+
import "core-js/modules/es.object.keys.js";
|
|
17
|
+
import "core-js/modules/es.object.to-string.js";
|
|
18
|
+
import "core-js/modules/es.parse-int.js";
|
|
19
|
+
import "core-js/modules/es.string.starts-with.js";
|
|
20
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
|
21
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
|
22
|
+
import "core-js/modules/esnext.iterator.find.js";
|
|
23
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
|
24
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
|
25
|
+
import { enable, initialize } from '@electron/remote/main';
|
|
26
|
+
import { app, BrowserWindow, crashReporter, Menu } from 'electron';
|
|
27
|
+
import path from 'path';
|
|
28
|
+
import { hookApp, hookWindow } from '.';
|
|
29
|
+
import { validateAsarIntegrity } from './asar-validation';
|
|
30
|
+
import { defaultWebPreferences, defaultWindowOptions } from './default-options';
|
|
31
|
+
import { devPageUrl, distIndexFileName, distPathPrefix, isDev, isDevToolsDisabled } from './env';
|
|
32
|
+
import { DEFAULT_HANG_DETECTION_TIMEOUT, MultiWindowHangDetectionManager } from './hang-detection';
|
|
33
|
+
import { getLogger } from './logger';
|
|
34
|
+
import { listenDevToolShortcut } from './plugins/devtool-shortcut';
|
|
35
|
+
import { ProcessManager } from './process-manager';
|
|
36
|
+
var logger = getLogger();
|
|
37
|
+
|
|
38
|
+
// Validate ASAR integrity before initializing
|
|
39
|
+
if (!validateAsarIntegrity()) {
|
|
40
|
+
app.quit();
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
initialize();
|
|
44
|
+
var port = (_process$argv$find = process.argv.find(function (arg) {
|
|
45
|
+
return arg.startsWith('--port=');
|
|
46
|
+
})) === null || _process$argv$find === void 0 ? void 0 : _process$argv$find.split('=')[1];
|
|
47
|
+
var processManager = new ProcessManager({
|
|
48
|
+
port: port ? parseInt(port, 10) : 50000,
|
|
49
|
+
isDev: isDev
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
// 启动崩溃报告器
|
|
53
|
+
crashReporter.start({
|
|
54
|
+
uploadToServer: false
|
|
55
|
+
});
|
|
56
|
+
hookApp(app);
|
|
57
|
+
|
|
58
|
+
// ==================== 应用就绪事件 ====================
|
|
59
|
+
|
|
60
|
+
app.addListener('ready', function () {
|
|
61
|
+
logger.info('app ready in bootstrap-sdk');
|
|
62
|
+
|
|
63
|
+
// 创建主窗口
|
|
64
|
+
var mainWindow = createMainWindow();
|
|
65
|
+
processManager.init(mainWindow);
|
|
66
|
+
|
|
67
|
+
// 挂钩窗口事件
|
|
68
|
+
hookWindow(mainWindow);
|
|
69
|
+
|
|
70
|
+
// 加载页面
|
|
71
|
+
loadPage(mainWindow);
|
|
72
|
+
if (!isDevToolsDisabled) {
|
|
73
|
+
// 开发环境下启用 DevTools 快捷键
|
|
74
|
+
listenDevToolShortcut(mainWindow);
|
|
75
|
+
}
|
|
76
|
+
logger.info('Main window created and initialized');
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
// ==================== 浏览器窗口创建事件 ====================
|
|
80
|
+
|
|
81
|
+
app.addListener('browser-window-created', function (_, window) {
|
|
82
|
+
var windowId = window.id;
|
|
83
|
+
getLogger().warn("window created: ".concat(windowId, " ,window title: ").concat(window.getTitle()));
|
|
84
|
+
window.webContents.addListener('unresponsive', function () {
|
|
85
|
+
getLogger().warn("browser window ".concat(windowId, " unresponsive in bootstrap-sdk"));
|
|
86
|
+
handleUnresponsive(windowId);
|
|
87
|
+
});
|
|
88
|
+
window.webContents.addListener('responsive', function () {
|
|
89
|
+
getLogger().warn("browser window ".concat(windowId, " responsive in bootstrap-sdk"));
|
|
90
|
+
handleResponsive(windowId);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
// 监听窗口关闭事件,清理hang detection状态
|
|
94
|
+
window.addListener('closed', function () {
|
|
95
|
+
getLogger().info("browser window ".concat(windowId, " closed, cleaning hang detection state"));
|
|
96
|
+
hangDetectionManager.handleWindowClosed(windowId);
|
|
97
|
+
});
|
|
98
|
+
enable(window.webContents);
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
// ==================== 应用退出事件 ====================
|
|
102
|
+
|
|
103
|
+
app.addListener('before-quit', function (event) {
|
|
104
|
+
logger.info('app before-quit event triggered');
|
|
105
|
+
});
|
|
106
|
+
app.addListener('will-quit', function (event) {
|
|
107
|
+
logger.info('app will-quit event triggered');
|
|
108
|
+
});
|
|
109
|
+
app.addListener('quit', function (event, exitCode) {
|
|
110
|
+
logger.info("app quit event triggered with exit code: ".concat(exitCode));
|
|
111
|
+
|
|
112
|
+
// 清理资源
|
|
113
|
+
cleanupResources();
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
// ==================== 辅助函数 ====================
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* 创建主窗口
|
|
120
|
+
*/
|
|
121
|
+
function createMainWindow() {
|
|
122
|
+
var mainWindow = new BrowserWindow(_objectSpread(_objectSpread({}, defaultWindowOptions), {}, {
|
|
123
|
+
webPreferences: _objectSpread({}, defaultWebPreferences),
|
|
124
|
+
show: false // 初始不显示窗口,等待 LaunchMeeting 消息
|
|
125
|
+
}));
|
|
126
|
+
|
|
127
|
+
// 禁用默认菜单
|
|
128
|
+
Menu.setApplicationMenu(null);
|
|
129
|
+
logger.info('Main window created');
|
|
130
|
+
return mainWindow;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* 加载页面
|
|
135
|
+
*/
|
|
136
|
+
function loadPage(mainWindow) {
|
|
137
|
+
if (isDev) {
|
|
138
|
+
mainWindow.webContents.openDevTools({
|
|
139
|
+
mode: 'detach'
|
|
140
|
+
});
|
|
141
|
+
mainWindow.loadURL(devPageUrl);
|
|
142
|
+
logger.info("Loading dev page: ".concat(devPageUrl));
|
|
143
|
+
} else {
|
|
144
|
+
var indexPath = path.join(distPathPrefix, distIndexFileName);
|
|
145
|
+
mainWindow.loadFile(indexPath);
|
|
146
|
+
logger.info("Loading production page: ".concat(indexPath));
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
var onHangTimeout = function onHangTimeout(windowId) {
|
|
150
|
+
getLogger().error("Window ".concat(windowId, " hang timeout, triggering application exit"));
|
|
151
|
+
processManager.handleWindowUnresponsive();
|
|
152
|
+
};
|
|
153
|
+
var onStateChange = function onStateChange(windowId, isUnresponsive, duration) {
|
|
154
|
+
if (isUnresponsive) {
|
|
155
|
+
getLogger().warn("Window ".concat(windowId, " became unresponsive"));
|
|
156
|
+
} else {
|
|
157
|
+
getLogger().info("Window ".concat(windowId, " became responsive").concat(duration ? " after ".concat(duration, "ms") : ''));
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
var hangDetectionManager = new MultiWindowHangDetectionManager({
|
|
161
|
+
onHangTimeout: onHangTimeout,
|
|
162
|
+
onStateChange: onStateChange
|
|
163
|
+
}, {
|
|
164
|
+
timeout: DEFAULT_HANG_DETECTION_TIMEOUT,
|
|
165
|
+
enableVerboseLogging: true
|
|
166
|
+
});
|
|
167
|
+
function handleUnresponsive(targetWindowId) {
|
|
168
|
+
if (!targetWindowId) {
|
|
169
|
+
getLogger().warn('Cannot handle unresponsive: no window ID available');
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
hangDetectionManager.handleWindowUnresponsive(targetWindowId);
|
|
173
|
+
}
|
|
174
|
+
function handleResponsive(targetWindowId) {
|
|
175
|
+
if (!targetWindowId) {
|
|
176
|
+
getLogger().warn('Cannot handle responsive: no window ID available');
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
hangDetectionManager.handleWindowResponsive(targetWindowId);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* 清理资源
|
|
184
|
+
*/
|
|
185
|
+
function cleanupResources() {
|
|
186
|
+
logger.info('Cleaning up resources...');
|
|
187
|
+
|
|
188
|
+
// ProcessManager 会自动清理内部的 stateManager 和 eventManager
|
|
189
|
+
processManager.release();
|
|
190
|
+
|
|
191
|
+
// 清理所有 hang detection 计时器
|
|
192
|
+
hangDetectionManager.dispose();
|
|
193
|
+
logger.info('All resources cleaned up');
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// ==================== 导出 ====================
|
|
197
|
+
|
|
198
|
+
export { processManager };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
var isVite = process.env.BUILD_TOOL === 'vite';
|
|
3
|
+
export var defaultWindowOptions = {
|
|
4
|
+
height: 850,
|
|
5
|
+
width: 1360,
|
|
6
|
+
minWidth: 825,
|
|
7
|
+
// 这个值会影响主窗口的最小宽度,如需改变,记得同步 /fcr-ui-scene-desktop/src/modules/state-bar/store.ts 中的 GALLERY_MIN_SIZE
|
|
8
|
+
minHeight: 600
|
|
9
|
+
};
|
|
10
|
+
export var defaultWebPreferences = {
|
|
11
|
+
nodeIntegration: true,
|
|
12
|
+
nodeIntegrationInWorker: true,
|
|
13
|
+
contextIsolation: false,
|
|
14
|
+
webSecurity: false,
|
|
15
|
+
webviewTag: true,
|
|
16
|
+
backgroundThrottling: false,
|
|
17
|
+
preload: isVite ? path.resolve(__dirname, '..', 'preload', 'index.js') : path.resolve(__dirname, "preload.js")
|
|
18
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var _process$env$ELECTRON, _process$env$DIST_PAT, _process$env$DIST_IND, _process$env$IPC_PREF;
|
|
2
|
+
export var isDev = process.env.DEV === 'true';
|
|
3
|
+
export var devPageUrl = (_process$env$ELECTRON = process.env.ELECTRON_START_URL) !== null && _process$env$ELECTRON !== void 0 ? _process$env$ELECTRON : "http://localhost:3000";
|
|
4
|
+
var isVite = process.env.BUILD_TOOL === 'vite';
|
|
5
|
+
export var distPathPrefix = isVite ? 'dist/electron/renderer/public' : (_process$env$DIST_PAT = process.env.DIST_PATH_PREFIX) !== null && _process$env$DIST_PAT !== void 0 ? _process$env$DIST_PAT : 'dist';
|
|
6
|
+
export var distIndexFileName = isVite ? 'index.vite.html' : (_process$env$DIST_IND = process.env.DIST_INDEX_FILE_NAME) !== null && _process$env$DIST_IND !== void 0 ? _process$env$DIST_IND : 'index.html';
|
|
7
|
+
export var ipcPrefix = (_process$env$IPC_PREF = process.env.IPC_PREFIX) !== null && _process$env$IPC_PREF !== void 0 ? _process$env$IPC_PREF : 'fcr-';
|
|
8
|
+
export var isDevToolsDisabled = process.env.DEVTOOLS_DISABLED === 'true';
|
|
@@ -0,0 +1,20 @@
|
|
|
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 var AppExitCode = /*#__PURE__*/function (AppExitCode) {
|
|
8
|
+
AppExitCode[AppExitCode["NORMAL_EXIT"] = 0] = "NORMAL_EXIT";
|
|
9
|
+
/**
|
|
10
|
+
* Renderer process has unexpectedly terminated
|
|
11
|
+
* This typically indicates a crash or critical error in the sub window renderer process
|
|
12
|
+
*/
|
|
13
|
+
AppExitCode[AppExitCode["RENDERER_PROCESS_GONE"] = 100] = "RENDERER_PROCESS_GONE";
|
|
14
|
+
/**
|
|
15
|
+
* Window hang detection
|
|
16
|
+
* This typically indicates a hang or critical error in the main window
|
|
17
|
+
*/
|
|
18
|
+
AppExitCode[AppExitCode["HANG_DETECTION_EXIT"] = 101] = "HANG_DETECTION_EXIT";
|
|
19
|
+
return AppExitCode;
|
|
20
|
+
}({});
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
|
+
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; }
|
|
6
|
+
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) { _defineProperty(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; }
|
|
7
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
8
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
9
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
10
|
+
import "core-js/modules/es.symbol.js";
|
|
11
|
+
import "core-js/modules/es.symbol.description.js";
|
|
12
|
+
import "core-js/modules/es.symbol.iterator.js";
|
|
13
|
+
import "core-js/modules/es.error.cause.js";
|
|
14
|
+
import "core-js/modules/es.error.to-string.js";
|
|
15
|
+
import "core-js/modules/es.array.concat.js";
|
|
16
|
+
import "core-js/modules/es.array.filter.js";
|
|
17
|
+
import "core-js/modules/es.array.for-each.js";
|
|
18
|
+
import "core-js/modules/es.array.from.js";
|
|
19
|
+
import "core-js/modules/es.array.is-array.js";
|
|
20
|
+
import "core-js/modules/es.array.iterator.js";
|
|
21
|
+
import "core-js/modules/es.array.join.js";
|
|
22
|
+
import "core-js/modules/es.array.push.js";
|
|
23
|
+
import "core-js/modules/es.array.slice.js";
|
|
24
|
+
import "core-js/modules/es.date.now.js";
|
|
25
|
+
import "core-js/modules/es.date.to-json.js";
|
|
26
|
+
import "core-js/modules/es.json.stringify.js";
|
|
27
|
+
import "core-js/modules/es.date.to-string.js";
|
|
28
|
+
import "core-js/modules/es.function.name.js";
|
|
29
|
+
import "core-js/modules/es.map.js";
|
|
30
|
+
import "core-js/modules/es.object.define-properties.js";
|
|
31
|
+
import "core-js/modules/es.object.define-property.js";
|
|
32
|
+
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
|
33
|
+
import "core-js/modules/es.object.get-own-property-descriptors.js";
|
|
34
|
+
import "core-js/modules/es.object.keys.js";
|
|
35
|
+
import "core-js/modules/es.object.to-string.js";
|
|
36
|
+
import "core-js/modules/es.regexp.exec.js";
|
|
37
|
+
import "core-js/modules/es.regexp.test.js";
|
|
38
|
+
import "core-js/modules/es.regexp.to-string.js";
|
|
39
|
+
import "core-js/modules/es.string.iterator.js";
|
|
40
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
|
41
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
|
42
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
|
43
|
+
import "core-js/modules/esnext.map.delete-all.js";
|
|
44
|
+
import "core-js/modules/esnext.map.emplace.js";
|
|
45
|
+
import "core-js/modules/esnext.map.every.js";
|
|
46
|
+
import "core-js/modules/esnext.map.filter.js";
|
|
47
|
+
import "core-js/modules/esnext.map.find.js";
|
|
48
|
+
import "core-js/modules/esnext.map.find-key.js";
|
|
49
|
+
import "core-js/modules/esnext.map.includes.js";
|
|
50
|
+
import "core-js/modules/esnext.map.key-of.js";
|
|
51
|
+
import "core-js/modules/esnext.map.map-keys.js";
|
|
52
|
+
import "core-js/modules/esnext.map.map-values.js";
|
|
53
|
+
import "core-js/modules/esnext.map.merge.js";
|
|
54
|
+
import "core-js/modules/esnext.map.reduce.js";
|
|
55
|
+
import "core-js/modules/esnext.map.some.js";
|
|
56
|
+
import "core-js/modules/esnext.map.update.js";
|
|
57
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
|
58
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
59
|
+
import "core-js/modules/web.timers.js";
|
|
60
|
+
import { DEFAULT_HANG_DETECTION_TIMEOUT } from '.';
|
|
61
|
+
import { getLogger } from '../logger';
|
|
62
|
+
/**
|
|
63
|
+
* 多窗口 Hang Detection 管理器
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
export var MultiWindowHangDetectionManager = /*#__PURE__*/function () {
|
|
67
|
+
function MultiWindowHangDetectionManager(callbacks, config) {
|
|
68
|
+
var _config$timeout, _config$enableVerbose;
|
|
69
|
+
_classCallCheck(this, MultiWindowHangDetectionManager);
|
|
70
|
+
_defineProperty(this, "windowStates", new Map());
|
|
71
|
+
_defineProperty(this, "logger", getLogger());
|
|
72
|
+
this.callbacks = callbacks;
|
|
73
|
+
this.config = {
|
|
74
|
+
timeout: (_config$timeout = config === null || config === void 0 ? void 0 : config.timeout) !== null && _config$timeout !== void 0 ? _config$timeout : DEFAULT_HANG_DETECTION_TIMEOUT,
|
|
75
|
+
enableVerboseLogging: (_config$enableVerbose = config === null || config === void 0 ? void 0 : config.enableVerboseLogging) !== null && _config$enableVerbose !== void 0 ? _config$enableVerbose : true
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return _createClass(MultiWindowHangDetectionManager, [{
|
|
79
|
+
key: "handleWindowUnresponsive",
|
|
80
|
+
value: function handleWindowUnresponsive(windowId) {
|
|
81
|
+
var _this = this;
|
|
82
|
+
this.logger.warn("Window ".concat(windowId, " became unresponsive, starting hang detection timer"));
|
|
83
|
+
this.clearWindowTimer(windowId);
|
|
84
|
+
var timer = setTimeout(function () {
|
|
85
|
+
_this.logger.error("Window ".concat(windowId, " has been unresponsive for ").concat(_this.config.timeout, "ms, triggering timeout callback"));
|
|
86
|
+
_this.callbacks.onHangTimeout(windowId);
|
|
87
|
+
}, this.config.timeout);
|
|
88
|
+
this.windowStates.set(windowId, {
|
|
89
|
+
windowId: windowId,
|
|
90
|
+
timer: timer,
|
|
91
|
+
isUnresponsive: true,
|
|
92
|
+
startTime: Date.now()
|
|
93
|
+
});
|
|
94
|
+
if (this.callbacks.onStateChange) {
|
|
95
|
+
this.callbacks.onStateChange(windowId, true);
|
|
96
|
+
}
|
|
97
|
+
if (this.config.enableVerboseLogging) {
|
|
98
|
+
this.logCurrentState();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* 处理窗口变为responsive
|
|
104
|
+
*/
|
|
105
|
+
}, {
|
|
106
|
+
key: "handleWindowResponsive",
|
|
107
|
+
value: function handleWindowResponsive(windowId) {
|
|
108
|
+
this.logger.info("Window ".concat(windowId, " became responsive again"));
|
|
109
|
+
var windowState = this.windowStates.get(windowId);
|
|
110
|
+
if (windowState) {
|
|
111
|
+
var duration = Date.now() - windowState.startTime;
|
|
112
|
+
this.logger.info("Window ".concat(windowId, " was unresponsive for ").concat(duration, "ms"));
|
|
113
|
+
this.clearWindowTimer(windowId);
|
|
114
|
+
if (this.callbacks.onStateChange) {
|
|
115
|
+
this.callbacks.onStateChange(windowId, false, duration);
|
|
116
|
+
}
|
|
117
|
+
this.windowStates["delete"](windowId);
|
|
118
|
+
}
|
|
119
|
+
if (this.config.enableVerboseLogging) {
|
|
120
|
+
this.logCurrentState();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}, {
|
|
124
|
+
key: "clearWindowTimer",
|
|
125
|
+
value: function clearWindowTimer(windowId) {
|
|
126
|
+
var windowState = this.windowStates.get(windowId);
|
|
127
|
+
if (windowState && windowState.timer) {
|
|
128
|
+
clearTimeout(windowState.timer);
|
|
129
|
+
windowState.timer = null;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}, {
|
|
133
|
+
key: "clearAllTimers",
|
|
134
|
+
value: function clearAllTimers() {
|
|
135
|
+
this.logger.info('Clearing all hang detection timers');
|
|
136
|
+
var _iterator = _createForOfIteratorHelper(this.windowStates),
|
|
137
|
+
_step;
|
|
138
|
+
try {
|
|
139
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
140
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
141
|
+
_ = _step$value[0],
|
|
142
|
+
windowState = _step$value[1];
|
|
143
|
+
if (windowState.timer) {
|
|
144
|
+
clearTimeout(windowState.timer);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
} catch (err) {
|
|
148
|
+
_iterator.e(err);
|
|
149
|
+
} finally {
|
|
150
|
+
_iterator.f();
|
|
151
|
+
}
|
|
152
|
+
this.windowStates.clear();
|
|
153
|
+
}
|
|
154
|
+
}, {
|
|
155
|
+
key: "getUnresponsiveWindowCount",
|
|
156
|
+
value: function getUnresponsiveWindowCount() {
|
|
157
|
+
return this.windowStates.size;
|
|
158
|
+
}
|
|
159
|
+
}, {
|
|
160
|
+
key: "getUnresponsiveWindowIds",
|
|
161
|
+
value: function getUnresponsiveWindowIds() {
|
|
162
|
+
return Array.from(this.windowStates.keys());
|
|
163
|
+
}
|
|
164
|
+
}, {
|
|
165
|
+
key: "getWindowHangState",
|
|
166
|
+
value: function getWindowHangState(windowId) {
|
|
167
|
+
return this.windowStates.get(windowId);
|
|
168
|
+
}
|
|
169
|
+
}, {
|
|
170
|
+
key: "isWindowUnresponsive",
|
|
171
|
+
value: function isWindowUnresponsive(windowId) {
|
|
172
|
+
return this.windowStates.has(windowId);
|
|
173
|
+
}
|
|
174
|
+
}, {
|
|
175
|
+
key: "getWindowUnresponsiveDuration",
|
|
176
|
+
value: function getWindowUnresponsiveDuration(windowId) {
|
|
177
|
+
var windowState = this.windowStates.get(windowId);
|
|
178
|
+
if (!windowState) {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
return Date.now() - windowState.startTime;
|
|
182
|
+
}
|
|
183
|
+
}, {
|
|
184
|
+
key: "logCurrentState",
|
|
185
|
+
value: function logCurrentState() {
|
|
186
|
+
var unresponsiveCount = this.windowStates.size;
|
|
187
|
+
var windowIds = Array.from(this.windowStates.keys());
|
|
188
|
+
this.logger.info("Hang Detection State: ".concat(unresponsiveCount, " unresponsive windows [").concat(windowIds.join(', '), "]"));
|
|
189
|
+
}
|
|
190
|
+
}, {
|
|
191
|
+
key: "handleWindowClosed",
|
|
192
|
+
value: function handleWindowClosed(windowId) {
|
|
193
|
+
this.logger.info("Window ".concat(windowId, " closed, cleaning up hang detection state"));
|
|
194
|
+
var windowState = this.windowStates.get(windowId);
|
|
195
|
+
if (windowState) {
|
|
196
|
+
if (this.callbacks.onStateChange) {
|
|
197
|
+
var duration = Date.now() - windowState.startTime;
|
|
198
|
+
this.callbacks.onStateChange(windowId, false, duration);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
this.clearWindowTimer(windowId);
|
|
202
|
+
this.windowStates["delete"](windowId);
|
|
203
|
+
if (this.config.enableVerboseLogging) {
|
|
204
|
+
this.logCurrentState();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}, {
|
|
208
|
+
key: "updateConfig",
|
|
209
|
+
value: function updateConfig(config) {
|
|
210
|
+
this.config = _objectSpread(_objectSpread({}, this.config), config);
|
|
211
|
+
this.logger.info("Hang detection config updated: ".concat(JSON.stringify(this.config)));
|
|
212
|
+
}
|
|
213
|
+
}, {
|
|
214
|
+
key: "getConfig",
|
|
215
|
+
value: function getConfig() {
|
|
216
|
+
return _objectSpread({}, this.config);
|
|
217
|
+
}
|
|
218
|
+
}, {
|
|
219
|
+
key: "dispose",
|
|
220
|
+
value: function dispose() {
|
|
221
|
+
this.logger.info('Disposing MultiWindowHangDetectionManager');
|
|
222
|
+
this.clearAllTimers();
|
|
223
|
+
}
|
|
224
|
+
}]);
|
|
225
|
+
}();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|