Commit Graph

1010 Commits

Author SHA1 Message Date
gsxdsm
9eaff1d09b feat(KB-656): add autoExpand prop to QuickEntryBox for list view behavior
- Add autoExpand prop to QuickEntryBox component (defaults to true for backward compatibility)
- Pass autoExpand={false} in ListView to prevent auto-expansion on focus
- Board view continues to auto-expand by default
- Add test coverage for autoExpand={false} behavior
2026-04-01 07:06:23 -07:00
gsxdsm
aba0c687d4 fix(FN-673): complete Step 1 — remove outdated beta header and add retry logic for Claude usage 2026-04-01 07:06:02 -07:00
gsxdsm
79ba5013e1 feat(KB-662): add visibility change listener with debouncing to task refresh
- Add visibilitychange listener in useTasks hook to refresh tasks when tab becomes visible
- Implement 1-second debounce to prevent rapid refetching on visibility changes
- Add comprehensive tests for visibility change behavior including debouncing
- Clean up unused variable in SettingsModal from merge conflict resolution
2026-04-01 07:05:49 -07:00
gsxdsm
02a30a9e96 feat(KB-622): unify steeringComments and comments into single comments field
- Merge steeringComments and comments into unified comments field in Task type
- Update TaskStore to use single comments array instead of separate steeringComments
- Add database migration to convert existing steeringComments to comments
- Update executor to inject all comments into AI execution context
- Update dashboard SteeringTab to use unified comments API
- Update CLI task steer command to use comments field
- Update PR comment handler to add comments via unified API
2026-04-01 07:05:23 -07:00
gsxdsm
8f00302fb6 fix(KB-660): fix Git Manager dialog rendering off-screen on mobile viewports
- Add flex layout to .gm-modal with display: flex, flex-direction: column, overflow: hidden
- Add flex-shrink: 0 to modal header to prevent compression
- Change .gm-content min-height from 400px to 0 for flexible sizing
- Fix mobile responsive styles: height: auto with max-height: 90vh
- Reduce mobile .gm-content min-height from 300px to 200px
- Remove unused Task Changes Tab styles
2026-04-01 07:04:07 -07:00
gsxdsm
e133025798 fix(FN-668): add macOS keychain support for Claude CLI credentials
- Add readClaudeKeychainCredentials() to read from macOS keychain using security CLI
- Fall back to keychain when legacy credential files don't exist
- Support both subscriptionType and rateLimitTier for plan detection
- Add comprehensive tests for keychain credential reading
- Add changeset for patch release
2026-04-01 07:02:54 -07:00
gsxdsm
d2d32acce8 feat(KB-503): add multi-project CLI support with project subcommands
- Add project subcommands: list, add, remove, show, set-default, detect
- Add --project flag support for all task commands
- Create project-context.ts utilities for project resolution
- Add defaultProjectId to GlobalSettings type
- Implement project auto-detection from cwd
- Update CLI argument parsing for global --project flag
- Add multi-project CLI documentation to AGENTS.md
2026-04-01 07:02:15 -07:00
gsxdsm
1ee99b8729 feat(KB-659): add agents view toggle to view selector
- Add agents view option to view selector in Header component

- Update App.tsx to handle agents view routing

- Add tests for view selector toggle behavior
2026-04-01 06:59:58 -07:00
gsxdsm
aa1043bfdd feat(KB-658): reduce ID column width in dashboard list view
- Set ID column width to 70px for consistent sizing in list view

- Set header cell width to match data cells at 70px

- Remove max-width constraint on title cells for better space utilization

