Links and GET forms to wiki pages swap the next page into .shell instead
of loading a new document: the server answers boosted requests and
history restores with a partial (title, page actions out-of-band, shell
content). The header stays, browsers without cross-document view
transitions (Firefox) no longer flash between pages, and the swap runs
as a same-document view transition. Files, the editor, internal
endpoints and POST forms still navigate normally.
Back/Forward refetch pages (no snapshots that could predate a move or
delete); the tree rail keeps its scroll position and the content column
returns to where it was. Mutation redirects swap their result in the
same way. Page scripts that assumed a fresh document now also run after
a swap (toc, contents, companion, scroll-sync, search actions) or
register once (fitness).
The e2e suite now also runs in Firefox.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each test builds its pages in its own sandbox folder (search tests use a
random word), so tests no longer rely on earlier tests' leftovers and
run alone, in any order, or in parallel. The seed is just the home page.
Parallel load hid the htmx settle race from the timing-based tests, so
a dedicated test now submits a dialog in the task right after it is
inserted, which fails deterministically without the fix.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>