Commit Graph

1028 Commits

Author SHA1 Message Date
Fusion
ca00e2990b docs(FN-1962): add engine package findings report
- Add comprehensive review report for packages/engine/src under .fusion/tasks/FN-1960/findings-engine.md
- Document 8 total findings across scheduler, runtime, heartbeat, concurrency, and executor lifecycle areas
- Capture prioritized remediation recommendations focused on listener teardown, semaphore hardening, and lock cleanup
2026-04-16 15:48:14 -07:00
Fusion
343c133d99 feat(FN-1965): add per-agent model override controls in dashboard
- Show the active model override in Agent Information, including support for legacy runtimeConfig.model values
- Add a Model section to agent settings with CustomModelDropdown and available model loading via fetchModels
- Persist model overrides as modelProvider/modelId/model and clear those fields when reverting to global default
- Expand AgentDetailView tests to cover model display, prefill behavior, save payloads, and clearing overrides
- Add a changeset for @gsxdsm/fusion describing the new agent model selection capability
2026-04-16 15:17:24 -07:00
Fusion
ae62fa7db4 feat(FN-1963): merge fusion/fn-1963 2026-04-16 15:07:10 -07:00
gsxdsm
1c09bfe1b8 feat(FN-1959): merge fusion/fn-1959 2026-04-16 14:40:11 -07:00
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
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
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
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
gsxdsm
a740809e79 feat(FN-1903): merge fusion/fn-1903 2026-04-16 10:08:14 -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
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
19a06a6a2c feat(FN-1826): merge fusion/fn-1826 2026-04-16 08:38:08 -07:00
gsxdsm
ea4802246c feat(FN-1923): merge fusion/fn-1923 2026-04-16 08:08:06 -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
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
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
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
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
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
Fusion
1b9a9a308d fix(FN-1871): constrain description textarea height on mobile task edit
- Add mobile-specific textarea constraints for task description in task edit modal
- Set max-height: 120px with auto-grow up to that limit on mobile viewports
- Add regression test for mobile modal textarea height behavior
- Ensures description field doesn't grow too tall and cause layout issues on small screens
2026-04-16 03:26:02 -07:00
gsxdsm
e4aab15cac feat(FN-1865): complete remotes tab UX pass with two-column layout
- Update tests for two-column layout structure
- Fix test selectors to use within() for scoped queries
- Add mocks for fetchGitRemotesDetailed in button tests
- Use remote-sync-card and remote-detail-card testids

Co-authored-by: Fusion <noreply@runfusion.ai>
2026-04-16 02:49:48 -07:00
Fusion
45b6b5cfad feat(FN-1776): expose AgentStore for SSE event forwarding with ephemeral agent filtering
- Expose getAgentStore from runtime and engine packages
- Add includeSystem filter to getOrgTree API endpoint
- Wire AgentStore into SSE endpoint for event forwarding
- Forward agent events through the SSE pipeline
- Exclude ephemeral agents from org tree API and UI
- Filter ephemeral agents in useAgents hook
- Update AgentsView test to expect includeSystem filter
- Document agent SSE event forwarding architecture
2026-04-16 01:44:54 -07:00
Fusion
5cf07c81fe feat(FN-1897): rewrite onboarding step copy for mixed-audience clarity
- Rewrite AI Setup step description to explain what Fusion does with AI models
- Update GitHub step text to clarify what linking enables (issue import, PR sync)
- Refresh First Task step to be more actionable and inviting
- Update completion message to guide users to the board
- Revise helper text across all steps to be warmer and less technical
- Update test assertions to match new copy
2026-04-16 01:22:37 -07:00
Fusion
b184468419 feat(FN-1899): implement login timeout, cancellation, and 409 conflict handling
- Add login outcome types (timeout, success, failed) and state tracking via stepData
- Implement login timeout after MAX_POLL_CYCLES (150 polls × 2s = 5 minutes) with warning toast
- Add 409 Conflict detection for concurrent login attempts with warning toast
- Add cancellation capability for in-progress logins with cleanup and state reset
- Update ModelOnboardingModal tests to cover timeout and concurrent login scenarios
2026-04-16 01:05:18 -07:00
Fusion
73c94d3076 feat(FN-1899): add login timeout, cancellation, and 409 conflict handling
- Add LoginOutcome type ('pending' | 'success' | 'failed' | 'timeout') with state tracking
- Implement AbortController-based cancellation for OAuth login flows
- Add timeout detection after MAX_POLL_CYCLES (150 polls, ~5 min)
- Handle 409 Conflict when concurrent login is attempted
- Persist login outcomes to onboarding stepData for session recovery
- Add getStepData mock export to App.test.tsx vi.mock
- Fix ToastType: use 'info' instead of invalid 'warning' type
2026-04-16 00:26:01 -07:00
gsxdsm
7c361a6d01 feat(FN-1768): merge fusion/fn-1768 2026-04-16 00:08:06 -07:00
Fusion
c34165ce80 feat(FN-1863): add non-blocking progression indicators to onboarding wizard
- Add 'Optional' badge to AI Setup and GitHub step headers
- Add 'Skip setup →' link on AI Setup step footer
- Add 'Skip GitHub →' link on GitHub step footer
- Add helper text on AI Setup step when no providers authenticated
- Add helper text on GitHub step when GitHub is available but not connected
- Add regression tests for all non-blocking progression behaviors
- Add CSS styles for optional badge, skip links, and helper text
2026-04-15 23:18:37 -07:00
Fusion
6a5542d1d9 feat(FN-1861): restore completed steps in onboarding resume flow
- Update getOnboardingResumeStep to include completedSteps array
- Allow backward navigation to previously completed steps in onboarding modal
- Show completed step count in the resume card UI
- Restore completed steps when reopening the onboarding modal
- Add comprehensive tests for completedSteps functionality and live auth reopen scenarios
2026-04-15 23:00:26 -07:00
Fusion
e30d96879d feat(FN-1856): rename chat agent to Fusion and add model indicator tag
- Rename chat agent from generic label to 'Fusion' in ChatView header
- Add model indicator tag displaying the current AI model name
- Fix GPT model name formatting to use proper display name
- Add CSS styling for the model tag pill component
- Add changeset for minor version bump of @gsxdsm/fusion
- Update and add ChatView tests for Fusion name and model tag
2026-04-15 22:35:35 -07:00
Fusion
ecd3a8690e feat(FN-1754): raise global max concurrent ceiling to 10000
- Enforce 10000 upper bound in CentralCore for globalMaxConcurrent setting
- Add 10000 upper bound validation in the project settings API route
- Raise max ceiling in SettingsModal from previous limit to 10000
- Add route test verifying the 10000 upper bound is enforced
2026-04-15 22:26:51 -07:00
Fusion
e123a6be77 feat(FN-1853): add description truncation with expand toggle to TaskDetailModal
- Add truncation state and expand/collapse toggle logic to TaskDetailModal
- Truncate descriptions at 4 lines with a 'Show more' button to expand
- Add CSS styles for description toggle button using design tokens
- Add comprehensive tests for truncation behavior and toggle interactions
2026-04-15 22:12:49 -07:00