Commit Graph

2644 Commits

Author SHA1 Message Date
Fusion
d8f3cb065a fix(FN-2020): prevent duplicate retry toasts
- Remove the pre-retry info toast from TaskDetailModal retry handling
- Keep a single completion toast with updated success copy: "Retried {taskId}"
- Add regression tests to assert exactly one toast is shown on retry success
- Add regression tests to assert exactly one toast is shown on retry failure
2026-04-17 15:31:59 -07:00
gsxdsm
a054db8859 feat(FN-2018): merge fusion/fn-2018 2026-04-17 15:25:02 -07:00
gsxdsm
c5181c6e32 feat(FN-2012): merge fusion/fn-2012 2026-04-17 15:24:46 -07:00
gsxdsm
6fbf2871e9 feat(FN-1956): merge fusion/fn-1956 2026-04-17 15:24:37 -07:00
Fusion
0433ce5dd8 fix(FN-2024): gate task SSE subscriptions by active view
- Add an sseEnabled option to useTasks and skip SSE subscription setup when disabled
- Compute taskSseEnabled in App based on board/list views and pass it through to useTasks
- Migrate useRemoteNodeEvents from raw EventSource management to shared subscribeSse bus usage
- Update App, useTasks, and useRemoteNodeEvents tests to cover SSE gating and bus-based event wiring
2026-04-17 15:21:15 -07:00
Fusion
8d6ad619e8 feat(FN-2023): merge fusion/fn-2023 2026-04-17 15:16:21 -07:00
gsxdsm
dde182286a feat(FN-1573): merge fusion/fn-1573 2026-04-17 15:10:24 -07:00
Fusion
0132328128 feat(FN-2006): split quick chat flows into agent and model modes
- Add explicit agent/model mode toggles to QuickChatFAB and NewChatDialog
- Update session target logic so model mode starts chats with the KB agent while agent mode uses selected agents
- Clear opposite selections when switching modes and adjust placeholders/disabled states to match active mode
- Expand ChatView and QuickChatFAB tests to cover toggle visibility, mode switching, and session payload behavior
- Add useQuickChat coverage to verify agent-only switchSession calls omit model parameters
2026-04-17 15:02:54 -07:00
gsxdsm
24c4c008ad feat(FN-2008): merge fusion/fn-2008 2026-04-17 14:55:28 -07:00
gsxdsm
f17f666df1 feat(FN-2015): merge fusion/fn-2015 2026-04-17 14:40:39 -07:00
Fusion
20f47ad93f test(FN-2016): stabilize PlanningModeModal favorites persistence tests
- Move model favorites persistence coverage into the main PlanningModeModal describe block so shared mocks and fixtures are in scope
- Replace skipped placeholder cases with user-interaction tests for adding and removing provider/model favorites via the combobox portal
- Assert updateGlobalSettings payloads for favorite toggles and verify rollback behavior when settings persistence fails
- Remove duplicate API import and delete the broken out-of-scope favorites describe block
2026-04-17 14:39:19 -07:00
Fusion
96aeb67a4f feat(FN-2014): merge fusion/fn-2014 2026-04-17 14:31:43 -07:00
gsxdsm
ac9b0fcd9d feat(FN-2007): merge fusion/fn-2007 2026-04-17 14:25:18 -07:00
Fusion
08e45b14bb perf(FN-2005): add getSettingsByScopeFast() to avoid listWorkflowSteps() 2026-04-17 14:24:32 -07:00
gsxdsm
633ed3e591 feat(FN-2001): merge fusion/fn-2001 2026-04-17 14:09:45 -07:00
gsxdsm
e51393285b feat(FN-1982): merge fusion/fn-1982 2026-04-17 14:09:37 -07:00
gsxdsm
217ccdd4aa fix(FN-000): skip qmd index mutations in test runs
Why: tests were leaking ~700 per-temp-dir collection registrations
into the user's global ~/.config/qmd/index.yml because searchWithQmd
and the agent-memory qmd path called execFile("qmd", ...) with the
real binary, bypassing shouldSkipBackgroundQmdRefresh() which only
guarded the schedule* wrappers.

