Opening or refreshing a URL with `?view=` gave you a bare file browser and a URL
that had quietly rewritten itself to drop the param. Reported as "has never
worked", and it never had.
`useFileViewerPanels` deleted EVERY ephemeral key in a mount effect, filed under
"clear stale ephemeral params". So the page came up, the effect stripped `view`,
and the pane never opened. It arrived incidentally in 9acef6cf (2026-02-23) with
the chat-about-a-file work rather than as a decision about deep links, which is
why nothing recorded the cost.
Checked what actually needs clearing before removing it, rather than assuming
nothing did:
chatContext fills the chat box through `defaultInput` and does NOT auto-send
(`autoSend` defaults false) — restoring it costs a pre-filled
input and no message
view a file that has since gone shows the viewer's error, which as of
today says what happened and offers a download
ephemeral(2) same
ephemeral2Auto STARTS AUDIO PLAYING. Reloading a page should not make sound
come out of the machine. This one is still cleared, and is now
the only reason the effect exists.
Also `replace`, so the cleanup is not a back-button step.
An old-style link carrying both `?path=` and `?view=` still works: the legacy
redirect rebuilds the pathname and keeps the rest of the query, so `view` rides
through and is then read relative to the folder it just landed in.
tsgo clean, frontend builds, 837 pass / 7 fail unchanged.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>