Commit Graph

8441 Commits

Author SHA1 Message Date
gsxdsm
b4e4013869 fix(dashboard): collapse empty Planning footer; Planning header matches Mission (icon/gap/title/divider)
- .planning-view-footer:empty -> display:none (no reserved space / divider band when empty); legitimate composer + start-planning footers untouched.
- Planning embedded header icon -> var(--todo), title-row gap -> space-sm, h3 -> 1.125rem/600/var(--text), border-bottom divider -> matches mission-manager__header exactly. Mission already had a single divider (no doubled line); documented the invariant.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 11:14:23 -07:00
gsxdsm
a9b0e6c0d1 feat(dashboard): GitHub import issues show comments + a Close-issue action
Mirrors the PR detail pattern for issues: GitHubClient.getIssueDetail (gh issue view --json comments, REST fallback) + closeIssue (gh issue close, REST PATCH fallback); new POST /api/github/issues/detail + /issues/close routes. The Issues preview fetches comments on selection (cached, non-blocking) and renders them below the body; a Close-issue button in the preview header (open issues only) closes via the API, toasts, and reflects the closed state without dismissing the view.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 11:10:43 -07:00
gsxdsm
8640a747aa feat(dashboard): shared markdown renders embedded HTML (sanitized) + mermaid diagrams
MailboxMessageContent pipeline gains rehype-raw -> rehype-sanitize (GitHub-like allow list: details/summary/kbd/tables/etc; strips script/style/iframe/on*/javascript:) so raw HTML in markdown renders and HTML comments are dropped. Fenced ```mermaid blocks render via a lazy-loaded MermaidDiagram component (dynamic import keeps mermaid out of the main bundle; theme-aware; falls back to the raw block on parse error).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 11:08:25 -07:00
gsxdsm
fefc91b30e fix(dashboard): center List toolbar buttons, match Chat divider exactly, shrink quick-add right padding
- Toolbar (Bulk Edit / View / New Task) is centered (dropped the margin-left:auto right-push).
- List divider now draws its 1px line via .list-split-sidebar border-right (identical to Chat's .chat-sidebar), with a transparent hover-tint handle; removed the doubled detail border-left.
- Quick-add input padding-right 70px (inherited from the global .description-with-refine textarea refine-button reservation) tightened to space-sm — no overlaid button there, so text reclaims the width.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 11:02:32 -07:00
gsxdsm
50e271535e fix(dashboard): GitHub import embedded view scrolls on narrow mobile
At narrow viewports the embedded view entered the dialog's mobile single-pane rules (overflow:hidden workspace + inner pane-content scroll), but the embedded body-scroll model flipped panes to natural height with no inner scroll — leaving orphaned overflow:hidden clips and no scroll owner, so a tall preview was unreachable. Add an embedded-scoped @media(max-width:640px) override making .github-import-modal__body the single scroll owner with the chain at natural height/overflow:visible. Wide two-pane + non-embedded dialog untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 11:02:00 -07:00
gsxdsm
d12202b047 fix(dashboard): sidebar active color wins over hover; New Task footer button matches Collapse/Settings size
- Active/selected nav row keeps the accent color even while hovered (--active:hover now outranks plain :hover).
- New Task footer button drops its CTA inset margins so it's the same height/width as the Collapse and Settings footer items (keeps the accent fill).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:56:26 -07:00
gsxdsm
f7e9c11137 feat(dashboard): move sidebar New Task button into the footer, above Collapse
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:48:57 -07:00
gsxdsm
51d0471c95 feat(dashboard): Agents header matches Missions; GitHub import action moves to preview-pane top
- AgentsView header: ViewHeader matched to Missions (icon --todo color, space-lg/space-xl padding, border-bottom + surface bg).
- GitHub import (embedded): import button moves to the top of the preview pane; the bottom Import/Cancel bar is removed for embedded (kept for the modal presentation); importing no longer dismisses the view; narrow mobile keeps the top action reachable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:44:23 -07:00
gsxdsm
8c905876a9 feat(dashboard): Planning embedded view matches Missions (resizable sidebar, footer, button, header spacing)
Remove the New Session button's inset-ring outline (now identical to the Missions sidebar CTA); match the Missions sidebar footer padding/border; add a resizable sidebar mirroring MissionManager (drag handle, persisted width, clamp, keyboard); match the header + content padding (space-lg/space-xl, surface bg) so Planning and Missions read as siblings.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:44:23 -07:00
gsxdsm
7b295d52d1 feat(dashboard): sidebar item shows active color immediately on click; List 'View options' -> 'View'
- LeftSidebarNav: optimistic active highlight — clicking a nav item paints the active color instantly instead of lingering on the hover color until the lazy view mounts.
- List view: the view-options toggle label is now 'View'.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:44:23 -07:00
gsxdsm
b679577fa0 fix(dashboard): consistent 1px sidebar divider across List, Chat, Mailbox
List handle drops its persistent tinted band (transparent default) and its grip line goes 2px->1px; Mailbox divider line goes var(--space-xs)->1px var(--border). All three now show a single clean 1px static divider with the wider handle as an invisible hover-highlight hit-area (Chat's pattern).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:37:28 -07:00
gsxdsm
f5b8d42e44 feat(dashboard): Skills view is a responsive master/detail two-pane
Wide (>=640px container): skills list left + skill detail right (both visible). Narrow/mobile: single-panel master->detail — selecting a skill shows the detail on top with a Back affordance. CSS container query, mirroring DockFilesView.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:37:28 -07:00
gsxdsm
7b51205d48 fix(dashboard): import list pane no longer blows out wide when GitHub data loads
ROOT CAUSE (confirmed live via agent-browser): the list pane had flex:0 0 256px set correctly but rendered at 978px because min-width defaulted to auto — once issues/PRs load, the long titles' min-content width overrode the flex-basis and forced horizontal overflow ('data loads -> too wide -> can't shrink'). Add min-width:0 to both panes + the embedded wide rule, and truncate list items (.issue-title ellipsis, subtree min-width:0) so titles can't dictate pane width.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:37:27 -07:00
gsxdsm
0cdc5a2f12 feat(dashboard): move Automations + Import Tasks above Compound Eng in the sidebar nav
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:28:39 -07:00
gsxdsm
7231a57511 feat(dashboard): Secrets cross-node sync passphrase moves below the list, collapsed behind a disclosure
The passphrase section now renders below the secrets list as a click-to-expand disclosure (closed by default), keeping all set/rotate/clear behavior.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:26:14 -07:00
gsxdsm
e9a0b72747 feat(dashboard): Overview drops Active-nodes/Sessions cards, stat numbers auto-fit large, more engine-button spacing
- Remove the Active nodes and Sessions stat cards (data still feeds the activity sparkline). Remaining cards reflow via auto-fill.
- Stat value font scales up to fill the card (container-query cqi clamp, nowrap+overflow:hidden+min-width:0 so long values shrink to fit, never overflow).
- Add space-lg above the View Board/View Agents row so it's balanced below the Start/Stop AI Engine button.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:26:14 -07:00
gsxdsm
66925816bd feat(dashboard): move Planning+Missions below Graph (before Agents); confirm dialog renders above floating modals
- LeftSidebarNav: Planning + Missions now sit directly after List/Graph and before Agents.
- ConfirmDialog: portal to document.body and claim the top of the shared floating z-stack on open, so the discard-changes confirm appears ABOVE the floating New Task window (and other floating modals) instead of behind it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:26:14 -07:00
gsxdsm
d3da3cc301 feat(dashboard): Planning embedded view is a real two-pane like Missions
Left becomes a full-height .planning-sidebar (Missions-matched surface/border/width) with a scrolling list and a bottom-pinned footer; New Session moves to that footer using btn btn-primary (same CTA tokens as the Missions create button — size/color match). Right .planning-detail fills remaining width + full height, so it reads as a true two-pane view. Non-embedded modal presentation unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:19:12 -07:00
gsxdsm
2dc36d9ef4 feat(dashboard): Import Tasks PR preview shows full comments + checks with per-check status
New POST /api/github/pulls/detail endpoint + GitHubClient.getPullRequestDetail (gh pr view --json comments,statusCheckRollup, REST fallback). On PR select, the preview fetches detail (cached per PR, body never blocked) and renders below the body: a Checks section (each check name + status pill success/failure/pending/neutral, linked to detailsUrl) and a Comments section (chronological, markdown via MailboxMessageContent). Issues tab unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:19:12 -07:00
gsxdsm
ab9db246bb feat(dashboard): right dock resizes wider (max 1280) + Files goes two-pane when the dock is wide
- RIGHT_DOCK_MAX_WIDTH 720 to 1280 (all clamps/persist/aria funnel through it); CSS --right-dock-max-width raised to calc(space-2xl * 40), keeping min(100%, ...).
- The dock now threads its live width into the overflow view render props; the Files entry deterministically forces the LEFT|RIGHT two-pane split when the dock width >= 640 (no longer relying on the flaky @container query that left it stacked top/bottom). Narrow dock keeps the stacked single-panel nav; the expand pop-out stays always two-pane.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:11:56 -07:00
gsxdsm
03aeed291f feat(dashboard): Import Tasks list pane small + freely resizable, preview fills remainder
Default list width 256px (min 160, max min(480px,50%)), driven by an inline width var with flex:0 0 so the drag actually wins (the embedded wide layout previously forced a clamp via !important, so the handle did nothing). Preview pane is flex:1 1 auto;min-width:0 so freed space flows to it. Persisted per-project via kb-dashboard-github-import-list-width. Shared workspace covers both Issues and Pull Requests tabs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:09:32 -07:00
gsxdsm
b13bc46b9d fix(dashboard): PullRequestView no longer hangs on loading when there is no PR
detail===null always rendered the 'Loading PR…' spinner, so with no pullRequestId (nothing to load) the view spun forever. Add a  flag set only while a fetch is in flight (no id → empty state), a fetch timeout (15s) so a hung request surfaces an error, and a 'No pull request to show' empty state.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:05:58 -07:00
gsxdsm
4bbcbc0e77 feat(dashboard): terminal controls move to footer, text-size left, icon-only pop-out
Move Clear / Shortcuts / Preferences from the top toolbar into the bottom footer next to the text-size control; text-size sits at the far left, then the action cluster, then connection status pushed right. The pop-out toggle is now icon-only (Maximize2/Minimize2, aria-label/title kept). Footer wraps + the action cluster scrolls on narrow widths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 09:59:26 -07:00
gsxdsm
8e1e0920df feat(dashboard): New Task 'Advanced' disclosure + inline quick-add buttons; cap Memory editor height
- New Task dialog: deep options (models, branch, node, review level, auto-merge, workflow, github tracking, attachments) collapse behind an 'Advanced' disclosure (collapsed by default); inline Attach/Fast/Priority quick-add buttons (QuickEntryBox style) sit next to Plan, wired to existing TaskForm state.
- Memory view: cap the editor box to ~a page (max-height: 60vh) with internal CodeMirror scroll, so a long memory file no longer forces endless page scrolling.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 09:59:26 -07:00
gsxdsm
4626f8e7fe feat(dashboard): list-view count/border cleanup, overview buttons match Stop AI Engine, center graph on load
- List view: remove the 'X of Y tasks' count from the desktop sidebar toolbar and the border between the controls row and the quick-add box (mobile count kept). Count-display tests now verify the filter via rendered rows.
- Command Center Overview: View Board / View Agents are btn btn-secondary (taller, centered) matching the Stop AI Engine button.
- Dependency graph: fit/center on load — the initial fit ran before the viewport was measured + before nodes were positioned (async), and never re-fit. Now fits only when fittable (nodes + measured viewport) and re-fits when the node set changes (covers async load + re-entering the view).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 09:59:26 -07:00
gsxdsm
19fe573cd3 Merge pull request #1720 from Runfusion/feature/onboarding-improve
Simplify first-run and new-project onboarding
2026-06-22 09:56:47 -07:00
gsxdsm
fe2800f020 Merge remote-tracking branch 'origin/main' into feature/onboarding-improve
# Conflicts:
#	packages/dashboard/vite.config.ts
2026-06-22 09:47:52 -07:00
gsxdsm
13bd2e473a feat(dashboard): list-header one-row, file pop-out opens current file, taller overview buttons; fix redesign test suite
- List view header: count + Bulk Edit + View options + New Task on one compact btn-sm row; view-options shrunk; count compacted/secondary.
- File browser pop-out now opens the file you're currently viewing — current path shared via scoped storage (kb-dashboard-dock-files-current) with cross-instance live-sync.
- Dashboard Overview: View Board / View Agents are now btn btn-secondary (taller, centered) to match the Stop AI Engine button.
- Test suite: fix ~40 stale assertions from the redesign (App nav moved to LeftSidebarNav, Import Tasks embedded, removed Todos in-view header, SkillsView shared ViewHeader, gm embedded keyboard rule, ThemeSelector option drift) — test-only, nothing weakened. Pre-existing board-mobile InlineCreateCard failure left as-is.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 09:47:27 -07:00
gsxdsm
dfd4baf240 Merge pull request #1722 from Runfusion/feature/import-github-fix
fix(FN-1721): scope GitHub import remotes to project
2026-06-22 09:45:45 -07:00
gsxdsm
5e0e9c08f3 fix(FN-1721): expose ViewHeader to dashboard plugin build
Map the shared dashboard ViewHeader module in Vite, Vitest, and app TS paths so bundled plugin dashboard views resolve the host component during PR build/typecheck.

References: https://github.com/Runfusion/Fusion/issues/1721
2026-06-22 09:36:05 -07:00
gsxdsm
67281fe4dd fix(FN-1721): scope GitHub import remotes to project
Pass the active projectId when the GitHub import modal detects remotes so multi-project dashboards do not show a false no-remotes state. Ignore stale remote responses when projectId changes while the modal remains open.

References: https://github.com/Runfusion/Fusion/issues/1721
2026-06-22 09:25:26 -07:00
gsxdsm
0b34994ae4 fix(dashboard): put floating-modal z-index on the overlay, not the panel (fixes overlap + tap-to-front)
Verified against the live DOM: a panel z-index is trapped inside the position:fixed overlay's stacking context, so page elements that are themselves stacking contexts in body (the right dock at position:absolute z-index:20, card badge contexts) painted OVER the modal, and tap-to-front (which raised the panel z) had no effect at the body level. Move the dynamic shared-stack z onto each modal's fixed overlay (FloatingWindow, RightDockExpandModal, TerminalModal floating, NewTaskModal floating) so the whole window sits at the shared band in body's stacking context — modals now paint above all page content and tapping reliably brings a window to the front across types.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 09:14:51 -07:00
gsxdsm
3c49f591b7 fix(FN-000): address onboarding review feedback 2026-06-22 09:13:58 -07:00
gsxdsm
296fb553b8 test(dashboard): update gm-mobile + mailbox-divider CSS regression assertions
- GitManagerModal mobile tab strip is now icon-only one-row: assert non-shrink via flex:0 0 auto + width:auto (was min-height for the old icon+label layout).
- MailboxView split-pane divider now mirrors the Chat divider: handle width var(--space-sm) + transparent background, ::before line var(--space-xs) (was --space-xs handle + color-mix bg).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 08:57:40 -07:00
gsxdsm
1ced957dbf fix(dashboard): portal all floating modals + lift z-band so they stack above page overlays and tap-to-front works cross-type
Root causes of modals being overlapped + tap-to-front not working across types:
- Only FloatingWindow was portaled; the dock pop-out, terminal, and New Task rendered inline in their own stacking contexts, so the shared z-counter could not order them across types. Portal all three to document.body so all four floating modals share the one root stacking context.
- The floating band started at 4000, below page overlays/popovers at 10000-10001 (log viewer, workflow editor, selection popover, fullscreen overlay) which painted over the modals. Raise the shared band base to 10100. Toasts already sit at 200 (below), unaffected.
- Update RightDock dock-toggle test to the current behavior (popping out closes the dock; the floating modal survives) and fix NewTaskModal keyboard-vars test to query the portaled modal from document.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 05:52:44 -07:00
gsxdsm
56c4d8be7c fix(dashboard): terminal renders + shortcut bar scrolls on narrow/folded mobile
- Spaced-glyph rendering on fold: FitAddon could fit while the container width was mid-fold-transition, computing a wrong cell width. Add a deferred rAF re-fit once width settles + an orientationchange listener so columns re-settle after a fold/rotate.
- Shortcut bar now scrolls horizontally: keys are flex:0 0 auto (kept intrinsic width so the row overflows) with touch-action:pan-x + overscroll-behavior-x:contain + momentum scroll.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 05:39:10 -07:00
gsxdsm
2bfac78b47 fix(onboarding): simplify agent setup copy 2026-06-22 05:37:58 -07:00
gsxdsm
19be91c9f8 feat(dashboard): shared bring-to-front z-stack for all floating modals; fix TaskChatTab tests
- Floating modals (FloatingWindow, right-dock pop-out, terminal, New Task) now share one z-index stack (floatingWindowStack) — tapping any one raises it above all others regardless of type. Floating overlays reset to z-index:auto so panels interleave in the shared 4000+ band.
- TaskChatTab tests: the test i18n now resolves the entryCount/toolCallCount plural forms (production already had them) so '2 entries'/'7 tool calls' render; fixed stale 'Tool call → result/error' casing to match the rendered 'Result'/'Error'. All 179 pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 05:33:10 -07:00
gsxdsm
08aeb5a145 fix(onboarding): widen project agent setup 2026-06-22 05:30:31 -07:00
gsxdsm
1432724a2b fix(onboarding): simplify first-run project setup 2026-06-22 05:20:22 -07:00
gsxdsm
590e064e37 feat(dashboard): remove the idle 'No agent is working' hint in task chat
The idle session hint banner is suppressed (empty) per user request — idle chats stay sendable but no longer show the banner. Done/active hints remain. Test updated to assert the banner is absent.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 05:20:18 -07:00
gsxdsm
6ca253591f fix(dashboard): portal floating windows to body; board pop-out returns to board
- FloatingWindow renders via createPortal(document.body) so it escapes every ancestor stacking context — card dependency/overlap badges and the List view's sticky sort header + column divider no longer paint over the modal (4000+ z-index now wins page-wide).
- Popping out a task detail from the board's full-panel view also returns the main panel to the board, so the board sits behind the floating window.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 05:15:53 -07:00
gsxdsm
62a96e3712 feat(dashboard): floating windows (pop-out task detail, floating New Task), consolidate AI engine row
- FloatingWindow: reusable non-blocking, draggable, smoothly-resizable window with focus-to-front z-index so multiple coexist (file browser + terminal + several task details open and movable at once).
- Task detail gains a Pop out (Maximize2) button in List + Board; App tracks multiple open floating task-detail windows (dedupe by id).
- New Task dialog is now a floating, draggable, resizable, non-blocking window; all quick-add controls visible without expanding (TaskForm forceMoreOptionsOpen).
- Dashboard Overview: removed the duplicate AI Engine row — View Board / View Agents moved into the first instance (the AI engine card, under Stop AI Engine).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 05:10:12 -07:00
gsxdsm
2a28967133 fix(dashboard): smooth terminal drag/resize; task-detail tweaks + popup fix
- Terminal move/resize: pointer-capture + captured-element listeners + rAF-batched updates + touch-action:none on the move grip; stop per-move localStorage writes. Matches the dock pop-out smoothness.
- Task detail: Summarize-as-title inline at the title's bottom-right; priority + speed controls shorter and equal height (30px); trimmed the gray id-header vertical padding.
- Fix footer Actions/Move dropdowns that vanished — they opened downward off the panel bottom (clipped by overflow); now open upward (above the trigger).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 04:50:43 -07:00
gsxdsm
6fe4b2dffc Merge remote-tracking branch 'origin/main' into feature/onboarding-improve 2026-06-22 04:44:02 -07:00
gsxdsm
4b4f50c69e fix(dashboard): gm tabs scroll on mobile; drop unused Board destructure
- Git Manager mobile (<=768px) nav strip: icon-only compact tabs with width:auto (was inheriting base width:100% → one tab/swipe) in a horizontally-scrolling row so multiple sections show at once — matches the dock one-row treatment.
- Remove unused selectedWorkflowId from Board's useBoardWorkflows destructure (lint).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 04:40:30 -07:00
gsxdsm
f0fbc59991 feat(onboarding): align first-agent setup flow 2026-06-22 04:39:35 -07:00
gsxdsm
e6aebdc316 feat(dashboard): full issue/PR preview, floating dock pop-out, header dedups, gm one-row, single-line quick entry
- GitHub import preview shows the full issue/PR body (markdown) + metadata (list already returned full bodies; removed client truncation).
- Task-detail main view: constrain width (no right cutoff); move 'Back to board' into the gray header far right.
- Dock pop-out: smoother touch drag (touch-action:none + captured-element listeners); popping out closes the dock but keeps the floating modal; modal survives dock dismiss.
- Remove duplicate inner headers in Git Manager / Activity Log / Dev Server / Secrets (dock + pop-out chrome already titles them); keep the title on mobile narrow; relocate gm Refresh into the section tab strip.
- Git Manager tabs: one scrollable row of compact icon-only tabs (max visible, scroll if needed).
- List quick entry is single-line (not tall) via singleLine prop; Board unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 04:37:28 -07:00
gsxdsm
cc2753c8a2 fix(dashboard): resizers, overlaps, dock pop-out, dedup refactors, live tweaks
Resize fixes (root causes):
- List view: clamp ResizeObserver collapsed the pane to min when container measured 0; harden + rewrite drag to pointer events with teardown.
- Mailbox: split was a CSS grid whose auto track ignored the inline width; switch to flex (pane flex:0 0 auto) + pointer-event drag. List + mailbox panes narrower mins.

Layout fixes:
- Memory Working-Memory overlap: real cause was a cascade collision (MemoryView imports SettingsModal.css, whose .memory-editor-section flex:1 won, overflowing the fixed-height editor onto siblings). Scope MemoryView rules under .memory-working-tab + intrinsic height.
- Agent detail header no longer overlaps (flex-wrap; identity flex:1 1 auto).
- Git Manager dock tabs wrap so all sections are visible (no single-tab swipe).
- Terminal shortcuts+arrows on one line; Skills full width; Skills refresh + Add Goal button heights matched; mailbox divider matches chat divider; Todos in-view header removed.

Features:
- Right-dock pop-out is now a floating, draggable, smoothly resizable, non-blocking window (transparent overlay, interact behind it).
- Command Center Overview gains an always-visible 'AI Engine' panel with View Board / View Agents.
- Default load lands on board, never the Dashboard.

Refactors (behavior-preserving):
- Extract useBoardWorkflows hook (Board + Planning dedup).
- Shared useEmbeddedPresentation hook collapses the 7-way embedded copy-paste; add embedded-presentation test coverage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 04:18:35 -07:00
gsxdsm
0c0581471e fix(onboarding): clarify temporary task agents in setup 2026-06-22 04:05:17 -07:00