mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Read-only Phase 2 feasibility spike (NOT ship-ready). Assesses whether @tanstack/react-virtual can cleanly own the main timeline, replacing the bespoke scrollTop-locking scroll manager and the ~2,000-row render ceiling. Artifacts: - buildVirtualTimelineRows.ts: pure helper flattening day-grouped entries into a flat indexed row list (day-divider + message kinds) the virtualizer can measure/key; includes findVirtualRowIndexForMessage for deep-link/find. - buildVirtualTimelineRows.test.mjs: 9 tests covering dividers, renderKey keying, prepend key stability (native position-retention contract), and flat-index lookup. - __spike__/VirtualizedTimelinePoc.tsx: thin non-wired PoC showing the react-virtual integration shape (autoscroll, prepend retention via getItemKey, scrollToIndex for find/deep-link). - __spike__/FEASIBILITY.md: honest verdict on the three scoped points — sticky-bottom autoscroll, scroll-up pagination with native position retention, and cmd+F find-in-page plan. Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>