- Insert new tasks at correct sorted position in useTasks cache immediately on create/duplicate
- Compute insertIndex based on columnMovedAt/createdAt sorting to maintain board order
- Add comprehensive tests for optimistic insertion ordering in useTasks hook
- Cover edge cases: empty columns, single-item columns, and multi-item sorted columns
- Add ScriptsModal test verifying overlay gets 'open' class when modal is shown
- Ensures modal visibility state is correctly reflected in DOM class list
- Add 'open' class to modal overlays in AgentListModal, MissionManager, ScriptsModal, and WorkflowStepManager
- Add Header component tests for overflow menu callbacks and modal visibility
- 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
- 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
- Add Missions link to mobile header overflow menu in Header.tsx
- Remove deprecated task_update tool from pi extension
- Remove task_update tool tests from extension test suite
- Remove stale add-task-update-tool changeset
- Fix usage.ts formatting for consistency
- 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
- 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
- Add hover/active states with smooth color transitions
- Style icon and text elements for visual consistency
- Add subtle background and border-radius on hover
- 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
- 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
- Remove 'tasks' label from Header component
- Remove unused CSS styles related to the header text
- Update Header test to reflect the simplified header
- Improve ChangedFilesModal responsive layout for mobile devices
- Adjust styles for better touch targets and scrolling behavior
- Optimize modal dimensions and padding for smaller screens
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.
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