Help page search input is non-functional: setSearchQuery wired but searchQuery never read by any filter — typing does nothing #144
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#144
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
The Help page has a search input at
src/pages/Help.tsx:341withplaceholder="Search topics, stitch types, error messages...". The state is set viasetSearchQuery, but the searchQuery value is never read to filter any content. The input is purely decorative — typing into it does nothing.Where
src/pages/Help.tsx:341—const [searchQuery, setSearchQuery] = useState('')src/pages/Help.tsx:393-394searchQueryis set on change and never referenced in any filter, search, or render.Verified by:
grep -rn 'searchQuery' src/pages/Help.tsxreturns 3 references (the useState declaration, the input value binding, the onChange handler). No reference in a.filter(),.find(),.includes(), or any conditional render.Suggested fix shape
Make the search input functional:
searchQuery.trim()is non-empty, filterfaqItemsby case-insensitive match onq(question) ora(answer).stitchTypes.machineorstatus.The simplest implementation: derive a single
filteredSectionsobject that contains the filtered lists of each section, then render those.The placeholder promises "topics, stitch types, error messages" — the implementation should cover at least topics and stitch types. Error messages are a stretch (the help page doesn't have a structured error-message section), so skip those.
Severity
Medium. A user looking for "how do I export" types "export" and gets no feedback. Either the input does nothing (current state) or the page scrolls to matches. Without a filter, the input is a UI lie.
Discovered by
Gap analysis (2026-10-02) of Help page interactive elements.
Related
/help.Fixed in commit
f29cfd1on main.The Help page search input now actually filters:
When the query matches nothing across all three sections, a
No matches for "<query>".banner appears under the search input.Added 5 regression tests in
src/pages/Help.test.tsxcovering each filter path, the no-results state, and clearing the input.cursor-not-allowed(decorative) but the label and hover styles suggest interactivity #166