Commit Graph

953 Commits

Author SHA1 Message Date
Fusion
6d853036ff feat(FN-1670): add roadmap drag-and-drop with milestone and feature reordering
- Implement RoadmapsView component with drag-and-drop support for milestones and features
- Add milestone reorder via drag-and-drop with optimistic UI updates and API persistence
- Add feature reorder within milestones and cross-milestone move support
- Add useRoadmaps hook with full CRUD API for roadmaps, milestones, and features
- Add /roadmaps route with sidebar navigation to roadmap views
- Add comprehensive tests for API, useRoadmaps hook, and RoadmapsView component
- Update dashboard guide with roadmap management documentation
- Harden API with race-condition safety and proper error handling
2026-04-15 06:55:34 -07:00
Fusion
8c0d16a283 feat(FN-1791): add SkillsView component for dashboard
- Add SkillsView component displaying discovered skills with enable/disable toggle
- Add skills catalog section with search functionality and debounced query
- Add dashboard API client wrappers for skills endpoints (fetchDiscoveredSkills, toggleExecutionSkill, fetchSkillsCatalog)
- Add comprehensive tests for SkillsView component (rendering, loading states, error handling, search, toggle)
- Remove unused imports and stats variable (useMemo, CatalogFetchResult)
2026-04-15 06:23:00 -07:00
gsxdsm
949f9576de feat(FN-1731): merge fusion/fn-1731 2026-04-15 05:00:56 -07:00
gsxdsm
1c555af4fa feat(FN-1816): merge fusion/fn-1816 2026-04-15 04:46:02 -07:00
gsxdsm
a876332d4a feat(FN-1794): merge fusion/fn-1794 2026-04-15 04:30:56 -07:00
gsxdsm
2a13a0d249 feat(FN-1712): merge fusion/fn-1712 2026-04-15 04:15:57 -07:00
gsxdsm
8287730d63 feat(FN-1792): merge fusion/fn-1792 2026-04-15 04:00:56 -07:00
Fusion
fa9c2e79d0 fix(FN-1801): plugin settings UX and theme awareness improvements
- Add new input types for plugin settings (password, textarea, array fields)
- Render toggle switch inside .toggle-switch label for theme-aware styling
- Update STATE_COLORS to use CSS variable references instead of hardcoded hex values
- Add SSE live updates for plugin lifecycle events (enabled, disabled, uninstalled, settings-updated)
- Project-scoped SSE subscription when projectId is provided
- Expand PluginManager tests with 32 passing tests covering new functionality
2026-04-15 03:29:08 -07:00
Fusion
0d6535a952 feat(FN-1629): add pagination to agent logs
- Add pagination support to TaskStore.getAgentLogs() with limit/offset parameters
- Add GET /tasks/:id/logs API route with pagination support
- Add fetchAgentLogs API client with pagination parameters
- Refactor useAgentLogs hook for incremental loading with loadMore callback
- Update useMultiAgentLogs for pagination consistency across multiple task IDs
- Add Load More UI to AgentLogViewer component
- Wire up Load More in TaskDetailModal agent log section
- Fix offset slice direction bug in getAgentLogs
- Remove incorrect reverse() call in getAgentLogs offset logic
- Add comprehensive tests for useAgentLogs and useMultiAgentLogs pagination
2026-04-15 02:53:06 -07:00
gsxdsm
02249d9baf feat(FN-1669): merge fusion/fn-1669 2026-04-15 02:01:02 -07:00
Fusion
763848eb7d feat(FN-1549): simplify chat creation with agent-only selection and auto title
- Remove task selection from chat creation flow
- Add agent-only chat creation with automatic title generation
- Introduce useChat hook for unified chat state management
- Update ChatView with simplified creation UI
- Add CSS styles for chat creation interface
- Add comprehensive tests for chat manager and routes
- Update routes to support agent-only chat creation
2026-04-15 01:49:41 -07:00
Fusion
3de251743d fix(FN-1818): fix milestone/slice status tracking on feature changes
- Add SSE listener for milestone:updated events in MissionManager to refresh UI on status changes
- Trigger slice and milestone status recompute when task feature status changes
- Add diagnostic log when task feature resolution fails for easier debugging
- Add regression tests for milestone status recompute logic
2026-04-15 01:15:29 -07:00
gsxdsm
990bfa5ded feat(FN-1765): merge fusion/fn-1765 2026-04-15 01:01:08 -07:00
Fusion
d4e90ccb9a feat(FN-1752): add relaxed ESLint rules for plugins and improve onboarding
- Relax ESLint rules for plugin templates and agent skill files to reduce false positives
- Add relaxed ruleset for TypeScript with explicit plugin overrides
- Add resume card UI for onboarding dismissal to allow users to restart setup
- Fix pre-existing test failures and TypeScript errors from experimentalFeatures merge
- Fix WebGL addon assertions in desktop package tests
- Remove unused CSS classes from dashboard styles
2026-04-15 00:28:49 -07:00
gsxdsm
946b9e271f feat(FN-1860): merge fusion/fn-1860 2026-04-15 00:15:56 -07:00
gsxdsm
e2540d383e feat(FN-1862): merge fusion/fn-1862 2026-04-15 00:00:57 -07:00
Fusion
123ec5949f feat(FN-1862): add completion state tracking for onboarding
- Add markOnboardingCompleted() to set completedAt timestamp when user finishes onboarding
- Add isOnboardingCompleted() to check if onboarding was completed (vs dismissed)
- Update ModelOnboardingModal to call markOnboardingCompleted on successful completion
- Skip onboarding auto-open when already completed locally
- Add completion state tracking tests in ModelOnboardingModal.test.tsx
- Add model-onboarding-state unit tests
- Update useAuthOnboarding to check local completion state before auto-opening
- Document localStorage completion state tracking pattern in .fusion/memory.md
2026-04-14 23:44:40 -07:00
gsxdsm
40f8664c03 feat(FN-1814): merge fusion/fn-1814 2026-04-14 23:15:56 -07:00
gsxdsm
2800f57d78 feat(FN-1748): merge fusion/fn-1748 2026-04-14 22:45:59 -07:00
Fusion
9fc5314f4d fix(FN-1778): resolve merge conflicts and typecheck errors
- Resolve conflict in TerminalModal.test.tsx by keeping helpful loadAddon comment
- Add clarifying comment in mobile WebGL skip test
- Fix pre-existing typecheck errors in SettingsModal.tsx
2026-04-14 22:24:54 -07:00
gsxdsm
ea834b9550 feat(FN-1705): merge fusion/fn-1705 2026-04-14 22:00:56 -07:00
Fusion
606ee24657 fix(TerminalModal): remove incorrect loadAddon assertion in mobile WebGL test
The test was checking that loadAddon was never called with any object,
but fitAddon and webLinksAddon are both objects that are legitimately
loaded. The WebglAddon constructor check is sufficient to verify that
WebGL is not loaded on mobile.
2026-04-14 21:31:57 -07:00
gsxdsm
e740df66cb feat(FN-1779): merge fusion/fn-1779 2026-04-14 21:30:56 -07:00
gsxdsm
5d18d85a8c feat(FN-1704): merge fusion/fn-1704 2026-04-14 21:00:56 -07:00
gsxdsm
406541e7b0 feat(FN-1758): merge fusion/fn-1758 2026-04-14 19:45:56 -07:00
gsxdsm
301bfbe3d7 feat(FN-1852): merge fusion/fn-1852 2026-04-14 18:46:00 -07:00
gsxdsm
4a91421ee4 test(FN-1752): fix pre-existing test failures for experimentalFeatures merge and WebGL addon assertions
- Update experimentalFeatures comment wording in store.test.ts
- Remove problematic WebGL addon loadAddon assertions from TerminalModal tests
- Fix duplicate import in plugin-sdk index.test.ts
2026-04-14 17:11:15 -07:00
gsxdsm
a366cb122e feat(FN-1849): merge fusion/fn-1849 2026-04-14 16:00:02 -07:00
gsxdsm
5ba08aee22 feat(FN-1704): add onboarding resume card for dismissed modals
- Add OnboardingResumeCard component shown when onboarding was dismissed but not completed
- Store onboarding step state in localStorage for session persistence
- Update App.tsx to render resume card when onboarding is resumable
- Add comprehensive tests for model-onboarding-state utility functions
- Add tests for OnboardingResumeCard component and App integration
- Use onResume callback pattern for consistency with modal API
2026-04-14 15:41:00 -07:00
gsxdsm
35a89dedf0 feat(FN-1704): add dashboard resume entry point for onboarding
- Add model-onboarding-state.ts module for persisting onboarding step state
- Create OnboardingResumeCard component with resume functionality
- Wire resume card into App.tsx (visible when onboarding is resumable and modal is closed)
- Add unit tests for state helpers and resume card
- Add integration tests for App.tsx resume card behavior
- Update documentation with resume banner behavior
- Fix missing contextVersionAtStart property declaration in useBadgeWebSocket.ts
2026-04-14 14:16:32 -07:00
gsxdsm
7598dc7ec3 feat(FN-1835): merge fusion/fn-1835 2026-04-14 13:45:19 -07:00
gsxdsm
89dfabb357 feat(FN-1838): merge fusion/fn-1838 2026-04-14 13:30:24 -07:00
gsxdsm
b4917afdf9 feat(FN-1828): merge fusion/fn-1828 2026-04-14 13:30:02 -07:00
gsxdsm
7d1d402aea fix(FN-1778): resolve pre-existing typecheck errors in SettingsModal.tsx
- Fix number input onChange handlers for maxConcurrent, pollIntervalMs, and maxWorktrees
- Add 'as any' type assertion to allow undefined values in form state
- Enables clearing numeric inputs to undefined for null-as-delete semantics
2026-04-14 13:10:43 -07:00
gsxdsm
59cecf624b feat(FN-1815): merge fusion/fn-1815 2026-04-14 13:00:57 -07:00
gsxdsm
9a0673c5fd feat(FN-1809): merge fusion/fn-1809 2026-04-14 13:00:02 -07:00
gsxdsm
bb4f650c9f feat(FN-1777): merge fusion/fn-1777 2026-04-14 12:45:01 -07:00
gsxdsm
118991477a feat(FN-1788): merge fusion/fn-1788 2026-04-14 12:15:21 -07:00
gsxdsm
2743d7fd0c feat(FN-1786): merge fusion/fn-1786 2026-04-14 12:15:09 -07:00
gsxdsm
e153864b5b fix: wire triage recovery into SelfHealingManager and fix duplicate imports
- Pass recoverApprovedTriageTask and getSpecifyingTaskIds callbacks from
  TriageProcessor to SelfHealingManager in InProcessRuntime. Without these,
  approved triage tasks stuck in 'specifying' status were never recovered.
