Commit Graph

766 Commits

Author SHA1 Message Date
gsxdsm
e2367225a7 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
4d8da65cb1 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
351bccb211 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
2dd775ebf3 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
5abd2d2cad 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
d9be6a838d 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
cbcb61ecd6 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
5d124c447d 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
bc936ec893 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
3b1756375b 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
ce370bf8a1 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
cb903f4801 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
df8057491e 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
b5b37c4fa6 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
f0578bdfa5 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
590d7762de 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
b89e87c787 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
c4a48491e2 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
b0f543b632 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
1808ab8e06 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
0304df348f 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
gsxdsm
2e3c94f4de feat(FN-1228): add Node Dashboard UI with mesh topology and routes tests 2026-04-09 12:34:03 -07:00
gsxdsm
a16568a75a fix(FN-1187): integration fixes for mission health and type updates
- Add /missions/health endpoint handling to MissionManager test mocks
- Add listMissionsWithSummaries to mission-e2e test mock
- Add planState to Slice type and mock factories
- Add stuckKillCount to retry task test assertions
- Update log message for stuck-killed retry
2026-04-09 12:21:51 -07:00
gsxdsm
e2f20dc2be feat(FN-1228): complete Step 5 — MeshTopology component
- Added MeshTopology.tsx with SVG visualization
- Nodes arranged in circle with local node at center
- Color-coded by status
- Added CSS for mesh topology styles
2026-04-09 12:08:02 -07:00
gsxdsm
ea8d32d4bf feat(FN-1228): complete Step 1 — Backend API Routes modifications
- Modified POST /api/nodes to make type optional (defaults to 'remote')
- Changed DELETE /api/nodes/:id to return 204 No Content
- Updated GET /api/nodes/:id/metrics to return SystemMetrics from node.systemMetrics
- Added GET /api/mesh/state route for full mesh topology state
2026-04-09 11:51:03 -07:00
gsxdsm
26ff7eb900 feat(FN-1186): add Performance tab to agent detail with ratings
- Add agent rating API routes (GET/PATCH /api/agents/:id/ratings)
- Add API helper functions for fetching and updating agent ratings
- Add Performance tab UI to AgentDetailView with star rating display
- Add CSS styling for the Performance tab and star rating components
- Add comprehensive route tests for agent ratings endpoints
2026-04-09 11:33:40 -07:00
gsxdsm
f0aa63bd73 fix(FN-1371): replace placeholder MiniMax and Z.ai logos with real brand icons
- Replace placeholder SVG content for MiniMax provider icon with authentic MiniMax branding
- Replace placeholder SVG content for Z.ai provider icon with authentic Z.ai branding
- Update ProviderIcon tests to reflect the new icon implementations
2026-04-09 11:24:27 -07:00
gsxdsm
c1e0df2fef feat(FN-1183): add agent reflections tab to dashboard
- Add API routes for agent reflections (GET, POST, DELETE)
- Create AgentReflectionsTab component with reflection list and form
- Integrate reflections tab into AgentDetailView
- Add CSS styles for the reflections tab UI
- Write tests for API routes and component
2026-04-09 11:15:57 -07:00
gsxdsm
d7500cd9d6 refactor(FN-1370): merge execution settings into scheduling section
- Remove separate Execution section from settings sidebar
- Move step execution settings (runStepsInNewSessions, maxParallelSteps) into Scheduling section
- Consolidate related runtime behavior settings for better UX
- Update tests to navigate to Scheduling section instead of Execution
2026-04-09 11:08:50 -07:00
gsxdsm
697814d9e0 feat(FN-1260): add full-text search for tasks and comments
- Add FTS5 virtual table with v21 database migration for task search
- Add searchTasks() method to TaskStore with FTS5 query support
- Add q= search parameter to GET /api/tasks route for server-side search
- Update useTasks hook and frontend API to support searchQuery prop
- Update Board.tsx and App.tsx to pass searchQuery through component hierarchy
- Add comprehensive tests for FTS5 index and searchTasks functionality
2026-04-09 10:17:02 -07:00
gsxdsm
8268639c86 fix(FN-1349): add tests for resume/start button on terminated agents 2026-04-09 10:15:48 -07:00
gsxdsm
8acc369ebf fix(FN-1349): add resume/start button for terminated agents in AgentListModal 2026-04-09 10:12:58 -07:00
gsxdsm
092b5347a7 fix(FN-1349): add resume/start button for terminated agents in AgentDetailView 2026-04-09 10:12:07 -07:00
gsxdsm
6fab5de25f feat(FN-1323): unify list and board agent-active styling
- Apply consistent agent-active state styling across ListView and BoardView
- Add .agent-active CSS class to unify visual indicator styling
- Update ListView component to use unified active state classes
- Add ListView test coverage for agent-active state rendering
2026-04-09 10:10:25 -07:00
gsxdsm
f915d10c59 feat(FN-1348): export HeartbeatMonitor and HeartbeatTriggerScheduler from @fusion/engine 2026-04-09 09:42:21 -07:00
gsxdsm
34a6c42686 feat(FN-1316): add mobile responsive styles and tests for ProjectOverview
- Add mobile responsive CSS rules for ProjectOverview component
- Add mobile breakpoint styles for card layouts and navigation elements
- Add ProjectOverview mobile structure tests for responsive behavior
- Add ProjectCard mobile visibility tests
2026-04-09 09:33:31 -07:00
gsxdsm
4587a077a7 feat(FN-1214): add ember color theme
- Add ember theme to COLOR_THEMES array in types.ts
- Add ember theme CSS variables in styles.css
- Add ember theme swatch preview in ThemeSelector component
- Add ember to validThemes validation in index.html
- Add ThemeSelector tests for ember theme
2026-04-09 09:28:52 -07:00
gsxdsm
7fac407583 feat(FN-1213): add 8 new color themes to dashboard
- Add 8 new theme IDs to COLOR_THEMES in core types
- Add CSS blocks with color swatches for all 8 new themes
- Update ThemeSelector to display new theme options
- Register themes in index.html validThemes array
- Add comprehensive tests for new theme support
- Include changeset for @gsxdsm/fusion package
2026-04-09 09:17:50 -07:00
gsxdsm
c839613036 feat(FN-1311): improve mobile touch targets and reduce column header min-height
- Remove column-header min-height from mobile media block for tighter layout
- Reduce TaskCard touch targets in mobile view for better mobile UX
- Update board-mobile tests to reflect new mobile styling behavior
2026-04-09 09:10:26 -07:00
gsxdsm
925c66308f feat(FN-1345): add soul and instructionsText to agent presets
- Add soul and instructionsText fields to all 20 built-in agent presets
- Enable soul-based agent visualization and instructions preview in NewAgentDialog
- Add comprehensive tests for preset soul and instructionsText rendering flow
- Include changeset for @gsxdsm/fusion minor release
2026-04-09 08:47:54 -07:00
gsxdsm
71914d3e30 feat(FN-1344): add MiniMax and Z.ai provider logos to usage dialog
- Add MiniMax provider icon with distinct blue gradient design
- Add Z.ai provider icon with geometric dot pattern
- Integrate new icons into UsageIndicator component
- Add comprehensive tests for ProviderIcon rendering
2026-04-09 08:43:49 -07:00
gsxdsm
7a60e03282 fix(FN-1310): remove mobile 44px touch target enforcement from FileBrowser
- Remove min-height/min-width 44px enforcement from FileBrowser styles.css that was overriding native sizing
- Update FileBrowser test to match the actual CSS without mobile touch target rules
- Update memory log with the change rationale
2026-04-09 07:07:49 -07:00
gsxdsm
0e219f48b9 test(FN-1309): add missing tests for create mode rows and expand button
- Add tests verifying create mode renders action rows correctly
- Add test for expand button toggle behavior in TaskForm
- Cover agent picker, dependencies, and model selection rows in create mode
2026-04-09 06:31:56 -07:00
gsxdsm
4ccaecf8ac fix(FN-1307): fix invisible close button on mobile file browser modal
- Add overflow: hidden and text-overflow: ellipsis to mobile modal header to prevent title from overlapping close button
- Add min-width: 0 and flex-shrink: 1 to header title for proper flex truncation
- Add CSS rules for FileBrowserModal breadcrumb and filename truncation on narrow screens
- Add tests for mobile close button visibility and CSS text truncation behavior
2026-04-09 06:01:07 -07:00
gsxdsm
f13af44150 fix(FN-1306): improve PlanningModeModal layout for mobile screens
- Move model selector from sticky footer into scrollable content area
- Slim the footer to only contain the Start Planning button
- Add .planning-model-select-group CSS for proper flexbox layout
- Center footer button and model-select row for better mobile UX
- Remove inline styles from model selector, use CSS classes instead
2026-04-09 05:37:57 -07:00
gsxdsm
2711df9a76 feat(FN-1305): add scripts submenu to MobileNavBar
- Add expandable scripts submenu inside the More sheet on MobileNavBar
- Include script status indicators, run/stop buttons, and navigation
- Add CSS styles for submenu animation, hover states, and mobile touch targets
- Add comprehensive tests for submenu toggle, script actions, and edge cases
2026-04-09 05:22:17 -07:00
gsxdsm
9c5dc07166 fix(FN-1304): reduce mobile button heights from 44px to 36px
- Reduce mobile media query button heights from 44px to 36px across all dashboard components
- Update mobile CSS tests (nav bar, board, modals, mission planning) to expect 36px touch targets
- Add CSS testing patterns to project memory for consistent test guidelines
2026-04-09 04:59:44 -07:00
gsxdsm
325776b036 perf: speed up tests with parallel execution and fix type errors
- Add isolate: true to vitest configs for safe parallel test execution
- Simplify engine test script from 7 sequential runs to single parallel run
- Fix TypeScript type errors in Column, Board, WorktreeGroup, and App components
- Fix board-mobile test to match current TaskCard tap behavior
- Relax App deep-link test to handle React Strict Mode behavior
2026-04-08 23:53:14 -07:00
gsxdsm
f2e64fea7d fix(FN-1337): remove autoFocus from agent name field in NewAgentDialog
- Remove autoFocus attribute from agent name input to prevent unexpected focus behavior
- Make name field non-blocking so preset flow is not interrupted by focus steal
- Add comprehensive tests for NewAgentDialog covering preset flow and name field behavior
2026-04-08 22:56:48 -07:00
gsxdsm
237fe861e0 fix(FN-1340): reposition settings icon to right of stop button in header
- Move settings icon placement from its previous position to directly right of the stop button in the Header component
- Update Header component layout to reflect the new icon ordering
- Update Header tests to match the new element ordering
2026-04-08 22:51:53 -07:00