Commit Graph

264 Commits

Author SHA1 Message Date
gsxdsm
f2c00ad147 feat(KB-175): move file browser to header with workspace support
- Add workspace file APIs and hooks for session-scoped file browsing
- Create WorkspaceSelector component for switching between workspaces
- Update FileBrowserModal with workspace mode and improved UX
- Add files button to header with workspace-aware file browsing
- Add session files indicator to task cards for quick file access
- Include comprehensive tests for all new components and hooks
2026-03-31 01:26:57 -07:00
gsxdsm
52542f2ae6 feat(KB-265): fix editor height layout and remove planning validator models
- Fix FileEditor height with flexbox constraints (flex-1/min-h-0 pattern)

- Add test for markdown preview scrollability (scrollable markdown body)

- Remove planning validator models feature from SettingsModal and engine

- Clean up related types in @kb/core and changeset files
2026-03-31 00:05:33 -07:00
gsxdsm
2875d3437b feat(KB-147): add planning and validator model settings
- Extend core Settings types with planningProvider, planningModelId, validatorProvider, validatorModelId fields
- Add model selectors in Settings UI for planning and validator models
- Use planning model for triage task specification generation
- Use validator model for specification review in triage
- Use validator model for code reviews in executor agent
- Update AGENTS.md with model hierarchy documentation
2026-03-31 00:02:16 -07:00
gsxdsm
8d8ccef302 feat(KB-264): add word wrap toggle and fix markdown preview scrolling
- Add word wrap toggle button with WrapText icon to FileEditor

- Fix markdown preview scrolling with height: 100% CSS

- Add comprehensive tests for word wrap toggle and scrollability
2026-03-30 23:39:40 -07:00
gsxdsm
2cd382b7eb fix(KB-263): fix text not being passed into Planning Mode from quick entry
- Fix stale closure bug in PlanningModeModal auto-start useEffect
- Move handleStartPlanning definition before the effect that references it
- Remove redundant handleStartPlanningWithPlan callback
- Add planOverride parameter to handleStartPlanning for proper prop passing
- Fix hasAutoStartedRef timing to prevent early triggering
2026-03-30 23:39:20 -07:00
gsxdsm
e877a25012 feat(KB-251): complete Step 2 — engine title generator module 2026-03-30 23:30:39 -07:00
gsxdsm
e6108c94f1 feat(KB-261): complete Step 1 — add Git button to Header 2026-03-30 23:27:50 -07:00
gsxdsm
43e60bc766 feat(KB-257): add localStorage persistence for QuickEntryBox draft input
- Persist draft task input in localStorage to prevent data loss on refresh
- Restore saved draft when component mounts
- Clear localStorage entry when task is successfully created
- Add comprehensive tests for persistence behavior
- Remove fixed positioning styles from ListView component
2026-03-30 23:20:04 -07:00
gsxdsm
1d1b2fa05f feat(KB-256): reposition QuickEntryBox above table headers in ListView
- Move QuickEntryBox from below headers to above the table in ListView
- Update CSS to support new positioning with sticky header layout
- Adjust ListView component structure for better visual hierarchy
- Update ListView tests to reflect new component ordering
2026-03-30 23:18:59 -07:00
gsxdsm
f1997c0176 feat(KB-255): remove 60-character truncation from task descriptions in dashboard
- Remove 60-character truncation from ListView component task descriptions
- Remove 60-character truncation from TaskCard component task descriptions
- Update ListView tests to verify full description display
- Add TaskCard tests for description rendering without truncation
- Remove unused CSS styles related to description truncation
2026-03-30 21:40:25 -07:00
gsxdsm
062d00ab80 feat(KB-252): implement collapse-on-blur behavior for QuickEntryBox
- Collapse QuickEntryBox on blur regardless of content (only check dropdowns open state)
- Change expanded controls to show only when focused (isExpanded), not when content exists
- Remove dependency on text content for determining expanded state
- Update all QuickEntryBox tests to reflect new blur behavior and focus requirements
- Fix test async handling with act() for timer advancement
2026-03-30 20:18:06 -07:00
gsxdsm
113b8ee8dd feat(KB-253): reorder size badge to far right in done column cards
- Move size badge to the rightmost position in TaskCard for done column cards\n- Maintain left-side placement for other columns (todo, in-progress)\n- Add unit tests to verify badge positioning based on column\n- Update badge order logic to use flex row-reverse for done cards
2026-03-30 20:17:13 -07:00
gsxdsm
23368cc25f feat(KB-248): replace checkbox with Plan and Subtask buttons in task creation UI
- Replace 'break into subtasks' checkbox with explicit Plan and Subtask buttons

