Commit Graph

4512 Commits

Author SHA1 Message Date
gsxdsm
e8bcd4d776 feat(KB-194): add collapsible sections to ListView with localStorage persistence
- Add collapse state management with localStorage persistence per section
- Update section headers with chevron icon and click handler
- Conditionally render task rows based on collapsed state
- Add aria-expanded attribute for accessibility
- Add comprehensive tests for collapsible section behavior
2026-03-30 13:15:59 -07:00
gsxdsm
4927346f57 feat(KB-136): add shared badge pub/sub for multi-instance deployments
- Add BadgePubSub interface with Redis and in-memory adapters

- Implement cross-instance badge snapshot delivery via Redis pub/sub

- Add message validation, echo loop prevention, and structured caching

- Support graceful fallback to in-memory mode when Redis unavailable

- Update ServerOptions for dependency injection and add documentation
2026-03-30 12:52:07 -07:00
gsxdsm
af11364cd9 feat(KB-193): auto-expand steps for in-progress task cards
- Auto-expand steps disclosure when task is in-progress
- Keep steps collapsed for todo/done/archived states
- Add comprehensive tests for auto-expand behavior in TaskCard
- Update TaskCard component with expanded state logic
2026-03-30 12:49:25 -07:00
gsxdsm
ace95ca9a8 feat(KB-192): move progress bars to top of definition tab
- Reposition progress indicator bars to the top of the definition tab in TaskDetailModal
- Add changeset for the UI improvement
2026-03-30 12:42:44 -07:00
gsxdsm
5facec46e1 feat(KB-191): change request refinement button to 'Refine'
- Update TaskDetailModal button text to 'Refine'

- Update test assertions in TaskDetailModal.test.tsx

- Add changeset for the UI text change

- Remove stale kb-100-header-test-branding changeset file
2026-03-30 12:39:38 -07:00
gsxdsm
c7dbccf48e chore(KB-100): add changeset for header test branding
- Add changeset file for Header component test update
2026-03-30 12:36:16 -07:00
gsxdsm
9c7278b5c7 fix(KB-190): prevent mobile zoom in dashboard
- Add user-scalable=no to viewport meta tag in index.html
- Include changeset for the mobile zoom prevention fix
2026-03-30 12:29:55 -07:00
gsxdsm
5c42b7d796 feat(KB-188): reorganize header button layout for mobile
- Reorganize Header component button layout for mobile view

- Update Header tests with mobile layout coverage

