agent-ecosystem/test/renderer
Mike 05f68ced44 perf(team): enable virtualization past threshold + tests
Final step of the virtualization plan. Turns the virtualized render
path on in production behind a row-count threshold, and adds regression
tests covering every gate.

- `VIRTUALIZATION_ROW_THRESHOLD = 60`. Short lists stay on the direct
  render path (no wrapper, no position: absolute, no measurement
  churn). Above the threshold the virtualizer takes over. Threshold is
  sized so conversations under ~one session of activity don't pay the
  virtualization cost; it activates once scrolling through a longer
  history.
- `shouldVirtualize` now requires `renderRows.length >= threshold` in
  addition to the existing opt-in and scroll-ref checks.
- `MessagesPanel` opts into virtualization for every layout it wires
  (inline / sidebar / bottom-sheet). The internal threshold then
  decides when to actually enable it, so callers don't need per-layout
  heuristics.
- Tests: adds a new `ActivityTimeline virtualization threshold` block
  covering (a) below-threshold list stays on the direct path,
  (b) no viewport → direct path regardless of count, (c) above
  threshold + viewport with `virtualizationEnabled` flips to the
  virtualized render path (simulated by clicking "show all" past
  pagination).

With this in, #70#74 combine to deliver:
- correct IntersectionObserver roots in scroll containers
- atomic render rows with stable keys
- windowed rendering with DOM-measured scrollMargin and measureElement
- auto-on when the cost of direct rendering actually shows up
2026-04-20 00:56:28 +05:00
..
api feat(task-logs): add board task activity and task log stream 2026-04-12 22:13:43 +03:00
components perf(team): enable virtualization past threshold + tests 2026-04-20 00:56:28 +05:00
constants chore: checkpoint workspace before relaunch flow 2026-04-19 16:08:38 +03:00
features/agent-graph fix(agent-graph): stabilize drag and pan interactions 2026-04-18 18:32:04 +03:00
hooks fix(extensions): ignore stale MCP search responses 2026-04-16 22:26:03 +03:00
store fix(team): harden teammate restart lifecycle 2026-04-19 20:17:41 +03:00
types feat: enhance editor file handling and task management features 2026-03-02 20:08:03 +02:00
utils chore(merge): sync local dev into spike/team-snapshot-split-plan 2026-04-18 20:26:36 +03:00