files-app becomes url-state: the file browser is where the work happened, but where selection lives and who clears a query string are framework questions. The panel framework's version of the same question moves in beside them, extracted from the deep-read item, which keeps it as one of its three questions. Item ids changed with the theme. Done now deliberately — no board reads them yet, and this is the last cheap moment to move one. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.4 KiB
theme, heading, kind
| theme | heading | kind |
|---|---|---|
| url-state | URL state — routing, query strings and selection | theme |
Grouped 2026-08-21. This was files-app, and the file browser is still where most of it is —
but the question underneath is not the file browser's. Where selection lives, what a query string is
allowed to mean, and who is responsible for clearing one are framework questions that happen to have
been answered first in /files. The panel framework's own version of the same question is here too,
rather than filed under the framework's deep read where nobody comparing the two would find it.
docs/navigation-audit.md is the authority for all of it.
The URL model is done (2026-08-15). The folder is the pathname —
/files/archive/Tests/platform/docs — and ?view= is a NAME within it, not a second copy of the path.
Deep links and refresh work, which they never had. Landed across 559560de, 98ba604a, 7e31564c,
0dc88b51, 7359af2f, with files-route.ts + 23 tests as the one owner of encoding and of which params
belong to the overlay.
Four bugs came out of that work and are fixed: closing a pane sent you home; ?view= was stripped on
every page load by a mount effect that had made deep links impossible since 2026-02-23; navigating kept a
pane belonging to the folder you left; and the breadcrumb opted out of that last rule because it is a
<Link> and never called the function enforcing it.