feat(FN-1703): merge fusion/fn-1703

This commit is contained in:
gsxdsm
2026-04-14 11:28:52 -07:00
parent 664faba49a
commit d3e9f160b2
7 changed files with 1121 additions and 225 deletions

View File

@@ -415,7 +415,7 @@ View a centralized timeline of all task lifecycle events. Click the history icon
- **Settings API Contract**: Server-owned fields like `githubTokenConfigured` are injected on GET /settings but stripped on PUT /settings to prevent persistence to config.json
- **Notifications**: ntfy.sh integration for push notifications when tasks complete or fail
- **Authentication**: Provider management for AI model access. OAuth providers (e.g. Anthropic) use a Login/Logout flow; API-key providers (e.g. OpenRouter) show a masked key entry with Save/Clear actions. After saving or clearing a key, the auth status refreshes immediately so the authenticated badge stays in sync. Stored key values are never prefilled or displayed.
- **Model Onboarding**: On first dashboard launch, a guided onboarding modal walks users through (1) authenticating with at least one AI provider (OAuth login or API key entry) and (2) selecting a default AI model. Completion is tracked via the `modelOnboardingComplete` global setting. Users can skip onboarding (which still marks it complete to prevent repeated popups) or re-trigger it by clearing the flag in Settings.
- **Onboarding Wizard**: On first dashboard launch, a multi-step onboarding wizard guides users through three steps: (1) AI Setup — authenticate with a provider and select a default model, (2) GitHub (optional) — connect GitHub for issue import and PR management, and (3) First Task — create your first task or import from GitHub. The wizard is dismissible and non-blocking — completion is tracked via the `modelOnboardingComplete` global setting. Users can skip onboarding or re-trigger it by clearing the flag in Settings.
- **Pause Controls**: Soft pause (stop new work) and hard stop (kill all agents)
- **Theming**: Light/dark/system mode toggle and 12 color themes (see Theming section below)