gsxdsm
|
ba643fc384
|
FN-9042: fix dashboard update installation feedback
Make dashboard update actions report clear terminal outcomes and avoid unsupported installs.
- Distinguish update checks, no-op responses, installation failures, and unsupported installation methods.
- Block source-checkout, Homebrew, and missing-npm global installation attempts with actionable guidance.
- Surface update results in dashboard controls and cover API, updater, and UI behavior with tests.
Files changed:
.changeset/fn-9042-update-now-outcomes.md | 7 ++
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 2 +-
packages/dashboard/app/api/settings/settings.ts | 2 +
.../dashboard/app/components/SettingsModal.tsx | 18 +--
.../app/components/UpdateAvailableBanner.tsx | 11 +-
.../__tests__/SettingsModal.general.test.tsx | 20 ++++
.../__tests__/UpdateAvailableBanner.test.tsx | 19 ++++
.../dashboard/src/__tests__/auto-update.test.ts | 38 ++++++-
.../dashboard/src/__tests__/update-check.test.ts | 19 +++-
packages/dashboard/src/auto-update.ts | 33 +++++-
.../__tests__/register-update-check-routes.test.ts | 104 ++++++++++++++++++
.../src/routes/register-update-check-routes.ts | 28 +++--
packages/dashboard/src/server.ts | 9 +-
packages/dashboard/src/update-check.ts | 122 ++++++++++-----------
15 files changed, 338 insertions(+), 96 deletions(-)
Fusion-Task-Id: FN-9042
Fusion-Task-Lineage: 22ae5540-e5b5-43cf-ad16-c7aa05782593
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-14 12:59:23 -07:00 |
|
gsxdsm
|
cb57093d03
|
refactor: domain folder layout (types, API, core, engine) (#2398)
## Summary
Wave 17 organizes Fusion into **domain folders** (stacks on #2397).
### Layout
- **core/types/** — board, task, agents, settings, merge, workflow,
mesh, …
- **core/src/** — agents, ai, async-stores, workflows, tasks, config,
db, …
- **dashboard/app/api/** — client, tasks, agents, git, missions,
planning, …
- **engine/src/** — agents, auth, execution, merge, missions, overseer,
worktree, …
Root keepers retained for large entrypoints (`store.ts`, `executor.ts`,
`merger.ts`, …).
Public barrels (`@fusion/core`, `@fusion/engine`, `app/api.ts` → legacy)
stay stable.
## Test plan
- [x] `@fusion/core` typecheck
- [x] `@fusion/engine` typecheck (pre-existing playwright-core noise
only)
- [ ] CI merge gate
**Stack:** #2394 → #2397 → **this PR**
|
2026-08-03 00:20:53 -07:00 |
|