Self-hosted SSH + SFTP + RDP in a browser — MobaXterm replacement
Go to file
Vantz Stockwell 6015f8669b
All checks were successful
Build & Sign Wraith / Build Windows + Sign (push) Successful in 3m45s
fix: WebviewUrl::App hash fragment bug — tool windows loading empty page
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>
2026-03-30 15:04:30 -04:00
.gitea/workflows feat: migrate all artifacts to SeaweedFS — single source of truth 2026-03-26 15:52:10 -04:00
docs fix: revert StatusBar and MonitorBar to matching h-6 text-[10px] 2026-03-30 13:06:35 -04:00
src fix: WebviewUrl::App hash fragment bug — tool windows loading empty page 2026-03-30 15:04:30 -04:00
src-tauri fix: WebviewUrl::App hash fragment bug — tool windows loading empty page 2026-03-30 15:04:30 -04:00
.gitignore chore: ignore worktree directories 2026-03-29 16:41:51 -04:00
AGENTS.md docs: rename Go reference from ../wraith to ../wraith-go-archive 2026-03-24 22:54:22 -04:00
CLAUDE.md feat: MCP Phase 1 — scrollback buffer, terminal_read, terminal_execute 2026-03-24 23:00:32 -04:00
index.html feat: Phase 1 complete — Tauri v2 foundation 2026-03-17 15:09:41 -04:00
package-lock.json feat: Tauri auto-updater + RDP vault credentials + sidebar persist 2026-03-25 12:42:01 -04:00
package.json feat: Tauri auto-updater + RDP vault credentials + sidebar persist 2026-03-25 12:42:01 -04:00
tsconfig.json feat: Phase 1 complete — Tauri v2 foundation 2026-03-17 15:09:41 -04:00
tsconfig.node.json feat: Phase 1 complete — Tauri v2 foundation 2026-03-17 15:09:41 -04:00
vite.config.ts fix: strip crossorigin from HTML for WKWebView child windows + status bar 2026-03-30 12:56:24 -04:00