Commit Graph

1808 Commits

Author SHA1 Message Date
Fusion
07cdf80317 feat(FN-3196): sort done column by recency, add collapsible agent error dis
This merge consolidates several improvements across the dashboard, engine, and CLI: mobile nav now extends into iOS safe area, done columns sort by recency with merge-active state preserved, agent views gain collapsible error displays, per-project HeartbeatMonitor isolation is fixed for multi-projec

Fusion-Task-Id: FN-3196
2026-05-04 09:20:07 -07:00
Fusion
c4363f1a4f feat(FN-3342): add collapsible agent error UI and related runtime fixes
- Add a collapsible agent error display in agent views, including modal integration, styling updates, and larger touch targets for action controls
- Expand dashboard test coverage for agent error rendering/collapse behavior plus board/list/task card sorting and merge-active state regressions
- Fix skill name/path resolution and align Fusion two-segment skill naming with bare pi-coding-agent skill names
- Harden runtime and route behavior across engine/dashboard/droid flows with added regression and e2e test coverage

Fusion-Task-Id: FN-3342
2026-05-04 07:26:11 -07:00
gsxdsm
c00b018230 fix(dashboard): extend mobile nav bar surface into iOS safe area
Icons in the installed PWA were overlapped by the iOS home indicator and a
body-colored gap appeared between the nav bar and the executor status bar
(whose `bottom` already includes safe-area-inset-bottom + standalone-bottom-gap).
Adding matching `padding-bottom` to `.mobile-nav-bar` lifts icons above the
indicator and closes the gap.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 07:25:14 -07:00
Fusion
027569576e feat(FN-3364): sort done tasks by most recent completion
- Sort Done column and list views by most recent completion timestamp to keep recent work visible first
- Update dashboard and task management docs to document done-column recency ordering behavior
- Preserve merge-active task state across verification bounce paths and board/list rendering updates
- Forward removeDependencyReferences in deleteTask flows and treat finish_reason=repeat as a soft-stop in engine executor

Fusion-Task-Id: FN-3364
2026-05-04 07:05:16 -07:00
Fusion
4135db0d77 feat(FN-3231): preserve merge-active state on verification bounce and board
This merge lands FN-3231 across two steps: it preserves a merge-active fix when verification bounces occur (step 1) and ensures the fix is retained during board routing transitions (step 2). Changes span the dashboard Board routing logic and the engine executor, with corresponding test coverage adde

Fusion-Task-Id: FN-3231
2026-05-04 07:00:39 -07:00
gsxdsm
986a928fa9 fix(dashboard): forward removeDependencyReferences flag in deleteTask
useTasks.deleteTask had a single-arg signature and dropped the options
object, so the modal's "remove dependency references" confirmation
flag never reached the API and deletion still failed with
TASK_HAS_DEPENDENTS. Forward options through the hook and widen the
matching taskOperations.deleteTask type in AppModals.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 06:49:05 -07:00
Fusion
cc5c8c668b feat(FN-3112): tokenize NodesView border-radius and motion styles
Fixes FN-3112: Updates NodesView CSS to use tokenized border-radius and transition values from the design system instead of hardcoded pixel values, ensuring consistency with the dashboard's established token variables.

Fusion-Task-Id: FN-3112
2026-05-04 06:12:12 -07:00
Fusion
78972add1b feat(FN-3073): tokenize MissionManager and TaskDetailModal CSS spacing and
Merges three commits: tokenizes MissionManager CSS spacing and colors to align with the design system, fixes a mobile viewport teardown bug when closing planning mode, and resolves token and focus regressions in the task detail modal. Also adds a new test for the planning mode viewport fix.

Fusion-Task-Id: FN-3073
2026-05-04 06:00:47 -07:00
Fusion
08d655abc4 feat(FN-3237): fix mobile viewport teardown when closing planning mode
Merges FN-3237 to stabilize the mobile viewport teardown flow when closing the planning modal, ensuring the viewport state resets correctly. Adds test coverage for the mobile planning close path and includes a changeset for the patch release.

