feat(board): triage column — distinct surface + freshness sort + arrival flash (B7) #423
No reviewers
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks!423
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "dev/415"
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?
Turns the Unassigned column into a Linear-style triage inbox: warm
bg-triagesurface,Triage (N)header withrounded-pillcount badge (inverts when empty), cards sorted bycreated_atdesc,🎉 Inbox zeroempty state, and a 1 sborder-accentring flash on SSE-driven card arrivals.Test plan
Triage (N)where N matches live card count; badge inverts colour at N = 0.🎉 Inbox zeroplaceholder.ch-arrival-flashring for ~1 s then stops.just qaclean; 453 web tests + 2010 server tests pass.Closes #415
behavior:
apps/web/src/components/board/board-column.tsx— arrival flashuseEffectcleanup callsclearTimeout(timer)but never removes the batch-1 keys fromflashingKeys. If a second SSE event arrives within 1 s of the first (e.g. two issues land in quick succession), the effect re-runs, cancels batch-1's timer, and batch-1's keys stay inflashingKeyspermanently — the ring flashes indefinitely rather than once. The spec AC says "flashes a 1 s ring once."Fix: include the key removal in the cleanup function so that when a new effect run pre-empts the old timer, the stale flash keys are cleared before the new batch is applied:
Everything else is correct: token definitions (
--ch-color-triagein both themes),bg-triagesurface application,rounded-pillbadge with invert-on-zero,🎉 Inbox zeroempty state,created_atdesc sort (both server-side inbuildBoardand client-side insortedTriageCards),ch-arrivalkeyframe animation, all four B7 test scenarios covered. CI green.Fixed in
6670642. Cleanup now removes pre-empted batch keys fromflashingKeysbefore the new batch is applied, so rapid SSE arrivals don't leave stale rings.66706420b14cb4d9b9334cb4d9b93325a4e0f26b25a4e0f26bccd98cd691Cleanup fix applied correctly —
setFlashingKeyskey removal is now present alongsideclearTimeoutin the effect cleanup, eliminating the indefinite-flash regression on rapid SSE bursts. CI green.ccd98cd6912e13a5fde6bce1adf4ceba029ddfec