agent-orchestrator/packages/web
i-trytoohard eb7314b07b
refactor(web): break down SessionDetail.tsx into focused components (#1449)
* refactor(web): break down SessionDetail.tsx into focused components

Split the 1089-line SessionDetail page into smaller, focused modules so
every file stays under the 400-line component cap (CLAUDE.md C-04).

- SessionDetail.tsx: 1089 -> 248 lines, now orchestrates layout only
- SessionDetailHeader.tsx (new): topbar with PR popover + kill/restore
- OrchestratorStatusStrip.tsx (new): orchestrator zone counters
- SessionDetailPRCard.tsx: wired in, with merge-conflict actions and
  reliability check that previously lived inline in SessionDetail
- PRCommentThread.tsx (new): unresolved review comment list
- Reuses session-detail-utils and session-detail-agent-actions, which
  were previously orphaned dead code

Closes #770

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* test(web): unit-test logic in SessionDetail extractions

Cover the pure logic in the modules extracted by #770:

- buildBlockerChips (PR card): 12 cases for CI/review/conflict/draft
  branching, lifecycle hints, and the unenriched/rate-limited
  reliability gate
- buildZoneStats (orchestrator strip): zone filter + canonical order
- buildAgentFixMessage (agent actions): bugbot vs plain bodies and
  truncation against title/description/total budgets

Pure JSX shells (PRCommentThread, header markup) stay covered by the
existing integration tests.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(web): wire lifecyclePrReason into PR popover

Pass session.lifecycle?.prReason to SessionDetailPRCard from the topbar
header so blocker chips derived from lifecycle state (ci_failing,
changes_requested) surface in the popover.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Prateek <karnalprateek@gmail.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-25 22:01:21 +05:30
..
e2e feat: seamless onboarding with enhanced documentation (#66) 2026-02-16 22:22:13 +05:30
public Fix web imports for service worker and project utils 2026-03-25 14:08:54 +05:30
screenshots fix: polish shimmer states, terminal PR inference, and gitignore .gstack 2026-04-06 22:49:09 -07:00
scripts Add multi-project storage, resolution, and project settings support (#1343) 2026-04-21 17:45:55 +05:30
server feat(core): opt-in gh CLI tracer + scm/tracker migration (Phase A1a) (#1238) 2026-04-25 18:57:04 +05:30
src refactor(web): break down SessionDetail.tsx into focused components (#1449) 2026-04-25 22:01:21 +05:30
.env.local.example feat: configurable terminal server ports for multi-dashboard support (#113) 2026-02-19 04:00:19 +05:30
.gitignore Normalize dashboard project filtering and align session layout 2026-03-25 14:34:55 +05:30
CHANGELOG.md chore: replace changelog edits with changeset 2026-04-19 19:59:16 +05:30
eslint.config.js fix: resolve three Next.js build warnings in web package (#1087) 2026-04-17 10:43:01 +05:30
next-env.d.ts feat: implement web dashboard with attention-zone UI and API routes (#1) 2026-02-14 14:26:59 +05:30
next.config.js fix(web): pin outputFileTracingRoot to repo root (#1497) 2026-04-25 20:36:19 +05:30
package.json Add multi-project storage, resolution, and project settings support (#1343) 2026-04-21 17:45:55 +05:30
postcss.config.mjs feat: implement web dashboard with attention-zone UI and API routes (#1) 2026-02-14 14:26:59 +05:30
tsconfig.json fix: terminal servers compatible with hash-based architecture (#87) 2026-02-18 03:28:55 +05:30
tsconfig.server.json fix: scope node types to node packages 2026-04-13 18:25:21 +05:30
vitest.config.ts fix: register codex web activity plugin 2026-04-18 14:15:29 +05:30