Commit Graph

1159 Commits

Author SHA1 Message Date
gsxdsm
24ec16f6d3 feat(FN-1438): enable description expansion in task creation forms
- Fix textbox role selector to avoid matching the expand button in TaskForm
- Enable description expansion in create mode for better task input experience
- Update tests in NewTaskModal and TaskForm to cover the new behavior
2026-04-10 07:08:13 -07:00
gsxdsm
325ae22624 feat(FN-1354): add auto-summarize task titles feature
- Add /api/ai/summarize-title endpoint for AI-generated task titles
- Integrate title summarization into task creation flow when autoSummarizeTitles is enabled
- Add debug logging and error checking to summarizeTitle in ai-summarize.ts
- Add error logging to route handler and task store for failed summaries
- Add comprehensive integration tests for the summarize-title API endpoint
- Add memory entry documenting the auto-summarize titles bug fix
2026-04-10 07:04:15 -07:00
gsxdsm
57d6305a4b feat(FN-1412): add plugin lifecycle event relay over dashboard SSE
- Add PluginLifecycleEvent type and relay infrastructure in sse.ts
- Emit plugin lifecycle events (install, uninstall, enable, disable) via dashboard SSE
- Wire up plugin events in server.ts to broadcast to connected clients
- Add comprehensive tests for SSE plugin event relay and server integration
- Add .fusion/memory.md with plugin lifecycle documentation
2026-04-10 03:15:45 -07:00
gsxdsm
d1e580e577 feat(FN-1275): add Routines tab to ScheduledTasksModal
- Add RoutineCard component with status display and run history
- Add RoutineEditor form with trigger, agent, policy, and model fields
- Integrate Routines tab into ScheduledTasksModal alongside Scheduled Tasks
- Add CSS styles for routine components
- Add comprehensive tests for RoutineCard, RoutineEditor, and ScheduledTasksModal
2026-04-10 03:07:25 -07:00
gsxdsm
3cb59159e5 feat(FN-1336): add write-through cache to GlobalSettingsStore
- Add in-memory cache to GlobalSettingsStore for fast settings reads
- Add getSettingsFast() to TaskStore that uses the cached settings
- Update GET /settings route to use getSettingsFast() for faster responses
- Add invalidateCache() method for testing and external process scenarios
- Document write-through cache pattern in .fusion/memory.md
2026-04-10 03:03:51 -07:00
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
a3d70e5190 feat(FN-1528): sanitize Kimi 404 url.not_found errors in usage screen
- Add sanitization for Kimi API 404 url.not_found error messages in usage.ts
- Replace technical error codes with user-friendly messages to avoid leaking internal API details
- Add regression test covering error sanitization with mock usage data
2026-04-10 02:57:32 -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
d53cb83f02 feat(FN-1529): add failing regression tests for search query propagation
Tests added:
- api-node.test.ts: q parameter forwarding in fetchRemoteNodeTasks
- useRemoteNodeData.test.ts: searchQuery propagation and refetch on change
- App.test.tsx: searchQuery passed to useRemoteNodeData in remote mode

