Commit Graph

444 Commits

Author SHA1 Message Date
Fusion (runfusion.ai)
5dd75dcf0d test(FN-4677): regression tests for transient poll omission vs real removal
Fusion-Task-Id: FN-4677
Fusion-Task-Lineage: b3b9eb56-a76b-469c-9f7b-79232da29807
2026-05-15 15:42:08 -07:00
Fusion (runfusion.ai)
f10eac2a18 feat(FN-4677): add sustained-absence threshold to project validation
Fusion-Task-Id: FN-4677
Fusion-Task-Lineage: b3b9eb56-a76b-469c-9f7b-79232da29807
2026-05-15 15:42:08 -07:00
Fusion
9b51f01f90 feat(FN-4661): complete Step 1 — add useChatUnread hook
Fusion-Task-Id: FN-4661
Fusion-Task-Lineage: 39553dc3-4e7d-4398-b03f-24fa2edb9e20
2026-05-15 15:19:56 -07:00
Fusion
c3c7497961 docs(FN-4647): complete Step 4 — document done-task diff semantics
Fusion-Task-Id: FN-4647
Fusion-Task-Lineage: c86304d4-ff28-478a-a254-8ddaeca53447
2026-05-15 12:07:52 -07:00
Fusion
16fa629a8e fix(FN-4595): preserve cumulative timing fields in sparse SSE merges
Fusion-Task-Id: FN-4595
Fusion-Task-Lineage: 73a3d0ad-5c10-4560-aec5-f9d138deeefd
2026-05-15 07:50:34 -07:00
Fusion
50c10fba5e test(FN-4593): complete Step 3 — cover view-return refresh behavior
Fusion-Task-Id: FN-4593
Fusion-Task-Lineage: c9153e3f-378c-46a2-901d-020ca4b3c027
2026-05-15 06:52:49 -07:00
Fusion
a44a621054 feat(FN-4593): complete Step 1 — expose useTasks refresh
Fusion-Task-Id: FN-4593
Fusion-Task-Lineage: c9153e3f-378c-46a2-901d-020ca4b3c027
2026-05-15 06:52:49 -07:00
Fusion
192b6e808e test(FN-4583): complete Step 5 — cover newest room message window fetch
Fusion-Task-Id: FN-4583
Fusion-Task-Lineage: 4d9b088d-a705-4376-b547-15b37e5370aa
2026-05-15 02:23:30 -07:00
Fusion
e240993d5a feat(FN-4583): complete Step 4 — fetch newest chat room message window
Fusion-Task-Id: FN-4583
Fusion-Task-Lineage: 4d9b088d-a705-4376-b547-15b37e5370aa
2026-05-15 02:23:30 -07:00
Fusion
002d148c78 feat(FN-4552): complete Step 2 — harden openFiles workspace guards
Fusion-Task-Id: FN-4552
Fusion-Task-Lineage: dad48f2c-25a8-4fca-8f00-16307936621c
2026-05-14 22:16:44 -07:00
Fusion
c48b25e934 feat(FN-4527): complete Step 3 — document done-task diffStats contract
Fusion-Task-Id: FN-4527
Fusion-Task-Lineage: de75c453-dc86-43d2-9cc5-50b20ee7014d
2026-05-14 18:07:05 -07:00
Fusion
4380f01516 feat(FN-3977): complete Step 1 — overlap fanout semantics
Fusion-Task-Id: FN-3977
Fusion-Task-Lineage: c84f2ce0-3726-49b2-ad84-6703edbfecf1
2026-05-14 15:49:55 -07:00
Fusion
652e820f7d feat(FN-4398): complete remaining dashboard visibility and docs
Fusion-Task-Id: FN-4398
Fusion-Task-Lineage: 8b898b2e-3468-4fa7-8546-b8f6ba52cf46
2026-05-14 15:25:08 -07:00
Fusion
a5678527dd feat(FN-4521): complete Step 3 — unify active diff data source
Fusion-Task-Id: FN-4521
Fusion-Task-Lineage: 675472a2-480d-4b9e-8861-98d2d82680db
2026-05-14 14:04:32 -07:00
Fusion
d2f8ac4abc feat(FN-4360): complete Step 4 — wire reliability view and nav
Fusion-Task-Id: FN-4360
Fusion-Task-Lineage: 50e17cef-29b0-4adc-aa1c-bffdebe4b43c
2026-05-13 22:27:03 -07:00
Fusion
b21ad886c4 feat(FN-4412): complete Step 1 — wire bulk action handlers to ListView
Fusion-Task-Id: FN-4412
Fusion-Task-Lineage: 20883b92-0de6-4b95-b8f8-9075f1d9d54e
2026-05-13 19:33:34 -07:00
Fusion
bcad65e84e feat(FN-4370): complete Step 3 — retain badge snapshots across unsubscribes
Fusion-Task-Id: FN-4370
Fusion-Task-Lineage: c18188d5-c478-4233-943f-943b0125b271
2026-05-13 15:05:05 -07:00
Fusion
1c4eee177d feat(FN-4370): complete Step 1 — fix badge null-merge semantics
Fusion-Task-Id: FN-4370
Fusion-Task-Lineage: c18188d5-c478-4233-943f-943b0125b271
2026-05-13 15:05:05 -07:00
Fusion
d50ccdde69 fix(FN-4378): align delete option threading for github issue actions
Fusion-Task-Id: FN-4378
Fusion-Task-Lineage: d3867ba8-f852-41e3-9db0-584c0ffc23b1
2026-05-13 14:12:51 -07:00
Fusion
1abbf2f992 feat(FN-4381): flush queued chat messages on recovery completion
Fixes chat hooks to flush queued messages when recovery completes, preventing stale messages from lingering in useChat and useQuickChat; includes tests for both hooks.

