Compare commits

..

3 Commits

Author SHA1 Message Date
NimBold 5e888e8e22 test(startup): isolate deferred logger IPC (#37)
- Issue #37: defer the logger state query until after the first renderer frame.\n- Keep the visible-window startup control otherwise unchanged.\n\nRefs #37.
2026-08-27 22:01:27 +03:30
NimBold 21a3711bdb test(startup): isolate Windows window gate (#37)
- Issue #37: compare the logger IPC path with normal visible and focusable native startup.\n- Keep the pure logger read and minimal renderer control unchanged.
2026-08-27 21:37:01 +03:30
NimBold 8d1cde8d2c fix(startup): restore Windows renderer startup (#37)
- Issue #37: Windows 1.4.0 exited before showing its main window.\n- Keep the logger state read independent of WebViewWindow extraction during WebView2 bootstrap.\n- Preserve main-window authorization for logging mutations and keep the process-wide pause state consistent across renderers.\n\nFixes #37.
2026-08-27 21:23:00 +03:30
2 changed files with 8 additions and 15 deletions
+4 -13
View File
@@ -18201,6 +18201,10 @@ fn toggle_log_pause(caller: tauri::WebviewWindow, pause: bool) -> Result<(), Str
#[tauri::command]
fn is_log_paused() -> bool {
// This read is needed during renderer bootstrap, including by standalone
// Properties windows. Avoid extracting a WebviewWindow here: on Windows,
// WebView2 can invoke the command while its host is still initializing.
// Mutating logging commands remain restricted to the main window below.
LOG_PAUSED.load(std::sync::atomic::Ordering::Relaxed)
}
@@ -18549,17 +18553,6 @@ pub fn run() {
main_window_builder = main_window_builder
.inner_size(startup_size.width as f64, startup_size.height as f64)
.prevent_overflow();
#[cfg(target_os = "windows")]
{
// Wry installs its parent WM_SETFOCUS handler while WebView2
// is still being initialized. Keep the host hidden and
// non-activatable until RunEvent::Ready so Windows cannot
// re-enter that handler during native construction.
main_window_builder = main_window_builder
.visible(false)
.focused(false)
.focusable(false);
}
main_window_builder
.build()
.map_err(|error| format!("failed to create main window: {error}"))?;
@@ -19897,8 +19890,6 @@ pub fn run() {
.run(|app_handle, event| match event {
tauri::RunEvent::Ready => {
mark_main_window_startup_complete(app_handle);
#[cfg(target_os = "windows")]
reveal_main_window(app_handle);
#[cfg(not(target_os = "windows"))]
restore_pending_main_window(app_handle);
}
+4 -2
View File
@@ -1,8 +1,10 @@
import { initLogger } from "./utils/logger";
void initLogger();
const rootElement = document.getElementById("root");
if (rootElement) {
rootElement.textContent = "Firelink startup control";
}
requestAnimationFrame(() => {
void initLogger();
});