Compare commits

..

1 Commits

Author SHA1 Message Date
NimBold 765451f221 test(startup): isolate Windows focusability transition (#37)
- Issue #37: keep the failing startup path hidden and focused-out while removing the post-Ready focusability transition.\n- Use the packaged workflow to distinguish native focusability from other startup causes.\n\nRefs #37.
2026-08-27 19:32:57 +03:30
2 changed files with 7 additions and 10 deletions
+1 -5
View File
@@ -3996,9 +3996,6 @@ fn mark_main_window_startup_complete(app_handle: &tauri::AppHandle) {
#[cfg(target_os = "windows")]
fn reveal_main_window(app_handle: &tauri::AppHandle) {
if let Some(window) = app_handle.get_webview_window("main") {
if let Err(error) = window.set_focusable(true) {
log::warn!("Could not make the main window focusable: {error}");
}
if let Err(error) = window.show() {
eprintln!("Failed to reveal the main window: {error}");
}
@@ -18558,8 +18555,7 @@ pub fn run() {
// re-enter that handler during native construction.
main_window_builder = main_window_builder
.visible(false)
.focused(false)
.focusable(false);
.focused(false);
}
main_window_builder
.build()
+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 () => {