Commit Graph

3167 Commits

Author SHA1 Message Date
Fusion
4e66baf204 fix(FN-1895): improve companies.sh import error handling and add retry behavior
- Surface companies.sh API errors to frontend instead of returning empty list
- Add 30s timeout to GitHub archive download to prevent hanging
- Prevent infinite retry loop in browse catalog useEffect
- Update retry handler to call fetch directly for better control
- Fix TypeScript error with Response type in timeout code
- Add comprehensive tests for error handling and retry behavior
2026-04-16 13:31:47 -07:00
Fusion
ee72c3e3b2 feat(FN-1950): add list_agents and delegate_task agent delegation tools
- Add list_agents tool for discovering agents by role, state, or includeEphemeral filter
- Add delegate_task tool for assigning work to a specific agent by ID
- Add comprehensive test coverage for both delegation tools in agent-tools-delegation.test.ts
- Update executor.ts to wire up delegation tools when agentStore is configured
- Document both tools in AGENTS.md and docs/agents.md
2026-04-16 13:17:17 -07:00
Fusion
7cdbfc331b fix(FN-1917): fix mobile scrolling on roadmap screen
- Fix overflow issues on roadmap screen on mobile devices
- Ensure roadmap cards are properly scrollable on small screens
- Resolve merge conflict in memory-compaction tests by keeping non-null assertions
2026-04-16 13:09:47 -07:00
Fusion
910c5ab386 feat(FN-1892): merge fusion/fn-1892 2026-04-16 13:05:12 -07:00
Fusion
71a7f6442a fix(FN-1925): use ReactNode instead of JSX.Element for PluginSlot return type
- Import ReactNode type from react instead of JSX
- Update PluginSlot return type to ReactNode for proper null type inclusion
- This fixes type safety since the function returns null in error cases
2026-04-16 11:51:47 -07:00
gsxdsm
9b1598a437 feat(FN-1921): merge fusion/fn-1921 2026-04-16 11:08:06 -07:00
Fusion
cb9a58e0b1 feat(FN-1887): merge fusion/fn-1887 2026-04-16 10:58:19 -07:00
Fusion
74c290b7a3 feat(FN-1916): add plugin UI slots system for extensibility
- Add PluginSlot component for rendering plugin UI placeholders at designated dashboard locations
- Add usePluginUiSlots hook with 60-second TTL cache for slot definitions
- Add fetchPluginUiSlots API wrapper and PluginUiSlotEntry type
- Add UI slots documentation section to plugin authoring guide
- Add PluginSlot integration tests for TaskCard, Column, Header, SettingsModal, and TaskDetailModal
- Update CI Status example plugin to demonstrate uiSlots registration
- Fix JSX namespace import in PluginSlot.tsx for TypeScript compatibility
2026-04-16 10:48:57 -07:00
gsxdsm
2316ac68d6 feat(FN-1882): merge fusion/fn-1882 2026-04-16 10:38:07 -07:00
gsxdsm
cbd7238f2f feat(FN-1926): merge fusion/fn-1926 2026-04-16 10:23:07 -07:00
Fusion
b085527b47 docs(FN-1916): add plugin UI slots section to memory.md 2026-04-16 10:12:16 -07:00
gsxdsm
a740809e79 feat(FN-1903): merge fusion/fn-1903 2026-04-16 10:08:14 -07:00
gsxdsm
1840ebcf7c feat(FN-1869): merge fusion/fn-1869 2026-04-16 10:08:06 -07:00
Fusion
513cab6fc4 feat(FN-1925): add plugin UI slot infrastructure
- Add fetchPluginUiSlots API wrapper with PluginUiSlotEntry type
- Add usePluginUiSlots hook with 30-second TTL cache for slot data
- Add PluginSlot component with error boundary and placeholder rendering
- Add comprehensive tests for hook (cache behavior, error handling, isolation)
- Add comprehensive tests for component (render states, error boundary)
2026-04-16 10:04:44 -07:00
gsxdsm
f3ed2413a8 feat(FN-1929): merge fusion/fn-1929 2026-04-16 09:53:29 -07:00
gsxdsm
941acb6c66 feat(FN-1902): merge fusion/fn-1902 2026-04-16 09:53:15 -07:00
gsxdsm
b1eac88f13 feat(FN-1868): merge fusion/fn-1868 2026-04-16 09:53:06 -07:00
gsxdsm
6aa2128f8e feat(FN-1930): merge fusion/fn-1930 2026-04-16 09:38:55 -07:00
gsxdsm
44b3df562a feat(FN-1901): merge fusion/fn-1901 2026-04-16 09:38:12 -07:00
gsxdsm
d0d6c31091 feat(FN-1827): merge fusion/fn-1827 2026-04-16 09:08:06 -07:00
gsxdsm
6d3fa11cc5 feat(FN-1920): merge fusion/fn-1920 2026-04-16 08:53:14 -07:00
gsxdsm
90765fc093 feat(FN-1906): merge fusion/fn-1906 2026-04-16 08:53:06 -07:00
Fusion
184b1f9667 feat(FN-1842): add Documents view with search and grouping
- Add GET /documents API endpoint in dashboard routes
- Add getAllDocuments store method with search support in core
- Add useDocuments hook and API wrapper for frontend consumption
- Add DocumentsView component with search, grouping by type/status, and sortable columns
- Add Documents nav item to Header and MobileNavBar with route /documents
- Integrate DocumentsView into App routing
- Add tests for DocumentsView and useDocuments hook
- Add changeset for @gsxdsm/fusion
2026-04-16 08:52:01 -07:00
gsxdsm
0f7bb4efd0 feat(FN-1924): merge fusion/fn-1924 2026-04-16 08:38:55 -07:00
gsxdsm
2122aee46d feat(FN-1908): merge fusion/fn-1908 2026-04-16 08:38:41 -07:00
gsxdsm
19a06a6a2c feat(FN-1826): merge fusion/fn-1826 2026-04-16 08:38:08 -07:00
Fusion
6293984839 fix(FN-1909): reorder insights routes to prevent /runs being shadowed by /:id
- Reorder route definitions in insights-routes.ts to place /runs before /:id
- Fix bug where /runs endpoint was shadowed by the catch-all /:id parameterized route
- Add comprehensive regression tests for insights route ordering covering /runs, /stats, /agents, and dynamic ID matching
- Document route ordering pitfall in memory.md for future reference
2026-04-16 08:36:11 -07:00
gsxdsm
ea4802246c feat(FN-1923): merge fusion/fn-1923 2026-04-16 08:08:06 -07:00
gsxdsm
695e908594 feat(FN-1914): merge fusion/fn-1914 2026-04-16 07:53:31 -07:00
gsxdsm
bf9e74b5a0 feat(FN-1912): merge fusion/fn-1912 2026-04-16 07:53:21 -07:00
gsxdsm
5e9a0e13ab feat(FN-1448): merge fusion/fn-1448 2026-04-16 07:53:14 -07:00
gsxdsm
2cca719457 feat(FN-1825): merge fusion/fn-1825 2026-04-16 07:38:07 -07:00
gsxdsm
ece54e4e8b feat(FN-1918): merge fusion/fn-1918 2026-04-16 07:23:18 -07:00
gsxdsm
3c3584d46c feat(FN-1900): merge fusion/fn-1900 2026-04-16 07:23:12 -07:00
gsxdsm
de8c92b42a feat(FN-1824): merge fusion/fn-1824 2026-04-16 07:23:06 -07:00
Fusion
e3491b2d44 fix(FN-1907): wrap skills page sections in scrollable content container
- Refactor SkillsView to wrap sections in .skills-view-content wrapper
- Add scrollable overflow handling for content container
- Add mobile responsiveness tests for skills view component
- Ensure consistent scrolling behavior across page sections
2026-04-16 07:21:17 -07:00
Fusion
d6a0ac621c feat(FN-1822): add settings sync between mesh nodes
- Add settings sync options and logic to PeerExchangeService for bidirectional settings exchange
- Extend mesh/sync endpoint with push, pull, sync-status, and auth-sync operations
- Add comprehensive tests for settings sync in peer-exchange-service.test.ts
- Add mesh route tests for settings exchange endpoints in dashboard
- Update memory.md with settings sync documentation
2026-04-16 07:10:47 -07:00
Fusion
b5ad40aac0 feat(FN-1898): add provider descriptions and card layout to onboarding
- Add ProviderCard component displaying name, description, and model count
- Display provider descriptions during model onboarding flow
- Add card-based layout for provider selection in ModelOnboardingModal
- Add comprehensive tests for ModelOnboardingModal component
- Include CSS styles for provider cards with hover states
2026-04-16 06:53:15 -07:00
Fusion
9c20cb0c1b fix(FN-1894): add base and mobile CSS for .mailbox-view full-page layout
- Add .mailbox-view base styles for full-page layout with flexbox and inset edges
- Add mobile responsive styles for .mailbox-view within 768px breakpoint
- Add MailboxView component test covering layout rendering and mobile behavior
2026-04-16 06:33:37 -07:00
Fusion
f09d15702c feat(FN-1821): add settings and auth sync API routes for mesh nodes
- Add GET /api/nodes/:id/settings endpoint to fetch remote node settings
- Add POST /api/nodes/:id/settings/push to push local settings to a remote node
- Add POST /api/nodes/:id/settings/pull to pull settings from a remote node
- Add GET /api/nodes/:id/settings/sync-status for sync diff summary
- Add POST /api/nodes/:id/auth/sync to sync model auth credentials
- Add POST /api/settings/sync-receive inbound settings endpoint
- Add POST /api/settings/auth-receive inbound auth endpoint
- Add GET /api/settings/auth-export to export local auth credentials
- Add comprehensive route tests for all sync endpoints
- Update AGENTS.md with Node Settings Sync API reference
2026-04-16 06:25:37 -07:00
Fusion
f2ab2226d6 feat(FN-1890): improve mobile UX for SkillsView component
- Add comprehensive mobile CSS overrides for skills page layout and responsiveness
- Improve touch targets for toggle switches and interactive elements (44px minimum per Apple HIG)
- Polish skills view base styles with refined toggle dimensions
- Expand mobile CSS tests to cover touch target sizes and responsive layout
2026-04-16 06:16:50 -07:00
Fusion
58e4360da1 feat(FN-1888): add mobile-ready MailboxView with agents load and styles
- Load agents on mount for compose from any MailboxView tab
- Add .mailbox-view base styles for full-page layout
- Add .mailbox-view mobile overrides with safe-area-inset handling
- Add MailboxView test coverage for compose from inbox with agents
2026-04-16 05:56:17 -07:00
Fusion
df7362236b fix(FN-1817): enrich session list with lastMessagePreview and restore active session on remount
- Add lastMessagePreview field to ChatSession to show message previews in session list
- Restore active session state on component remount via stored lastSessionId
- Add chat routes for session management (create, list, read, update/delete)
- Add tests for useChat hook, chat store, and chat routes
- Remove unused serveCommand assignment in serve.ts command
2026-04-16 05:47:34 -07:00
Fusion
8bc5b9185f feat(FN-1813): merge fusion/fn-1813 2026-04-16 05:37:24 -07:00
gsxdsm
db15ab78f6 feat(FN-1808): merge fusion/fn-1808 2026-04-16 04:53:09 -07:00
gsxdsm
853dad5fd6 feat(FN-1885): merge fusion/fn-1885 2026-04-16 04:38:12 -07:00
gsxdsm
c9e7f83d97 feat(FN-1804): merge fusion/fn-1804 2026-04-16 04:38:05 -07:00
Fusion
6177cfb5f7 feat(FN-1803): add nodeId support to project registration and browse-directory
- Add nodeId parameter to registerProject in CentralCore for multi-project tracking
- Update POST /api/projects route to accept and persist nodeId
- Update browse-directory route to filter by nodeId
- Add nodeId field to frontend API wrappers for registerProject and browseDirectory
- Add comprehensive tests for nodeId in project registration and browse-directory routes
2026-04-16 04:34:49 -07:00
Fusion
3c98c4353e feat(FN-1884): fix mobile side margins in settings pages
- Fix mobile side margins on settings pages to use design tokens
- Add responsive padding for mobile viewports in settings components
- Add settings-mobile test to verify mobile layout behavior
2026-04-16 04:11:17 -07:00
Fusion
a67feafccb feat(FN-1880): add mobile roadmap controls - list, create, navigate
- Add mobile-friendly roadmap view with list, create, and navigation controls
- Implement RoadmapCard and inline creation form for quick roadmap entry
- Add mobile-optimized navigation between roadmap views
- Include mobile touch targets and responsive layout using design tokens
- Add comprehensive tests for RoadmapsView mobile components
2026-04-16 03:56:09 -07:00