Compare commits

..

1 Commits

Author SHA1 Message Date
NimBold 052a7fb66f test(startup): isolate renderer crash path (#37)
- Issue #37: replace the main renderer with a minimal startup control for packaged smoke runs.\n- Keep native startup, Aria2, and the extension endpoint unchanged for comparison.\n\nRefs #37.
2026-08-27 20:02:39 +03:30
3 changed files with 6 additions and 10 deletions
-1
View File
@@ -30,7 +30,6 @@ const child = spawn(executable, [], {
env: {
...process.env,
FIRELINK_SMOKE_TEST: '1',
FIRELINK_SKIP_STARTUP_REVEAL: '1',
WEBKIT_DISABLE_COMPOSITING_MODE: '1',
GDK_BACKEND: 'x11',
},
+1 -3
View File
@@ -19899,9 +19899,7 @@ pub fn run() {
tauri::RunEvent::Ready => {
mark_main_window_startup_complete(app_handle);
#[cfg(target_os = "windows")]
if std::env::var_os("FIRELINK_SKIP_STARTUP_REVEAL").is_none() {
reveal_main_window(app_handle);
}
reveal_main_window(app_handle);
#[cfg(not(target_os = "windows"))]
restore_pending_main_window(app_handle);
}
+5 -6
View File
@@ -78,12 +78,11 @@ const PropertiesStartupFailure = () => (
const renderMainApp = async () => {
if (!rootElement) return;
// 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);
// 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" />);
};
const renderPropertiesApp = async () => {