Fusion-Task-Id: FN-4381
2026-05-13 13:50:03 -07:00
Fusion
c3e87e5eec feat(FN-4350): complete Step 3 — mirror reconnect logic in useQuickChat
Fusion-Task-Id: FN-4350
Fusion-Task-Lineage: 11fff2c2-1cd1-4562-9b01-032a15217479
2026-05-13 12:26:07 -07:00
Fusion
5a2af0d918 feat(FN-4350): complete Step 2 — auto-reconnect suspension errors in useChat
Fusion-Task-Id: FN-4350
Fusion-Task-Lineage: 11fff2c2-1cd1-4562-9b01-032a15217479
2026-05-13 12:26:07 -07:00
Fusion
0dc42334ce feat(FN-4350): complete Step 1 — visibility became-visible subscription
Fusion-Task-Id: FN-4350
Fusion-Task-Lineage: 11fff2c2-1cd1-4562-9b01-032a15217479
2026-05-13 12:26:07 -07:00
Fusion
d5be0dbe65 fix(FN-4308): complete Step 7 — fetch done task diff stats without commit SHA gate
Fusion-Task-Id: FN-4308
Fusion-Task-Lineage: d0a46a8f-2245-4ddc-99b4-06d78e87db16
2026-05-13 09:28:09 -07:00
Fusion
48ed516e70 test(FN-4308): complete Step 4 — add card and modal aggregation regressions
Fusion-Task-Id: FN-4308
Fusion-Task-Lineage: d0a46a8f-2245-4ddc-99b4-06d78e87db16
2026-05-13 09:28:08 -07:00
Fusion
196194d8d9 test(FN-4306): complete Step 4 — add capacity banner gating coverage
Fusion-Task-Id: FN-4306
Fusion-Task-Lineage: b0ab9b60-de02-40a7-ad8b-0ca18c98e16c
2026-05-13 09:06:20 -07:00
Fusion
7edd2a58b4 feat(FN-4306): complete Step 3 — gate and dismiss capacity risk banner
Fusion-Task-Id: FN-4306
Fusion-Task-Lineage: b0ab9b60-de02-40a7-ad8b-0ca18c98e16c
2026-05-13 09:06:20 -07:00
Fusion
2c50fb6b2d feat(FN-4199): complete Step 3 — add capacity risk banner
Fusion-Task-Id: FN-4199
Fusion-Task-Lineage: fd530f3d-ef2e-4684-ab05-5aaab6856f15
2026-05-13 06:29:35 -07:00
Fusion
25e76d61da feat(FN-4227): add clickable file path links across dashboard
- Add reusable file path linkification utilities and FileBrowser context wiring across dashboard modals and log surfaces
- Linkify task detail, review, workflow, chat, activity, agent, dev server, and settings sync outputs so workspace paths open in the file browser
- Preserve inline code styling when wrapping detected paths and extend FileBrowserModal handling for linked navigation
- Cover the new linking behavior with dashboard tests and add a changeset plus AGENTS guidance for the reusable pattern

