- Add pluggable notification provider system with changeset and docs (`@runfusion/fusion` patch) - Strengthen node routing and task diff visibility (FN-2840): merge-base resolution, routing guards, and unavailable-node policy tests in dashboard - Overhaul `QuickChatFAB` component: redesigned FAB with modal, chat thread UI, CSS expansion (140 lines added), and comprehensive test coverage - Rewrite `useQuickChat` hook: switch to polling-based state, expose dismiss/reset, improve retry and error handling - Fix executor/merger concurrency races and reviewer pause TOCTOU in `packages/engine` - Add `AgentSemaphore` defensive guards for invalid limits (NaN, Infinity) - Expand `agent-runtime`, `agent-session-helpers`, `self-healing`, and `triage` engine modules - Improve TUI: stack utilities/settings under stats in wide layout, add log entry copy feedback - Add routing and file-diffs test coverage (`routes.test.ts`, `routes-file-diffs.test.ts`) Commits merged: - docs(FN-2869): complete Step 2 — document notification provider settings - chore(FN-2869): add changeset for pluggable notification providers - feat(FN-2849): merge fusion/fn-2849-2 - feat(tui): stack utilities/settings under stats in wide layout - fix(engine): close executor/merger concurrency races and reviewer pause TOCTOU - fix(dashboard): prefer merge-base over outdated baseCommitSha - fix(tui): surface visible feedback when copying a log entry - feat(FN-2840): strengthen node routing and task diff visibility - feat(FN-2910): merge fusion/fn-2910 Files changed: .changeset/pluggable-notification-providers.md | 4 + docs/settings-reference.md | 17 +- packages/cli/src/commands/dashboard-tui/app.tsx | 71 +++++-- .../cli/src/commands/dashboard-tui/controller.ts | 18 ++ packages/cli/src/commands/dashboard-tui/state.ts | 5 + .../core/src/__tests__/node-override-guard.test.ts | 24 +++ packages/core/src/__tests__/store.test.ts | 27 +++ .../core/src/__tests__/task-node-override.test.ts | 25 +++ .../src/__tests__/unavailable-node-policy.test.ts | 42 ++++ packages/dashboard/app/api/legacy.ts | 3 +- packages/dashboard/app/components/QuickChatFAB.css | 140 ++++++++++++- packages/dashboard/app/components/QuickChatFAB.tsx | 226 ++++++++++++++++++++- .../app/components/__tests__/QuickChatFAB.test.tsx | 133 +++++++++++- .../app/hooks/__tests__/useQuickChat.test.ts | 12 +- packages/dashboard/app/hooks/useQuickChat.ts | 149 ++++++++------ .../src/__tests__/routes-file-diffs.test.ts | 52 +++++ packages/dashboard/src/__tests__/routes.test.ts | 177 ++++++++++++++++ packages/dashboard/src/routes/resolve-diff-base.ts | 76 ++++--- .../engine/src/__tests__/project-engine.test.ts | 8 +- packages/engine/src/agent-runtime.ts | 15 ++ packages/engine/src/agent-session-helpers.ts | 14 +- packages/engine/src/concurrency.ts | 37 +++- packages/engine/src/executor.ts | 183 ++++++++++++----- packages/engine/src/pi.ts | 11 + packages/engine/src/project-engine.ts | 47 ++++- packages/engine/src/reviewer.ts | 95 +++++++-- packages/engine/src/self-healing.ts | 8 + packages/engine/src/triage.ts | 10 +- 28 files changed, 1412 insertions(+), 217 deletions(-) Fusion-Task-Id: FN-2869
118 B
118 B
@runfusion/fusion
| @runfusion/fusion |
|---|
| minor |
Add pluggable notification provider system with built-in ntfy and webhook support.