Gallery's filter (search, sort, folder, favorites-only) doesn't survive a page refresh — user with a long search query and a specific folder has to re-enter the filter every time #232
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/Kimi_Agent_Brother_10_Digitizing_App#232
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding
src/pages/Gallery.tsx's filter state is local ReactuseState:searchQuery: string(line 38)sortMode: SortMode(line 39)favoritesOnly: boolean(line 40)activeFolder: string(line 37)None of these are persisted to
localStorageor the URL. A user who:…refreshes the page. The Gallery reloads with
searchQuery: '',sortMode: 'newest', etc. All filter state is lost.grep -n 'localStorage' src/pages/Gallery.tsxreturns 0 hits.grep -n 'useSearchParams' src/pages/Gallery.tsxreturns 0.This is a common UX papercut: filters that disappear on refresh are frustrating. Most modern apps persist filter state in either:
Where
src/pages/Gallery.tsx:37-40grep -n 'localStorage' src/pages/Gallery.tsxreturns 0localStorage.getItem('designs')(per #148) — the designs persist; the filter doesn't.Suggested fix shape
Two options, in order of preference:
The user can now share the URL "logo" + "Work folder" + "Most stitches" with a teammate.
Severity
Low. The user can re-enter the filter. Power users with complex filter stacks notice.
Discovered by
Gap analysis (2026-10-02) of gallery state persistence.
Related
LOAD_DESIGN_STORAGE_KEY). The Gallery should do the same.loadedDesignIdis read from sessionStorage — different model, different scope.Shipped in commit
b3ab1b0.Files:
Chose localStorage over URL persistence to match the established pattern.
Test run: 1162 passing (1156 -> 1162, +6 new). Typecheck clean.