- Update responsive styles for title cells
2026-04-01 06:58:12 -07:00
gsxdsm
a48a7d7466 feat(KB-655): change hideDoneTasks default to true
- Change ListView hideDoneTasks default from false to true
- Archived tasks are now hidden by default in list view
- Users can show archived tasks via the 'Show Done' button
- Update ListView tests to account for new default behavior
- Fix test assertions for archived task checkbox selection
2026-04-01 06:57:14 -07:00
gsxdsm
e08eb60cf0 feat(KB-617): add Changes tab to task detail modal with file diffs
- Add modifiedFiles and baseCommitSha fields to task schema for tracking changes
- Capture list of modified files during task execution in the executor
- Add GET /tasks/:id/diff API endpoint to retrieve file list and patches
- Create TaskChangesTab component with expandable file diffs
- Integrate Changes tab into TaskDetailModal for in-progress, in-review, and done tasks
- Add CSS styles for diff viewer with syntax highlighting
- Update API client with fetchTaskDiff function and Project Management types
2026-04-01 06:56:32 -07:00
gsxdsm
d4aa56239c feat(KB-650): add refresh-on-open to usage indicator
- Add useEffect to refresh usage data when modal opens
- Fetch latest usage stats from API on every open
- Add tests for refresh-on-open behavior
- Include changeset for the feature
2026-04-01 06:55:40 -07:00
gsxdsm
fa37de1bed feat(KB-648): enable parallel test execution and optimize test performance
- Optimize backup tests using fake timers instead of real timeouts

- Enable parallel file execution in core, engine, CLI, and dashboard packages

- Add inline test helpers to reduce dependencies in dashboard routes tests

- Update executor tests with exact command matching and improved assertions

- Update AGENTS.md with test optimization patterns (fake timers, unique temp dirs)
2026-04-01 06:54:50 -07:00
gsxdsm
e21ea42d45 feat(KB-651): add changed files diff viewer for tasks
- Add backend API endpoint to get changed files and diffs for a task worktree
- Add useChangedFiles hook for fetching and managing diff data
- Create ChangedFilesModal component with file list and diff viewer
- Integrate modal into TaskCard with click handler to view changes
- Add frontend API integration and type definitions
- Include unit tests for hook and modal components
- Add changeset for the new feature
- Remove deprecated mission-related test files
2026-04-01 02:01:31 -07:00
gsxdsm
d415e9f5fa feat(KB-636): launch missions feature
- Add MissionStore integration tests for core mission operations

- Add mission API end-to-end tests for dashboard endpoints

- Add Missions documentation to README with usage examples

- Update CLI help text with mission commands

