Commit Graph

5560 Commits

Author SHA1 Message Date
Fusion
bea1345b88 feat(FN-4059): keep task timestamps on a single row in detail modal
Adds a UI refinement to the TaskDetailModal that keeps timestamps on a single row instead of wrapping, with matching tests and docs for FN-4059.

Fusion-Task-Id: FN-4059
2026-05-11 21:48:26 -07:00
Fusion
dcdcbd7644 feat(FN-4056): remove queued warning toasts
Removed queued warning toasts from chat queueing flows in `useChat` and `useQuickChat` hooks, with corresponding test coverage for the queueing behavior without the toast.

Fusion-Task-Id: FN-4056
2026-05-11 21:48:26 -07:00
Fusion
37394966ae feat(FN-4052): add mobile oauth manual-code scroll assist and modal flow te
Adds mobile OAuth manual-code fallback with scroll assistance in the OAuthManualCodeForm component, including full test coverage across ModelOnboardingModal and SettingsModal flows, plus documentation updates. Also introduces weighted test shard planning for CI.

Fusion-Task-Id: FN-4052
2026-05-11 21:48:26 -07:00
Fusion
1eb6e87914 feat(FN-4047): add responsive compact timestamps and mobile icon-only contr
Restored compact timestamp rendering in AgentDetailView and TaskDetailModal, added responsive timestamp layout for mobile and desktop, and added mobile icon-only stop/run controls to AgentDetailView, with new tests covering both components and a documentation note for the compact timestamp behavior.

Fusion-Task-Id: FN-4047
2026-05-11 21:48:26 -07:00
Fusion
5c3a1df977 feat(FN-4027): memoize startup slim list reads to avoid redundant fresh fet
Added memoization for startup slim task list reads (`store.ts`), with dashboard server routing startup reads through the memo window and tests covering the store watcher consumers in scheduler and worktree-pool, plus performance documentation.

Fusion-Task-Id: FN-4027
2026-05-11 21:48:26 -07:00
Fusion
a22a665ec3 feat(FN-4050): fix mobile session title clipping in ChatView
Fixes mobile session title clipping in ChatView via CSS updates, adds a test for the fix, and updates the mobile switcher docs for FN-4050.

Fusion-Task-Id: FN-4050
2026-05-11 21:48:26 -07:00
Fusion
4d4c44bfa5 feat(FN-4043): implement weighted CI shard balancing
Implements weighted shard planning for the CI test sharding script, with deterministic test coverage and documentation updates to `contributing.md`.

Fusion-Task-Id: FN-4043
2026-05-11 21:48:26 -07:00
Fusion
a8b904c993 feat(FN-4039): recover worktree db scratch bootstrap on hydration failure
Codifies the worktree database open-path hydration failure with a recovery bootstrap mechanism, documented the behavior in storage docs, and added test coverage for the executor hydration degradation path — all gated behind a patch changeset for `@runfusion/fusion`.

Fusion-Task-Id: FN-4039
2026-05-11 21:48:26 -07:00
Fusion
c501e00fdf feat(FN-4035): dedupe integrity checks per database path
- Deduplicate concurrent integrity-check requests by sharing one in-flight check per database path
- Refactor core DB integrity-check flow to prevent redundant work while preserving safety behavior
- Add core DB tests covering deduped execution and expected integrity-check outcomes
- Document integrity-check dedup behavior in architecture docs
- Add a changeset for @runfusion/fusion patch release
2026-05-11 17:59:26 -07:00
Fusion
1d6c85e900 feat(FN-4044): restore github tracking patch persistence
Restored GitHub tracking patch persistence in the core store with matching test coverage in the task detail and routes tasks ops suites, plus documentation for the repaired flow.

Fusion-Task-Id: FN-4044
2026-05-11 17:55:09 -07:00
Fusion
55bcf045eb feat(FN-4041): harden empty rawResponse handling in memory-insights
Hardened empty `rawResponse` handling in the memory insights module by adding defensive checks to prevent errors when the response is empty, accompanied by tests to cover those edge cases (FN-4041 Step 1).

Fusion-Task-Id: FN-4041
2026-05-11 17:46:42 -07:00
Fusion
b92ea7121a feat(FN-4045): keep inline metadata controls visible on mobile row
Removed mobile-specific layout rules from TaskDetailModal that would have hidden or repositioned inline metadata controls, ensuring the row layout stays consistent across breakpoints; updated the corresponding responsive test assertions to match.

Fusion-Task-Id: FN-4045