- Improve responsive button arrangement in mobile breakpoint
2026-03-30 12:26:33 -07:00
gsxdsm
14f9315c7c feat(KB-188): complete Step 4 — Documentation & Delivery
- Add changeset for header button layout improvement
2026-03-30 12:25:55 -07:00
gsxdsm
79e6657db9 feat(KB-183): replace native select with CustomModelDropdown in SettingsModal
- Replace native <select> with CustomModelDropdown for model selection
- Remove legacy option filtering and selection logic from SettingsModal
- Update SettingsModal tests to work with new dropdown component
- Add comprehensive test coverage for CustomModelDropdown interactions
2026-03-30 12:16:59 -07:00
gsxdsm
824799fadd fix(KB-172): fix terminal session leak with activity tracking and stale eviction
- Add session activity tracking (lastActivityAt) to TerminalService
- Implement stale session eviction when approaching session limits
- Fix WebSocket close handler to properly kill PTY sessions on disconnect
- Add lastActivityAt to session listing endpoint for observability
- Add comprehensive tests for activity tracking, eviction, and terminal routes
- Add changeset for patch release
2026-03-30 12:11:12 -07:00
gsxdsm
f9596d9642 feat(KB-181): add kb task plan command with planning mode
- Add kb task plan CLI command for interactive planning mode
- Create planTask tool in extension for LLM-initiated planning sessions
- Add comprehensive tests for task plan command with edge cases
- Update QuickEntryBox UI with planning mode button
- Add changeset for planning mode CLI feature
2026-03-30 11:53:16 -07:00
gsxdsm
f3d9bf6100 feat(KB-097): clean up type errors and remove obsolete code
- Remove stale changeset files (mobile touch fixes, subtask breakdown)
- Fix type errors in QuickEntryBox and TaskCard components
- Remove obsolete test files (TaskCard.test.tsx, triage.test.ts)
- Fix import issues in planning.ts
- Clean up triage.ts and useAgentLogs.ts
2026-03-30 11:47:37 -07:00
gsxdsm
fba739e21f fix(KB-167): prevent task modal from opening on mobile scroll
- Implement touch gesture detection to distinguish tap from scroll gestures
- Add CSS touch-action property for proper mobile scroll handling
- Add comprehensive tests for touch gesture behavior in TaskCard
- Include changeset for patch release
2026-03-30 11:42:56 -07:00
gsxdsm
b4631032f6 feat(KB-149): add mobile touch gesture support to TaskCard
- Implement touch gesture detection for swipe and tap interactions in TaskCard
- Add comprehensive tests for touch event handling (209 lines of test coverage)
- Include changeset for mobile touch sensitivity fix
- Enable smooth card interactions on mobile devices
2026-03-30 11:40:09 -07:00
gsxdsm
467f724a1b feat(KB-178): add proactive triage subtask guidance
- Add proactive subtask breakdown prompts to triage agent
- Update dashboard routes to support triage subtask operations
- Add comprehensive tests for triage subtask guidance logic
- Include changeset for @dustinbyrne/kb package release
2026-03-30 11:33:07 -07:00
gsxdsm
3fb3ca2fdf fix(KB-090): improve refinement route validation with trimmed feedback
- Trim whitespace from feedback before length validation
- Catch whitespace-only input at route level before store call
- Update test to verify route-level validation blocks empty feedback
- Use trimmed feedback for store operations and logging
2026-03-30 11:27:06 -07:00
gsxdsm
a7de078fef feat(KB-129): dashboard performance optimizations
- Fix SSE hook cleanup to prevent memory leaks and stale connections
- Cap agent log memory and optimize batch log processing
- Memoize Board, Column, and TaskCard with custom comparator to reduce re-renders
- Stabilize column task arrays and preserve pagination across live updates
- Add TaskCardBadge component for PR/issue state display
- Remove deprecated GitHub polling code and archive functionality from core store
2026-03-30 11:26:55 -07:00
gsxdsm
d147428430 refactor(KB-067): migrate GitHub issue routes from fetch to gh CLI
- Replace fetch-based GitHub API calls with gh CLI in issues/fetch and issues/import routes
- Update tests to mock gh CLI instead of fetch with proper error handling
- Reduce code complexity by leveraging gh CLI's built-in JSON output
- Add changeset documenting the refactoring work
2026-03-30 11:19:02 -07:00
gsxdsm
15025c5b64 feat(KB-156): implement archive cleanup with restoration support
- Add ArchiveEntry type and archive.jsonl storage format for compact task archives
- Implement archiveTask() with optional cleanup and archiveTaskAndCleanup() convenience method
- Add restoreFromArchive() to reconstruct tasks from archive entries when directory is missing
- Implement cleanupArchivedTasks() for bulk cleanup of all archived task directories
- Add comprehensive tests for archive, cleanup, and restore operations (385+ lines)
- Add readArchiveLog(), findInArchive(), and unarchiveTask() API methods
- Document archive storage pattern and restoration behavior in AGENTS.md
- Include changeset for patch release noting archive cleanup feature
2026-03-30 11:01:48 -07:00
gsxdsm
d928a31bd4 feat(KB-066): add batch GitHub import with throttled request handling
- Add fetchThrottled utility to GitHubClient with 429 retry handling and exponential backoff
- Implement POST /api/github/batch-import endpoint for bulk GitHub resource imports
- Add frontend API client function for batch import operations
- Add comprehensive tests for throttled requests and batch import endpoint
- Add retryAfter field to batch import result types for rate limit handling
- Clean up unfinished UsageIndicator component and worktree retry cleanup code
- Add changeset documenting the new batch GitHub import feature
2026-03-30 10:56:33 -07:00
gsxdsm
702361eafc fix(KB-170): handle worktree cleanup after merge retries exhausted
- Add mergeRetries counter to track per-task retry attempts
- Auto-resolve lock files and generated files during retry attempts
- Clean up worktree when all 3 merge retry attempts are exhausted
- Add comprehensive tests for retry cleanup logic in executor
- Add changeset for the worktree retry cleanup fix
2026-03-30 10:50:43 -07:00
gsxdsm
4b919fb732 feat(KB-168): add usage pace indicator to dashboard
- Add pace calculation based on task velocity to UsageIndicator
- Display pace marker and progress bar with visual indicators
- Add view mode toggle for compact vs detailed display
- Include comprehensive tests for pace indicator behavior
- Add changeset for the new feature
2026-03-30 10:44:14 -07:00
gsxdsm
2e05980a3b test(KB-120): add search filter tests for Header and Board
- Add Header search tests for filter functionality (48 lines)

