Deep links: restore the Inspector open state #882

Open
opened 2026-10-02 17:30:45 +00:00 by kayg · 0 comments
Owner

Evidence

The deep-link inventory says a File selection restores but the Inspector open state is a per-browser preference (docs/deep-links.md:47-50). FilesBrowser keeps the Inspector in local state (apps/web/src/lib/files/FilesBrowser.svelte:729-759). A File link therefore cannot restore the view with the Inspector open.

Rule

DESIGN §33 says a link restores the exact view, including open panels or popovers. CLAUDE.md, Deep links, requires every part of the UI to be deep-linkable.

Expected behavior

A Copy link made from the open Inspector preserves both the stable File item ID and the Inspector-open state. Opening it cold selects the File and opens its Inspector. Keep panel state in the URL only when it is part of the copied view.

Test idea

Open the Inspector for a File, copy its link, then open the link in a fresh page. Verify that the same File is selected and its Inspector is open. Repeat after renaming or moving the File.

## Evidence The deep-link inventory says a File selection restores but the Inspector open state is a per-browser preference (`docs/deep-links.md:47-50`). FilesBrowser keeps the Inspector in local state (`apps/web/src/lib/files/FilesBrowser.svelte:729-759`). A File link therefore cannot restore the view with the Inspector open. ## Rule DESIGN §33 says a link restores the exact view, including open panels or popovers. CLAUDE.md, Deep links, requires every part of the UI to be deep-linkable. ## Expected behavior A Copy link made from the open Inspector preserves both the stable File item ID and the Inspector-open state. Opening it cold selects the File and opens its Inspector. Keep panel state in the URL only when it is part of the copied view. ## Test idea Open the Inspector for a File, copy its link, then open the link in a fresh page. Verify that the same File is selected and its Inspector is open. Repeat after renaming or moving the File.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#882
No description provided.