agent-ecosystem/test/renderer/components/team/activity
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
..
ActivityItem.test.ts refactor(activity): reuse markdown rendering in compact previews 2026-04-18 21:57:59 +03:00
ActivityTimeline.test.ts refactor(team): flatten ActivityTimeline render into atomic rows 2026-04-20 00:47:02 +05:00
collapseState.test.ts feat: enhance UI and functionality in team dialogs and components 2026-03-06 23:21:56 +02:00
LeadThoughtsGroup.test.ts refactor(activity): reuse markdown rendering in compact previews 2026-04-18 21:57:59 +03:00
PendingRepliesBlock.test.ts feat(team-ui): clarify launch and retry member states 2026-04-09 21:16:24 +03:00