- Update InlineCreateCard (Board view) and QuickEntryBox (List view) with new button layout

- Wire up button callbacks in App.tsx, Board, and ListView components

- Update and add tests for disabled button behavior when no description entered

- Document new Plan and Subtask button behavior in AGENTS.md
2026-03-30 19:53:45 -07:00
gsxdsm
6db4e785c8 feat(KB-246): add mobile support to FileBrowserModal
- Add mobile view state and screen size detection in FileBrowserModal

- Add back button and conditional layout with CSS classes for mobile/desktop

- Add mobile CSS for two-state layout (file list and editor views)

- Add comprehensive tests for mobile view interactions and navigation

- Add changeset for release notes
2026-03-30 19:50:35 -07:00
gsxdsm
4581f41b4a feat(KB-244): add GitHub logo icon for import button
- Add custom GitHubLogo SVG component with Octocat mark
- Replace Download icon with GitHubLogo in desktop import button
- Replace Download icon with GitHubLogo in mobile overflow menu
- Use currentColor for automatic light/dark theme compatibility
2026-03-30 19:33:44 -07:00
gsxdsm
a0bf688019 feat(KB-243): fix loading state text and ensure thinking container visibility in PlanningModeModal
- Fix loading state text rendering in PlanningModeModal

- Ensure thinking container is always visible during planning operations

- Add comprehensive tests for loading state behavior and thinking container visibility
2026-03-30 19:26:38 -07:00
gsxdsm
4745cc2770 feat(KB-240): move spec edit button to top of task detail modal
- Relocate Edit button from bottom to top of spec section
- Improves discoverability by showing edit action before prompt content
- Adjust margin from marginTop to marginBottom for proper spacing
2026-03-30 19:20:07 -07:00
gsxdsm
a07d83d615 feat(KB-238): remove "Using" prefix from pace indicator messages
- Remove "Using " prefix from pace calculation messages in usage.ts

- Update message format from "Using X% over/under pace" to "X% over/under pace"

- Update all UsageIndicator tests to match new message format

- Add changeset for patch release of @dustinbyrne/kb
2026-03-30 19:16:48 -07:00
gsxdsm
b40973a03d feat(KB-234): add double-click edit and Escape key handling to SpecEditor
- Add double-click handler to SpecEditor for quick edit mode entry

- Implement Escape key handler to exit edit mode

- Add comprehensive double-click interaction tests

- Add CSS styles for improved editor UX
2026-03-30 19:09:52 -07:00
gsxdsm
b231311f73 feat(KB-176): complete Step 2 — add Summary section to Definition tab 2026-03-30 18:59:57 -07:00
gsxdsm
518de3970c feat(KB-227): allow viewing binary files as read-only in file browser
- Remove binary file restrictions from file service backend

- Add visual read-only indicator for binary files in FileBrowserModal

- Add CSS styles for binary file indicators

