agent-ecosystem/test
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
..
features/recent-projects fix(recent-projects): show active projects during provisioning 2026-04-18 14:11:17 +03:00
fixtures fix(team): restore task log fallback and block launch auto-assignment 2026-04-18 14:13:15 +03:00
main fix(team): harden teammate restart lifecycle 2026-04-19 20:17:41 +03:00
mocks feat(wsl): add support for finding WSL Claude root candidates 2026-02-14 13:53:13 +09:00
renderer refactor(team): flatten ActivityTimeline render into atomic rows 2026-04-20 00:47:02 +05:00
shared chore: checkpoint workspace before relaunch flow 2026-04-19 16:08:38 +03:00
setup.ts feat: add Sentry error tracking and update docs 2026-03-22 17:03:15 +02:00