Fusion-Task-Id: FN-3237
2026-05-04 05:50:01 -07:00
Fusion
09050d33fe feat(FN-3138): tokenize MissionManager CSS spacing and colors
The merge completes the CSS refactoring of MissionManager by replacing hardcoded color literals with CSS custom properties and spacing values with design tokens, bringing the component in line with the dashboard's design system. A test was also updated to stabilize the mission activity load-more ass

Fusion-Task-Id: FN-3138
2026-05-04 05:37:52 -07:00
Fusion
e2f71cbfb8 feat(FN-3072): fix design tokens, mobile touch targets, and plugin settings
This merge addresses FN-3072 design feedback by updating CSS design tokens and mobile touch targets in ModelOnboardingModal, PluginSlot, and SettingsModal components, while also adding tests for droid settings plugin integration states. FN-3137 refines MissionManager's back-button navigation test as

Fusion-Task-Id: FN-3072
2026-05-04 05:25:52 -07:00
Fusion
4c0abfd11a feat(FN-3137): trim back-button navigation assertions in MissionManager
Refined the back-button navigation tests in MissionManager by consolidating assertions and removing redundant test cases, reducing the test file by 19 lines while maintaining coverage of the navigation behavior.

Fusion-Task-Id: FN-3137
2026-05-04 04:46:55 -07:00
Fusion
813bdad2e1 feat(FN-3071): add droid runtime plugin with event bridge, process manageme
This merge introduces a droid runtime plugin system with event bridge and process management (FN-3228), stabilizes plugin workspace verification gates and suppresses placeholder plugin shells in onboarding/settings flows (FN-3071), tokenizes danger/error styling in task detail components (FN-3350),

Fusion-Task-Id: FN-3071
2026-05-04 04:30:16 -07:00
Fusion
bfd92456e9 feat(FN-3228): add droid runtime plugin with event bridge and process manag
This merge brings three major improvements: a new `fusion-plugin-droid-runtime` plugin that provides event bridging, process management, MCP schema serving, and tool mapping for spawning AI agents; comprehensive UX polish across the dashboard including tokenized danger/error styling in task details,

Fusion-Task-Id: FN-3228
2026-05-04 04:19:32 -07:00
Fusion
8cb8055531 feat(FN-3350): tokenize task detail danger/error styling
Fixes task detail modal danger/error styling by switching to token-based CSS variables for consistent theming across dark and light modes.

Fusion-Task-Id: FN-3350
2026-05-04 04:09:28 -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
cc12b801d4 feat(FN-3346): update mobile settings label assertion
Updates a single assertion in the mobile settings test to match the updated settings label.

Fusion-Task-Id: FN-3346
2026-05-04 02:34:13 -07:00
Fusion
e9fcf3697d feat(FN-3344): preserve history state in deep-link close
Fixes deep-link close to preserve browser history state and adds comprehensive integration tests for the navigation history feature, covering App component and useDeepLink hook behavior.

Fusion-Task-Id: FN-3344
2026-05-04 02:23:04 -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
ed1b352a4e feat(FN-3343): add Escape key keyboard handling to modals
This merge delivers v0.17.2 and ships FN-3343 keyboard handling across four dashboard modals (NewTaskModal, SubtaskBreakdownModal, MilestoneSliceInterviewModal, SettingsModal) with mobile CSS overrides, plus keyboard style regression tests for each modal and a minor test alignment for the onboarding

Fusion-Task-Id: FN-3343
2026-05-04 01:43:04 -07:00
Fusion
30dd947637 feat(FN-3257): board ordering: stable comparator for legacy priority + in-r
Merges v0.17.2 with two features: updated board ordering comparator (FN-3257) now covers legacy priority normalization with new tests, and an in-review retry mechanism (FN-3349) with delivery docs. All package changelogs updated and version-bumped.

Fusion-Task-Id: FN-3257
2026-05-04 01:31:33 -07:00
Fusion
2b102af38e feat(FN-3349): add in-review retry mechanism and delivery docs
This merge adds a changeset for feature FN-3349 (in-review retry behavior) and delivery documentation to the `@runfusion/fusion` package.

