Commit Graph

545 Commits

Author SHA1 Message Date
gsxdsm
e4662beabd fix(FN-700): remove duplicate mobile overflow menu buttons and clean up dead code
- Remove duplicate Terminal and Schedules buttons from mobile overflow menu in Header
- Remove unused CSS styles for mobile overflow menu items
- Clean up dead/duplicate route handler code in routes.ts
- Simplify TaskCard script button rendering logic
- Add tests for mobile Scripts button visibility in Header
2026-04-02 13:21:46 -07:00
gsxdsm
3040868824 feat(FN-699): auto-expand steps for re-triaged tasks with existing progress
- Auto-expand step list on TaskCard when triage tasks have done/skipped steps
- Update existing triage test to use pending steps for fresh task scenario
- Add tests for re-triaged tasks with completed and skipped steps
2026-04-02 13:20:22 -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
93029ce009 feat(FN-684): complete Step 6 — integrate ExecutorStatusBar into App 2026-04-02 10:44:15 -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
4db7d59a3c feat(FN-684): complete Step 3 — create ExecutorStatusBar component with tests 2026-04-02 10:42:57 -07:00
gsxdsm
ec068a8e77 feat(FN-684): complete Step 2 — create useExecutorStats hook with tests 2026-04-02 10:37:51 -07:00
gsxdsm
5d7a56de71 feat(FN-690): add event toggles to Settings modal 2026-04-02 10:35:12 -07:00
gsxdsm
144ce18d1d feat(FN-684): complete Step 1 — add ExecutorStats type and API function 2026-04-02 10:32:47 -07:00
gsxdsm
ac0e96e491 feat(FN-693): add projectId to NtfyNotifier for multi-project deep links
- Add projectId parameter to NtfyNotifier constructor and sendMessage method
- Include projectId in notification deep links for multi-project context
- Add unit tests for deep link URL construction with projectId in App.tsx
- Add unit tests verifying project ID handling in notifier
2026-04-02 10:27:49 -07:00
gsxdsm
6daf95bbb3 fix(FN-679): use merge-base diff in modal changes tab
- Updated /tasks/:id/diff endpoint to use merge-base comparison
- Changed from HEAD~1..HEAD to ...HEAD syntax
- Added fallback to HEAD when merge-base fails
- Verified fix matches /tasks/:id/file-diffs endpoint pattern
2026-04-02 10:25:57 -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
a075c549d3 feat(FN-677): add browser verification workflow step template
- Add browser verification workflow step template to WORKFLOW_STEP_TEMPLATES
- Update NewTaskModal UI with browser verification checkbox
- Update InlineCreateCard UI with browser verification toggle
- Add tests for browser verification feature
- Create changeset for minor version bump
2026-04-02 10:20:22 -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
0d71541a4d feat(FN-681): add multi-tab terminal support
- Implemented multi-tab support in TerminalModal component
- Each tab maintains independent WebSocket connection and xterm instance
- Tab management: create, switch, close tabs with keyboard shortcuts (Ctrl+Tab)
- Added Plus button to create new tabs
- Added close button on tabs (except last remaining tab)
- Updated keyboard shortcuts text in status bar
- Connection status indicator per tab
- Per-tab scrollback buffers preserved when switching tabs
- Auto-cleanup of all sessions when modal closes
- Added comprehensive tests for multi-tab functionality
2026-04-02 09:48:53 -07:00
gsxdsm
fe7e535edb feat(FN-687): add markdown rendering to agent log viewer
- Add ReactMarkdown component to AgentLogViewer for rendering markdown content in agent logs
- Remove className prop from ReactMarkdown for v10 compatibility (fix)
- Add comprehensive tests for markdown rendering in agent log
- Consolidate test files by removing redundant InlineCreateCard and QuickEntryBox tests
2026-04-02 09:48:40 -07:00
gsxdsm
437c4734dd feat(KB-636): complete Missions system final integration
- Export resolveGlobalDir from @fusion/core for CLI compatibility
- Fix type error in SettingsModal (fetchModels returns response.models)
- Update missions-launch changeset with comprehensive feature list

All mission tests pass:
- Core: mission-integration.test.ts (13 tests), mission-store.test.ts (67 tests)
- Dashboard: mission-e2e.test.ts (18 tests)
- Engine: mission-scheduler.test.ts (10 tests), scheduler mission integration tests
- CLI: mission.test.ts (15 tests)

