Commit Graph

795 Commits

Author SHA1 Message Date
gsxdsm
dd77c79718 feat(FN-1529): implement search query propagation to remote node data
- Add search query propagation so remote nodes receive and use query filters
- Update api-node.ts to accept and forward search query parameters
- Add useRemoteNodeData query key dependency for proper re-fetching on filter changes
- Add api-node.test.ts with tests for search query propagation
- Add comprehensive tests for App component including remote data filtering
- Document search query propagation pitfall in .fusion/memory.md
2026-04-10 02:59:38 -07:00
gsxdsm
61adfc87de feat(FN-1437): theme workflow steps tab with CSS classes
- Replace inline styles in WorkflowResultsTab with semantic CSS classes
- Add .workflow-results-tab, .workflow-results-header, .workflow-step-card, .workflow-step-header, and .workflow-step-output CSS rules to styles.css
- Add tests for WorkflowResultsTab component with mocked workflow step data
2026-04-10 02:50:04 -07:00
gsxdsm
fbb73f79f4 feat(FN-1427): fix file browser modal height and add regression tests
- Fix file browser modal height overflow by updating CSS max-height and overflow properties
- Add regression tests for file browser modal height behavior
- Include FN-1410 changes: improve MissionManager UI and add tests
2026-04-10 02:23:38 -07:00
gsxdsm
5598b49e68 feat(FN-1410): add inline missions header parity with agents view
- Add MissionManager component updates with expanded header controls
- Implement inline mission actions (interview, autopilot toggle) matching AgentsView style
- Add MissionManager unit tests with comprehensive coverage
- Add CSS styles for mission header alignment and interaction states
2026-04-10 02:14:48 -07:00
gsxdsm
925bb2c43b test(FN-1368): tests for planning UI and interview modal 2026-04-10 02:00:45 -07:00
gsxdsm
5a6640df1d feat(FN-1368): add triage preview panel to MissionManager 2026-04-10 01:53:22 -07:00
gsxdsm
7746174c5f feat(FN-1368): add Plan buttons and planning state indicators to MissionManager 2026-04-10 01:52:07 -07:00
gsxdsm
eb76e23aa9 feat(FN-1368): create MilestoneSliceInterviewModal component 2026-04-10 01:50:28 -07:00
gsxdsm
079ed58bd1 feat(FN-1368): add planState and planningNotes to frontend mission types 2026-04-10 01:45:06 -07:00
gsxdsm
aa8afb82ed feat(FN-1361): add chat view with SSE streaming and session management
- Add ChatView component with sidebar navigation and message thread layout
- Add useChat hook with SSE streaming state management for real-time updates
- Add chat API functions for sessions and messages (create, list, send, stream)
- Add mobile-responsive CSS styles for chat interface
- Add tests for useChat hook and ChatView component
- Integrate chat into task view and navigation (Header, MobileNavBar)
2026-04-10 01:42:07 -07:00
gsxdsm
818562bd95 feat(FN-1266): add dashboard API integration tests for budget endpoints 2026-04-10 01:05:21 -07:00
gsxdsm
845003a996 test(FN-1377): add ThemeSelector tests for 6 new themes 2026-04-10 00:59:17 -07:00
gsxdsm
5efaefbe1b feat(FN-1377): register 6 new themes in ThemeSelector and flash-prevention 2026-04-10 00:58:52 -07:00
gsxdsm
9575350432 feat(FN-1265): add agent budget settings UI and API
- Add Budget Settings section to ConfigTab with token limit, usage threshold, budget period, and reset day inputs
- Add budget usage badge to DashboardTab showing token consumption and threshold warning
- Add budget API functions to api.ts (getBudgetSummary, updateBudgetConfig, deleteBudgetUsage)
- Add budget routes to routes.ts for GET/PATCH/DELETE agent budget endpoints
- Add CSS styles for budget progress bar, warning indicators, and section layout
- Add comprehensive tests for budget UI components and API routes
2026-04-10 00:25:17 -07:00
gsxdsm
cba41e68d6 feat(FN-1408): add node provider and remote node status integration
- Add NodeProvider and useNodeContext to App shell for centralized node state
- Add node selector dropdown and status indicator to Header component
- Wire remote node data and event hooks into task-facing views
- Update App.test.tsx mocks for new node context providers
- Add project memory learnings for node context wiring patterns
- Update dashboard guide documentation for node selection
2026-04-09 23:42:25 -07:00
gsxdsm
b1fc0369e6 feat(FN-1387): add fullscreen expand toggle to agent log viewer
- Add expand/collapse fullscreen button to AgentLogViewer header
- Implement fullscreen mode with fixed overlay positioning
- Add CSS styles for fullscreen container and header visibility
- Add comprehensive tests for fullscreen toggle functionality
2026-04-09 23:22:28 -07:00
gsxdsm
bba1e45de7 feat(FN-1504): add non-mobile search toggle for board/list views
- Add search toggle button to header controls for non-mobile viewports
- Toggle persists search visibility state across board and list views
- Implement responsive visibility rules (show on non-mobile, hide on mobile)
- Add comprehensive tests for tablet header controls and Header component
- Update Header component with search toggle functionality
2026-04-09 23:03:05 -07:00
gsxdsm
1d42066f86 feat(FN-1491): add centralized agent health status utility
- Create agentHealth.tsx utility with consistent health status logic
- Update AgentDetailView, AgentListModal, and AgentsView to use centralized utility
- Add comprehensive tests for health status edge cases
- Update agents.md documentation with health status reference
- Add changeset for @gsxdsm/fusion patch release
2026-04-09 22:58:47 -07:00
gsxdsm
a54b0fa27f fix(FN-1374): truncate mission labels on task cards
- Add truncation logic for mission labels exceeding max length in TaskCard component
- Add CSS text-overflow styles for mission label ellipsis display
- Add unit tests for mission label truncation behavior
2026-04-09 22:55:24 -07:00
gsxdsm
f4c861e192 feat(FN-1372): reduce mobile nav bar height from 56px to 48px
- Reduce MobileNavBar height from 56px to 48px for a more compact mobile experience
- Update footer safe area padding to accommodate the new nav height
- Update board mobile layout tests to reflect the reduced height
- Update mobile nav bar CSS tests for the new height value
2026-04-09 22:50:43 -07:00
gsxdsm
5883dffc74 feat(FN-1484): fix agent picker stale cache on project switch
- Clear agent cache when projectId changes in QuickEntryBox and InlineCreateCard
- Add regression tests for agent picker cache invalidation behavior
- Add changeset for @gsxdsm/fusion patch release
2026-04-09 21:39:09 -07:00
gsxdsm
51a57045e1 feat(FN-1503): refine Kimi logo with official crescent moon brand mark
- Update ProviderIcon with Kimi's official crescent moon brand mark
- Add comprehensive tests for ProviderIcon component with Kimi logo variants
- Include changeset for @gsxdsm/fusion package
2026-04-09 21:28:00 -07:00
gsxdsm
cf5a979929 feat(FN-1483): add agent assignment to New Task modal
- Add agent picker dropdown to New Task modal for task assignment at creation time
- Include assignedAgentId in task creation payload when an agent is selected
- Add comprehensive regression tests for agent assignment functionality
- Update AGENTS.md documentation with New Task modal agent assignment details
2026-04-09 21:24:07 -07:00
gsxdsm
591e9d8b01 feat(FN-1481): add regression tests for subtask modal send-to-background vs cancel semantics
- Add regression tests for SubtaskBreakdownModal
- Test send-to-background behavior preserves session state
- Test cancel behavior properly closes modal and cleans up
- Verify correct callback invocation for each action
2026-04-09 21:09:16 -07:00
gsxdsm
402b1db123 fix(FN-1475): replace Kimi logo with correct Moonshot AI brand mark
- Update ProviderIcon.tsx to use Moonshot AI logo instead of Kimi branding
- Fix logo display in UsageIndicator component
- Add ProviderIcon unit tests covering all provider icons
- Add UsageIndicator tests for provider icon rendering
- Add CustomModelDropdown integration tests for model selection flow
2026-04-09 21:08:16 -07:00
gsxdsm
e015fc8a54 feat(FN-1456): add explicit abandon flow for planning and subtask AI sessions
- Add abandon action to useBackgroundSessions hook for deterministic session cleanup
- Make background dismissal deterministic instead of relying on 7-day TTL expiration
- Update PlanningModeModal to include abandon button in header actions
- Add comprehensive tests for abandon behavior and session lifecycle
- Update dashboard guide with session lifecycle documentation
2026-04-09 19:35:17 -07:00
gsxdsm
e1cd7e0876 feat(FN-1440): promote Authentication in Settings sidebar with globe icon
- Add Authentication section to Settings sidebar with globe icon
- Update SettingsModal to display Authentication link in sidebar
- Add corresponding tests for Authentication section visibility
- Update mobile settings tests to reflect new sidebar structure
2026-04-09 19:16:22 -07:00
gsxdsm
db0d5c8dc9 feat(FN-1133): add plugin hot-reload support
- Add PluginLoader hot-load/unload with watch mode, auto-recovery, and staged loading
- Add PluginRunner reactive integration with executor dynamic tools registration
- Add dashboard reload endpoint (POST /api/plugins/reload) and PluginManager UI
- Add comprehensive tests for plugin-hot-reload (core) and plugin-runner (engine)
- Update plugin authoring docs and add memory notes
- Add changeset for @gsxdsm/fusion minor release
2026-04-09 19:15:53 -07:00
gsxdsm
af15eabbef feat(FN-1113): complete Step 4 — plugin UI integration 2026-04-09 18:41:19 -07:00
gsxdsm
7d599a5387 refactor(FN-1364): extract modal inline styles to CSS classes
- Add CSS classes in styles.css for planning and breakdown modal styling
- Refactor MissionInterviewModal to use CSS classes instead of inline styles (164 lines reduced)
- Refactor PlanningModeModal to use CSS classes (67 lines reduced)
- Refactor SubtaskBreakdownModal to use CSS classes (26 lines reduced)
- Improve maintainability and consistency of modal styling
2026-04-09 17:57:06 -07:00
gsxdsm
69a4507113 feat(FN-1358): replace text input with always-dropdown in MessageComposer
- Replace text input with always-open dropdown in MessageComposer component
- Update MessageComposer tests to cover dropdown behavior
- Remove .message-composer-input from shared CSS rule
2026-04-09 16:35:41 -07:00
gsxdsm
704f262282 feat(FN-1357): replace hardcoded colors with semantic CSS tokens
- Add semantic CSS custom property tokens to :root for theme-aware colors
- Replace hardcoded colors in MailboxModal with semantic tokens
- Replace hardcoded colors in mission components with semantic tokens
- Replace hardcoded colors in terminal and model combobox with semantic tokens
- Add light theme overrides for new semantic tokens
- Add MailboxModal CSS regression tests for theme awareness
- Document semantic token naming convention in memory
2026-04-09 16:29:51 -07:00
gsxdsm
8ba375549c feat(FN-1453): fix mission autopilot progression and state refresh
- Fix mission autopilot slice activation when tasks complete
- Fix state refresh in MissionManager to properly reflect autopilot status
- Fix scheduler to correctly trigger autopilot progression events
- Add unit tests for mission store autopilot state transitions
- Add component tests for MissionManager autopilot toggle and state display
- Add e2e tests for mission autopilot lifecycle (enable → task completion → slice progression)
- Update documentation with autopilot state machine details
2026-04-09 16:12:58 -07:00
gsxdsm
c38e254258 feat(FN-1343): add rust, copper, foundry, carbon color themes
- Add rust, copper, foundry, carbon theme IDs to core types
- Register themes in ThemeSelector component and flash-prevention logic
- Add CSS theme blocks and swatches for all four new themes
- Add ThemeSelector unit tests for the new themes
- Update memory documentation with new theme count
2026-04-09 16:06:13 -07:00
gsxdsm
0e295c3239 feat(FN-1335): render header search box as floating element below header
- Convert header search box to floating dropdown positioned below header
- Add mobile header controls test for floating search behavior
- Add Header component tests for search box rendering
- Update Header.tsx to render search as floating element with absolute positioning
- Add styles for floating search box with backdrop blur and shadow
2026-04-09 15:38:52 -07:00
gsxdsm
700ae8c480 feat(FN-1459): add focus regression tests for TaskForm
- Add regression tests for TaskForm focus management
- Test that description textarea receives focus on mount when empty
- Test that focus stays in place when toggling controls panel
- Test that Escape key collapses expanded panel without losing focus
- Test focus behavior with pre-filled description
2026-04-09 15:28:34 -07:00
gsxdsm
f19239d43e feat(FN-1443): create dedicated soul.md files for all New Agent presets
- Add soul.md files for 20 agent presets (backend-engineer, ceo, cfo, ci-engineer, cmo, cto, data-engineer, designer, devops-engineer, engineer, frontend-engineer, fullstack-engineer, marketing-manager, ml-engineer, product-manager, qa-engineer, reviewer, security-engineer, technical-writer, triage)
- Create agent-presets/index.ts module exporting all preset definitions
- Refactor NewAgentDialog to use centralized agent-presets module
- Add comprehensive tests for agent presets validation
- Update docs/agents.md with agent preset documentation
2026-04-09 15:23:51 -07:00
gsxdsm
6c69820141 feat(FN-1428): remove separate Commits tab for done tasks
- Update README to reflect merged Changes tab replacing Commits tab
- Remove CommitsTab component and related imports from TaskDetailModal
- Remove commit-related modal state from useModalManager
- Update TaskDetailModal tests to remove Commits tab assertions
2026-04-09 15:10:20 -07:00
gsxdsm
cc1485b971 feat(FN-1396): add Budget Settings section to AgentDetailView ConfigTab
- Add Budget Settings section to agent ConfigTab in AgentDetailView
- Section includes Token Budget, Usage Threshold, Budget Period, and Reset Day controls
- Budget settings are stored in agent.runtimeConfig.budgetConfig and persisted via PATCH /api/agents/:id
- Add comprehensive tests for Budget Settings UI interactions
- Document Budget Settings in AGENTS.md
2026-04-09 14:57:46 -07:00
gsxdsm
d3d590d24d fix(FN-1382): remove autopilotLoading state for simplified toggle
- Remove unnecessary autopilotLoading state variable from MissionManager
- Simplify autopilot toggle by relying directly on autopilotEnabled prop
- Eliminate intermediate loading state that added complexity without benefit
2026-04-09 14:51:50 -07:00
gsxdsm
d2080b190e feat(FN-1386): add Kimi logo, usage mapping, fetcher, and tests
- Add Kimi logo to ProviderIcon component for visual identification
- Add Kimi provider to usage mapping for cost tracking
- Add Kimi usage fetcher to fetch cost and usage data from Kimi API
- Add ProviderIcon tests for Kimi logo verification
- Add UsageIndicator tests for Kimi provider
- Add comprehensive usage tests for Kimi fetcher
2026-04-09 14:48:56 -07:00
gsxdsm
8b8439a400 feat(FN-1326): externalize search filter from ListView
- Remove internal search filter from ListView, use searchQuery prop instead
- Show header search bar in list view for consistent filtering
- Remove obsolete list-filter styles (63 lines removed)
- Update tests to reflect new searchQuery prop behavior
2026-04-09 14:02:35 -07:00
gsxdsm
e26321790c refactor(FN-1353): simplify mission autopilot to single toggle
- Deprecate autoAdvance field in favor of autopilotEnabled as the sole control
- Remove autoAdvance guard logic from MissionAutopilot engine class
- Simplify MissionManager UI to use single autopilot toggle with visual state indicator
- Update MissionAutopilot tests to use autopilotEnabled instead of autoAdvance
- Update MissionManager component tests for simplified UI
- Update AGENTS.md documentation to reflect the simplified autopilot model
2026-04-09 13:45:19 -07:00
gsxdsm
0aca8cbb73 feat(FN-1390): replace sidebar emoji scope markers with Lucide icons
- Replace 🌐/📁 emoji in SettingsModal sidebar with Globe/FileText Lucide icons
- Update SettingsModal tests to expect icon-based scope markers instead of emoji
- Use consistent iconography for visual hierarchy between global and project settings
2026-04-09 13:40:59 -07:00
gsxdsm
8812bea1ff fix(FN-1385): fix Z.ai logo being cut off in usage modal
- Adjust ProviderIcon sizing to prevent logo clipping in usage modal
2026-04-09 13:33:08 -07:00
gsxdsm
4a07e69f7d feat(FN-1324): add fullscreen expand to task creation components
- Add Maximize2/Minimize2 toggle button to QuickEntryBox for fullscreen textarea expansion
- Add Maximize2/Minimize2 toggle button to InlineCreateCard for fullscreen textarea expansion
- Implement single-textarea pattern with positioned container for expand button overlay
- Add description--fullscreen CSS class for fullscreen textarea styling
- Add focus handoff when entering fullscreen mode
- Add comprehensive unit tests for fullscreen expansion in both components
- Tests cover collapsed/expanded states, toggle button visibility, and class application
2026-04-09 13:31:26 -07:00
gsxdsm
fc23e522a7 feat(FN-1232): add remote node mesh dashboard integration
- Add core proxy API infrastructure (api-node.ts) with remote node communication
- Create NodeContext for centralized node state management
- Implement useNodeProxy hook for node operations (metrics, events, health)
- Implement useRemoteNodeData hook with 10-second polling for live metrics
- Implement useRemoteNodeEvents hook for real-time SSE event subscription
- Add NodeStatusIndicator component with animated status indicators
- Add comprehensive tests for all new hooks and components
- Update dashboard styles for node status visualization
2026-04-09 13:01:19 -07:00
gsxdsm
7ab96cc876 feat(FN-1381): add Send Back dropdown for in-progress tasks
- Add Send Back dropdown to TaskCard showing for in-progress tasks with available target columns
- Thread onMoveTask prop through Column component to BoardView
- Terminate agent sessions when tasks move away from in-progress column
- Add executor tests for move-away session termination
- Add TaskCard send-back UI tests with dropdown visibility and interaction verification
2026-04-09 13:00:37 -07:00
gsxdsm
3ef12726d1 feat(FN-1375): add null-as-delete pattern for settings with Reset button
- Send null instead of undefined when clearing token cap to explicitly delete setting
- Handle null values as delete operations in updateSettings (for clearing keys)
- Add Reset button in Settings modal to clear token cap with one click
- Update placeholder and help text for token cap input
- Fix TypeScript cast error for config.settings
2026-04-09 12:43:38 -07:00
gsxdsm
3e403f8816 feat(FN-1228): enhance MeshTopology with peer awareness and status legend
- Export MeshTopologyProps interface for external use
- Add peer awareness lines between remote nodes for mesh visualization
- Implement dynamic SVG sizing based on number of remote nodes
- Add status color legend showing online/offline/connecting/error states
- Improve CSS variable handling with fallback values
- Use transform-based positioning for cleaner SVG structure
2026-04-09 12:41:50 -07:00