Compare commits

..

1 Commits

Author SHA1 Message Date
NimBold 09a5852939 test(startup): isolate Windows startup reveal (#37) 2026-08-27 20:24:53 +03:30
3 changed files with 10 additions and 6 deletions
+1
View File
@@ -30,6 +30,7 @@ const child = spawn(executable, [], {
env: {
...process.env,
FIRELINK_SMOKE_TEST: '1',
FIRELINK_SKIP_STARTUP_REVEAL: '1',
WEBKIT_DISABLE_COMPOSITING_MODE: '1',
GDK_BACKEND: 'x11',
},
+3 -1
View File
@@ -19899,7 +19899,9 @@ pub fn run() {
tauri::RunEvent::Ready => {
mark_main_window_startup_complete(app_handle);
#[cfg(target_os = "windows")]
reveal_main_window(app_handle);
if std::env::var_os("FIRELINK_SKIP_STARTUP_REVEAL").is_none() {
reveal_main_window(app_handle);
}
#[cfg(not(target_os = "windows"))]
restore_pending_main_window(app_handle);
}
+6 -5
View File
@@ -78,11 +78,12 @@ const PropertiesStartupFailure = () => (
const renderMainApp = async () => {
if (!rootElement) return;
// Diagnostic control for Issue #37: keep the native shell and extension
// server alive without loading the application renderer or its startup
// effects. This branch is used only to separate renderer startup from the
// native delayed-crash path.
renderRoot(() => <div data-firelink-startup-control="renderer" />);
// Keep the child entrypoint isolated from the main application module. App
// imports the persistent Zustand stores, whose module initialization issues
// main-window-only IPC commands. Loading it in a Properties child creates a
// second persistence owner and can race the bridge handshake.
const RootComponent = (await import('./App')).default;
renderRoot(RootComponent);
};
const renderPropertiesApp = async () => {