Commit Graph

571 Commits

Author SHA1 Message Date
gsxdsm
db2924549e feat(FN-783): make agent log fill full modal body height
- Add CSS classes for full-height agent log layout with flex-based stretching
- Update AgentLogViewer and TaskDetailModal to use full-height container classes
- Add regression tests for AgentLogViewer full-height behavior
- Add regression tests for TaskDetailModal agent log panel height
- Update dashboard README with agent log layout documentation
2026-04-03 12:38:01 -07:00
gsxdsm
d4feee0999 feat(FN-781): reposition AI-assisted creation controls adjacent to description field
- Move Plan and Subtask buttons next to the description input in QuickEntryBox, InlineCreateCard, and TaskForm
- Improve action button layout with consistent icon+label pattern and disabled states
- Add CSS styles for new action button group and description-adjacent controls
- Add regression tests for all three task creation surfaces ensuring buttons appear next to description
- Document the description-adjacent AI controls pattern in dashboard README
2026-04-03 11:58:49 -07:00
gsxdsm
18335ab2a5 feat(FN-779): make inline editor taller with 4-row default and mount-time resize
- Increase inline editor textarea default rows from 1 to 4 for better multi-line editing
- Add mount-time auto-resize to fit content on initial render
- Add regression tests for taller inline editor behavior
- Update documentation to reflect the new taller editor defaults
2026-04-03 11:23:53 -07:00
gsxdsm
d55e6a4431 feat(FN-778): reserve layout space for executor footer
- Add CSS rules for executor status bar footer with safe-area padding
- Update App.tsx and AgentsView.tsx layout to accommodate footer space
- Add regression tests for footer-safe project layout (App.test.tsx)
- Add unit tests for ExecutorStatusBar component
- Document footer-safe dashboard layout behavior in README
2026-04-03 11:14:37 -07:00
gsxdsm
ca75d1e705 feat(FN-776): rework changed-files modal into mobile-friendly navigation flow
- Redesign ChangedFilesModal as a two-view navigation flow (file list → file detail) with back navigation
- Fix theming and loading/reading ergonomics for the diff viewer
- Enhance useChangedFiles hook with improved loading and error states
- Add comprehensive tests for modal navigation, diff rendering, and edge cases
- Update styles with mobile-friendly layout and diff viewer improvements
- Update dashboard README with mobile navigation description
2026-04-03 10:47:44 -07:00
gsxdsm
41adcda408 feat(FN-773): add dedicated ScriptRunDialog for saved script output
- Add ScriptRunDialog component with xterm.js terminal emulation and real-time streaming
- Align saved-script launches with backend contract (POST /api/scripts/:id/run)
- Wire dialog into App.tsx with open/close state management
- Add comprehensive styles for dialog overlay, terminal area, and action buttons
- Add unit tests for ScriptRunDialog and App integration
- Document ScriptRunDialog usage in dashboard README
2026-04-03 10:31:30 -07:00
gsxdsm
b15816e7ef feat(FN-792): rebuild Mission Manager modal shell and list view
- Rebuild MissionManager component with updated modal shell and list view layout
- Refactor and reorganize dashboard CSS styles (551 lines changed)
- Remove terminal-related test files and simplify terminal service/useTerminal hook
- Clean up global settings: remove unused global-settings test and simplify settings types
- Remove dead code from App.tsx, SettingsModal.tsx, and dashboard README
2026-04-03 09:29:51 -07:00
gsxdsm
d67437a5a2 feat(FN-777): redesign Mission Manager interaction shell and update styles
- Redesign MissionManager component with improved interaction patterns and shell layout
- Refactor Board, Column, and QuickEntryBox components for consistency
- Add comprehensive CSS styles (742 lines) for mission manager and related components
- Add MissionManager test suite (324 lines) covering new interaction behavior
- Update Board, Column tests; remove obsolete ListView and QuickEntryBox tests
- Clean up unused code in App.tsx and ListView.tsx
- Update Missions section in README and dashboard README to reflect actual UI behavior
2026-04-03 08:37:33 -07:00
gsxdsm
ee8f19fc93 feat(FN-766): add three-tier responsive header with tablet compact mode
- Add tablet compact-header breakpoint (769px–1024px) with condensed layout
- Implement responsive Header component with mobile/tablet/desktop modes
- Add tablet-header-controls test suite (373 lines) for compact mode behavior
- Update existing Header and mobile-header-controls tests for new responsive tiers
- Refactor server routes and styles.css for three-tier responsive support
- Document responsive header architecture in README
2026-04-03 07:39:11 -07:00
gsxdsm
5148d4670b refactor(FN-761): make card inline editing description-only and remove terminal features
- Simplify TaskCard inline editing to support description-only editing
- Remove terminal/PTY features: useTerminal hook, TerminalModal, xterm integration
- Remove project store resolver caching and session file route handling
- Simplify executor worktree pool and remove terminal-related code
- Clean up dead code from dashboard server, styles, and engine
- Update QuickEntryBox and all related tests for the simplified editing model
- Remove unused .gitignore entries and update dashboard README
2026-04-03 07:13:07 -07:00
gsxdsm
3697bd0d71 feat(FN-767): add Claude session reset time to usage modal
- Preserve Claude reset timestamps in the usage data model (usage.ts)
- Display session reset time in the UsageIndicator dashboard component
- Add component comments explaining reset-time rendering logic
- Add styles for the reset time display in the usage modal
- Add tests for usage data model and UsageIndicator component
2026-04-02 23:32:22 -07:00
gsxdsm
be89cb3581 fix(FN-759): restructure terminal header for mobile and add regression tests
- Restructure TerminalModal header layout to support mobile viewports with proper flex sizing
- Add CSS styles for responsive terminal header with title truncation and icon wrapping
- Add inline comment documenting mobile header layout contract
- Add comprehensive TerminalModal test suite covering mobile layout, resize behavior, and header interactions
- Clean up unrelated store test and changeset remnants from prior work
2026-04-02 22:59:37 -07:00
gsxdsm
f9dd3983c0 fix(FN-745): improve fallback model recovery 2026-04-02 21:50:41 -07:00
gsxdsm
98dd0fad01 style(FN-698): audit and clean up dashboard styles and engine code
- Systematic component review of Header, PrSection, TaskComments, and MergeDetails
- Design token audit replacing hardcoded colors/spacing with CSS variables
- Inline style audit migrating inline styles to stylesheet classes
- Remove dead code: rate-limit-retry module and unused test files
- Consolidate and reorganize styles.css with improved token usage
2026-04-02 14:04:46 -07:00
gsxdsm
974ffc2ef6 feat(FN-707): hide project selector on mobile and add to overflow menu
- Hide ProjectSelector on mobile via hidden className and CSS media query
- Add project selector as menu item in mobile overflow menu
- Add CSS safety net (max-width: 767px) to ensure selector stays hidden
- Add comprehensive tests for mobile project selector visibility behavior
2026-04-02 13:53:00 -07:00
gsxdsm
7760bcc9cd feat(FN-694): add DirectoryPicker component and redesign SetupWizardModal
- Add browse-directory API endpoint and client for native folder selection
- Create DirectoryPicker component with manual input, browse button, and validation
- Redesign SetupWizardModal to use DirectoryPicker for project path selection
- Add comprehensive tests for DirectoryPicker and SetupWizardModal
- Remove bundled fusion skill and related extension/sync code from CLI package
2026-04-02 13:30:08 -07:00
gsxdsm
64636b7e26 feat(FN-697): style the Back to All Projects header button
- Add hover/active states with smooth color transitions
- Style icon and text elements for visual consistency
- Add subtle background and border-radius on hover
2026-04-02 13:18:50 -07:00
gsxdsm
f3bef96787 feat(FN-684): complete Step 4 — add executor status bar CSS styles 2026-04-02 10:43:26 -07:00
gsxdsm
1d133afeb9 feat(FN-682): add multi-tab terminal support with session persistence
- Add useTerminalSessions hook for managing multiple terminal sessions
- Update TerminalModal to support multiple tabs with persistent sessions
- Fix memory leak in useTerminalSessions (proper cleanup on unmount)
- Fix type leak (avoid exposing internal session state)
- Add comprehensive test coverage for useTerminalSessions hook
- Update TerminalModal tests for multi-tab behavior
- Remove obsolete test files and highlightDiff utility
2026-04-02 10:22:31 -07:00
gsxdsm
814ce9e9d7 feat(FN-692): remove 'tasks' text from dashboard header
- Remove 'tasks' label from Header component
- Remove unused CSS styles related to the header text
- Update Header test to reflect the simplified header
2026-04-02 10:11:04 -07:00
gsxdsm
4d94a5085e fix(FN-691): add height constraint to mobile board layout
- Add height: calc(100dvh - 57px) to mobile board layout media query
- Fixes board overflow issues on mobile viewports
2026-04-02 10:04:17 -07:00
gsxdsm
8c2e72af42 feat(FN-686): make ChangedFilesModal mobile-friendly
- Improve ChangedFilesModal responsive layout for mobile devices
- Adjust styles for better touch targets and scrolling behavior
- Optimize modal dimensions and padding for smaller screens
2026-04-02 10:01:47 -07:00
gsxdsm
fa096cf518 feat(FN-683): add diff syntax highlighting with background colors
- Add highlightDiff utility React component for diff rendering
- Add CSS styles for diff-add (green), diff-del (red), diff-hunk (blue) line highlighting
- Integrate highlightDiff in TaskChangesTab for inline diffs
- Integrate highlightDiff in ChangedFilesModal for file diffs
- Add unit tests for highlightDiff utility
2026-04-02 09:58:04 -07:00
gsxdsm
e95ca2c0ec fix(KB-657): fix test bugs and add InlineCreateCard CSS styles
- Fix QuickEntryBox test missing props destructuring
- Fix QuickEntryBox test using wrong initial state expectation
- Add .inline-create-toggle CSS styles for toggle button
- Add .inline-create-card--collapsed/.expanded modifier classes
- Add .inline-create-main-row layout styles
2026-04-02 09:33:05 -07:00
gsxdsm
b05fbb7ecb feat(FN-671): complete mobile header layout and QuickEntryBox improvements
- Add project selector component with search and dropdown UI
- Add Task Changes tab styles for viewing diffs in task detail
- Implement QuickEntryBox disclosure pattern with collapsible controls panel
- Move Usage and Activity Log buttons to mobile overflow menu
- Add disclosure preference persistence via localStorage
- Complete legacy comment migration for unified comments system
- Update QuickEntryBox tests for disclosure behavior
2026-04-02 09:18:16 -07:00
gsxdsm
28979baf40 feat(FN-669): complete Step 7 — add CSS styles for model favorite buttons 2026-04-01 22:27:58 -07:00
gsxdsm
64295637f2 feat: enhance dashboard styling and functionality for task changes and package extensions 2026-04-01 22:06:12 -07:00
gsxdsm
52096baa48 feat(KB-660): fix mobile responsive styles for Git Manager modal
- Add flex layout and overflow hidden to .gm-modal container
- Fix mobile responsive styles for Git Manager modal
- Clean up unused changeset files and test stubs
2026-04-01 21:58:28 -07:00
gsxdsm
a19912af9a feat(KB-662): complete Step 2 — add visibility refresh tests for useProjects 2026-04-01 21:36:22 -07:00
gsxdsm
51e0883708 feat(KB-503): merge kb/kb-503
- feat(KB-503): complete Step 5 other command project support
- fix(KB-503): align task resolution with shared project context
- fix(KB-503): preserve local task command fallback
- test(KB-503): complete Step 4 task command coverage
- test(KB-503): harden Step 3 CLI parser coverage
- fix(KB-503): keep settings set scope explicit
- fix(KB-503): allow implicit project resolution for project settings
- fix(KB-503): enforce explicit settings scope rules
- fix(KB-503): restore shared settings resolution behavior
- fix(KB-503): align settings scope and project flag behavior
- feat(KB-503): complete Step 5 — add project-aware settings, git, and backup behavior
- fix(KB-503): enforce settings scope for global and project modes
- fix(KB-503): preserve project-scoped settings and cwd-aware git helpers
- fix(KB-503): add scoped settings behavior and git project tests
- feat(KB-503): complete Step 5 — add project-aware git and backup coverage
- test(KB-503): cover remaining project-aware task command paths
- fix(KB-503): use shared resolution flow for all task commands
- fix(KB-503): restore legacy task fallback and correct task mocks
- fix(KB-503): align task resolution order and kb storage paths
- fix(KB-503): restore local task store fallback without project flag
- test(KB-503): cover remaining project-aware task handlers
- fix(KB-503): preserve branch naming and avoid duplicate log resolution
- test(KB-503): expand project-aware task command coverage
- fix(KB-503): restore cwd fallback for path-based task commands
- fix(KB-503): add project-aware task output and tests
- fix(KB-503): harden project command output and coverage
- fix(KB-503): preserve legacy task resolution without project flag
- test(KB-503): add bin routing coverage for project flag parsing
- feat(KB-503): complete Step 3 — CLI argument parsing updates
- fix(KB-503): add defaultProjectId to GlobalSettings type and fix TypeScript errors
- test(KB-503): fix resolveProject mock in task tests for runTaskLogs follow mode
- docs(KB-503): add multi-project CLI documentation and changeset
- test(KB-503): add project-context mock to task tests
- test(KB-503): update git tests for new cwd parameter
- feat(KB-503): Step 3 — CLI argument parsing updates with --project flag support
- feat(KB-503): Steps 1-2 — project context utilities and project subcommands
2026-04-01 15:06:58 -07:00
gsxdsm
c597f5519f feat(KB-617): add task diff Changes tab and backend support
- Add core task fields for base commit and modified files to support diff computation
- Implement dashboard and API wiring for task changes, including Task Detail Changes tab integration
- Update executor flow to capture modified files during execution for accurate diff display
- Add tests and changeset covering the diff viewer feature
2026-04-01 15:04:30 -07:00
gsxdsm
61ea334a58 fix(KB-658): resolve list view merge conflicts and finalize KB-658 changes
- Resolve conflicts in dashboard styles by preserving fixed ID column sizing and title overflow behavior in list view
- Keep SettingsModal cleanup from branch by removing duplicate variable declaration
- Retain core types conflict resolution from branch updates
- Verify workspace builds successfully with pnpm build before squash commit
2026-04-01 15:01:56 -07:00
gsxdsm
4e297104b3 feat(KB-651): add changed files diff viewer
- Add task file diff API support with cached changed-file snapshots and robust diff generation for added, deleted, modified, and renamed files
- Integrate the dashboard changed files viewer into task flows without reintroducing removed board project context UI
- Expand route coverage for project-aware task listing and changed-file diff behavior, including rename diff regression cases
- Include the published package changeset for the new changed files diff viewer feature
2026-04-01 14:38:18 -07:00
gsxdsm
614c710de8 fix(FN-680): restore TaskStore project resolution and fresh schema writes
- fix TaskStore.getOrCreateForProject to resolve projects through BackwardCompat and support legacy .fusion/.kb detection
- add regression tests for exact-name project lookup, legacy cwd fallback, and fresh-schema task create/update persistence
- sync the tasks schema definition with missionId support so fresh databases match runtime migrations
- add project overview and selector styles for the multi-project dashboard UI
2026-04-01 13:48:01 -07:00
gsxdsm
26df995f36 fix(FN-667): fix model dropdown layering in quick entry
- Render the custom model dropdown menu in a portal so it escapes clipped stacking contexts
- Update dashboard styles to give the floating model menu reliable overlay positioning above quick entry surfaces
- Refresh dropdown-focused tests to cover portal layering behavior in quick entry and model selector flows
- Document the layering behavior in the dashboard README for future UI maintenance
2026-04-01 13:32:29 -07:00
gsxdsm
826a495679 feat(FN-670): enforce merge build verification and activity feed fallback
- Add activity feed fallback to the local project log when central activity is empty or unavailable
- Pass configured build commands into executor and merger prompts with hard-gate instructions
- Add merger build-failure reporting via report_build_failure and stop commits when verification fails
- Expand engine and dashboard regression coverage for activity feed fallback and merge build verification
2026-04-01 13:24:57 -07:00
gsxdsm
3cc10b21eb feat(KB-657): add manual quick-add expand toggles
- Add chevron expand/collapse toggles to dashboard quick-add flows in list and board views
- Keep advanced quick-add controls hidden until expanded and collapse them after successful submission
- Tighten quick-add accessibility and blur behavior around overlays and empty drafts
- Add dashboard regression coverage and a published changeset for the quick-add interaction update
2026-04-01 13:22:49 -07:00
gsxdsm
d80a5765cf feat(FN-671): preserve quick entry disclosure and normalize comment migration
- Keep QuickEntryBox disclosure state persisted and covered by updated UI tests
- Add normalized legacy comment migration logic to unify steering comments without duplication
- Update database migration tests to verify schema v5 comment handling behavior
- Carry merged dashboard, engine, and routing changes into the squash commit
2026-04-01 13:07:26 -07:00
gsxdsm
3122cbfa1c fix(KB-660): keep Git Manager modal within the viewport
- Constrain the Git Manager modal with a flex column layout and overflow containment
- Prevent the modal header from shrinking and let the content area resize within available space
- Adjust small-screen sizing to use auto height with a 90vh cap so overlay padding is respected
- Add changeset entries documenting the Git Manager modal viewport rendering fix
2026-04-01 12:27:26 -07:00
gsxdsm
5e257adbc9 feat(KB-658): tighten dashboard list view column sizing
- Reduce the list view ID column to a fixed 70px width
- Preserve full-width title cells so task titles use the remaining space
- Resolve the styles.css merge conflict by combining both list layout adjustments
- Verify the workspace build succeeds with pnpm build
2026-04-01 11:38:27 -07:00
gsxdsm
f6ba388536 feat(FN-687): relocate ProjectSelector to header-left group
- Move ProjectSelector from standalone header section into header-left div next to logo/title
- Change dropdown positioning from right-aligned to left-aligned with higher z-index
- Update CSS to use inline-flex and relative positioning for proper containment
- Adjust mobile styles for narrower max-width within header-left
- Add test verifying ProjectSelector renders inside header-left container
2026-04-01 09:26:44 -07:00
gsxdsm
5c367d2a97 feat(FN-685): add QuickScriptsDropdown component to dashboard header
- Create QuickScriptsDropdown component with script listing, one-click execution, and keyboard navigation (arrow keys, Enter, Escape)
- Replace static Scripts button in Header with dropdown menu showing all configured scripts
- Add loading, empty, and error states with 'Manage Scripts...' footer link
- Add full CSS styles with theme support, animations, and mobile responsiveness
- Add comprehensive tests (510 lines) covering rendering, interactions, keyboard nav, and edge cases
2026-04-01 09:19:28 -07:00
gsxdsm
389ac3fb88 feat(FN-683): complete Step 2 — add mobile header layout styles 2026-04-01 08:55:59 -07:00
gsxdsm
5cdcb78dd0 feat(FN-672): add ProjectSelector component for multi-project support
- Add ProjectSelector component with search and status indicators
- Integrate ProjectSelector into Header with mobile responsive layout
- Update App.tsx with project selection handlers and view mode switching
- Add ProjectSelector CSS styles with status color coding
2026-04-01 08:33:16 -07:00
gsxdsm
fb204dd68c feat(KB-651): add changed files diff viewer to dashboard
- Add backend API endpoint /api/tasks/:id/diff for file diffs
- Add useChangedFiles hook for fetching and managing diff state
- Create ChangedFilesModal component with file list and diff viewer
- Integrate modal with TaskCard via files changed badge click
- Add CSS styling for changed files layout and diff display
- Add keyboard navigation (Escape to close)
- Include unit tests for ChangedFilesModal component
2026-04-01 08:26:46 -07:00
gsxdsm
2fbd3aaf6c feat(FN-680): add multi-project dashboard UI and setup wizard
- Add SetupWizardModal for first-run project registration with auto-detection
- Add project overview and selector component styles (560+ lines)
- Update ProviderIcon component with multi-project support
- Add project API routes and registration endpoints
- Update core types and exports for multi-project architecture
- Extend CLI with project management commands
- Remove obsolete changeset and test file
2026-04-01 08:17:54 -07:00
gsxdsm
c1ca8a4316 feat(FN-670): add mandatory build verification before merge
- Add report_build_failure tool to merger agent for explicit build failure signaling
- Run buildCommand before finalizing merge, abort if build fails with git reset --merge
- Treat build failures as fatal errors (no retry) and keep task in in-review
- Add build verification instruction to executor system prompt
- Update executor to use steeringComments field for mid-execution guidance
2026-04-01 07:28:28 -07:00
gsxdsm
4750d75b45 feat(FN-676): fix modal button positioning and refactor project commands
- Fix sticky bottom actions positioning in NewTaskModal with CSS improvements
- Add changeset for modal button position fix
- Refactor CLI project commands with cleaner error handling and logic
- Update project resolver tests for improved coverage and reliability
- Sync settings and task command improvements from core type changes
2026-04-01 07:16:37 -07:00
gsxdsm
a8dbd95d8c feat(KB-657): add expand/collapse toggle to quick add components
- Add toggle button (ChevronDown/ChevronUp) to QuickEntryBox (list view) and InlineCreateCard (board view)

- Replace auto-expand behavior with manual toggle control

- Add CSS styles for collapsed/expanded states and toggle button positioning

- Update tests to verify toggle behavior

- Provide cleaner default UI while keeping advanced options discoverable
2026-04-01 07:13:14 -07:00
gsxdsm
800146550e feat(FN-671): add disclosure toggle to QuickEntryBox and reorganize mobile header
- Add persistent disclosure state with localStorage to QuickEntryBox

- Add toggle button for manual expand/collapse with ChevronUp/Down icons

- Change expanded controls to show based on user preference, not focus

- Add comprehensive CSS for toggle button and expanded/collapsed states

- Reorganize mobile header overflow menu (Usage and Activity Log buttons)

- Update all QuickEntryBox tests for new disclosure behavior
2026-04-01 07:10:39 -07:00