Gallery's per-card rename silently drops empty-string input — user types a name, presses Enter, nothing happens, no toast or visual feedback #193
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#193
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/components/gallery/DesignCard.tsx:79-83:If the user clears the field and presses Enter (or Escape, or clicks away), the
ifis false, the rename is not dispatched, andsetIsRenaming(false)exits edit mode. The user sees their input vanish with no feedback.This is the same UX as the validation not happening — empty input is silently treated as "cancel," but the user has no signal that "empty" is the reason.
Compare to the same flow on the Workspace's inline filename edit (
AppHeader.tsx:120-130): same pattern, same silence on empty input.A user who:
...sees the field revert to the original name with no error message. They might think the rename worked.
Where
src/components/gallery/DesignCard.tsx:79-83src/components/workspace/AppHeader.tsx:120-130addToastis imported in the App but no call site fires for empty renameSuggested fix shape
Two options:
The toast needs to be plumbed from the parent (Gallery) into DesignCard as a new prop, or via a shared
useToasthook.renameValue.trim()is empty, and don't accept Enter until the user has a non-empty value. Less informative but more discoverable.Option 1 is the right product move; option 2 is the lightweight alternative.
Severity
Low. The user can try again with a valid name. The silent failure is confusing.
Discovered by
Gap analysis (2026-10-02) of gallery UX edge cases.
Related