Commit Graph

2104 Commits

Author SHA1 Message Date
Fusion
772c9f6b24 feat(FN-3906): add Chat Rooms experimental feature with Settings toggle
Added an experimental Chat Rooms feature gated behind a settings toggle in the dashboard. The ChatView rooms UI is now conditionally rendered based on the experimental features setting, controlled via the SettingsModal. Included documentation updates and corresponding test coverage.

Fusion-Task-Id: FN-3906
2026-05-09 20:20:07 -07:00
Fusion
7e8541b92d 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
d25e8cbfa9 feat(FN-3901): add builtin research web-search provider as default
The merge adds a builtin web-search research provider as the default, replacing the need for external research provider configuration and removing the setup gate for builtin defaults. Dashboard settings UX for research defaults was aligned (ResearchView, SettingsModal), CLI research commands were up

Fusion-Task-Id: FN-3901
2026-05-09 19:41:09 -07:00
Fusion
8c715168c6 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
ff9fb551e3 feat(FN-3895): add event-driven unblock for scheduler startup recovery when
Adds an event-driven unblock path that automatically releases agents when their blocked-by dependencies complete, including startup recovery logic for any tasks still blocked at engine initialization; covered by scheduler and self-healing test suites with a minor CSS fix for the compact mobile impor

Fusion-Task-Id: FN-3895
2026-05-09 19:01:52 -07:00
Fusion
4ecdbf49d3 feat(FN-3898): migrate roadmap plugin vitest config to test.projects
Migrate the Fusion dashboard's vitest configuration to use the new `test.projects` API in the roadmap plugin, with plugin view registration updates and typecheck fixes in the dashboard components.

Fusion-Task-Id: FN-3898
2026-05-09 18:55:28 -07:00
Fusion
eea4defc79 feat(FN-3902): compact sidebar agent action labels to prevent overflow
Adds compact agent action labels to the sidebar in AgentsView, with CSS improvements and tests asserting the wrapper behavior, plus a changeset to release the change as a patch.

Fusion-Task-Id: FN-3902
2026-05-09 18:08:59 -07:00
Fusion
00b35b8ca5 feat(FN-3889): add bulk delete with dependency conflict detection to ListVi
Bulk delete in ListView is now complete with dependency conflict detection and user-facing recovery options, backed by shared utility logic and tests. The feature touched ListView's core behavior, companion tests, and a small changeset documenting the user-facing recovery behavior.

Fusion-Task-Id: FN-3889
2026-05-09 17:55:19 -07:00
gsxdsm
e0d96712c3 Agent run fixes 2026-05-09 17:05:43 -07:00
Fusion
271166ad7c feat(FN-3899): add chat rooms with send routing and delete-room UI
This merge delivers chat rooms with room send routing and delete-room UI in the dashboard (FN-3899), including fixes for bundled plugin view imports and a release changeset. Supporting changes include a merger improvement that tightens scope-warning diff base when baseBranch is missing, companies.sh

Fusion-Task-Id: FN-3899
2026-05-09 16:29:11 -07:00
Fusion
0b69b9917e feat(FN-3883): fix dependency-graph plugin exports and add CLI bundle entry
Fixed the `@fusion-plugin/dependency-graph` plugin's exports and build entry points so it bundles correctly with the CLI, added test coverage for plugin enable success and error-state toasts, and included the plugin's dist in the CLI bundle via tsup config.

Fusion-Task-Id: FN-3883
2026-05-09 15:12:13 -07:00
Fusion
f9cba2507c fix(FN-3886): resolve peer agent names in mail and notifications
- Resolve participant display names in AgentDetailView mail tab for peer agents
- Update MailboxModal labeling to use readable agent names instead of raw IDs
- Propagate resolved agent names through notification service, notifier, and provider payloads
- Add and update dashboard/engine tests plus a changeset for @runfusion/fusion