- Update tests to expect binary files to be readable
2026-03-30 18:55:57 -07:00
gsxdsm
cf5c8da286 feat(KB-232): swap pace indicator colors and icons in UsageIndicator
- Swap CSS color assignments for slow/fast pace indicators in styles.css
- Swap CheckCircle2 and AlertCircle icons in UsageIndicator component
- Add changeset for the pace indicator color/icon swap
- Remove 2 lines from dashboard README
2026-03-30 18:51:14 -07:00
gsxdsm
fbe1d9ab2a feat(KB-231): add light mode support for dashboard UI
- Add CSS variables for light/dark theme support in global styles
- Remove hardcoded dark fallback colors from AgentLogViewer component
- Remove hardcoded dark fallback colors from SteeringTab comment bubbles and textarea
- Add changeset for patch release tracking
- Update ProviderIcon and NewTaskModal with proper theme-aware styling
- Clean up unused dashboard routes and tests
2026-03-30 18:47:07 -07:00
gsxdsm
b8374c80aa feat(KB-230): add ProviderIcon with real icons and update NewTaskModal trigger
- Add ProviderIcon component using real provider brand icons
- Update NewTaskModal trigger button styling and behavior
- Refactor automation.ts for cleaner provider handling
- Remove deprecated ScheduleCard and ScheduleForm components
- Clean up orphaned test files (ScheduleForm.test.tsx, routes.test.ts)
- Update dashboard routes configuration
2026-03-30 18:45:39 -07:00
gsxdsm
740ea9aeea feat(KB-228): add schedule time presets
- Add morning, afternoon, evening, and night preset schedules to core automation types
- Update ScheduleForm with preset selection dropdown and time handling
- Add color coding for different schedule types in ScheduleCard
- Add tests for new schedule preset functionality
- Include changeset for release tracking
2026-03-30 18:42:04 -07:00
gsxdsm
6c360959c8 feat(KB-226): add markdown preview to FileEditor
- Add markdown preview toggle to FileEditor with live preview pane
- Implement syntax-highlighted code blocks and responsive layout
- Add comprehensive tests for preview toggle and content rendering
- Update dashboard README with FileEditor usage documentation
- Add changeset for markdown preview feature
- Clean up obsolete changeset files
2026-03-30 18:41:12 -07:00
gsxdsm
e970ddbd09 feat(KB-220): rebrand dashboard to Fusion with compact toolbar and mobile layout
- Redesign dashboard header with compact toolbar layout and simplified navigation
- Add mobile responsive view with back button for task detail modal
- Rebrand documentation from KB to Fusion across README and CLI docs
- Remove legacy ActivityLogModal and consolidate settings UI
- Update GitHub import modal styling and improve test coverage
- Add visually-hidden utility class for accessibility
- Remove deprecated App.tsx and api.ts dashboard entry points
2026-03-30 18:36:41 -07:00
gsxdsm
de23fbcbd5 test(KB-086): complete Step 8 — add ActivityLogModal component tests 2026-03-30 18:36:26 -07:00
gsxdsm
927f6f16dd test(KB-224): update tests for combined definition/spec tab 2026-03-30 18:35:34 -07:00
gsxdsm
c8abd6275f feat(KB-086): complete Step 7 — integrate ActivityLogModal with Header and App 2026-03-30 18:31:38 -07:00
gsxdsm
0c05e0df15 feat(KB-086): complete Step 6 — create ActivityLogModal component with styles 2026-03-30 18:31:07 -07:00
gsxdsm
876543e9d9 feat(KB-086): complete Step 4 — add activity log API endpoints 2026-03-30 18:30:12 -07:00
gsxdsm
7373b40c1b feat(KB-223): add taskStuckTimeoutMs field to SettingsModal
- Add taskStuckTimeoutMs input field to SettingsModal UI

- Add comprehensive tests for the new setting field
2026-03-30 18:25:24 -07:00
gsxdsm
f28d6c3f2e feat(KB-177): restructure ListView with dedicated create area
- Move QuickEntryBox from NewTaskModal to ListView create area
- Add list-create-area CSS styling for new layout
- Update ListView tests for new component structure
- Remove unused binary/fn renaming code from core package
- Clean up NewTaskModal and remove obsolete tests
2026-03-30 18:19:18 -07:00
gsxdsm
919d524d9c feat(KB-219): auto-focus description textarea in NewTaskModal
- Add auto-focus to description textarea when NewTaskModal opens\n- Add test to verify textarea receives focus on modal open\n- Focus management improves UX by allowing immediate typing
2026-03-30 18:13:10 -07:00
gsxdsm
2fa0b1bbfb fix(KB-217): resolve planning mode hanging race condition
- Fix race condition causing planning mode to hang after submitting answers
- Keep SSE connection alive during response submission to prevent premature disconnect
- Add scrollable CSS styling for AI thinking output display in planning mode
- Add tests for race condition fix ensuring subsequent questions are received
- Include changeset for planning mode patch release
2026-03-30 18:12:49 -07:00
gsxdsm
7cfce83479 feat(KB-171): propagate availableModels prop through dashboard component tree
- Update App.tsx to fetch and pass availableModels to Board
- Update Board component to accept and pass availableModels to Column
- Update Column component to receive availableModels prop
- Update ListView to handle availableModels prop
- Update Board test mock to include availableModels prop
2026-03-30 18:00:17 -07:00
gsxdsm
f137d0ccf3 feat(KB-216): implement auto-load behavior for GitHub import modal
- Add auto-load behavior to GitHubImportModal component
- Modal now automatically fetches and displays importable repositories on open
- Update tests to cover auto-load state transitions and error handling
- Refactor test setup for improved maintainability
2026-03-30 17:58:29 -07:00
gsxdsm
045519fa8b feat(KB-163): add rich task creation UI to QuickEntryBox
- Update QuickEntryBox with rich creation UI including title, description, column selection, and dependency fields
- Add CSS styles for new QuickEntryBox components
- Update Column, Board, and ListView components with TaskCreateInput signature and allTasks prop
- Add comprehensive tests for QuickEntryBox rich creation features
- Remove settings CLI commands (no longer needed)
2026-03-30 17:38:24 -07:00
gsxdsm
875c758110 test(KB-215): add pace integration tests for usage indicators
- Add backend tests verifying pace is attached to windows with valid timing data

