dashboard: reverse-virtualize timeline once a run exceeds ~500 events (TanStack Virtual) #973
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
2 participants
Notifications
Due date
No due date set.
Depends on
Reference
charles/claude-hooks#973
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?
User story
As an operator viewing a long agent run (200-step refactor, multi-day session), I want the event timeline to stay smooth at 1000+ events with sub-100ms first-paint and stable scroll, without DOM nodes for every event off-screen.
Context
We already use TanStack everywhere;
@tanstack/virtual(MIT) is the natural fit. Reverse-virtualize so newest-at-bottom is the natural mode andscrollIntoViewfor a specific event still works (the scrubber depends on this).Acceptance criteria
useVirtualizerfrom@tanstack/virtualwith reverse-mode enabled.estimateSizeper event kind (assistant text ~200 px, tool card collapsed ~64 px, tool card open ~variable — re-measure on toggle).scrollToIndex({align: "center"})works for scrubber jump.Out of scope
Dependencies
scrollToIndexintegration). Lands together or after.References
🤖 Auto-assigned to dev (heuristic: area:dashboard + body 1409 bytes (≤ 2 KB) — code role). Reply
/unassignto reroute.