Guard both direct-execFile paths under the same skip flag and fall
back to file-based agent memory search when skipping.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 13:54:28 -07:00
gsxdsm
ef696f4564 fix(FN-1572): stabilize fusion agent execution 2026-04-17 12:13:39 -07:00
gsxdsm
0515882da1 fix(FN-000): process agent memory dreams 2026-04-17 10:03:46 -07:00
gsxdsm
d5d5c13781 fix(FN-000): search agent memory through memory tools 2026-04-17 09:52:23 -07:00
gsxdsm
383033fcdc fix(FN-000): align qmd memory lifecycle 2026-04-17 09:41:05 -07:00
Fusion
28accdb085 feat(FN-2000): add memory auto-summarize settings and automation sync
- Add Memory section controls for enabling auto-summarize with threshold and cron schedule inputs
- Wire ProjectEngine to sync auto-summarize automation on startup and when related settings change
- Reuse a single startup settings snapshot when syncing insight extraction and auto-summarize automations
- Add SettingsModal and ProjectEngine tests covering auto-summarize UI persistence and automation re-sync behavior
2026-04-17 09:16:08 -07:00
gsxdsm
3a9c56fda3 feat(FN-1999): merge fusion/fn-1999 2026-04-17 09:01:27 -07:00
gsxdsm
20b01981b8 fix(FN-000): compact selected memory file 2026-04-17 08:55:50 -07:00
gsxdsm
f0415937d3 fix(FN-000): restore memory compaction and log pagination 2026-04-17 08:43:13 -07:00
gsxdsm
01d74bec28 fix(FN-000): scope qmd memory search to project 2026-04-17 08:29:50 -07:00
gsxdsm
0f16bb78e9 fix(FN-000): add qmd install button 2026-04-17 08:23:26 -07:00
gsxdsm
75dc5a8c77 fix(FN-000): simplify qmd memory settings 2026-04-17 08:16:36 -07:00
Fusion
1433ca98ce feat(FN-1998): instrument onboarding funnel analytics events
- Add onboarding event tracking utility with localStorage persistence, session IDs, and ring-buffer pruning
- Emit funnel events from ModelOnboardingModal for step progress, dismissal/completion, and first-task/CTA actions
- Track resume-card and auto-trigger onboarding entry points in OnboardingResumeCard and useAuthOnboarding
- Expand dashboard tests and mocks to validate onboarding event storage behavior and new instrumentation calls
2026-04-17 08:01:38 -07:00
gsxdsm
bdfb4842d2 fix(FN-000): rebuild layered memory system 2026-04-17 07:36:22 -07:00
Fusion
ad987bf174 fix(FN-1997): persist onboarding completion across first-task flows
- Extract a shared completeOnboarding helper to centralize settings persistence and completion tracking
- Reuse completion logic for finish, new-task, GitHub import, and post-inline-task navigation actions
- Mark onboarding complete after successful inline first-task creation so state is saved before leaving the modal
- Expand ModelOnboardingModal tests to cover completion persistence for finish, inline creation, View Task, and Go to Dashboard paths
2026-04-17 06:24:46 -07:00
gsxdsm
0f6dd7ed61 feat(FN-1996): merge fusion/fn-1996 2026-04-17 06:11:05 -07:00
Fusion
ff2f29644b feat(FN-1946): add slash skill autocomplete to chat input
- Fetch discovered skills per project and track autocomplete menu/filter/highlight state in ChatView
- Detect slash triggers in the composer, render filtered skill suggestions, and insert /skill:<name> on selection
- Support keyboard and focus UX for the menu (arrow navigation, Enter/Tab select, Escape dismiss, blur/focus timing)
- Add chat skill menu styling for desktop and mobile layouts using existing dashboard tokens
- Expand ChatView tests to cover menu rendering, filtering, selection flows, loading state, and fetch failures
2026-04-17 06:10:10 -07:00
Fusion
ad94051c79 fix(FN-1995): preserve backend chat message order
- Remove unnecessary .reverse() calls when setting messages in useChat.
- Keep paginated prepend behavior intact by using backend chronological ordering directly.
- Update useChat tests to provide message fixtures in oldest-first order.
2026-04-17 06:01:00 -07:00
Fusion
5f8597ea08 feat(FN-1943): add post-onboarding setup recommendations panel
- Add a PostOnboardingRecommendations component that detects incomplete AI provider, default model, and GitHub setup and offers direct actions
- Persist post-onboarding dismissal state in model-onboarding-state with new helpers for dismiss, check, and clear flows
- Integrate recommendations into App rendering so they appear after completed onboarding when resume onboarding is not active
- Add dashboard styles and focused tests for recommendation rendering/actions plus onboarding dismissal state coverage
- Add a changeset for @gsxdsm/fusion patch release describing the post-onboarding recommendations
2026-04-17 05:36:02 -07:00
Fusion
77531e8a97 feat(FN-1942): harden onboarding first-task creation flow
- Add inline first-task description form in the onboarding final step
- Wire createTask with empty-input validation, loading state, and retry-friendly error handling
- Preserve typed task text and show inline error guidance when task creation fails
- Support success actions with either server-provided or inline-created task data
- Add comprehensive modal tests and token-based styles for new form and error states
2026-04-17 05:06:19 -07:00
Fusion
b2187610cb feat(FN-1941): surface setup readiness warnings in task entry flows
- Add useSetupReadiness hook to evaluate setup state and expose actionable warning metadata
- Add reusable SetupWarningBanner component with compact and full warning presentation modes
- Render setup warnings in NewTaskModal and QuickEntryBox so task creation surfaces missing configuration early
- Add targeted tests for the hook and banner plus integration coverage updates for modal and quick-entry behavior
2026-04-17 04:46:28 -07:00
Fusion
c36203d162 feat(FN-1940): add onboarding first-task success handoff
- Track the first task created from onboarding in AppModals and pass it back into the onboarding modal
- Keep onboarding open after launching New Task, then switch to a task-created success state when a task is returned
- Add success actions to view the created task or return to the dashboard, while preserving the no-task completion path
- Style the task-created success panel and add comprehensive ModelOnboardingModal tests for transition, rendering, and button behavior
2026-04-17 04:23:27 -07:00
Fusion
69d38b620e feat(FN-1939): add first-task onboarding readiness summary
- Add a ReadinessSummary component to ModelOnboardingModal with connected/missing/skipped states
- Derive AI provider, GitHub, and default model readiness details from auth status and onboarding skip data
- Replace first-task skip banners with a unified readiness summary plus an all-integrations-connected success state
- Add token-based dashboard styles for readiness summary rows, status variants, and mobile layout adjustments
- Expand ModelOnboardingModal tests to cover readiness scenarios and verify first-task skip banners are removed
2026-04-17 03:59:57 -07:00
Fusion
ec3e0220fe feat(FN-1993): enable model-targeted quick chat sessions
- Add KB agent fallback support in useQuickChat and allow switching sessions by agent plus model override
- Introduce session target key matching so same target reloads messages while different model selections create distinct sessions
- Update QuickChatFAB to lazy-load models, show model override UI, and keep quick chat usable for model-only conversations
- Add and expand hook/component tests to cover model selection flows, KB session creation, and default-model reset behavior
2026-04-17 03:47:21 -07:00
Fusion
c91ff5fbf6 fix(FN-1992): show resolved agent names in chat avatars
- Resolve assistant avatar labels from the active session agent map with fallback handling
- Keep the built-in KB agent label as Fusion and fall back to a truncated agent ID when needed
- Apply resolved labels to both stored assistant messages and streaming assistant avatars
- Add ChatView tests for resolved labels, KB-agent fallback, and streaming avatar rendering
- Document the @fusion/engine prebuild prerequisite in .fusion/memory.md
2026-04-17 03:43:33 -07:00
Fusion
9c02bc3d33 fix(FN-1989): display all generated insight categories
- Expand canonical insight category list in useInsights to include every supported category
- Update InsightsView icon mapping and typing to cover all InsightCategory values
- Make useInsights section initialization test assert against INSIGHT_CATEGORIES length
2026-04-17 02:58:01 -07:00
Fusion
3582383837 feat(FN-1937): track skipped onboarding steps in modal progress
- Add skippedSteps persistence to onboarding state with new markStepSkipped/getSkippedSteps helpers and legacy defaults
- Update onboarding navigation so skip actions mark steps as skipped, while completed actions clear skipped state
- Render skipped progress indicators as clickable steps with a dash marker and dedicated skipped styling
- Expand onboarding state/modal tests and update App test mocks for the new onboarding-state exports
2026-04-17 02:38:29 -07:00
Fusion
a5a65e86fd feat(FN-1984): enrich chat and heartbeat prompts with agent context
- Add agent memory support to instruction resolution and introduce/export buildAgentChatPrompt for identity-aware prompt assembly with optional project memory
- Wire ChatManager to AgentStore so chat sessions can enrich system prompts per agent and include recent conversation context in prompt payloads
- Update server chat wiring to provide an AgentStore for prompt enrichment and keep graceful fallback behavior when agent context is unavailable
- Enrich HeartbeatMonitor system prompts with resolved agent instructions/ratings while preserving base-prompt fallback paths
- Expand dashboard and engine tests to cover prompt enrichment, fallback behavior, conversation context assembly, and AgentStore route mocks
2026-04-17 02:19:54 -07:00
Fusion
0873e3f788 feat(FN-1936): clarify optional GitHub onboarding messaging
- Rewrite the GitHub onboarding step to emphasize that task creation works without GitHub
- Add a feature availability callout that contrasts capabilities with and without GitHub connection
- Update first-task CTA cards to dim GitHub import and show a connection-required note when unauthenticated
- Expand ModelOnboardingModal tests to cover optional messaging, CTA state changes, and step-specific rendering
2026-04-17 02:12:22 -07:00
Fusion
eaae1a1aca feat(FN-1935): add API key validation feedback to onboarding modal
- Add provider-specific API key format rules, display names, and fallback validation hints
- Render inline format hints plus error/success feedback in the API key form
- Add styled input states for error/success and success message auto-clear timers
- Expand onboarding modal tests to cover validation, network/server errors, success lifecycle, and skip flow behavior
2026-04-17 01:54:24 -07:00
gsxdsm
4c2db876da fix(FN-1989): stabilize triage fallback 2026-04-17 01:49:25 -07:00
Fusion
3c1afafa52 feat(FN-1934): add GitHub onboarding status feedback states
- Derive GitHub-specific onboarding status from auth state, login outcomes, and persisted skip metadata
- Replace static GitHub auth text with status badge variants and contextual success/error/info feedback blocks
- Add retry, skip, and connect-anyway actions, including persistence and reset of skipped state on successful auth
- Style new GitHub feedback UI and badge states using dashboard tokens with mobile touch-target adjustments
- Expand ModelOnboardingModal tests to cover connected, pending, failed, skipped, and recovery flows
2026-04-17 01:09:16 -07:00
Fusion
adfc32395f feat(FN-1932): improve GitHub onboarding messaging and connect CTA
- Replace generic GitHub copy with a clear benefits list for issue, PR, and code-link workflows
- Promote the unauthenticated connect experience into a dedicated CTA container with primary button, icon, and inline feedback states
- Keep connected users focused on status and disconnect actions while hiding the connect CTA when already authenticated
- Expand ModelOnboardingModal tests to cover fallback guidance, benefits rendering, CTA styling, and connected-state behavior
2026-04-17 00:28:57 -07:00
gsxdsm
d51992850f fix(FN-1952): merge pi package settings 2026-04-17 00:20:19 -07:00