todo: group the url and query-string items into one theme
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>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
---
|
||||
theme: url-state
|
||||
heading: "URL state — routing, query strings and selection"
|
||||
kind: 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.
|
||||
Reference in New Issue
Block a user