Editor has no way to add a custom thread color (named, hex-precise) from inside the editor — user has to go to Settings → Thread Library to add colors, can't add from where they're using them #233
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#233
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/editor/EditorRightPanel.tsx's Thread Color picker (per the #185 fix at line 256) shows the catalog colors in a 5-column grid. The user can pick a catalog color to set the selected path'sthreadColor. They cannot ADD a new color to the catalog from this picker.src/components/workspace/threadLibrary.ts:148definesaddColor(entry: { name, hex })— the action exists. It's plumbed throughuseThreadLibrary(line 450:addColor: (entry) => ...). The hook is what the Settings modal's CRUD form calls.The Editor's picker doesn't expose this action. The user has to:
Four navigation hops for a common flow.
Where
src/components/editor/EditorRightPanel.tsx(no add button)src/components/workspace/threadLibrary.ts:148src/components/workspace/threadLibrary.ts:444(exposesaddColor)Suggested fix shape
Add a "+" button at the top of the editor's Thread Color picker:
onAddCustomColoropens a small modal (or the same modal used by Settings' "Add Thread" form) with:The modal is the same form the Settings modal uses; it can be extracted to a shared component.
Save calls
useThreadLibrary().addColor(entry)and the new color appears in the editor's picker grid immediately.Severity
Low. The user can add via Settings. The in-editor entry point is a polish improvement.
Discovered by
Gap analysis (2026-10-02) of thread library surfaces.
Related
Shipped as commit
36a56d4on main. The editor's Thread Color picker now has a dashed "+" tile as the last cell in its grid; clicking it opens a new AddThreadColorModal that calls useThreadLibrary().addColor and the new color appears in the same picker grid on the next render. SettingsModal.tsx left untouched (out of scope; can adopt the shared modal later).Local CI gates: tsc clean, eslint clean, 490/490 vitest tests pass (190 in the directly touched files: AddThreadColorModal.test.tsx 9, EditorRightPanel 125 incl. 3 new affordance tests, SettingsModal 17, threadLibrary 26 + 13). Production bundle built cleanly. The Forgejo Actions self-hosted runner is currently offline; the pushed commit will gate on CI when it next comes back. Closes the issue because the in-editor entry point is now in place.