Fusion-Task-Lineage: 089dc9df-ac82-4a74-b4bb-8c0ca00925e6
2026-05-11 17:26:38 -07:00
Fusion
a2303c67a9 feat(FN-4040): add optimistic room send with failure handling and reconcili
The merge implements optimistic room send with failure recovery in the ChatView and useChatRooms hook, including a reconciliation flow that handles send failures gracefully and documents the UX behavior. The dashboard guide and architecture docs are updated to reflect the new room messaging pattern.

Fusion-Task-Id: FN-4040
2026-05-11 16:51:01 -07:00
Fusion
2ccf8c699d feat(FN-4032): add tracking retry with actionable create issue error in tas
The merge adds a GitHub integration retry lifecycle to the task tracking system, including an actionable retry mechanism for failed issue creation, fixes to tracking and auth retry flow, and corresponding tests in the dashboard and engine packages. Documentation is updated in `docs/architecture.md`

Fusion-Task-Id: FN-4032
2026-05-11 16:33:16 -07:00
Fusion
351702d055 feat(FN-4042): add mobile chat quick switcher to thread header
Added a mobile chat quick switcher accessible from the thread header, with styling for the session dropdown and test coverage. Documentation for the feature was added to MOBILE.md and the dashboard guide.

Fusion-Task-Id: FN-4042
2026-05-11 16:24:08 -07:00
Fusion
6e9a787b10 feat(FN-4013): align file mention spinner styles with component ownership
Refactored file mention popup styles by removing duplicate spinner rules from `AgentMentionPopup.css` and consolidating them into `FileMentionPopup.css`, restoring proper component-level CSS ownership per the project's co-located stylesheet convention.

Fusion-Task-Id: FN-4013
2026-05-11 16:16:05 -07:00
Fusion
1c69a0bfa2 feat(FN-4043): fix memory editor flex layout in SettingsModal
Fixes the memory editor flex layout in SettingsModal (Step 1 of FN-4043) and adds a CSS regression guard for that component.

Fusion-Task-Id: FN-4043
2026-05-11 16:06:37 -07:00
Fusion
e4d071b398 feat(FN-4040): anchor mobile chat views to latest message on show
Anchored mobile ChatView and QuickChat FAB to scroll to the latest message when opened, improving chat tail behavior on small screens; added documentation for this behavior. Also aligned scoped chat manager's pluginRunner typing and expanded test coverage for both components.

Fusion-Task-Id: FN-4040
2026-05-11 15:58:26 -07:00
Fusion
5fd1e19687 feat(FN-4038): repair interview resume latch and document mission resume di
Fixed mission resume behavior in MissionManager by repairing the interview resume latch and added tests covering the feature, with a one-line documentation update to clarify resume discoverability.

Fusion-Task-Id: FN-4038
2026-05-11 15:47:40 -07:00
Fusion
554d260581 feat(FN-4036): fix zoom-aware graph pan bounds
Fixed zoom-aware graph pan bounds in the dependency graph plugin, correcting edge-case behavior when the graph is zoomed or panned. Added regression tests for graph interactions and updated documentation to cover the corrected behavior.

Fusion-Task-Id: FN-4036
2026-05-11 15:38:34 -07:00
Fusion
3ae91c5856 feat(FN-4019): prevent merge-confirmed finalization loops via self-healing
Added self-healing logic to prevent merge-confirmed tasks from re-entering the executor, with test coverage for both merge error recovery and self-healing behavior, plus corresponding architecture and task-management docs.

Fusion-Task-Id: FN-4019
2026-05-11 15:29:34 -07:00
gsxdsm
db628e9539 fix(chat): restore room message visibility and responders 2026-05-11 15:19:16 -07:00
Fusion
9bb46f5bfa feat(FN-3959): add heartbeat timer registration repair sweep
Heartbeat timer repair sweep — adds a registration repair mechanism that detects and flags stale timers via agent updates, with tests covering the new sweep behavior. Documentation updated in agents.md to reflect the repair flow.

Fusion-Task-Id: FN-3959

Fusion-Task-Lineage: 40708b6b-01e1-4673-93e1-299678de2879
2026-05-11 15:18:40 -07:00
Fusion
59fbd7c305 feat(FN-4023): preserve triage column when SSE updates contain only priorit
Fix FN-4023: preserve the triage column filter when SSE updates only carry priority changes, preventing unintended column resets during selective priority refreshes. Added regression tests across the task store, useTasks hook, and API routes to cover column-stability scenarios.

Fusion-Task-Id: FN-4023
2026-05-11 14:56:46 -07:00
Fusion
b0792daa0b feat(FN-4033): handle stale timers in heartbeat scheduler
Adds stale timer repair handling to the heartbeat scheduler with test coverage, and updates the agents documentation accordingly.