Fusion-Task-Id: FN-3349
2026-05-04 01:20:43 -07:00
gsxdsm
bacc103e4e fix(FN-XXX): unify codex auth and chat fallback 2026-05-03 23:08:05 -07:00
Fusion
7fca3e6628 feat(FN-3257): sort board tasks by priority then task number instead of mov
Replaced the board's task ordering from time-based (`columnMovedAt`/`createdAt`) to a priority-then-task-number sort, inlining previously external priority helpers to fix Vite bundling. Tests were updated in `Board.test.tsx` to match the new sort semantics and `ChatView.test.tsx` keyboard tests were

Fusion-Task-Id: FN-3257
2026-05-03 22:11:24 -07:00
Fusion
df21a4cc51 feat(FN-3344): add navigation history hook unit and integration tests
Merged test(FN-3344): added comprehensive unit and integration tests for the navigation history hook, covering 470 lines of test coverage across navigation state management, history tracking, and edge cases.

Fusion-Task-Id: FN-3344
2026-05-03 20:37:12 -07:00
gsxdsm
e4572ef9ce fix(dashboard): treat keyboard as closed on blur instead of waiting for vv settle
useMobileKeyboard now requires a focused input for keyboardOpen=true (both
the chrome-overlap and iOS-gap paths). The moment an input blurs, the hook
reports keyboardOpen=false instead of waiting hundreds of ms for iOS's
visualViewport dismissal animation to settle.

This makes App-level mobileKeyboardOpen flip false instantly on blur, so
MobileNavBar reappears and project-content regains nav-bar padding in the
same frame. The ChatView composer (and TodoModal/PlanningModeModal) snap
to their post-keyboard layout in one move instead of crawling down with
iOS's keyboard slide.

Replaces the per-component 450ms suppress hack in ChatView (also dropped
in this commit) which couldn't reach the parent layout's nav padding
state and produced "below tab bar then snap up" jitter.

Adds a regression test and updates four existing tests that assumed
"vv shrinks → keyboard up" without focus (focus is now required).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 19:34:28 -07:00
gsxdsm
08aa64e314 fix(dashboard): mobile keyboard scroll lock, auto-reload hash, ChatView snap
- Add useMobileScrollLock hook using position:fixed body lock (Bootstrap/
  Headless UI/Stripe pattern) to prevent iOS Safari from shifting the
  document and visualViewport when an input inside a fixed-position modal
  is focused. Wire into 15 input-bearing modals plus ChatView, replacing
  ChatView's inline body-overflow effect.
- Widen computeBuildVersion in vite.config.ts to hash the entire app/ tree
  so the version-check poll actually notices rebuilds (FN-3333 follow-up;
  previously only main.tsx and package.json were hashed).
- ChatView: on input blur, suppress keyboard-aware sizing for 450ms while
  reserving mobile-nav-bar space, so the composer snaps to its final
  height in one move instead of crawling down with iOS's keyboard slide
  and then jumping again when the nav bar reappears.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 19:01:10 -07:00
Fusion
ea5b7af183 feat(FN-3341): fix mobile keyboard overlap in TodoModal and PlanningModeMod
Merges FN-3341 mobile keyboard handling improvements into the dashboard, wiring `useMobileKeyboard` into both TodoModal and PlanningModeModal with keyboard-aware CSS overrides for mobile, plus regression tests for both components. FN-3337's chat `isGenerating` state recovery is also included.

Fusion-Task-Id: FN-3341
2026-05-03 17:17:07 -07:00
Fusion
3db17521cd feat(FN-3337): recover chat isGenerating state on session reload and fix Pl
This merge includes three features: FN-3337 fixes mobile keyboard handling in the PlanningModeModal by wiring in `useMobileKeyboard` and adding keyboard-aware CSS sizing, with regression tests; FN-3336 recovers the `isGenerating` chat state on session reload to prevent UI flickering; and FN-3338 fix

