Repository navigation
Fixed
- Fix #8: native navigation blockers now work without a DOM in Bun and QuickJS.
- SDK-owned memory history checks push, replace, back, forward, and go before changing the stack. RouterCore waits for confirmation before starting route loading.
- Cancelled navigation preserves history, route state, loaders, and mounted owners. Approved navigation commits once.
- New requests supersede pending decisions. Unregister and destroy cancel pending navigation; ignoreBlocker explicitly bypasses confirmation. Blocker errors reject the navigation call.
Upgrade
Install matching @solid-gpui/{core,vite,router,shiki}@0.5.2 packages and use native sources from v0.5.2. Rebuild the host and regenerate bindings. Blockers return true to cancel and false to proceed. Direct native history methods return promises; await them to handle confirmation failures. Window-close confirmation remains a separate host lifecycle concern.
Verification
Full local CI and security audits passed, including Rust checks, Clippy, native tests, generated contracts, package types and tests, installed tarball consumers, and the real QuickJS VM. Router tests cover all five navigation actions, owner preservation, async confirmation, supersession, unregister, destruction, errors, and ignoreBlocker. English/Chinese routing guides and website content were synchronized; all seven website tests and the frontend production build passed.
Gallery Desktop archives and SHA-256 files are attached by the cross-platform packaging workflow.