mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-21 22:15:40 +00:00
71fbc717f6
Creating the second WebView2 webview lazily from the open_mini_player invoke handler reliably stalled Tauri's event loop on Windows — the mini opened blank white, neither main nor mini could be closed, and the user had to kill the process via Task Manager. The builder-then-minimize-main combo racing with WebView2's first paint seems to be the trigger. Fix: extract a build_mini_player_window helper and call it once in .setup() on Windows so the webview is created (hidden) in the startup context, not from an invoke command. open_mini_player is now a pure show/hide on all platforms. Windows also skips the main.minimize() call since that interacted with the hang; macOS + Linux keep the existing behaviour of minimising main when the mini opens. Other changes bundled in: - Switch Windows from the custom in-page titlebar back to native window decorations (the earlier decorations(false) move on Windows was part of the hang surface — safer to keep the OS chrome there, Linux still uses the custom bar). - Re-emit mini:ready on window focus so every open of the pre-created mini forces a fresh snapshot from main's bridge, even when the mount- time emit raced past the bridge during startup. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>