Fusion-Task-Id: FN-3886
2026-05-09 14:58:56 -07:00
Fusion
15e43360ef feat(FN-3891): document memory backup settings in settings reference
Documents the memory backup feature in the settings reference and adds a changeset to prepare for publishing.

Fusion-Task-Id: FN-3891
2026-05-09 14:41:58 -07:00
Fusion
f182aa30ad feat(FN-3885): add resizable split pane to mailbox view
Adds a resizable split-pane to the MailboxView component (FN-3885) and introduces a report archive feature to fusion-plugin-reports with a full store, schema, and types layer (FN-3784). Also adds tests for the notification dispatcher pipeline, updates the MemoryView test allowlist, and clarifies the

Fusion-Task-Id: FN-3885
2026-05-09 14:25:35 -07:00
Fusion
c995ab3d90 feat(FN-3890): include MemoryView in dashboard quality test allowlist
Adds MemoryView to the dashboard test quality gate allowlist so it participates in the curated default test run.

Fusion-Task-Id: FN-3890
2026-05-09 14:20:03 -07:00
Fusion
1e800594d5 feat(FN-3884): anchor QuickChatFAB and chat messages to latest on layout sh
Merges FN-3884 chat scroll anchoring — ChatView now re-scrolls to the latest message when reopened or when activation transitions occur, with a bounded bottom-anchor helper preventing layout-shift overshoots. QuickChatFAB was updated to wire the new anchoring behavior, and both components gained com

Fusion-Task-Id: FN-3884
2026-05-09 13:49:11 -07:00
Fusion
03a6108833 feat(FN-3865): complete Step 8 — documentation and delivery 2026-05-09 13:21:47 -07:00
Fusion
e7acd2788b 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
003e51aef6 feat(FN-3783): add review panel plugin for fusion reports with type definit
The merge delivers the **Reports Review Panel** (FN-3783) as a multi-step plugin feature — defining review panel types, implementing orchestration logic, and wiring them through the fusion-plugin-reports entry point — alongside a collection of complementary improvements: section-aware prompt compact

Fusion-Task-Id: FN-3783
2026-05-09 13:21:47 -07:00
Fusion
4b6a14974b feat(FN-3868): add changeset for github tracking settings
Adds a changeset for the GitHub tracking settings feature (FN-3868), preparing it for the next release. The feature itself was implemented in earlier steps; this changeset marks it for publication to npm.

Fusion-Task-Id: FN-3868
2026-05-09 13:21:47 -07:00
Fusion
be539b7623 feat(FN-3782): enforce mobile touch target for settings star action
Enforces the 44px mobile touch target on the settings star action in `SettingsModal.css`, fixing an accessibility regression introduced in FN-3782.

Fusion-Task-Id: FN-3782
2026-05-09 13:21:47 -07:00
Fusion
e86b4c2774 feat(FN-3864): add mesh lease recovery and compact assigned-agent badge
- Add mesh lease manager integration so engine/self-healing can recover and reconcile stale lease state
- Extend core store/agent-store types, DB handling, and tests to track lease recovery semantics across runtimes
- Collapse TaskCard assigned-agent badge label in narrow cards while preserving accessible labeling behavior
- Update dashboard and engine test coverage for lease recovery flows and assigned-agent badge accessibility
- Document mesh lease recovery behavior in architecture, multi-project, and agents docs

Fusion-Task-Id: FN-3864
2026-05-09 11:31:57 -07:00
Fusion
b326385c0a fix(FN-3825): surface inline notification test feedback in settings
- Persist per-provider notification test results and render inline success/error feedback blocks
- Add ntfy "Test message notification" action wired to message-event test payload
- Keep toast notifications while also showing provider-specific status text with aria-live feedback
- Update SettingsModal tests to verify ntfy message-event call path and inline webhook/ntfy feedback rendering

