--- id: url-state/can-the-query-strings-come-out-of-the-flow title: "Can the query strings come out of the flow?" theme: url-state status: open created: 2026-08-20 date_source: assumed order: 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=`), 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=` 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.