Fusion-Task-Id: FN-4227
2026-05-12 21:55:43 -07:00
Fusion
efdc6c4625 feat(FN-4139): add swipe-back navigation to chat, mission, and planning flo
Implements swipe-back gesture support for mobile navigation across ChatView, MissionManager, and PlanningModeModal, wired through a shared navigation history context and covered by a comprehensive test suite (~548 lines of swipe-back tests). A small fixup ensures swipe-back behaves correctly when la

Fusion-Task-Id: FN-4139
2026-05-12 17:04:33 -07:00
Fusion
0eae54d9b2 feat(FN-4054): surface inline chat failures with interactive error referenc
Implements inline chat failure rendering in the ChatView with interactive reference affordances, proper attribution preservation in failure bubbles, and aligned error typing across the chat stream pipeline, with corresponding tests and documentation updates.

Fusion-Task-Id: FN-4054
2026-05-12 07:47:10 -07:00
Fusion
9b531dab65 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
e95515b484 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
gsxdsm
6e44e1bb50 fix(chat): restore room message visibility and responders 2026-05-11 15:19:16 -07:00
Fusion
3f6c4c688a 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
1f47e137f7 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
d910c0c0f3 feat(FN-3637): establish canonical roadmap plugin ID and compatibility rout
Merged commits stabilize the Fusion roadmap plugin's identity and routing surface, establishing a canonical plugin ID and compatibility routes so the roadmap plugin integrates cleanly with the dashboard's plugin system. Added new roadmap-routes and roadmap-suggestions modules in the dashboard packag

Fusion-Task-Id: FN-3637
2026-05-11 06:47:43 -07:00
Fusion
74e7aa8f0c feat(FN-3826): canonicalize reports plugin manifest ID
Canonicalizes the Fusion reports plugin's manifest ID and exports a reports schema alias from the package index, with tests aligned to the new identifiers.

Fusion-Task-Id: FN-3826
2026-05-11 06:47:43 -07:00
Fusion
d0a7fe3667 feat(FN-3817): fix chat delta spacing in legacy streaming API
Fixes chat streaming delta spacing to preserve proper whitespace, adding regression tests for legacy chat stream handlers and the createChatStreamHandlers factory. A changeset was created for the `@runfusion/fusion` package.

Fusion-Task-Id: FN-3817
2026-05-11 06:47:42 -07:00
Fusion
1cb961becb feat(FN-3981): document room message resync contract and reproduce reply vi
Fixes a room reply visibility gap in the chat rooms hook by correcting the message-resync condition and adding test coverage to reproduce the issue, with updated documentation for the resync contract.

Fusion-Task-Id: FN-3981
2026-05-11 06:47:42 -07:00
Fusion
2aec3474b0 feat(FN-3954): blocker staleness fanout and escalation for tasks
Merges FN-3954: adds a blocker fanout system where task staleness automatically escalates to upstream blocking tasks, with a new `blocker-fanout` core module, dashboard hooks wiring that surfaces escalation status on the board and executor status bar, and a new settings toggle to disable escalation.

