v1.13.2

Ghost
Mon, 30 Mar 2026 19:04:30 +0000

ROOT CAUSE FOUND: WebviewUrl::App takes a PathBuf, not a URL.
Passing "index.html#/tool/ping?sessionId=abc" treated the ENTIRE
string including # and ? as a file path. Tauri looked for a file
literally named "index.html#/tool/ping?sessionId=abc" which doesn't
exist. The webview loaded an empty/404 page and WKWebView killed
the content process, closing the window instantly.

Fix:

Rust: split URL at '#' — pass only "index.html" to WebviewUrl::App,
then set the hash fragment via window.eval() after build()

Vue: App.vue now listens for 'hashchange' event in addition to
checking hash on mount, so the eval-injected hash triggers the
correct tool/detached mode

This was NEVER a CSP issue, focus issue, crossorigin issue, or
async chunk loading issue. It was always a bad file path.

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com