Commit Graph

4593 Commits

Author SHA1 Message Date
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
07249fd301 feat(FN-3283): add canonical task review data endpoints
Added canonical task review data endpoints (FN-3283) with new core types, expanded task workflow API routes, and updated GitHub integration (removing deprecated git-github routes in favor of consolidated github.ts). New API tests added for the task endpoints.

Fusion-Task-Id: FN-3283
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
94a6fe41ef feat(FN-3835): add plugin routes wiring and listTasksModifiedSince
Adds plugin routes infrastructure including `listTasksModifiedSince` contract in the task store, plugin types definitions, and wiring tests, while deprecating the dashboard roadmap backend in favor of a reports plugin scaffold; also stabilizes favorites and scroll-to-bottom tests and documents the s

Fusion-Task-Id: FN-3835
2026-05-09 10:31:05 -07:00
Fusion
47beb9b911 feat(FN-3168): add plugin routes wiring and listTasksModifiedSince contract
This merge adds plugin routes wiring to the dashboard with a new `listTasksModifiedSince` task store contract (FN-3796/FN-3798), stabilizes flaky tests for initial-open scroll behavior and favorites rollback timing, and removes the roadmap backend in favor of a reports plugin scaffold (FN-3824); cov

Fusion-Task-Id: FN-3168
2026-05-09 10:31:05 -07:00
Fusion
d82285ca56 feat(FN-3798): add listTasksModifiedSince contract to task store
Added a `listTasksModifiedSince` contract to the task store with wiring coverage in the plugin router, including a type-fix for limit narrowing. Tests cover both the store contract and the routing layer.

Fusion-Task-Id: FN-3798
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
de174491bb feat(FN-3796): add plugin routes wiring and listTasksModifiedSince
Merged plugin infrastructure improvements: FN-3796 adds a complete plugin route wiring system with typed `pluginRunner`, `listTasksModifiedSince` store support, and comprehensive test coverage across core and dashboard packages. FN-3794 isolates WhatsApp sessions per project with unload context prop

Fusion-Task-Id: FN-3796
2026-05-09 10:31:05 -07:00
Fusion
7d20a348d8 fix(FN-3794): pass unload context and isolate WhatsApp sessions per project
- Extend PluginOnUnload to receive runtime context and wire ctx through plugin-loader unload hooks
- Scope WhatsApp chat plugin connections by project root to avoid cross-project session leakage
- Update plugin authoring docs and add a patch changeset for @runfusion/fusion
- Align plugin test suites across WhatsApp and example/runtime plugins with the new onUnload context contract

Fusion-Task-Id: FN-3794
2026-05-09 10:31:04 -07:00
Fusion
aa56ef0f8a test(FN-3167): add roadmap plugin API client coverage
- Add comprehensive tests for roadmap plugin API client behavior and error handling
- Document plugin roadmap test ownership and maintenance expectations in README

Fusion-Task-Id: FN-3167
2026-05-09 10:31:04 -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
5bfe12615c feat(FN-3803): add universal web fetch to reviewer, merger, and triage agen
The merge introduces the universal web fetch tool across reviewer/merger/triage agents (FN-3803, 4 commits) with docs and regression test, extracts the roadmap as a plugin scaffold in `plugins/fusion-plugin-reports` (FN-3166, FN-3165) while removing dashboard roadmap backend and associated tests, ad

Fusion-Task-Id: FN-3803
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
de070db4a5 feat(FN-3795): add WhatsApp dedupe retention pruning and reports plugin sca
Merges the reports plugin scaffold (FN-3778, FN-3790) with notification service improvements across the engine, plus mailbox UI enhancements; adds WhatsApp message deduplication retention pruning (FN-3795) with tests and documentation; introduces /tasks deep-link routing with theme-data URL resoluti

Fusion-Task-Id: FN-3795
2026-05-09 10:31:04 -07:00
Fusion
18413a1c42 feat(FN-3792): add /tasks deep-link support with theme-data URL resolution
Adds a `/tasks` deep-link that rewrites legacy hash-style URLs on the client and redirects root-absolute paths on the server (FN-3792), along with a new `fusion-plugin-reports` scaffold including manifest, settings, and notification service improvements (FN-3778, FN-3790); also adds a session switch