- Add frontend test verifying UsageIndicator displays pace from backend data

- Test full data flow from backend calculation to UI display
2026-03-30 17:18:18 -07:00
gsxdsm
f8622daee3 feat(KB-104): move file browser from task modal to toolbar
- Add backend API routes and file service for project-scoped file operations
- Create useProjectFileBrowser and useProjectFileEditor hooks with comprehensive tests
- Update FileBrowserModal to support both task and project modes via dualMode prop
- Add Files button to dashboard header toolbar
- Remove Files tab from TaskDetailModal
- Integrate project file browser into main App layout
- Include changeset for @dustinbyrne/kb package
2026-03-30 17:06:50 -07:00
gsxdsm
62b86c2894 feat(KB-101): add ntfy notification test button in settings
- Add /api/settings/test-ntfy endpoint for sending test notifications
- Add test notification button to SettingsModal when ntfy is enabled
- Display success/error feedback after test notification attempt
- Add comprehensive tests for test notification flow
- Include changeset for patch release
2026-03-30 16:54:01 -07:00
gsxdsm
360f3e03b3 feat(KB-069): add Archive All Done feature
- Add archiveAllDone method to TaskStore with filtering and batch archive
- Add POST /tasks/archive-all-done API endpoint with tests
- Add useTasks hook support and API function for archiveAllDone
- Add Archive All button to done column header in Board UI
- Wire up onArchiveAllDone through Board component hierarchy
2026-03-30 16:50:34 -07:00
gsxdsm
c71347930f feat(KB-179): reorder search bar left of view toggle
- Move search bar to the left of the view toggle in Header component
- Remove batch badge fetching implementation (useBatchBadgeFetch hook, tests, GitHub routes)
- Clean up associated types and API endpoints
- Add changeset for visual improvement
2026-03-30 16:41:37 -07:00
gsxdsm
b2c4293893 feat(KB-064): add batch GitHub badge status fetching
- Add batch status API types (BatchStatusRequest, BatchStatusResponse, etc.)

- Add batch GitHub client wrappers for efficient PR/issue status fetching

- Create useBatchBadgeFetch hook for coordinated dashboard fetching

- Update Board component to batch fetch badge statuses on mount

- Update TaskCard to merge batch, WebSocket, and task data with freshness comparison

- Add batch status REST endpoint at POST /api/tasks/batch/status
2026-03-30 16:41:24 -07:00
gsxdsm
e77f262e11 feat(KB-173): add Zen theme to dashboard
- Add Zen to COLOR_THEMES array in core types
- Add Zen theme CSS styles with dark and light variants
- Add Zen theme option to ThemeSelector component
- Add tests for Zen theme selection in ThemeSelector
- Update index.html theme initialization to include Zen
- Add changeset for the new theme
2026-03-30 16:34:49 -07:00
gsxdsm
4c38950e5e feat(KB-045): add scheduled tasks automation system
- Add AutomationStore and core automation types for cron-based scheduling
- Implement CronRunner engine for executing scheduled automations
- Add REST API routes for CRUD operations on automations
- Create UI components: ScheduleCard, ScheduleForm, and ScheduledTasksModal
- Integrate scheduled tasks into dashboard App.tsx and CLI dashboard command
- Add comprehensive tests for store, runner, API, and UI components
- Include changeset for the new scheduled tasks feature
2026-03-30 16:27:23 -07:00
gsxdsm
6dbedd8be8 feat(KB-211): fix TaskCard memoization test for React StrictMode
- Update TaskCard test to handle React StrictMode double-rendering behavior
- Fix memoization assertions that fail under StrictMode
- Ensure test correctly accounts for development mode re-renders
2026-03-30 16:19:30 -07:00
gsxdsm
a1888140c3 test(KB-210): fix mobile viewport test expectations
- Update test to expect terminal button in overflow menu on mobile
- Update test to expect usage button inline on all screen sizes
- Clarify pause controls remain inline on mobile
- Fix test descriptions to match actual UI behavior
2026-03-30 16:17:56 -07:00
gsxdsm
2eaf776ffb feat(KB-152): add Minimax and Zai providers with usage pace indicators
- Add Minimax provider backend with full test coverage
- Add Zai (Zhipu AI) provider backend for additional model options
- Implement pace calculation in UsageWindow with ahead/behind/on-pace detection
- Update UsageIndicator frontend component to consume backend pace data
- Fix pace indicator colors and icons to match design specification
- Resolve ListView QuickEntryBox type error for type safety
2026-03-30 13:45:52 -07:00