Commit Graph

901 Commits

Author SHA1 Message Date
gsxdsm
6232b38937 fix(FN-1349): add tests for resume/start button on terminated agents 2026-04-09 10:15:48 -07:00
gsxdsm
de0ffbaa7e fix(FN-1349): add resume/start button for terminated agents in AgentListModal 2026-04-09 10:12:58 -07:00
gsxdsm
e14dc3664f fix(FN-1349): add resume/start button for terminated agents in AgentDetailView 2026-04-09 10:12:07 -07:00
gsxdsm
8a6b4b8c94 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
ac07be790b feat(FN-1348): export HeartbeatMonitor and HeartbeatTriggerScheduler from @fusion/engine 2026-04-09 09:42:21 -07:00
gsxdsm
32798c0e88 fix(FN-1321): align view toggle button size with header icon buttons
- Update view toggle button dimensions to match header icon buttons
- Ensure consistent visual sizing in the dashboard header area
2026-04-09 09:40:56 -07:00
gsxdsm
33b80d1d35 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
914e80add3 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
f6b2a742c5 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
ba7290641f 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
a5b1e1fb8d 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
5844f873fc 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
93eec2a882 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
749b0da81b 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
1ab5b5f90b fix(FN-1308): reduce column count badge height and restore archive button size on mobile
- Reduce column count badge height by removing min-height override on mobile
- Add explicit compact sizing for column-header icon buttons (archive, etc.)
- Ensure consistent 28px sizing for tappable elements on mobile viewports
2026-04-09 06:09:18 -07:00
gsxdsm
e05c4376a4 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
345e0954a2 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
ed632615cc 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
e170073dcf 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
7a9148d25d 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
719ee27164 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
ef8522f0a8 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
gsxdsm
ac9f652b9d fix(FN-1302): theme GitHub import issue list with proper dark/light mode support
- Replace hardcoded colors with CSS custom properties (theme tokens) across GitHub import components
- Add accent-color to radio buttons using --in-progress token
- Add explicit light theme overrides via [data-theme="light"] selectors for tabs, toolbar, issues list, preview, labels, and state panels
- Style filter input with theme-aware border, background, focus ring, and placeholder colors
- Fix form-error background to use color-mix instead of hardcoded rgba
2026-04-08 22:40:44 -07:00
gsxdsm
48ece0a265 feat(FN-1328): enable optimistic task detail modal opening
- Update useModalManager to accept Task objects for immediate modal display before full detail loads
- Refactor TaskDetailModal to render with basic Task data and load TaskDetail asynchronously
- Update TaskCard click handlers to open modal immediately with optimistic data
- Update ListView click handler for same optimistic opening behavior
- Update AppModals types to support Task | TaskDetail union
- Add CSS for modal loading/skeleton states
- Add comprehensive tests for TaskDetailModal and useModalManager optimistic flow
- Simplify TaskCard and ListView tests to reflect new optimistic opening pattern
2026-04-08 22:21:24 -07:00
gsxdsm
f478876ee8 fix(FN-1296): reduce done-card mobile touch targets to prevent vertical stretching
- Reduce min-height and padding on done column cards for mobile breakpoints
- Update board-mobile test expectations to match new compact sizing
- Prevents excessive vertical stretching of completed task cards on small screens
2026-04-08 22:04:57 -07:00
gsxdsm
bbc3d6236f feat(FN-1322): add missions tab to mobile nav bar
- Add dedicated Missions tab button to MobileNavBar between Agents and More
- Remove Missions entry from the More sheet (no longer needed as overflow)
- Remove unused onOpenMissions prop from MobileNavBarProps and App.tsx
- Update MobileNavBar tests for five-tab layout and missions tab behavior
- Update mobile feature access regression test to reflect missions in tab bar
2026-04-08 21:57:00 -07:00
gsxdsm
93bfd8a9c0 fix(FN-1295): prevent mobile search bar from overlapping logo
- Replace fixed width constraints with flexible left/right positioning using CSS variables
- Remove hardcoded width/min-width/max-width that caused overflow on narrow screens
- Set left edge to var(--space-md) and right edge to 120px to avoid logo collision
2026-04-08 21:52:53 -07:00
gsxdsm
75ec1874a5 feat(FN-1303): redesign mobile nav with 4-tab structure
- Split board and list into separate bottom nav tab buttons for direct access
- Move activity from bottom nav into a more/action sheet for cleaner layout
- Add usage and search icons to the mobile header
- Remove unused mobile nav CSS for old view-toggle and badge patterns
- Update mobile nav tests to cover the new 4-tab structure
2026-04-08 21:42:31 -07:00
gsxdsm
50a1b2cba3 feat(FN-1293): add --accent override to all 34 color theme variants
- Add --accent CSS custom property override to all 34 dark and 34 light color theme variants in styles.css
- Ensure accent color is consistently applied across every theme
- Add regression tests validating --accent per color theme for both light and dark modes
2026-04-08 21:25:59 -07:00
gsxdsm
50e572b472 feat(FN-1292): consolidate InlineCreateCard controls into single row
- Refactor InlineCreateCard to display all action buttons (Plan, Subtask, Deps, Agent, Browser Verify, Preset, Models, Save) in one consolidated footer row
- Remove the separate inline-create-description-actions CSS class and associated styles
- Update InlineCreateCard tests to reflect the new consolidated control layout
- Update AGENTS.md documentation for InlineCreateCard controls description
- Update memory file with implementation notes
2026-04-08 20:48:08 -07:00
gsxdsm
a9bbb25fd0 feat(FN-1291): add board/list toggle sub-buttons to MobileNavBar
- Add board and list view toggle sub-buttons to MobileNavBar component
- Add CSS styles for toggle sub-buttons with active/hover states
- Update MobileNavBar tests to cover new toggle sub-buttons
- Update mobile feature access regression tests for new nav items
2026-04-08 20:17:07 -07:00
gsxdsm
47a035fde1 feat(FN-1286): add ErrorBoundary component with page-level, modal, and root-level wrapping
- Create ErrorBoundary and ModalErrorBoundary components with recovery actions (retry, reload)
- Add error boundary CSS styles with fallback UI styling
- Wrap main dashboard pages (Board, List, Settings, Agents) with PageErrorBoundary in App.tsx
- Wrap all key modals (task detail, planning, subtask breakdown, mission) with ModalErrorBoundary in AppModals.tsx
- Wrap entire App with RootErrorBoundary in main.tsx as final safety net
- Add 11 comprehensive ErrorBoundary tests covering all rendering and error scenarios
2026-04-08 20:04:23 -07:00
gsxdsm
2842088216 feat(FN-1238): add dashboard loading screen with animated loader component
- Create DashboardLoader component with pulsing Fusion logo and progress bar animation
- Add CSS keyframe animations for smooth loading states
- Gate initial App render with loader until dashboard data is ready
- Add comprehensive tests for DashboardLoader component and App loading behavior
- Update existing App tests to account for loader wrapper
2026-04-08 19:38:45 -07:00
gsxdsm
7e8a99a9ce fix(FN-1235): restore terminal text input interaction
- Remove the xterm pointer-events override from dashboard styles to allow terminal text input focus and typing
- Add a terminal input CSS contract test to guard against regressions in xterm helper element interactivity
- Add a patch changeset for @gsxdsm/fusion documenting the terminal text input fix
2026-04-08 19:19:49 -07:00
gsxdsm
9240c1b10d feat(FN-1233): theme remaining dashboard checkboxes
- Add todo accent-color styling to markdown-rendered checkbox inputs
- Apply consistent checkbox theming in list view header and row checkbox controls
- Theme workflow form and mission checkbox inputs to match dashboard color tokens
- Update mission toggle checkbox input to use the same todo accent color
2026-04-08 19:09:16 -07:00
gsxdsm
d92237c5a1 feat(FN-1230): inline quick entry advanced controls
- Remove the quick-entry actions dropdown and expose Deps, Attach, Models, Agent, and Save controls directly in the expanded panel
- Simplify overlay state handling by dropping actions-menu logic and tightening Escape dismissal order for model/dependency popovers
- Update QuickEntryBox and ListView tests to assert the new inline controls and revised keyboard behavior
- Clean up quick-entry CSS by deleting actions-dropdown styles and adjusting expanded control layout/alignment
- Refresh AGENTS.md quick-entry documentation to match the inline control UX
2026-04-08 19:00:54 -07:00
gsxdsm
8b538988eb test(FN-1156): add AI session lifecycle and reconnect coverage
- Add ai-session-store unit tests for upsert/get round-trips, active filtering, stale recovery, cleanup, thinking debounce, and update/delete events
- Add persistence and resume-history integration tests for planning, subtask, and mission interview sessions across SQLite reload and cancellation flows
- Add reconnect and cross-tab lock tests covering SSE Last-Event-ID replay, keep-alive ping touches, optimistic lock conflicts, stale lock expiry, and lock release on tab close
- Expand useBackgroundSessions hook tests for SSE-driven updates/deletes, project-scoped fetch/stream behavior, counts, dismiss, and refresh state handling
2026-04-08 18:13:36 -07:00
gsxdsm
b2f0df5455 feat(FN-1219): add mission observability and autopilot dashboard UX
- Add mission observability types and API helpers, and forward mission events through SSE with mission filtering support
- Expand MissionManager with health indicators, activity/event log views, improved autopilot controls, and activity auto-scroll behavior
- Refine mission detail mobile controls and styling updates for responsive observability surfaces
- Add regression coverage for MissionManager behavior/mobile CSS and SSE mission filtering
- Include a changeset documenting the mission dashboard observability update
2026-04-08 18:08:06 -07:00
gsxdsm
e5dc8373b9 feat(FN-1154): sync AI session state across browser tabs
- Add a shared AiSessionSync store with BroadcastChannel + storage fallback, ownership locks, heartbeats, and stale-tab detection
- Merge cross-tab session snapshots into useBackgroundSessions with timestamp guards and rebroadcast SSE updates to peers
- Update background session UI and planning/mission/subtask modals to show active-tab lock status and only allow takeover when ownership is stale
- Add hook tests covering sync store messaging/fallback behavior and background session cross-tab merge flows
2026-04-08 16:48:35 -07:00
gsxdsm
b17d4c9b73 feat(FN-1215): refresh settings branding and scope banner theming
- Update Settings modal copy from fn to Fusion for shared/project messaging
- Adjust worktree naming example to use uppercase task IDs (FN-042)
- Make scope banner colors theme-aware using info/success CSS variables with color-mix
- Update desktop and mobile Settings modal tests for the new Fusion scope text
2026-04-08 16:37:13 -07:00
gsxdsm
e044cfbed7 feat(FN-1211): add collapsible advanced options to task form
- Split TaskForm into a primary section and a collapsible "More options" block for dependencies, models, workflow steps, and attachments
- Auto-expand advanced options when non-default values exist and reset dependency dropdown state when the section is collapsed
- Restyle modal form hierarchy, description actions, and advanced option container for clearer visual grouping across desktop and responsive layouts
- Update NewTaskModal and TaskForm tests to open and assert advanced fields through the new More options toggle
2026-04-08 16:23:08 -07:00
gsxdsm
f60c06be79 feat(FN-1298): add stop-agent-run flow across engine and dashboard
- Add heartbeat stopRun support in the engine and wire it into the dashboard server lifecycle
- Add an agent run stop API route and client helper with route-level test coverage
- Add stop controls in AgentDetailView and AgentRunHistory with updated UI tests
- Add a changeset for @gsxdsm/fusion documenting the new stop run feature
2026-04-08 16:17:34 -07:00
gsxdsm
02148d79b6 feat(FN-1153): add cross-tab locks for AI planning sessions
- Bump SQLite schema to v19 with ai_sessions lock columns and lock index, and align migration coverage in core DB tests
- Extend AiSessionStore with acquire/release/force lock APIs, stale lock cleanup, and lock metadata in ai_session update summaries
- Enforce lock checks on planning, subtask, and mission interview mutation routes with 409 conflict responses while keeping stream reads unaffected
- Add frontend tab identity + useSessionLock hook and wire Planning, Subtask, and Mission modals to pass tabId, show lock overlay, and support Take Control
- Expand dashboard route/e2e and modal tests to validate lock enforcement, lock handoff, and lock-aware session reentry behavior
2026-04-08 16:14:32 -07:00
gsxdsm
55e8b6fd94 feat(FN-1209): add quick entry image attachment flow
- Return the created task from board quick create and propagate the onQuickCreate return type through board/list components
- Add pending image handling in QuickEntryBox with paste support, hidden file input, and an Attach action in the menu
- Render removable pending image previews, include image count in the actions badge, and clean up object URLs on reset/unmount
- Upload pending images after task creation with error toasts for failed uploads, and extend tests for attachment and quick-create behavior
2026-04-08 16:03:46 -07:00
gsxdsm
0304a3df20 fix(FN-1207): improve mobile header search behavior
- Replace delayed focus effect with native autoFocus on the mobile search input
- Constrain expanded mobile search positioning and width to prevent overflow on small viewports
- Add Header tests covering mobile search auto-focus and expanded container rendering
2026-04-08 15:41:18 -07:00
gsxdsm
a47db4fa6b feat(FN-1206): promote missions to an inline top-level view
- Extend dashboard task view state and nav controls to include a persistent missions view toggle
- Render MissionManager inline in App project content and route mission/session navigation into the missions view
- Remove modal-based mission wiring from AppModals and useModalManager now that missions are no longer a modal
- Add inline MissionManager styling and update App/Header/tablet tests for the new missions navigation behavior
2026-04-08 15:33:19 -07:00
gsxdsm
e80fb448d4 feat(FN-1152): add retry flows for failed AI planning sessions
- Keep errored AI sessions retryable in the session store and add backend retry handlers for planning, subtask breakdown, and mission interview flows
- Add retry API routes and dashboard API client helpers for planning, subtask, and mission interview session retries
- Update PlanningModeModal, SubtaskBreakdownModal, MissionInterviewModal, and background session handling to show error states with retry/cancel UX
- Expand unit and integration tests across store, services, routes, and modal components to cover retry success and failure paths
2026-04-08 15:10:46 -07:00
gsxdsm
5f53949e2a feat(FN-1192): migrate agent log styling to theme classes
- Add dedicated AgentLogViewer CSS classes for model header layout, badge/timestamp rows, and tool/thinking/result/error states
- Remove inline style objects from AgentLogViewer and switch rendered elements to semantic class names for theme-driven styling
- Update AgentLogViewer tests to verify class-based styling behavior instead of inline style attributes
2026-04-08 15:02:32 -07:00
gsxdsm
af23d6ddb8 feat(FN-1222): add distributed node discovery APIs
- Add discovery configuration and node metadata types in core, including exported interfaces for consumers
- Implement a NodeDiscovery service and wire it into CentralCore with lifecycle hooks and discovery helpers
- Add comprehensive unit coverage for NodeDiscovery behavior and CentralCore discovery integration
- Expose discovery REST endpoints in dashboard routes for config, node listing, and summary/health data
- Add frontend discovery API helpers and route-level tests, plus dependency updates in lockfiles
2026-04-08 14:58:34 -07:00
gsxdsm
65e98af3b5 feat(FN-1180): improve dashboard modal mobile responsiveness
- Add responsive rules for Workflow Step Manager tabs, cards, templates, and footer actions on small screens
- Refactor ScriptsModal to use dedicated CSS classes and mobile-friendly list/form/action layouts
- Add mobile breakpoint adjustments for Scheduled Tasks and Setup Wizard modal spacing and controls
- Optimize model onboarding for mobile with full-width modal layout and stacked provider/API key inputs
- Improve activity log and changes diff mobile behavior with touch-friendly rows, wrapped actions, and horizontal diff scrolling
2026-04-08 14:45:52 -07:00