Fusion-Task-Id: FN-3792
2026-05-09 10:31:04 -07:00
Berlin Luk
d0b7506920 fix: guard PR retries for missing task branches 2026-05-09 21:04:47 +08:00
Fusion
f47386bbb4 feat(FN-3790): integrate dashboard, plugin, and merge-finalize updates
- Add reports plugin scaffold, Even Realities integration, and bundled plugin docs/API coverage updates
- Improve dashboard UX with chat session switchers, markdown mailbox rendering, org-chart connector fixes, and focus-visible/mobile styling refinements
- Harden engine and API behavior with SSE first-event watchdog, merge finalize no-op re-squash fix, and notification/stream reliability test coverage
- Remove remaining core roadmap type exports and document roadmap/plugin architecture and agent tooling updates

Fusion-Task-Id: FN-3790
2026-05-08 23:10:41 -07:00
Fusion
8831d04fd0 feat(FN-3788): mention roadmap in bundled plugins docs
Updates the plugin management docs to reference the roadmap in the bundled plugins section.

Fusion-Task-Id: FN-3788
2026-05-08 23:07:17 -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
CEO Agent
82fe24e42a fix(FN-3789): add @fusion/dashboard to REQUIRED_BUILD_PACKAGES
@fusion/desktop tests dynamically import('@fusion/dashboard') in
local-runtime.ts. When packages/dashboard/dist/index.js is absent
(fresh checkout, merger verification env, CI without an explicit
dashboard build) Vite fails with 'Failed to resolve entry for package
@fusion/dashboard' before the desktop vitest alias takes effect.

scripts/ensure-test-artifacts.mjs is the canonical bootstrap layer
that pnpm test calls before running suites; register @fusion/dashboard
there so the dist is built on demand. Extends node:test coverage
mirroring the hermes/openclaw patterns.

Unblocks: FN-3789, FN-3793, FN-3795, FN-3803 (and any future task
whose merger verification path runs desktop tests).
2026-05-08 22:43:58 -07:00
Fusion
abdd3ef0cc fix(FN-3165): remove remaining core roadmap type exports
- Remove the legacy roadmap type re-exports from @fusion/core types
- Update core index exports to stop exposing roadmap plugin types
- Switch dashboard roadmap route test type import to the roadmap plugin package

Fusion-Task-Id: FN-3165
2026-05-08 22:34:45 -07:00
Fusion
b41cb84a7a fix(FN-3165): document roadmap plugin extraction
- Update architecture docs to reflect roadmap ownership in plugins/fusion-plugin-roadmap instead of @fusion/core
- Clarify storage table docs so roadmap tables are described as plugin-owned schema hooks
- Rewrite FN-1675 audit section to remove obsolete core-roadmap test references and point to current plugin/dashboard test commands
- Add a changeset for @runfusion/fusion documenting the roadmap extraction doc cleanup

Fusion-Task-Id: FN-3165
2026-05-08 22:29:27 -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
1546eaf0d5 feat(FN-3747): add even realities glasses plugin integration
Adds a changeset for the new Even Realities glasses plugin integration (`@runfusion/fusion` minor bump), accompanied by a test stabilization for the research wait extension.

Fusion-Task-Id: FN-3747
2026-05-08 21:18:56 -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
9c86771295 fix(FN-3760): add SSE first-event watchdog for legacy chat streams
- Add a first-event watchdog in legacy chat SSE handling to prevent hangs before initial stream data
- Cover watchdog behavior with legacy chat stream API tests
- Add hook-level regression tests for useChat and useQuickChat first-send stream scenarios
- Include a changeset for @runfusion/fusion patch release

Fusion-Task-Id: FN-3760
2026-05-08 20:45:48 -07:00
Fusion
9cfc2875d3 feat(FN-3750): add test for selected roadmap update merge path
Adds test coverage for the selected roadmap update merge path in the roadmaps dashboard module.

Fusion-Task-Id: FN-3750
2026-05-08 20:42:30 -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
c27fd0a1f9 feat(FN-3772): test vitest workspace resolution stale temp dir sweep
Test coverage added for workspace resolution edge cases, specifically verifying that stale temporary directories are properly swept.

Fusion-Task-Id: FN-3772
2026-05-08 20:16:42 -07:00
Fusion
77066f1be6 feat(FN-3744): add agent action routes, tools, and roadmap plugin extractio
Merges agent lifecycle tools (create_agent, delete_agent) with full API routes, web fetch tool implementation and tests, and full roadmap UI extraction into a bundled plugin — including schema hook, chat scroll fixes, and autostash orchestrator cleanup. Also adds mesh auth snapshot replication acros