- Add Board search filter tests for task filtering (203 lines)

- Remove unused code from TaskDetailModal component

- Cover search input rendering and filter behavior for both components
2026-03-30 09:17:29 -07:00
gsxdsm
6588abc384 feat(KB-166): fix search reset bug in dependency dropdown
- Fix search input resetting when selecting dependencies in PlanningModeModal
- Remove obsolete changeset file fix-planning-modal-autostart.md
- Update PlanningModeModal tests for the fixed behavior
- Add focus management improvements in TaskDetailModal
2026-03-30 09:15:29 -07:00
gsxdsm
c3dc12bede fix(KB-165): resolve planning modal autostart in StrictMode
- Fix double-render bug by using ref for hasAutoStarted instead of state\n- Enable auto-start planning tests in App.test.tsx and ListView.test.tsx\n- Add changeset for the planning modal autostart fix\n- Add comprehensive tests for planning mode auto-start behavior
2026-03-30 09:13:10 -07:00
gsxdsm
4e73b0e23b feat(KB-164): unify list view task creation with board view modal
- Replace inline QuickEntryBox with NewTaskModal trigger in list view
- Wire ListView to open NewTaskModal via onCreateTask prop
- Remove standalone task creation logic from QuickEntryBox
- Update App component to pass modal handlers to ListView
- Simplify QuickEntryBox to pure quick-entry without inline creation
- Update tests to verify unified modal-based creation flow
2026-03-30 09:12:23 -07:00
gsxdsm
b34f180d97 feat(KB-160): implement expandable textarea in QuickEntryBox
- Add expandable textarea with auto-resize functionality to QuickEntryBox
- Update QuickEntryBox tests for new expandable behavior
- Refactor PlanningModeModal tests for improved consistency
- Remove obsolete changeset for planning-mode-streaming fix
- Add CSS transitions for smooth textarea expansion
2026-03-30 09:06:57 -07:00
gsxdsm
f37b5d3fde docs(KB-159): add changeset for planning mode streaming feature 2026-03-30 09:02:08 -07:00
gsxdsm
92d21b3150 test(KB-159): skip timing-sensitive auto-start tests 2026-03-30 09:02:00 -07:00
gsxdsm
2af3e16692 test(KB-159): update PlanningModeModal tests for streaming 2026-03-30 08:59:21 -07:00
gsxdsm
28d86a3175 feat(KB-158): fix refresh button spacing and remove transient error detection
- Fix refresh button icon spacing in UsageIndicator component

- Remove transient error detection feature and related tests

- Clean up planning mode API routes and modal integration code

- Add changeset for refresh button spacing fix

- Remove obsolete handle-transient-errors changeset
2026-03-30 08:55:19 -07:00
gsxdsm
bff0c13d85 feat(KB-159): complete Step 4 — update frontend for streaming display 2026-03-30 08:55:07 -07:00
gsxdsm
7954c62201 feat(KB-153): add usage view mode toggle and provider icons
- Add 'used' vs 'remaining' view mode toggle with localStorage persistence
- Integrate ProviderIcon component for visual provider identification
- Add getProviderIconKey helper to map provider names to icon keys
- Update UsageWindowRow to display percentages based on selected view mode
- Add comprehensive tests for view mode toggle and icon rendering
2026-03-30 08:50:41 -07:00
gsxdsm
6bcbe0ae27 feat(KB-159): complete Step 2 — implement planning session SSE infrastructure 2026-03-30 08:49:54 -07:00
gsxdsm
f44411ea29 feat(KB-144): add mobile-safe planning mode text inputs
- Set planning mode text inputs to 16px font size to prevent iOS auto-zoom on focus

- Update TaskDetailModal component with mobile-safe input styling

- Add CSS styles for mobile-safe planning mode inputs

- Add unit tests for mobile planning input font size behavior