Fusion-Task-Id: FN-3337
2026-05-03 17:10:03 -07:00
Fusion
6724cf5f19 feat(FN-3334): add auto-reload setting and fix worktree project resolution
Merged two features: FN-3334 introduces a new `autoReloadOnVersionChange` setting with a toggle in the Settings modal, version-check logic in the dashboard, and corresponding tests; FN-3335 fixes worktree project root resolution in `createFnAgent` and the skill resolver, with tests for both paths. S

Fusion-Task-Id: FN-3334
2026-05-03 16:26:47 -07:00
Fusion
0347bd4afe feat(FN-3331): add New Chat button to thread header on desktop
Adds a New Chat button to the ChatView thread header on desktop with accompanying CSS styling and tests. The feature is scoped to the dashboard's chat interface with 62 lines of additions across the component, its stylesheet, and test file.

Fusion-Task-Id: FN-3331
2026-05-03 15:04:47 -07:00
Fusion
0568d5d41b feat(FN-3110): add docker provisioning service, API routes, and status UI c
Merges FN-3110 to add Docker provisioning support across the stack: TypeScript types and DockerProvisioningService in core, API routes in dashboard for provisioning operations, a useDockerProvisioning hook for frontend integration, and a DockerProvisioningStatus UI component — all covered by unit an

Fusion-Task-Id: FN-3110
2026-05-03 14:10:11 -07:00
Fusion
9309c8cc95 feat(FN-3274): preserve first-turn reasoning in planning modal
This merge introduces visibility of the AI's first-turn reasoning in the planning modal (FN-3274), with corresponding regression tests, and removes all PI (Prompt Intelligence) install references and documentation from the codebase (FN-3309).

Fusion-Task-Id: FN-3274
2026-05-03 13:37:03 -07:00
Fusion
b9b5c0873c feat(FN-3290): add changeset for modal keyboard isolation fix
Adds a patch changeset for FN-3290 documenting the modal keyboard isolation fix, ensuring the change is captured in the release changelog.

Fusion-Task-Id: FN-3290
2026-05-03 12:51:22 -07:00
Fusion
0dd60cb28d feat(FN-3319): enrich agent heartbeat callbacks with reason in UI
Enriched agent heartbeat callbacks with a `reason` parameter propagated through the engine, in-process runtime, and dashboard components (AgentDetailView, AgentListModal, AgentsView). Added a new `agentHealth.tsx` utility and corresponding test file to surface the reason in UI health status, with te

Fusion-Task-Id: FN-3319
2026-05-03 12:47:08 -07:00
Fusion
70a584eb2e feat(FN-3295): add pinch-to-zoom, auto-fit, and mobile layout to dependency
This merge adds pinch-to-zoom, auto-fit, mobile layout, and empty state to the dependency graph view, along with a mobile spacing fix for the Remote Access header, a TypeScript cast fix in the engine's AuthStorage proxy set trap, and test coverage for both features. Test performance was improved by

Fusion-Task-Id: FN-3295
2026-05-03 12:24:41 -07:00
Fusion
36756c77fa feat(FN-3135): restore Claude usage tracking with Fusion Anthropic auth sto
This merge adds test coverage for the two-panel split layout (FN-3135) with desktop and mobile CSS tests, restores Claude usage tracking from Fusion's Anthropic auth storage (FN-3289) in the usage module, and adds mobile auto-routing to the Planning Mode component for empty sessions (FN-3269).

Fusion-Task-Id: FN-3135
2026-05-03 10:41:46 -07:00
Fusion
3848203215 feat(FN-3269): add mobile empty-session auto-routing to Planning Mode compo
Merges mobile Planning Mode empty-state auto-routing to the composer (Step 2 of FN-3269) alongside wired Insights create-task integration with real task creation (FN-3265), with corresponding tests and documentation updates.

Fusion-Task-Id: FN-3269
2026-05-03 10:31:21 -07:00
Fusion
e01d438f2d feat(FN-3265): wire Insights create-task to real task creation with mobile
Merges three features: wires the Insights view's "create task" action to real task creation (FN-3265) with tests, adds mobile-responsive collapse behavior in AgentsView when selecting live runs (FN-3271), and expands regression test coverage for worker budget handling (FN-3263). Changes span the das