Fusion-Task-Id: FN-3744
2026-05-08 19:59:43 -07:00
Fusion
ff086b54fd feat(FN-3312): run full verification after in-merge fix
Added comprehensive test coverage for the merger module (124 lines in `merger.test.ts`), covering the in-merge fix from this branch with assertions that verify the corrected behavior.

Fusion-Task-Id: FN-3312
2026-05-08 19:51:41 -07:00
Fusion
54dd9e00de feat(FN-3510): document coverage suites in multi-project docs
Added 8 lines of documentation for coverage suites in the multi-project guide (FN-3510 Step 6).

Fusion-Task-Id: FN-3510
2026-05-08 19:36:58 -07:00
Fusion
288b8a9641 feat(FN-3164): update roadmap API architecture docs
Updated the roadmap API architecture documentation in `docs/architecture.md` as part of Step 6 of FN-3164.

Fusion-Task-Id: FN-3164
2026-05-08 19:20:58 -07:00
Fusion
3a91534f98 feat(FN-3777): add create_agent and delete_agent tools
Adds agent creation and deletion tools to the pi extension, with engine-side implementation in `agent-tools.ts`, core store integration for agent lifecycle management, and corresponding tests and documentation updates across the workspace.

Fusion-Task-Id: FN-3777
2026-05-08 19:15:10 -07:00
Fusion
e04af96d9c feat(FN-3758): align web fetch test coverage and documentation
Aligns web fetch tool test coverage across multiple test suites and updates the agents documentation, with a patch changeset for `@runfusion/fusion`.

Fusion-Task-Id: FN-3758
2026-05-08 18:59:08 -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
Fusion
c0d462a12d feat(FN-3163): test suggestion route error contract in roadmap routes
Adds an assertion for the suggestion route error contract in the roadmap routes test file, completing the test coverage for that endpoint.

Fusion-Task-Id: FN-3163
2026-05-08 18:36:51 -07:00
Fusion
a087aa4e57 feat(FN-3707): implement mesh auth snapshot replication across core, engine
The merge delivers two major features: mesh auth snapshot synchronization across nodes (FN-3707 steps 2/4/5, including core types, central-core plumbing, peer-exchange updates, and settings/node sync route helpers) and a bundled roadmap plugin with chat UX improvements (FN-3162, FN-3756, FN-3771, FN

Fusion-Task-Id: FN-3707
2026-05-08 18:26:14 -07:00
Fusion
992771b14b feat(FN-3761): extract roadmap UI into bundled plugin with chat fixes and m
This merge introduces a bundled roadmap plugin (extracting the roadmap UI into `plugins/fusion-plugin-roadmap`) with a new plugin-owned schema hook and store bootstrap, fixes chat scroll behavior by adding bottom-snap on open and correcting stale refs in queue flush handling for both `useChat` and `

Fusion-Task-Id: FN-3761
2026-05-08 18:12:59 -07:00
Fusion
6f0e167532 feat(FN-3771): add chat bottom-snap behavior and roadmap plugin extraction
Chat UX improvements land first: bottom-snap scrolling behavior is wired into both `ChatView` and `QuickChatFAB`, with comprehensive test coverage added for the components and their underlying hooks; stale-closure bugs in the `useChat` and `useQuickChat` queue-flush handlers are also patched. Roadna

Fusion-Task-Id: FN-3771
2026-05-08 17:59:57 -07:00
Fusion
51e42cb0b5 feat(FN-3759): fix stale refs in useChat and useQuickChat queue flush handl
Merged branch adds FN-3759 queue flush ref fixes for `useChat` and `useQuickChat` hooks (with expanded regression test coverage), extracts the roadmap UI into a standalone plugin with schema hook and store bootstrap, ships FN-3281 review revisions with dashboard/plugin integration updates, and resol

Fusion-Task-Id: FN-3759
2026-05-08 17:52:27 -07:00
Fusion
d63398148d feat(FN-3756): extract roadmap UI into bundled plugin and add autostash orp
Merges major roadmap plugin extraction (FN-3160/3161/3162), hardening the merger with autostash orphan cleanup and TOCTOU defenses (FN-3755/3756), adding shared state snapshots for mesh sync (FN-3451), shipping polling task notifications for the even realities plugin (FN-3743), defaulting non-epheme

Fusion-Task-Id: FN-3756
2026-05-08 17:43:47 -07:00