Fusion-Task-Id: FN-4033
2026-05-11 14:47:21 -07:00
Fusion
aedd39412c feat(FN-3908): broaden multi-dependency auto-unblock logs
Commits merged:
- feat(FN-3908): complete Step 1 — broaden multi-dependency auto-unblock logs

Files changed:
packages/engine/src/__tests__/scheduler.test.ts | 2 +-
 packages/engine/src/scheduler.ts                | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

Fusion-Task-Id: FN-3908
2026-05-11 14:32:56 -07:00
Fusion
08ab057375 feat(FN-4014): split merger monolith into domain-specific test suites
The monolithic `merger.test.ts` (8,229 lines) has been decomposed into nine focused test suites covering conflict resolution, diff scope, merge details, merge lifecycle, post-merge, prompt and utils, session recovery, skills, and verification, along with a shared `merger-test-helpers.ts` module for

Fusion-Task-Id: FN-4014
2026-05-11 14:24:46 -07:00
Fusion
e6e596ebb7 feat(FN-4025): defer database integrity check and expose via health endpoin
Exposes database health status via the API by deferring integrity checks asynchronously, with docs and tests covering the core DB layer, store integration, and dashboard server health endpoint.

Fusion-Task-Id: FN-4025
2026-05-11 14:15:17 -07:00
Fusion
5c005023c4 feat(FN-4030): remove wall-clock sleeps from routine store tests
Refactored routine store tests to eliminate wall-clock sleep calls, replacing them with deterministic timer-based alternatives for faster and more reliable test execution.

Fusion-Task-Id: FN-4030
2026-05-11 14:02:34 -07:00
Fusion
ccd96bf2ff feat(FN-4022): isolate ThemeSelector stylesheet and consolidate light theme
Consolidated light-theme token ownership from `CustomModelDropdown.css` into `ThemeSelector.css` and `styles.css`, completing the isolation of theme-related CSS across the dashboard. Added a corresponding test fixture for `CustomModelDropdown`.

Fusion-Task-Id: FN-4022
2026-05-11 13:44:14 -07:00
Fusion
49e11c67c1 feat(FN-4021): split monolithic store tests into focused domain suites
FN-4021 refactors the core store test suite by splitting the monolithic `store.test.ts` (6,865 lines) into nine focused domain suites — activity, comments, create, movement, ops, parsing, resilience, scheduling, snapshots, update, and upsert — and introduces shared test helpers to support the split

Fusion-Task-Id: FN-4021

Fusion-Task-Lineage: 359f2dca-f7f7-4735-bcbd-92d569d2bcd5
2026-05-11 13:35:53 -07:00
Fusion
cbd37d4e08 refactor(FN-4021): split core store tests into domain-focused suites
- Replace monolithic store.test.ts with focused suites for create, update, upsert, movement, scheduling, comments, activity, and resilience behavior
- Add parsing and snapshot-specific test files to isolate coverage for conversion and serialization paths
- Keep shared store test harness in store-test-helpers.ts and migrate existing coverage to use the split suite structure
- Remove legacy monolith test file after preserving and redistributing coverage across new suite files

Fusion-Task-Id: FN-4021
2026-05-11 13:25:06 -07:00
gsxdsm
d695201ca2 chore(FN-3908): add changeset for multi-dependency auto-unblock fix 2026-05-11 13:24:52 -07:00
Fusion
4f9190ce75 feat(FN-4024): scope chat styles to owning components
Scoped chat and popup styles to their owning components, removing cross-contaminating global rules from AgentReflectionsTab and consolidating FileMentionPopup and AgentMentionPopup styles locally, while applying final tokenization and budget style revisions in the fixup commit.

Fusion-Task-Id: FN-4024
2026-05-11 13:14:08 -07:00
Fusion
40ef96f85a test(FN-3908): add multi-dependency and queued-recovery regressions 2026-05-11 13:13:20 -07:00
Fusion
603b0bb749 feat(FN-3908): complete Step 3 — log queued dispatch blockers 2026-05-11 13:07:45 -07:00
Fusion
e5b97954fb feat(FN-3908): complete Step 2 — recover stale queued dependency tasks 2026-05-11 13:02:18 -07:00
Fusion
385c2dd58f feat(FN-4015): classify and recover from stale module-resolution incidents
Merges FN-4015 to add stale module-resolution incident detection and self-healing in the engine (`transient-error-detector.ts`, `self-healing.ts`) with mobile regression coverage for the shared `AgentErrorDetailsModal` layout.