- Remove duplicate imports in ModelOnboardingModal.tsx that caused TypeScript
  errors (duplicate identifiers: useEffect, useRef, ToastType, fetchAuthStatus).
- Add mock for model-onboarding-state in App.test.tsx.
2026-04-14 11:48:44 -07:00
gsxdsm
ca6094acfb feat(FN-1747): merge fusion/fn-1747 2026-04-14 11:43:52 -07:00
gsxdsm
9c611cbea0 feat(FN-1727): add regression tests for saturated-slot scenarios
- Add core test for title summarization behavior under saturated task lane conditions
- Add engine test for heartbeat execution when task lanes are saturated
- Fix experimentalFeatures test to correctly expect merge semantics (not replacement)
- Ensure tests validate task selection and execution under concurrency limits
2026-04-14 11:38:14 -07:00
gsxdsm
8c8af91dc3 fix: resolve pre-existing typecheck errors in SettingsModal.tsx 2026-04-14 11:30:37 -07:00
gsxdsm
efd8c85e92 feat(FN-1764): merge fusion/fn-1764 2026-04-14 11:29:16 -07:00
gsxdsm
d3e9f160b2 feat(FN-1703): merge fusion/fn-1703 2026-04-14 11:28:52 -07:00
gsxdsm
4fb8e5c491 feat(FN-1774): merge fusion/fn-1774 2026-04-14 11:14:25 -07:00
gsxdsm
c80dc3a776 feat(FN-1773): merge fusion/fn-1773 2026-04-14 11:13:52 -07:00
gsxdsm
2c63668c10 feat(FN-1755): merge fusion/fn-1755 2026-04-14 10:59:04 -07:00
gsxdsm
6b27ab160e feat(FN-1746): merge fusion/fn-1746 2026-04-14 10:58:57 -07:00
gsxdsm
5ec4beda73 feat(FN-1740): merge fusion/fn-1740 2026-04-14 10:43:59 -07:00