Files
platform/todo/url-state/can-the-query-strings-come-out-of-the-flow.md
T
pastilhasandClaude Fable 5 44f6c6d6ac 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>
2026-08-21 16:40:39 +00:00

1.5 KiB

id, title, theme, status, created, date_source, order
id title theme status created date_source order
url-state/can-the-query-strings-come-out-of-the-flow Can the query strings come out of the flow? url-state open 2026-08-20 assumed 4

Can the query strings come out of the flow? One of the three questions the Workspace/Panel deep read set out to answer rather than assume (workspaces-panels/a-deep-read-of-the-whole-framework-to), pulled out to sit beside the file browser's version of the same problem — which is the only place the question has actually been worked through end to end.

What makes it a real question rather than a tidy-up: a query string is doing several different jobs at once across the app. In /files it names the open overlay (?view=<name>), which is addressable state and belongs in the URL. src/workspaces/components/NavLink.tsx appends a global query string to every link it renders — a different job again, and one most callers never think about. And docs/navigation-audit.md prescribes ?selected=<id> for a master list with a live preview, because the detail route is the full page.

So "come out of the flow" is not one change. Deciding which of those uses are load-bearing addressable state and which are ambient plumbing being carried around is the work, and the answer probably differs per case.

Related, and the reason this theme exists: url-state/the-acts-that-clear-the-overlay-have-no-owner is the same shape one layer down — the params are named in one place, but every site still decides for itself whether to honour them.