- Document mobile-safe planning mode input behavior and rationale
2026-03-30 08:42:01 -07:00
gsxdsm
a8eafdf541 feat(KB-155): fix dropdown search reset in TaskDetailModal
- Fix search input state not resetting when task detail modal reopens
- Remove obsolete mobile input font size test file
- Clean up stale changeset for PTY loading fix
- Update terminal service error handling
- Remove test artifacts and temporary KB-* directories
2026-03-30 08:40:13 -07:00
gsxdsm
b6fbbc4269 Remove unused files 2026-03-30 08:39:47 -07:00
gsxdsm
317e6603a6 feat(KB-131): add mobile-safe task entry input with regression tests
- Apply 16px font size to mobile task entry inputs to prevent iOS auto-zoom
- Add regression tests for mobile input font sizing behavior
- Document mobile-safe task-entry requirements in dashboard README
- Update terminal service PTY loading logic
2026-03-30 08:38:27 -07:00
gsxdsm
48429e3d45 fix(KB-151): lazy-load node-pty to fix packaged binary execution
- Convert static node-pty import to dynamic import in TerminalService\n- Only load native PTY module when terminal session is actually created\n- Fix Bun-compiled binary failures on commands like --help, task list\n- Add changeset documenting the lazy-loading fix
2026-03-30 08:37:31 -07:00
gsxdsm
2540818794 feat(KB-133): add mobile-responsive header with collapsible controls
- Add mobile-only header with collapsible search and overflow menu interactions

- Implement responsive layout locks in CSS for all screen sizes

- Update Header component with touch-friendly interaction states

- Add comprehensive unit and integration tests for mobile controls

- Document mobile header behavior and responsive design in README
2026-03-30 08:31:29 -07:00
gsxdsm
dc8325d543 feat(KB-150): remove title input fields from task creation modals
- Remove title input from NewTaskModal component
- Remove title input from PlanningModeModal SummaryView
- Update NewTaskModal tests to remove title field references
- Clean up unused title-related form state and handlers
2026-03-30 08:30:12 -07:00
gsxdsm
555cbd9ddc feat(KB-141): fix workspace type resolution and add clean-checkout typecheck tests
- Remove dist-dependent workspace type resolution from all tsconfig files

- Add clean-checkout typecheck regression test to CI suite

- Update package.json type definitions for core, engine, dashboard, and cli packages

- Update README with typecheck testing documentation

- Clean up unused test files and component dependencies
2026-03-30 08:24:16 -07:00
gsxdsm
82ed74e6b1 feat(KB-146): make task card edit button visible on mobile
- Add CSS media queries to show edit button on mobile screens\n- Style adjustments for mobile viewport breakpoints\n- Update README with documentation on mobile editing capability
2026-03-30 08:20:39 -07:00
gsxdsm
3492196dc7 feat(KB-148): display per-task model overrides in agent log viewer
- Add model info header to AgentLogViewer with executor/validator display

- Show provider icons and model IDs when overrides are set

- Display 'Using default' badge when no override is configured

- Update TaskDetailModal to extract and pass model selections

- Add comprehensive tests for model display functionality
2026-03-30 08:17:21 -07:00
gsxdsm
fb4ae45f3b test(KB-126): add scroll behavior test for NewTaskModal
- Add test to verify modal body has overflow-y auto for scrollability
- Check that modal-body element exists within new-task-modal
- Ensure proper CSS scroll containment for long content
2026-03-30 08:13:59 -07:00
gsxdsm
1af92ef129 feat(KB-127): add Quick Entry box to ListView for rapid task creation
- Add QuickEntryBox component to ListView for inline task creation
- Wire up Quick Create functionality in App.tsx
- Add comprehensive tests for Quick Entry feature in ListView
- Remove legacy TaskDetailModal edit button and related styles
- Clean up unused store methods and update vitest configs
2026-03-30 08:12:45 -07:00
gsxdsm
870191c31a feat(KB-119): complete Step 6 — add changeset for styling fix 2026-03-30 08:10:01 -07:00
gsxdsm
7b1653b0db feat(KB-119): complete Step 4 — fix attachment previews layout 2026-03-30 08:08:20 -07:00
gsxdsm
2789e0bb88 feat(KB-119): complete Step 3 — improve form spacing and visual hierarchy 2026-03-30 08:07:52 -07:00