- Add changeset for missions package release
2026-04-01 01:52:12 -07:00
gsxdsm
e8f292e350 feat(KB-643): Add project scripts management UI to dashboard
- Add scripts field to ProjectSettings type for storing project-specific commands
- Create ScriptsModal component with CRUD operations and execution support
- Add API endpoints and client functions for script management
- Integrate scripts modal into dashboard header with button trigger
- Add comprehensive tests for ScriptsModal component
2026-04-01 01:48:19 -07:00
gsxdsm
d2354560a0 feat(KB-504): add multi-project migration system
- Add MigrationOrchestrator with automatic project detection and registration
- Add FirstRunExperience with setup wizard for new users
- Add backward compatibility layer for single-project workflows
- Integrate migration hook into CLI entry point
- Add comprehensive tests for migration and first-run functionality
- Update AGENTS.md with multi-project migration and dashboard documentation
2026-04-01 01:40:42 -07:00
gsxdsm
c6be1323d1 feat(FN-674): implement multi-project dashboard UX
- Add Project Overview page with responsive grid and health status cards
- Add Project Selector dropdown in header for quick project switching
- Add Setup Wizard for registering new projects with auto-detection
- Implement project drill-down: click project to view its tasks
- Add global activity feed with cross-project activity log
- Add project health monitoring with real-time status polling
- Add deep linking support for tasks via ?task= URL parameter
- Add useTasks hook with project context filtering
- Add ntfy notification deep link to open tasks in dashboard
- Fix terminal error message formatting for agent failures
- Unify comment style across codebase (// instead of /** */)
- Add comprehensive tests for multi-project components
2026-04-01 01:36:24 -07:00
gsxdsm
bd829d273a feat(KB-622): unify steeringComments and comments into single field
- Add database migration to merge steeringComments into comments field
- Update SQLite schema and queries to use unified comments column
- Refactor TaskStore to handle single comments field instead of dual fields
- Update dashboard components (SteeringTab, TaskCard) for unified comments
- Update engine executor and PR comment handler for new field structure
- Remove deprecated steeringComments from types and interfaces
2026-04-01 01:34:25 -07:00
gsxdsm
3eeac0a05c fix(FN-672): remove ntfy deep links and improve terminal error messages
- Remove ntfy deep link feature (ntfyDashboardHost setting)

- Add changeset for terminal session error message improvements

- Remove deep link logic from dashboard App and SettingsModal

- Clean up notifier tests and implementation

- Return specific error codes for terminal session failures
2026-04-01 01:26:48 -07:00
gsxdsm
84834cd723 feat(FN-669): add ntfy deep link support for dashboard notifications
- Add ntfyDashboardHost setting to GlobalSettings for dashboard URL
- Generate deep link URLs in ntfy notifications with Click header
- Add tests for deep link generation with various URL scenarios
- Handle ?task= query param in dashboard for deep linking
- Add dashboard hostname UI in settings modal with validation
2026-04-01 01:24:01 -07:00
gsxdsm
2575c6cdfe feat(KB-641): improve terminal session result flow and remove mission commands
- Fix terminal session error handling and result flow in dashboard

- Update terminal session tests for new result handling

- Remove unused mission CLI commands, store, and scheduler integration

- Add changeset for terminal session error fixes

- Clean up deprecated mission-related changeset files
2026-04-01 01:23:31 -07:00
gsxdsm
3692b97440 feat(KB-635): add mission management CLI commands and engine integration
- Add comprehensive mission CLI commands: create, list, show, start, abort, delete, and next
- Add Pi extension tools for mission operations: list_missions, show_mission, start_mission, abort_mission
- Implement mission-aware scheduler with task start handling and autoAdvance support
- Add sliceId to Task type and autoAdvance flag to Mission type for slice sequencing
- Add MissionStore helper methods for mission lifecycle operations
- Include comprehensive tests for CLI commands and Pi extension mission tools
2026-04-01 01:19:19 -07:00
gsxdsm
0ba42c92f3 feat(KB-502): add dashboard multi-project hooks and project API routes
- Add project API routes for multi-project backend integration
- Create useProjects hook for listing and managing registered projects
- Create useCurrentProject hook for current project selection and switching
- Create useProjectHealth hook for real-time project health metrics
- Create useActivityLog hook with ActivityLogModal integration
- Add comprehensive test coverage for all hooks (useProjects, useCurrentProject, useActivityLog)
- Add test setup utilities for React Query mocking
2026-04-01 01:15:44 -07:00
gsxdsm
265bcede89 feat(FN-671): add disclosure toggle to QuickEntryBox
- Add disclosure state with expanded/collapsed toggle button
- Implement disclosure pattern CSS styles for visual feedback
- Update QuickEntryBox to support expandable/collapsible interface
- Fix CSS variable reference: use --card-hover instead of non-existent --background-hover
- Set default disclosure state to expanded (true) for backward compatibility
- Add comprehensive tests for disclosure state, toggle behavior, and interactions
2026-04-01 00:00:46 -07:00
gsxdsm
4ef12b36b7 feat(FN-670): fix list view title column width
- Add width: 100% to .list-cell-title CSS class
- Ensures title column expands to fill available space in list view
- Apply fix in both default and responsive media query sections
2026-03-31 23:44:51 -07:00
gsxdsm
6d4221f5f2 feat(FN-667): fix model dropdown z-index to prevent overlay issues
- Increase model dropdown z-index to 500 in dashboard styles.css
- Add changeset for the z-index fix
- Clean up completed task files (FN-663 through FN-672, KB-295, KB-341, KB-502-KB-504, KB-617-KB-622, KB-635-KB-636, KB-641, KB-643, KB-648, KB-650-KB-662)
- Update executor tests and remove unused logger import
2026-03-31 23:43:34 -07:00
gsxdsm
f6e7ec58ab feat(KB-622): WIP - executor and test fixes for unified comments 2026-03-31 23:43:01 -07:00
gsxdsm
92ab955349 feat(KB-657): add expand toggle to quick task creation UI
- Add toggle button to QuickEntryBox (list view) for expand/collapse
- Add toggle button to InlineCreateCard (board view) for expand/collapse
- Add CSS styles for toggle buttons and collapsed states
- Update component tests for new toggle functionality
- Add changeset for the toggle button feature
2026-03-31 23:41:49 -07:00
gsxdsm
5a12fc3ab5 feat(KB-619): add multi-project CLI support
- Add project-resolver module with CentralCore integration for project resolution
- Add project subcommands: list, add, remove, info with proper CLI integration
- Add --project flag support across all task and settings commands
- Refactor getStore to use project resolution with options pattern
- Update bin.ts command routing to extract and propagate project context
- Add project context propagation via FN_PROJECT environment variable
2026-03-31 23:41:36 -07:00
gsxdsm
0855097235 feat(KB-662): add visibility change listener with debouncing
- Add page visibility change detection with debounced state handling

- Implement visibility listener for managing background task behavior

- Add comprehensive tests for debouncing and visibility transitions

- Resolve type conflicts in types.ts and SettingsModal.tsx
2026-03-31 23:32:06 -07:00
gsxdsm
e478311c53 fix(KB-662): resolve merge conflicts in types.ts and SettingsModal.tsx 2026-03-31 23:31:52 -07:00
gsxdsm
e5c598122f feat(KB-617): add diff viewer tab to task detail modal
- Add modifiedFiles and baseCommitSha tracking during task execution
- Create GET /tasks/:id/diff API endpoint for file list and patches
- Build TaskChangesTab component with expandable file diffs
- Integrate Changes tab into TaskDetailModal for in-progress, in-review, and done tasks
- Add database columns and types for diff tracking
- Update executor to capture modified files during agent sessions
2026-03-31 23:31:04 -07:00
gsxdsm
7eca797c0f fix(KB-660): fix Git Manager dialog rendering off-screen on small viewports
- Fix .gm-content min-height from 400px to 0 for proper flex behavior
- Add mobile responsive styles to prevent modal overflow
- Create changeset for patch release
2026-03-31 23:29:46 -07:00
gsxdsm
48c4c357b4 feat(KB-656): add autoExpand prop to QuickEntryBox for list view
- Add autoExpand prop to QuickEntryBox component (defaults to true for backward compatibility)
- Pass autoExpand={false} from ListView to prevent automatic expansion on focus
- Keep board view with default auto-expand behavior
- Add test coverage for autoExpand={false} behavior
- Add changeset for patch release
2026-03-31 23:29:29 -07:00
gsxdsm
2a0c660aa8 fix(FN-668): add macOS keychain support for Claude credentials
- Implement readClaudeKeychainCredentials() to read from macOS keychain\n- Add fallback to keychain when legacy credential files don't exist\n- Add tests for keychain credential reading success and failure paths\n- Create changeset for usage dropdown credential detection fix
2026-03-31 23:29:05 -07:00
gsxdsm
fb65d4bf0b feat(KB-503): add multi-project CLI support
- Add project context utilities for multi-project operations

- Add project subcommands (list, add, remove, set-default, detect)

- Update CLI argument parsing with --project flag support

- Add multi-project documentation and changeset
2026-03-31 23:28:43 -07:00
gsxdsm
c5e4ad0cf7 feat(KB-658): reduce ID column width and remove legacy dashboard components
- Reduce ID column width in list view for better space utilization
- Remove deprecated AgentsView component (consolidated into other views)
- Remove TaskChangesTab component (replaced by unified diff viewer)
- Add project-runtime.ts foundation for multi-project runtime architecture
- Fix duplicate variable declaration in SettingsModal
- Update tests for removed components and new hooks behavior
2026-03-31 23:25:42 -07:00
gsxdsm
5f6b930c24 feat(KB-659): add Agents view toggle to main view selector
- Add AgentsView as a third view option alongside Board and List
- Add view toggle button with board/list/agents options in Header
- Integrate agents monitoring directly into main dashboard navigation
- Remove separate Agents modal button from header
- Update App.tsx to handle agents view state
- Add comprehensive tests for AgentsView component and Header view toggle
2026-03-31 23:25:32 -07:00
gsxdsm
e40e3f087e feat(KB-655): change hide done tasks default to true
- Change hideDoneTasks default from false to true in ListView
- Done and archived tasks are now hidden by default in list view
- Update tests to reflect new default behavior and task ID consistency
2026-03-31 23:25:19 -07:00
gsxdsm
560bb3a1aa feat(KB-650): add refresh-on-open effect to usage modal
- Add refresh effect when usage modal opens to get latest usage data\n- Include changeset for usage modal refresh feature
2026-03-31 23:22:04 -07:00
gsxdsm
552ba8db2d feat(KB-648): enable parallel test execution and optimize test performance
- Enable parallel file execution in vitest configs for core, engine, CLI, and dashboard packages
- Optimize backup tests with fake timers for faster, deterministic execution
- Fix SettingsModal temporal dead zone by moving declaration before useCallback
- Fix engine tests with missing git branch delete mock and correct branch names
- Fix git worktree list mock and mission store mock in CLI tests
- Add changeset documenting test optimization patterns
- Update AGENTS.md with test optimization best practices
2026-03-31 23:19:52 -07:00
gsxdsm
d9f8058870 feat(KB-654): add dynamic viewport height for mobile board layout
- Add 100dvh fallback after 100vh for proper mobile browser chrome handling
- Fixes board overflow issues on mobile Safari/Chrome where dynamic toolbars affect viewport
- Maintains backward compatibility with 100vh for older browsers
2026-03-31 23:19:42 -07:00
gsxdsm
7344a80e40 feat(KB-618): add multi-project support to dashboard
- Add project API methods and types (fetchProjects, registerProject, fetchProjectHealth, etc.)
- Add ProjectCard component with health metrics, status badges, and pause/resume actions
- Add server-side project management routes for multi-project orchestration
- Add ActivityFeed component with grouped entries and project badges
- Add SetupWizard component with 5-step project creation flow
- Fix TypeScript errors in server routes for listProjects and getGlobalConcurrencyState
2026-03-31 23:19:03 -07:00
gsxdsm
38f7cec604 fix: prevent SQLite corruption by checkpointing WAL and closing DB on shutdown
The database was never properly closed on SIGINT/SIGTERM — WAL files were left
in a partially-written state causing "database disk image is malformed" errors.
Adds WAL checkpoint on close, synchronous=NORMAL pragma, SIGTERM handlers, and
a store.close() method that flushes all pending writes before exit.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 23:15:30 -07:00
gsxdsm
32fbca551e feat(FN-666): implement retry logic with exponential backoff for Claude usage API
- Add retry logic with exponential backoff to fetchClaudeUsage()

- Add unit tests for retry behavior with mocked fetch

- Add inline documentation explaining retry behavior

- Handle transient network failures and 5xx errors gracefully
2026-03-31 22:58:53 -07:00
gsxdsm
96802938a0 feat(KB-617): add Changes tab to task detail modal for viewing file diffs
- Add baseCommitSha field to tasks for diff computation baseline
- Track modified files in executor and store in database
- Add /api/tasks/:id/diff endpoint to serve unified diffs
- Add getTaskDiff() API client function in dashboard
- Create TaskChangesTab component with file list and diff viewer
- Integrate Changes tab into TaskDetailModal with proper styling
- Add changeset for the new diff viewer feature
2026-03-31 22:58:38 -07:00
gsxdsm
d5fbdf0124 feat(KB-660): fix Git Manager modal rendering and responsive layout
- Fix Git Manager modal CSS layout and mobile responsive styles
- Add changeset for Git Manager modal fix
- Remove obsolete quick-entry-auto-expand changeset
- Clean up QuickEntryBox component styling
- Remove tests for removed auto-expand functionality
2026-03-31 22:58:07 -07:00
gsxdsm
f1f654eb11 feat(KB-656): add autoExpand prop to QuickEntryBox and disable in list view
- Add autoExpand prop to QuickEntryBox component (defaults to true)
- Disable auto-expand in list view to reduce visual clutter
- Add tests for autoExpand={false} behavior
- Add changeset for the quick entry auto-expand change
- Fix duplicate variable in QuickEntryBox component
- Remove unused imports from useTasks hook
2026-03-31 22:55:40 -07:00
gsxdsm
661658944f feat(KB-658): reduce ID column width and improve test performance
- Reduce ID column width in list view for better space utilization
- Remove duplicate variable declaration in SettingsModal
- Resolve merge conflict in types.ts
- Speed up tests with increased file parallelism across packages
- Refactor backup tests to use fake timers for faster execution
- Clean up styles and test configurations
2026-03-31 22:55:06 -07:00