Context
Port of upstream agent-orchestrator PR #1449 — refactor(web): break down SessionDetail.tsx into focused components.
Upstream SessionDetail.tsx was ~900 lines. Decomposed into:
SessionDetailHeader.tsx
SessionDetailPRCard.tsx
SessionEndedSummary.tsx
PRCommentThread.tsx
Result: easier review, isolated tests, fewer rerender cascades.
Files (ao-rs)
crates/ao-desktop/ui/src/components/SessionDetail.tsx — currently the catch-all
Changes
- Audit current
SessionDetail.tsx line count + responsibilities.
- Extract:
- Header (title, status pills, top-bar actions)
- PR card (PR state, CI, review decision, merge actions)
- Ended summary (terminated + summary view)
- Comment thread (review comments / bugbot list, if applicable)
- Each new component owns its own test file.
- No behavior change — purely structural.
Acceptance
SessionDetail.tsx ≤ ~200 lines orchestration only.
- Visual + behavior unchanged in dashboard.
- Per-component tests added.
Context
Port of upstream agent-orchestrator PR #1449 — refactor(web): break down SessionDetail.tsx into focused components.
Upstream
SessionDetail.tsxwas ~900 lines. Decomposed into:SessionDetailHeader.tsxSessionDetailPRCard.tsxSessionEndedSummary.tsxPRCommentThread.tsxResult: easier review, isolated tests, fewer rerender cascades.
Files (ao-rs)
crates/ao-desktop/ui/src/components/SessionDetail.tsx— currently the catch-allChanges
SessionDetail.tsxline count + responsibilities.Acceptance
SessionDetail.tsx≤ ~200 lines orchestration only.