Fusion-Task-Id: FN-3954
2026-05-10 23:36:10 -07:00
Fusion
f7450ba3a2 feat(FN-3955): align mesh state hook contract with topology consumers
- Change useMeshState to expose NodeMeshState[] and unwrap API snapshot nodes in refresh and polling flows
- Update NodesView mesh topology rendering to consume the flattened hook result directly
- Revise mesh-state and NodesView tests to validate array-based contract and topology behavior
- Document the Nodes UI mesh topology contract in architecture docs

Fusion-Task-Id: FN-3955
2026-05-10 18:04:43 -07:00
Fusion
d144a081f1 feat(FN-3454): add typed mesh snapshot API consumed by nodes view
Implements a typed mesh snapshot API in `@fusion/core` (`CentralCore.getMeshSnapshot`, `MeshSnapshot` type) and wires it through the dashboard nodes view via a new `useMeshState` hook, substantially simplifying `MeshTopology.tsx` by replacing internal state management with the centralized snapshot.

Fusion-Task-Id: FN-3454
2026-05-10 16:53:36 -07:00
Fusion
e9834def83 feat(FN-3942): surface high fan-out blockers in task cards and executor sta
Adds a "high fan-out" indicator that surfaces when a task blocks an unusually large number of downstream tasks, displayed as a warning badge on TaskCards and in the ExecutorStatusBar. The feature includes core type definitions, dashboard UI updates to render the warning with appropriate styling and

Fusion-Task-Id: FN-3942
2026-05-10 15:55:09 -07:00
Fusion
47c9bfdd07 feat(FN-3946): add chat stream reattach recovery after tab suspension
Implements Step 1 of reattaching a regular chat stream when the browser tab resumes from a hidden/suspended state, with tests covering the recovery path and documentation added to the dashboard guide.

Fusion-Task-Id: FN-3946
2026-05-10 15:33:25 -07:00
Fusion
d5f12a5c95 feat(FN-3927): persist and restore durable chat recovery state
- Persist in-flight chat generation snapshots in core chat store types and DB plumbing
- Restore durable recovery state through dashboard chat manager and chat hooks on reload
- Add coverage for chat store persistence and chat/useQuickChat recovery behavior
- Document durable chat recovery architecture and dashboard behavior

Fusion-Task-Id: FN-3927
2026-05-10 15:33:24 -07:00
Fusion
d604d090a8 feat(FN-3863): add stash recovery dashboard surface and API routes
Merged FN-3863 brings stash recovery to the dashboard via three coordinated steps: engine-side orphan stash surfacing API in `merger.ts`, dashboard API routes for stash recovery data, and a new `StashRecoveryView` component with mobile support and inspect-diff row actions, integrated into the header

Fusion-Task-Id: FN-3863
2026-05-09 19:49:02 -07:00
Fusion
309e3f91a1 feat(FN-3897): add blocker fan-out hook, badge, and detail modal section
Implemented the blocker fan-out feature across the dashboard: added a `useBlockerFanout` hook to track blocking relationships, rendered a fan-out badge on task cards, and added a blocking section to the task detail modal, with tests covering the hook and responsive modal behavior.

Fusion-Task-Id: FN-3897
2026-05-09 19:19:41 -07:00
Fusion
2278ceff31 feat(FN-3879): add chat room management in ChatView
- Add useChatRooms hook with room lifecycle state and API integration
- Wire ChatView UI for room selection/creation and update room-focused tests
- Tokenize ChatView and TaskCard color usage to align with dashboard design tokens
- Update architecture docs and include FN-3879 changesets for published CLI package

Fusion-Task-Id: FN-3879
2026-05-09 13:21:47 -07:00
Fusion
8f5cf45e77 feat(FN-3855): add chat stream reattach, hybrid room responder policy, mesh
This merge introduces a model selector to the Insights view with favorites, provider filtering, and configured-only options (FN-3842/3843), alongside chat stream reattach support for dashboard chat recovery. It adds mesh lease recovery semantics and a manager to the engine for improved node resilien

Fusion-Task-Id: FN-3855
2026-05-09 13:21:47 -07:00