Fusion-Task-Id: FN-3825
2026-05-09 11:02:12 -07:00
gsxdsm
434e216cc2 Merge pull request #56 from timothyjlaurent/timothyjlaurent/Anthropic-error
fix: settings scope leak, insights model selector & provider filtering
2026-05-09 10:58:48 -07:00
Fusion
36b21af7d0 feat(FN-3842): finalize dashboard chat reattach and cleanup merge
- Isolate DocumentsView mobile styling while preserving dashboard UI behavior
- Add legacy chat stream reattach support across API routes and chat hooks with updated tests
- Remove tracked hermes runtime dist artifacts to prevent plugin autostash conflicts
- Rename the FN-3842 merge finalize changeset file and keep related changeset updates

Fusion-Task-Id: FN-3842
2026-05-09 10:46:52 -07:00
gsxdsm
7b6a470329 Merge branch 'main' into timothyjlaurent/Anthropic-error 2026-05-09 10:42:33 -07:00
Fusion
0a2f3d6024 fix(FN-3847): restore pressed toggle contrast in dashboard views
- Switch pressed toggle foreground styling to use the --accent-text token
- Apply the contrast fix to AgentLogViewer and DocumentsView toggle styles
- Add regression coverage in AgentLogViewer tests for pressed-toggle contrast behavior
- Add a changeset for the @runfusion/fusion patch release