Documentation verified:
- README.md includes complete Missions section
- CLI help text includes all mission commands
- Changeset created for missions-launch
2026-04-02 09:47:37 -07:00
gsxdsm
254182e01b feat(FN-668): add button visibility tests for task creation components
- Add testid to save button in InlineCreateCard for test targeting
- Add tests verifying InlineCreateCard buttons are hidden when collapsed
- Add tests verifying QuickEntryBox controls have hidden attribute when collapsed
- Add tests for toggle behavior and button accessibility in both components
2026-04-02 09:40:56 -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
72ab0acdba fix(FN-676): expand section headers to full table width
- Fix section header colSpan to span entire table width (matching column count)
- Add test verifying colSpan attribute matches visible column count
- Refactor ScriptsModal for improved structure and maintainability
- Remove unused routes.ts entries (consolidated to API.ts)
- Remove unused terminal-service.ts functionality
2026-04-02 09:32:34 -07:00
gsxdsm
890c413b5a feat(KB-643): add Dashboard Scripts UI feature
- Add scripts field to ProjectSettings type for custom dashboard scripts
- Update ScriptsModal with improved UI for script management
- Add QuickScriptsDropdown component for quick script access
- Implement scripts API routes for CRUD operations
- Update CLI with multi-project commands (project add/remove/list/show/set-default/detect)
- Various UI improvements and bug fixes across dashboard components
- Migration support for multi-project architecture
2026-04-02 09:31:57 -07:00
gsxdsm
5c43918425 feat(FN-673): add dashboard reconnect resync and model settings split
- Resync tasks after SSE stream reconnect with debounced visibility refresh
- Split Model settings into Default Model and Execution Model sections
- Add planning and validator model dropdowns in Execution Model section
- Remove beta header and add retry logic for Claude usage
- Add comprehensive tests for 429 rate limiting and retry behavior
- Add CLI fallback for Claude usage when OAuth API is rate limited
2026-04-02 09:31:24 -07:00
gsxdsm
6fd1fa3c2f chore: resolve merge conflicts 2026-04-02 09:29:31 -07:00
gsxdsm
ecabeac947 feat(KB-656): add autoExpand prop to QuickEntryBox
- Add autoExpand prop to QuickEntryBox (defaults to true for backward compatibility)
- When autoExpand is true, component auto-expands on focus
- List view passes autoExpand={false} to keep view collapsed by default
- Board view continues to auto-expand using default behavior
- Add tests for both autoExpand modes and verify focus behavior
2026-04-02 09:20:37 -07:00
gsxdsm
52b5fb7e0e test(FN-673): update SettingsModal tests for section split 2026-04-02 09:19:51 -07:00
gsxdsm
c03c9602b4 feat(KB-620): complete Step 7 — Migration and first-run experience
- Add fn init command for initializing new kb projects
- Add auto-migration check at CLI startup
- Add /api/setup-state and /api/complete-setup dashboard endpoints
- Add SetupState and CompleteSetupInput types to dashboard API
- Add migration and rollback documentation to AGENTS.md
- Create changeset for multi-project migration feature
2026-04-02 09:18:45 -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
f8a4e0073c fix(FN-673): split Model settings into Default Model and Execution Model sections 2026-04-02 09:13:57 -07:00
gsxdsm
566f531361 feat: rename data directory, add global project settings, multi-project CLI commands, and provider badge in model selector
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 09:10:42 -07:00
gsxdsm
e24250b399 feat(FN-673): fix planning/validator model settings save/restore
- Removed duplicate activeSectionScope declaration (lines 83 and 171)
- Modified handleSave to always save both global and project settings
- Backend now filters appropriately (updateSettings ignores global keys, updateGlobalSettings ignores project keys)
- This fixes planningProvider, planningModelId, validatorProvider, and validatorModelId not persisting when saved from the Model section
2026-04-01 22:56:18 -07:00
gsxdsm
dc442cf391 feat: refactor tests and improve mocking for file-service and GitHub polling
- Updated mocking strategy for node:fs and node:fs/promises in file-service tests.
- Removed redundant test files and improved test implementations for better clarity.
- Enhanced GitHub polling service tests with rate limiter integration.
2026-04-01 22:44:44 -07:00
gsxdsm
04b194982d feat: add per-provider timeout for usage panel to prevent blocking on slow responses
fix: update scheduler filesystem path from .kb to .fusion for task validation

style: clean up TaskDetailModal styling with reusable CSS classes

test: add comprehensive tests for file-service operations with mocked filesystem
2026-04-01 22:38:18 -07:00
gsxdsm
3ecc64a62d fix(FN-669): fix failing tests for model favorites 2026-04-01 22:33:19 -07:00
gsxdsm
0c532b23f8 feat(FN-669): complete Step 8 — add and update tests for model favorites 2026-04-01 22:30:51 -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
b2b81e76b8 feat(FN-669): complete Step 6 — pass model favorites props to CustomModelDropdown 2026-04-01 22:25:58 -07:00
gsxdsm
f7b85afb85 feat(FN-669): complete Step 5 — manage model favorites in ModelSelectorTab 2026-04-01 22:24:23 -07:00
gsxdsm
e8daccefdc feat(FN-669): complete Step 4 — add model favorites support to CustomModelDropdown 2026-04-01 22:23:08 -07:00
gsxdsm
c430a8eccc feat(FN-669): complete Step 3 — update ModelsResponse interface to include favoriteModels 2026-04-01 22:21:11 -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
74b7301b28 feat(KB-662): add visibility-based refresh to dashboard hooks 2026-04-01 21:57:23 -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
2778027423 Removed unwanted files marked in .gitignore 2026-04-01 21:25:08 -07:00
gsxdsm
fbf749a525 feat(KB-651): add task file diffs API
- Add API endpoint to fetch git diffs for tasks in review
- Implement file diff routes with support for changed files view
- Add comprehensive test suite for file diffs endpoint
- Update dashboard API client for diff fetching capabilities
2026-04-01 17:28:21 -07:00
gsxdsm
dac68ab2f7 feat(KB-502): implement dashboard multi-project UX
- Add project selector, health badge, and overview components to dashboard
- Add multi-project API functions (api.ts) for cross-project operations
- Update App.tsx with project context and navigation improvements
- Add script-store.ts for centralized project script management
- Extend types with multi-project support: SetupState, MigrationOptions, etc.
- Add project runtime fields: baseCommitSha, modifiedFiles, missionId, sliceId
- Add setupComplete to global settings for first-run wizard tracking
- Add project-level settings: scripts, setupScript, ntfyDashboardHost
- Add backward-compatible addSteeringComment method to TaskStore
2026-04-01 16:41:11 -07:00
gsxdsm
193f83074d feat(KB-659): merge kb/kb-659 (auto-resolved)
- test(KB-659): add agents view integration tests to App.test.tsx and search visibility tests to Header.test.tsx
- fix(KB-659): resolve merge conflict in types.ts and duplicate declaration in SettingsModal
- feat(KB-659): add agents view toggle to view selector
2026-04-01 15:24:50 -07:00