All tests fail as expected because:
- fetchRemoteNodeTasks doesn't accept searchQuery parameter
- useRemoteNodeData doesn't forward searchQuery
- App.tsx doesn't pass searchQuery to useRemoteNodeData
2026-04-10 02:44:43 -07:00
gsxdsm
e664d133ea feat(FN-1274): add routine CRUD API routes and frontend functions
- Add routineStore to ServerOptions for dependency injection
- Implement CRUD API routes for routines (create, list, get, update, delete)
- Add frontend API functions for routine management
- Include comprehensive route tests for all routine endpoints
- Update memory documentation with webhook HMAC testing pattern
2026-04-10 02:42:48 -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
fb8e77290b feat(FN-1368): add milestone and slice interview sessions
- Create milestone-slice-interview.ts module for AI-guided milestone/slice planning
- Add interview session types (milestone_interview, slice_interview) to AiSessionStore
- Wire up server rehydration and automatic session cleanup
- Add milestone/slice interview routes to mission router with SSE streaming
- Extend MissionStore to persist planningNotes and verification fields
- Add comprehensive tests for milestone-slice interview engine
2026-04-10 02:06:23 -07:00
gsxdsm
925bb2c43b test(FN-1368): tests for planning UI and interview modal 2026-04-10 02:00:45 -07:00
gsxdsm
81dac0f3bf feat(FN-1368): add CSS styles for planning indicators and triage preview 2026-04-10 01:53:56 -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
922eb4321d feat(FN-1368): add milestone/slice interview API functions and triage preview 2026-04-10 01:48:11 -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
01d9fba122 feat(FN-1377): add swatch classes for 6 new themes 2026-04-10 00:58:12 -07:00
gsxdsm
1909851bba feat(FN-1377): add CSS theme blocks for 6 new themes 2026-04-10 00:57:29 -07:00
gsxdsm
4ea294b8be feat(FN-1360): add chat API with AI agent and SSE streaming
- Add ChatManager class for managing chat sessions with AI agent integration
- Implement SSE streaming for real-time chat responses
- Add chat API routes for creating sessions, sending messages, and streaming responses
- Wire ChatStore and ChatManager into server initialization
- Add comprehensive test suite for all chat routes
2026-04-10 00:48:47 -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
db14d9e077 feat(FN-1409): extract color-theme CSS to separate theme-data.css
- Extract all color-theme CSS variable blocks from styles.css into a dedicated theme-data.css file
- Add dynamic loading of theme-data.css for non-default color themes via useTheme hook
- Preload theme-data.css for the default theme in index.html to avoid flash
- Update status-colors-theme tests for dynamic theme loading behavior
- Update memory and README with theme-data.css file location
2026-04-10 00:07:35 -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
7b4b54cec3 feat(FN-1376): update settings-scope-icon CSS for SVG theme awareness
- Replace font-size/line-height with inline-flex layout for SVG compatibility
- Add explicit color: var(--text-muted) for consistent theming across light/dark modes
- Improve alignment with vertical-align: middle for scope indicator icons
2026-04-09 23:02:29 -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
607a103ee9 feat(FN-1517): harden Kimi 404 handling to retry on any 404
- Add comprehensive tests for Kimi API 404 retry behavior
- Expand retry logic to handle any 404 response from Kimi API
- Add test cases for various 404 scenarios including context errors and quota exhaustion
- Improve error handling resilience for Kimi model calls
2026-04-09 22:58:08 -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
9411721d83 feat(FN-1474): swap Kimi endpoint order to put Codexbar-validated underscore endpoint first
- Reorder Kimi API endpoint list to prioritize the underscore-variant endpoint
- Add tests to verify endpoint priority selection
- Ensure Codexbar-validated endpoint is tried first in the fallback chain
2026-04-09 22:31:31 -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
b7005001d2 feat(FN-1474): add Kimi endpoint fallback for 404 url.not_found 2026-04-09 21:36:53 -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
6f1183b8b1 feat(FN-1259): add review handoff feature for user task assignment
- Add assigneeUserId field to Task and TaskDetail types
- Add reviewHandoffPolicy project setting (manual/auto/delegated modes)
- Implement handoff detection policy in executor with session state tracking
- Add dashboard API routes for user assignment and handoff endpoints
- Add frontend API functions for review handoff UI integration
- Add tests for review handoff feature endpoints
- Fix test duplicates and finalize documentation
2026-04-09 21:07:08 -07:00
gsxdsm
34c11a7078 feat(FN-1259): add review handoff mechanism for user assignment
- Add assigneeUserId field to Task type and SQLite schema for human assignment
- Add reviewHandoffPolicy setting to control automatic handoff behavior
- Implement handoff detection in executor: detect user assignment during review and auto-transition task
- Add dashboard API routes for user assignment, handoff queries, and completion
- Add frontend API functions: getHandoffTask, assignTaskToUser, completeHandoff
- Add comprehensive tests for store methods, API routes, and executor handoff logic
- Update memory documentation with review handoff pattern
2026-04-09 21:06:19 -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
8357a65588 feat(FN-1113): complete Step 6 — SSE plugin state events 2026-04-09 18:43:55 -07:00