agent-ecosystem/test/renderer
Mike a43fedcaab refactor(team): flatten ActivityTimeline render into atomic rows
Third step of the virtualization plan. Pure refactor — no UI change, no
virtualization yet. Prepares the timeline for row-level windowing.

- Introduces `TimelineRow`, a discriminated union of `session-separator`,
  `lead-thought-group` (pinned and non-pinned), `compaction-divider`,
  and `message-row`. Each row maps 1:1 to a single visual element.
- Adds a `renderRows` useMemo that walks `timelineItems` once and emits
  atomic rows, hoisting session separators out of the Fragment bundle
  that used to pair them with their owning item. This is the shape a
  windowing layer needs: each row measurable and addressable
  independently.
- Extracts a `renderTimelineRow(row)` helper that switches on `row.kind`
  and returns the same JSX the previous inline render produced. Logic
  per kind is identical — keys, memoization, collapse props, pinned
  thought "live" semantics — so there is no visual diff.
- The render body collapses from two blocks (pinned + `.slice().map()`)
  into a single `renderRows.map(renderTimelineRow)` call.

Follow-ups will virtualize `renderRows` with measured row heights and
tighten observer/animation wiring; pagination, collapse state, zebra
striping, and `groupTimelineItems` are untouched.
2026-04-20 00:47:02 +05:00
..
api feat(task-logs): add board task activity and task log stream 2026-04-12 22:13:43 +03:00
components refactor(team): flatten ActivityTimeline render into atomic rows 2026-04-20 00:47:02 +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