BottomThreadBar's stop pills have no remove affordance — user can only remove a thread stop from the right panel's 3-dot menu, but the bottom bar is the primary surface for browsing stops #190
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#190
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/workspace/BottomThreadBar.tsxrenders a horizontal list of "stop pills" (each is a small colored chip with the catalog name). The pills are clickable (to select the stop and highlight matching objects on the canvas) and the bar has an+ Addbutton. There is no×remove button on the pills themselves.A user who wants to remove a stop:
grep -n 'onRemove\|removeStop' src/components/workspace/BottomThreadBar.tsxreturns 0 hits — the affordance is missing.grep -n 'REMOVE_THREAD_STOP' src/components/workspace/RightPanel.tsx:507confirms the only consumer is the right panel's per-row 3-dot menu.Where
src/components/workspace/BottomThreadBar.tsx:80-180(approx, the stop pill section)src/components/workspace/BottomThreadBar.tsx(noonRemoveprop, no remove button)src/components/workspace/RightPanel.tsx:507Suggested fix shape
Add an
×button on each stop pill, visible on hover:Plumb
onRemoveStopfrom the workspace reducer (the existingREMOVE_THREAD_STOPaction inuseWorkspace.ts:459).Optionally: add a keyboard shortcut to remove the selected stop (Backspace or Delete when a stop pill is focused). Currently the only way to delete is via the right panel; the bottom bar — which is the more discoverable surface — is read-only.
Severity
Low. The user can remove via the right panel. Bottom bar is more discoverable but the action is available.
Discovered by
Gap analysis (2026-10-02) of thread stop affordances.
Related
Shipped in
fe8d556on main.BottomThreadBar.tsxaccepts an optionalonRemoveStop(stopId)prop (mirroring the existingonReorderStopsopt-in pattern) and renders an×button on each chip wrapper, hidden at rest and fading in on hover to match the drag handle.Workspace.tsxplumbs the dispatcher: clicking×firesREMOVE_THREAD_STOP, which already pushes history so Cmd+Z still undoes a removal triggered from the bottom bar.src/components/workspace/issue-190.test.tsx(render-with/without-prop, correct id passed, no spurious chip-select on click, coexistence withonReorderStops). Full suite: 863/863 passing.e.stopPropagation()on the button's onClick + onMouseDown ensures a click on×removes the stop without first selecting its chip (no canvas flicker).Untouched in this commit: the editor's right panel is unaffected; the right-panel 3-dot Remove path still works.