fix(dashboard): apply code-review fixes + live UI tweaks

Code review (8 reviewers) fixes:
- P1: embedded board task-detail now passes onRequestClose so delete/merge/retry dismiss the panel (no ghost task).
- P1: RightDock + TerminalModal drag handlers add pointercancel + unmount teardown (no leaked document listeners / rAF / stuck userSelect); remove dead onOpenChange prop.
- Planning slot DOM-poll interval now caps (self-cancels on mobile); heartbeat slider persist debounced + mounted-guarded.
- Cleanup: remove dead ViewHeader-migration CSS (Skills/Insights), extract shared GithubIcon, move Activity Log embedded CSS to ActivityLogModal.css, FNXC date-format fixes, AGENTS lazy-view note.
- Update stale RightDock roster tests + LeftSidebarNav 'Compound Eng' test to current behavior.

Live UI tweaks:
- Default load lands on board, never the Command Center Dashboard.
- View Board/View Agents moved to the Command Center Overview tab (under the live-activity strip).
- Heartbeat card full-width with spaced, wrapping controls.
- Dev Server panel scrolls in the dock; ChatView right-pane title takes the full line.
- Files pop-out renders deterministic left-right two-pane.
- Mailbox list pane narrower + narrow by default; Add Goal button height matches the Compound stage button; Memory Working-Memory tab no longer overlaps; Skills view fills full width.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-06-22 03:57:10 -07:00
parent 8dd9697468
commit 4850e4309e
38 changed files with 573 additions and 320 deletions

View File

@@ -108,7 +108,7 @@ describe("CompoundEngineeringView theme tokens", () => {
const tokenizedDeclarations = [
// Spacing moved onto the scrolling .ce-view-body when the shared ViewHeader
// took over the root header row (FNXC:CompoundEngineeringUI 2026-06-22).
// took over the root header row (FNXC:CompoundEngineeringUI 2026-06-22-12:00).
[".ce-view-body", "gap", spacingToken],
[".ce-view-body", "padding", spacingToken],
[".ce-group", "gap", spacingToken],