Fusion-Task-Id: FN-3847
2026-05-09 10:31:05 -07:00
Fusion
b33b640d02 feat(FN-3809): normalize mention filtering for underscore handles
Added a `mentionMatching.ts` utility to normalize agent mention filtering across the codebase, fixing the handling of handles containing underscores. Updated `AgentMentionPopup`, `ChatView`, and `QuickChatFAB` to use the new utility, with corresponding tests added including a new `mentionMatching.te

Fusion-Task-Id: FN-3809
2026-05-09 10:31:05 -07:00
Fusion
8051bea95a fix(FN-3808): increase create-room member role typography
- Increase the member role text sizing in CreateRoomModal for better readability
- Update CreateRoomModal.css with the adjusted typography value
- Keep the change scoped to create-room role styling only

Fusion-Task-Id: FN-3808
2026-05-09 10:31:05 -07:00
Fusion
f406db641b feat(FN-3551): add persistent approval notification banner
- Add ApprovalNotificationBanner component and integrate it in App task flow
- Define approval trigger contract and persist banner dismissal state across refreshes
- Deduplicate approval notifications so repeated approvals do not re-show dismissed alerts
- Add App/banner tests and update dashboard docs for approval banner behavior

Fusion-Task-Id: FN-3551
2026-05-09 10:31:05 -07:00
Fusion
7cb13439d3 feat(FN-3550): add pending approval badges to agent views and header
Added pending-approval badge indicators across the agent detail view, agents overview, mailbox, header, and mobile nav, wired through new and existing agent/mailbox APIs, with test coverage and documentation updates.

Fusion-Task-Id: FN-3550
2026-05-09 10:31:05 -07:00
Fusion
f3626489ed feat(FN-3549): add mailbox approvals inbox and decision flow
- Add dashboard approvals APIs and route handlers for listing requests, fetching detail, and submitting approve/deny decisions
- Emit approval SSE events and subscribe mailbox refresh logic to keep approval lists and badges live
- Extend Mailbox view with an Approvals tab, pending/history filters, request detail history, and approve/deny actions
- Update mailbox styles, approval route tests, and docs for the new approvals workflow

Fusion-Task-Id: FN-3549
2026-05-09 10:31:05 -07:00
Fusion
c60f230ed4 feat(FN-3284): expand PR review-tab test coverage and add direct-mode progr
Adds test coverage for direct-mode progress states and significantly expands PR review-tab coverage in TaskReviewTab, with a minor tab-count label alignment fix in TaskDetailModal.

Fusion-Task-Id: FN-3284
2026-05-09 10:31:05 -07:00
Fusion
1abbb10607 fix(FN-3829): recover stale merging status and align chat sidebar search styling
- Add self-healing recovery for stale in-review merging statuses when no active merger owns the task
- Skip merge re-enqueue for tasks already marked with transient merging statuses and add regression coverage
- Wire active merge task ID provider through project runtime for safer stale-status detection
- Use chat-sidebar-search-container in ChatView with matching CSS padding
- Normalize fusion-plugin-reports test script to use local vitest and add changeset for @runfusion/fusion patch

Fusion-Task-Id: FN-3829
2026-05-09 10:31:05 -07:00
Fusion
f1ad586774 feat(FN-3282): add durable review addressing snapshots
This merge adds two substantial features: a rooms and chat sidebar system (FN-3806) with a new `CreateRoomModal` and enriched `ChatView`, wired through plugin routes and a new `listTasksModifiedSince` core API; and a durable review addressing workflow (FN-3282) that persists snapshots, renders addre

Fusion-Task-Id: FN-3282
2026-05-09 10:31:05 -07:00
Fusion
dd295bdcdc feat(FN-3806): implement rooms create modal and chat sidebar with plugin ro
Adds a rooms feature to the chat sidebar including a new CreateRoomModal for creating chat rooms, with mobile selection handling and search empty-state copy fixes. Also introduces listTasksModifiedSince plugin contract and report plugin scaffold, replacing the removed dashboard roadmap backend.

Fusion-Task-Id: FN-3806
2026-05-09 10:31:05 -07:00
Fusion
760aa54f8a feat(FN-3824): remove dashboard roadmap backend and add reports plugin scaf
The merge introduces a new reports plugin scaffold, removing the dashboard roadmap backend entirely (roadmap routes, suggestions engine, and associated tests deleted), while wiring plugin-based routes as the replacement. It adds universal web fetch to reviewer, merger, and triage agents, isolates Wh

Fusion-Task-Id: FN-3824
2026-05-09 10:31:05 -07:00
Fusion
8629ab1307 test(FN-3823): stabilize favorites rollback timing assertions
- Assert optimistic unfavorite UI appears immediately after clicking remove
- Wait for the settings update call before checking rollback behavior
- Re-query the portal within waitFor to verify favorited UI is restored after rejected update

Fusion-Task-Id: FN-3823
2026-05-09 10:31:05 -07:00
Fusion
8a7038c9e8 test(FN-3814): stabilize initial-open scroll-to-bottom regression test
- Rename the first-open quick chat scroll test for clearer intent
- Install scroll descriptors before resolving deferred messages to capture initial isOpen behavior
- Assert the final scroll position reaches scrollHeight without brittle setter-count expectations

Fusion-Task-Id: FN-3814
2026-05-09 10:31:05 -07:00
Fusion
365720edb2 feat(FN-3805): remove dashboard roadmap backend, add reports plugin scaffol
This merge extracts the roadmap feature from the dashboard into a new reports plugin scaffold, adds universal web fetch to reviewer/merger/triage agents, and introduces /tasks deep-link routing. The massive file deletions are roadmap backend code and 2,100+ lines of associated tests being removed as

Fusion-Task-Id: FN-3805
2026-05-09 10:31:04 -07:00
Fusion
e03ccf02c4 feat(FN-3804): remove dashboard roadmap backend and add reports plugin scaf
This merge adds a new reports plugin scaffold, removes the roadmap backend from the dashboard and core packages, extends web fetch capability to reviewer/merger/triage agents, adds WhatsApp message dedupe retention pruning, introduces `/tasks` deep-link support with theme-data URL resolution, and in

Fusion-Task-Id: FN-3804
2026-05-09 10:31:04 -07:00
Fusion
9d1c05a7d9 feat(FN-3166): remove dashboard roadmap backend and add reports plugin scaf
Completes the FN-3166 multi-step removal of the legacy dashboard roadmap feature (backend routes, frontend API wrappers, nav state), along with FN-3792 deep-link URL support, and initial reports plugin scaffold with WhatsApp dedupe retention pruning.

Fusion-Task-Id: FN-3166
2026-05-09 10:31:04 -07:00
Fusion
1148d29426 feat(FN-3778): add reports plugin scaffold with notification service improv
The merge introduces a new `fusion-plugin-reports` plugin scaffold with settings schema, manifest, entry point, and tests, alongside a mobile session switcher in the chat header. It also adds a mailbox notifications system with ntfy/webhook providers, cleans up roadmap types from core, and includes

Fusion-Task-Id: FN-3778
2026-05-08 22:59:47 -07:00
Fusion
12bad74955 feat(FN-3800): add session switcher to chat header and mobile switcher
This merge delivers five features: a session switcher for the chat header with mobile-aware dropdown styling and proper ARIA state, mailbox notification events with deep-link highlighting to the unread task, a fix for org chart connector endpoints in wide subtrees, a correction to merge finalize so

Fusion-Task-Id: FN-3800
2026-05-08 22:25:47 -07:00
Fusion
12ddca0dfe fix(FN-3797): restore org chart connector endpoints for wide subtrees
- Compute first/last child subtree leaf counts in AgentsView and expose them as CSS variables on org-chart child groups
- Update org chart connector offset math to anchor horizontal bars to first/last child subtree centers instead of fixed node half-widths
- Keep defaults tokenized for single-child cases and preserve vertical-layout connector behavior
- Extend dashboard CSS and component tests to assert the new connector offset variables and connector rule coverage

Fusion-Task-Id: FN-3797
2026-05-08 21:31:26 -07:00
Fusion
111ad7afce feat(FN-3773): fix no-op re-squash in merge finalize instead of refusing me
Fixes the merger to re-squash instead of refusing when a no-op merge verification occurs mid-merge, with regression tests added to prevent recurrence. Also replaces hardcoded color/spacing values in ProjectCard and ProjectOverview CSS with design tokens for theme consistency.

Fusion-Task-Id: FN-3773
2026-05-08 21:28:14 -07:00
Fusion
04382d06db feat(FN-3746): document plugin API coverage and add focus-visible states
Completes Step 6 of FN-3746 by adding `focus-visible` states to ProjectCard and ProjectOverview CSS components, and documenting the Even Realities plugin API coverage in the project docs.

Fusion-Task-Id: FN-3746
2026-05-08 21:06:44 -07:00
gsxdsm
6c779159c0 feat(dashboard): render mailbox messages as markdown
Adds GitHub-flavored markdown rendering to message bodies in both
MailboxView and MailboxModal via a shared MailboxMessageContent
component (ReactMarkdown + remark-gfm). Plain-text messages render
unchanged. Raw HTML is not executed.

- New MailboxMessageContent component with mailbox-scoped pre/table/link
  overrides; links open in a new tab with noopener noreferrer.
- Wired into the full message body and conversation thread bodies in
  both Mailbox surfaces (parity preserved).
- CSS for .mailbox-markdown, .mailbox-markdown-pre, .mailbox-markdown-table
  with horizontal scroll for code blocks/tables; removed white-space:
  pre-wrap on bodies since markdown owns its own whitespace.
- 10 new unit tests cover headings, lists, bold/italic, inline code,
  fenced code blocks, link target/rel, GFM tables, plain-text passthrough,
  raw-HTML safety, and testId forwarding. Existing 108 mailbox tests
  continue to pass.
2026-05-08 20:48:26 -07:00
Fusion
92ca3a238f feat(FN-3548): add agent action routes and approval pause/resume lifecycle
Merges the FN-3548 approval pause/resume system: agents now stall at workflow gates pending approval, with a full lifecycle spanning gate context lookup, action-gate pause/retry, executor and heartbeat pause callbacks, and dedicated approval decision routes. Also lands FN-3744 agent action routes an

Fusion-Task-Id: FN-3548
2026-05-08 20:30:40 -07:00
Fusion
ccefdd2c52 feat(FN-3509): document node mapping availability UI in dashboard guide
Documents the node mapping availability UI in the dashboard guide.

Fusion-Task-Id: FN-3509
2026-05-08 18:44:16 -07:00