Commit Graph

14 Commits

Author SHA1 Message Date
Fusion
64cec4a205 feat(FN-3294): document settings autosave behavior in agents.md
Merged step 5 of FN-3294, adding documentation for the settings autosave behavior to `docs/agents.md`. The change is documentation-only, updating the agents configuration reference with 2 additional lines.

Fusion-Task-Id: FN-3294
2026-05-04 13:54:07 -07:00
Fusion
ceea0387a7 feat(FN-3377): compress mobile agent detail header
- Rework AgentDetailView mobile header structure to reduce vertical space while preserving key metadata
- Simplify AgentsView mobile spacing and remove redundant styles tied to legacy header layout
- Update dashboard CSS class coverage tests for new agent detail/mobile header classes
- Expand AgentDetailView and AgentsView tests to validate condensed header rendering and interaction behavior

Fusion-Task-Id: FN-3377
2026-05-04 10:38:20 -07:00
Fusion
17b11c533b feat(FN-3296): tokenize health reason typography in agent detail
Fixed health reason display in the Agent Detail view by tokenizing its typography to align with the design system's font token standards, updating the component's CSS and TypeScript files.

Fusion-Task-Id: FN-3296
2026-05-04 09:20:07 -07:00
Fusion
089f840d41 feat(FN-3355): add agent delegation and org hierarchy tools to pi extension
This merge adds agent delegation tools (list_agents, delegate_task) and org hierarchy tools to the pi extension, along with corresponding skill documentation and tests; it also cleans up AgentDetailView by removing its dedicated CSS and reducing the component, collapses agent tool output in logs by

Fusion-Task-Id: FN-3355
2026-05-04 02:52:51 -07:00
Fusion
d38dd9bae1 feat(FN-3354): fix verification gate styling and test assertion
Merged fix for FN-3354 completing Step 6 of verification gate improvements. Changes adjust styling in the Agent Detail view CSS and update a corresponding test assertion in the Model Onboarding modal, suggesting the verification gate behavior or visual presentation was refined.

Fusion-Task-Id: FN-3354
2026-05-04 02:00:02 -07:00
Fusion
70a0979394 feat(FN-3238): unify header action cluster in AgentDetailView with planning
Merged changes unify the header action cluster in AgentDetailView with refined styling and component refactoring, while also adding planning disclosure UX for steps 2-3 in the PlanningModeModal — both backed by updated test coverage.

Fusion-Task-Id: FN-3238
2026-05-03 09:00:43 -07:00
Fusion
3fa96ca9c1 feat(FN-3122): redesign agents workspace with split-pane view and mobile dr
This merge delivers a major Agents workspace redesign (FN-3122) with split-pane layout, inline AgentDetailView, and mobile drill-in, along with a comprehensive design-system revision addressing token consistency and focus-visible states. Priority picker support was added to the quick-entry box (FN-3

Fusion-Task-Id: FN-3122
2026-05-02 03:53:38 -07:00
Fusion
dac2597beb feat(FN-3037): add focus-visible styling to AgentLogViewer log action butto
Adds `focus-visible` styling to action buttons in the AgentLogViewer component, improving keyboard accessibility for interactive button elements.

Fusion-Task-Id: FN-3037
2026-04-30 19:18:56 -07:00
Fusion
6334cd7ec3 feat(FN-3030): add heartbeat markdown viewer modal to AgentDetailView
Adds a heartbeat markdown viewer modal to the AgentDetailView (FN-3030) with styling, tests, and documentation for the feature, while also rendering multi-sample theme swatches in the ThemeSelector component (FN-3028).

Fusion-Task-Id: FN-3030
2026-04-30 18:28:01 -07:00
Fusion
b48cc71b94 fix(FN-2711): keep dashboard timing stats live 2026-04-28 19:20:10 -07:00
gsxdsm
56e8e73244 fix(dashboard): resizable terminal + agent detail modals, no resize-drag dismiss
Terminal modal and agent detail view are now resizable via the native
CSS grip with sizes persisted per-modal in localStorage. Mobile keeps
fullscreen layout (resize disabled, !important overrides any persisted
desktop dimensions).

Both modals previously dismissed when a drag-resize started inside the
modal but released over the overlay — the synthesised click event
targets the common ancestor (overlay), tripping the e.target ===
e.currentTarget dismiss check. Switched to mousedown→mouseup tracking
so dismiss only fires when both events land on the overlay.

Terminal additionally observes its own pixel box via ResizeObserver
and refits xterm on every grip drag — `resize: both` doesn't emit
window resize.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 19:30:05 -07:00
Fusion
ccf77ab507 feat(FN-2699): switch runtime source selectors to tab controls
- Replace runtime source radio groups with tablist/tab buttons in NewAgentDialog and AgentDetailView
- Preserve runtime mode behavior by keeping model/runtime selection handlers and reset logic intact
- Align AgentDetailView runtime selector styling with tab pattern and remove obsolete radio-toggle CSS
- Update AgentDetailView tests to assert tab semantics via role and aria-selected
2026-04-27 08:53:09 -07:00
Fusion
6b39e5d284 feat(FN-2636): add plugin runtime mode support to agent management
- Add plugin runtimes endpoint in dashboard routes and legacy API client support
- Add runtime mode controls to NewAgentDialog with plugin runtime selection UX
- Add runtime mode display and editing support in AgentDetailView with matching styles
- Expand dashboard tests to cover new routes, modal behavior, and mobile agent view flows
2026-04-26 23:25:17 -07:00
gsxdsm
f11800f2c6 refactor(dashboard): split monolithic styles.css into per-component files
Split app/styles.css from ~40k lines down to ~4.5k. Created 56 co-located
component CSS files in app/components/, each imported by its owning .tsx.
The remainder of styles.css holds genuinely global rules (design tokens,
.btn/.card/.modal/.form-input primitives, cross-component @media overrides).

- Lazy-load 13 heavy views (AgentsView, RoadmapsView, NodesView, etc.) via
  React.lazy + Suspense; prefetch all chunks on idle so first navigation is
  instant. Initial JS bundle: 1.58 MB → 1.16 MB (-26%). Initial CSS bundle:
  635 kB → 471 kB (-26%); the rest splits into 13 per-view chunks.

- Add app/test/cssFixture.ts exposing loadAllAppCss() + loadAllAppCssBaseOnly()
  so CSS regression tests load the full per-component bundle (mirroring Vite
  source order). Migrate 30+ tests off direct readFileSync('../styles.css').

- Enable test.css: { include: [/.+/] } in vitest.config.ts so component CSS
  imports actually inject styles in jsdom (fixes getComputedStyle assertions).

- Add ESLint rule (no-restricted-syntax) banning direct styles.css reads in
  dashboard test files; points at loadAllAppCss() instead.

- Restore lost utility classes (.text-muted, .text-secondary, .text-dim,
  .form-input) and rescue dropped chat tool-call rules into QuickChatFAB.css.

- Mobile fixes along the way: scroll containment for view containers
  (min-height:0 + -webkit-overflow-scrolling), QuickChatFAB full-screen on
  mobile (with safe-area-inset for iOS home bar), AgentsView single-row
  header layout, ActivityLogModal close button on right, model-combobox
  z-index above the mobile quick-chat panel.

- Bug fix: SkillsView toggle was display:none which hid the input from the
  accessibility tree; replaced with the visually-hidden pattern so screen
  readers + getByRole still find the checkbox.

- Bug fix: standalone Delete button in TaskDetailModal for triage-column
  tasks (Actions dropdown is hidden in triage state, so previously no way
  to delete a freshly-created task without status change first).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 19:39:20 -07:00