Fusion-Task-Id: FN-3265
2026-05-03 10:02:17 -07:00
Fusion
4c4c254a5c feat(FN-3271): collapse mobile overview on live run select in AgentsView
Collapsed mobile overview panel now hides automatically when a live run is selected in the AgentsView, improving the mobile experience by reducing visual clutter during active agent sessions.

Fusion-Task-Id: FN-3271
2026-05-03 09:56:26 -07:00
Fusion
db94dc2921 feat(FN-3223): add compact desktop sidebar controls for list view
The merge delivers three major feature clusters: hardened research lifecycle with idempotent cancel/retry and SSE support across the orchestrator and routes layer; unified header action clusters in AgentDetailView integrating planning mode disclosures; and a compact desktop sidebar for list view con

Fusion-Task-Id: FN-3223
2026-05-03 09:41:36 -07:00
Fusion
7567ce6cb3 feat(FN-3000): harden research lifecycle with idempotent cancel/retry and S
This merge hardens the research feature across the stack with idempotent cancel/retry logic and SSE support for real-time updates in `research-orchestrator` and `sse.ts`, while also applying UX improvements to `PlanningModeModal` and `ResearchTaskActionModal`. The core `research-store` received sign

Fusion-Task-Id: FN-3000
2026-05-03 09:31:17 -07:00
Fusion
7e6055600e feat(FN-3275): unify AgentDetailView header with planning and harden resear
This merge adds idempotent cancel/retry and SSE streaming to the research lifecycle (FN-2999), tightens mobile spacing in the AgentDetailView header cluster (FN-3275), and wires the planning mode into the agent detail header actions (FN-3238). Research orchestrator, store, routes, and the SSE layer

Fusion-Task-Id: FN-3275
2026-05-03 09:21:20 -07:00
Fusion
7f3fb7799d feat(FN-2999): harden research lifecycle with idempotent cancel/retry, SSE
Merges FN-2999 research hardening (idempotent cancel/retry routes, aligned SSE event wiring, and cleaned status handling in the core research store and orchestrator) plus UI improvements to AgentDetailView header actions and planning disclosure UX in the modal, with a CSS token fallback fix in Scrip

Fusion-Task-Id: FN-2999
2026-05-03 09:11:04 -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
d26d0e69c9 feat(FN-3268): add planning disclosure UX for Step 2-3 in modal
The merge completes UX updates for the planning disclosure flow (steps 2–3) in the PlanningModeModal, including CSS enhancements and test coverage for the new behavior.

Fusion-Task-Id: FN-3268
2026-05-03 08:22:27 -07:00
Fusion
1cad2531e5 feat(FN-3245): add fallback for bg-surface token in ScriptsModal
Fixes ScriptsModal CSS by adding a fallback value for the undefined `--bg-surface` token, preventing broken styling when the token isn't defined in the current theme.

Fusion-Task-Id: FN-3245
2026-05-03 07:57:52 -07:00
Fusion
fca870f4f5 feat(FN-3109): add Docker connectivity service and target selector UI
This merge adds Docker connectivity management to Fusion (FN-3109), introducing a Docker client service in `@fusion/core` with typed interfaces for daemon connection configuration (host, socket path, TLS). The dashboard gains a `DockerTargetSelector` component for choosing between local socket and T

Fusion-Task-Id: FN-3109
2026-05-03 07:47:45 -07:00
Fusion
cc6c9abe61 feat(FN-3212): remove runtime memory-backend side-load, add regression test
Merged FN-3207, FN-3212, and FN-3242: removed runtime memory-backend side-loading in core, added comprehensive regression tests for QuickChat, chat routes, and SSE streams, and documented compact mobile chat dialogs in the dashboard guide. The refactor in `project-memory.ts` reduces complexity while

Fusion-Task-Id: FN-3212
2026-05-03 07:37:03 -07:00
Fusion
fa16b953c0 feat(FN-3242): add documentation for compact mobile chat dialogs
Adds documentation for the compact mobile chat dialogs feature (FN-3242) to the dashboard guide.

Fusion-Task-Id: FN-3242
2026-05-03 06:53:42 -07:00