Fusion-Task-Id: FN-4015
2026-05-11 12:04:20 -07:00
Fusion
0157e66ff9 feat(FN-4020): surface timer repair stale health in agent health utilities
Adds health-surfacing logic for timer-triggered stale heartbeats in the engine, a new `agentHealth.tsx` dashboard utility with tests, and documentation updates for the repair behavior.

Fusion-Task-Id: FN-4020
2026-05-11 11:52:21 -07:00
Fusion
98aa09f822 feat(FN-4018): isolate split merger temp workspaces with settings persisten
Merged FN-4014 to fix dual-scope GitHub tracking settings persistence and validation (mission vs task scope), scoped repo saves to the relevant section, and documented the dual defaults. Also landed FN-4018 to isolate split merger temp workspaces and add regression checks for split-suite test isolat

Fusion-Task-Id: FN-4018
2026-05-11 11:41:19 -07:00
Fusion
c41d49f28b feat(FN-3906): add frontend scope helpers for workflow step auto-skip
Adds frontend-UX auto-skip behavior for workflow steps in the executor, with tests covering the flow and documentation of the recovery logic. A changeset is included for this patch release.

Fusion-Task-Id: FN-3906

Fusion-Task-Lineage: 3c50b82b-dd03-4ba3-8d77-5aaabb8734da
2026-05-11 11:21:21 -07:00
Fusion
80130966f8 feat(FN-4016): convert hardcoded rgba colors to CSS token variables across
Migrated dashboard component CSS from hardcoded `rgba()` values to design token variables across nine components including `CustomModelDropdown`, `CliBinaryPanel`, and `CliBinaryInstallBanner`, with test coverage added for the affected components.

Fusion-Task-Id: FN-4016
2026-05-11 10:54:26 -07:00
Fusion
f25cf6e34d feat(FN-4017): add /new command alias for task creation in quick chat
Added a `/new` slash command alias across the chat interface, with interception in ChatView, support in the QuickChatFAB, corresponding tests, and documentation in the dashboard guide.

Fusion-Task-Id: FN-4017
2026-05-11 10:45:24 -07:00
Fusion
867c684eec feat(FN-3899): stabilize blockedBy overlap stamping and add recovery utilit
Stabilizes blocked-by overlap stamping in the scheduler and adds a standalone `recover-stale-blocked-by` utility script to clear stale upstream blockers, with corresponding scheduler tests and architecture documentation.

Fusion-Task-Id: FN-3899
2026-05-11 10:36:01 -07:00
Fusion
1fb9e19b5d feat(FN-4012): restore workspace verification in chat room routes
The merge adds comprehensive test coverage for dashboard routing infrastructure — custom providers tests, setup routes tests, and chat manager tests — while making a minor adjustment to chat room route registration. The CLI side sees a small bundle output test update tied to the same FN-4012 work.

Fusion-Task-Id: FN-4012
2026-05-11 09:44:45 -07:00
Fusion
3c2f1bdff0 feat(FN-3905): use merger session model for post-merge workflow steps
The merge implements post-merge model resolution, using the merger's own session model for executing post-merge prompt workflow steps instead of falling back to executor model defaults. Tests cover the resolution hierarchy, and documentation clarifies the precedence order for downstream consumers.

Fusion-Task-Id: FN-3905
2026-05-11 09:32:53 -07:00
gsxdsm
758073c799 test(FN-4012): add missing getRoomMessages mock in generation isolation beforeEach 2026-05-11 09:18:00 -07:00
Fusion
dfdfa722ed feat(FN-4005): harden durable transient recovery auto-restart flow
- Add bounded auto-restart handling in in-process runtime for durable agents after transient failures
- Extend self-healing recovery logic and transient error detection to classify and recover retryable runtime interruptions
- Add regression coverage across heartbeat executor, self-healing, and transient detector test suites
- Document durable agent transient recovery behavior in docs/agents.md

Fusion-Task-Id: FN-4005
2026-05-11 09:17:10 -07:00
Fusion
ef4aeb253a feat(FN-4011): align room input keyboard handlers
Completes Step 1 of mobile touch-focus parity by aligning room input keyboard handlers in ChatView, with a regression test covering mobile room and direct composer touch-focus behavior.

Fusion-Task-Id: FN-4011
2026-05-11 09:11:19 -07:00
Fusion
c20f9e4239 feat(FN-3994): fix bundle-output test path reference to remain compatible w
Fixes a bundle-output test assertion to keep workspace verification green, part of the FN-3994 verification flow.

Fusion-Task-Id: FN-3994
2026-05-11 08:32:52 -07:00