Commit Graph

582 Commits

Author SHA1 Message Date
gsxdsm
8365986c1d feat(KB-106): remove duplicate ntfy notifications and add per-event-type deduplication
- Add per-event-type deduplication using Set to track recent notification hashes
- Remove auto browser-open behavior from dashboard command
- Add recentWindowMs configuration option for deduplication window timing
- Update notifier tests for new deduplication logic and error handling
- Add changeset for ntfy duplicate notifications fix
- Remove stale changeset for auto browser-open feature
2026-03-30 07:35:16 -07:00
gsxdsm
4eccd036a8 feat(KB-107): merge kb/kb-107
- feat(KB-107): complete Step 5 — add changeset for behavioral change
- test(KB-107): complete Step 4 — update tests to remove --no-open flag references
- feat(KB-107): complete Step 3 — remove --no-open from pi extension dashboard spawn
- feat(KB-107): complete Step 2 — simplify dashboard command, remove openBrowser function
- feat(KB-107): complete Step 1 — remove --no-open flag from CLI entry point
2026-03-30 07:34:10 -07:00
gsxdsm
fe91b082d1 feat(KB-094): redesign GitHub import modal
- Redesign GitHubImportModal layout with improved UI/UX\n- Add comprehensive tests covering all modal states\n- Update import modal documentation in README\n- Add CSS styling for polished modal appearance\n- Include changeset for patch release
2026-03-30 07:27:27 -07:00
gsxdsm
67a31fac7d fix(KB-098): auto-save task model overrides
- Auto-save executor and validator model selections immediately from the model selector tab
- Send explicit null override fields when users switch a task back to default models
- Keep saved badges stable while requests are pending and restore the previous selection on save failures
- Expand ModelSelectorTab tests to cover auto-save requests, status feedback, success toasts, and clear-to-default flows
2026-03-30 06:00:58 -07:00
gsxdsm
bf789f5c41 feat(KB-060): add model selection to task creation
- Extend task creation types, store persistence, and API payloads to accept executor and validator model overrides
- Add inline model selection to the dashboard create card with default normalization, retryable model loading, and focus-safe interactions
- Wire the list-view create flow through InlineCreateCard and style the dropdown to stay usable within the viewport on mobile and desktop
- Add store, route, app, list-view, and inline-create tests covering override submission, partial selections, and inline creation behavior
- Document the new creation-time model selection flow and include a published package changeset
2026-03-30 05:41:30 -07:00
gsxdsm
650b8ccfc3 fix(KB-096): restore usage button in dashboard header
- Add the optional usage action back to the dashboard Header component
- Preserve the existing board search UI while restoring the usage button wiring
- Add Header tests for usage button rendering and click behavior
- Add a patch changeset for the restored header usage action
2026-03-30 04:58:50 -07:00
gsxdsm
0322f50907 feat(KB-092): polish planning mode modal UX
- Rework the planning modal into scrollable content regions with fixed footers for the initial, question, and summary states
- Refresh question and summary styling with clearer progress, polished selection controls, and improved dependency and deliverable presentation
- Improve responsive behavior with full-height mobile layout, stacked actions, and better overflow handling
- Expand PlanningModeModal coverage to verify the new structure and add a TaskDetailModal smoke check
2026-03-30 03:46:55 -07:00
gsxdsm
4e23716b7d feat(KB-063): add realtime GitHub badge updates
- Add a focused GitHub badge poller with shared rate-limit, freshness, and cleanup handling
- Wire a dedicated badge websocket server and routes to stream PR and issue badge snapshots
- Add a shared useBadgeWebSocket hook and update TaskCard to subscribe only when visible while preserving partial badge state
- Cover polling, websocket, and task card flows with tests and document the realtime badge channel
2026-03-30 03:19:51 -07:00
gsxdsm
93e0c12549 feat(KB-072): expand dashboard theme system with Factory tokens
- Add the Factory theme to shared theme types and the dashboard theme selector
- Validate persisted color themes against shared constants in useTheme and the pre-hydration init script
- Introduce reusable design tokens for typography, spacing, radius, shadows, and transitions in dashboard styles
- Add Factory-specific dark and light styling overrides for cards, buttons, columns, and theme swatches
- Strengthen theme tests to cover all supported themes, Factory previews, and stylesheet token contracts
2026-03-30 00:46:03 -07:00
gsxdsm
93cda8fe25 fix(KB-058): resolve API naming conflict and TypeScript errors 2026-03-29 23:35:32 -07:00
gsxdsm
651c31fe1b feat(KB-058): complete Step 8 — documentation and changeset 2026-03-29 23:34:49 -07:00
gsxdsm
3d5a239060 feat(KB-058): complete Step 7 — add tests for terminal service and hook 2026-03-29 23:34:23 -07:00
gsxdsm
0510f0f7a9 feat(KB-058): complete Steps 5 & 6 — xterm.js TerminalModal and styling 2026-03-29 23:28:52 -07:00
gsxdsm
5e5a5a543f feat(KB-058): complete Step 6 — add PTY terminal API client functions 2026-03-29 23:28:08 -07:00
gsxdsm
bf4b3429c7 feat(KB-058): complete Step 4 — create useTerminal hook with WebSocket support 2026-03-29 23:27:21 -07:00
gsxdsm
0b58183a5a feat(KB-058): complete Step 3 — add WebSocket terminal routes and REST endpoints 2026-03-29 23:26:41 -07:00
gsxdsm
36cd94dbd5 feat(KB-070): add Ayu and One Dark themes to dashboard
- Add Ayu and One Dark to COLOR_THEMES and validThemes arrays
- Add CSS theme variables for both themes in styles.css
- Update ThemeSelector UI to include new theme options
- Extend Theme type to include ayu and one-dark values
- Update tests for ThemeSelector and useTheme hooks
- Add changeset for minor version bump
2026-03-29 23:26:16 -07:00
gsxdsm
99bfd4fb8f feat(KB-058): complete Step 2 — create TerminalService with node-pty 2026-03-29 23:25:21 -07:00
gsxdsm
4a2315934f feat(KB-058): complete Step 1 — add node-pty and xterm.js dependencies 2026-03-29 23:24:08 -07:00
gsxdsm
2fc6c0ac19 docs(KB-056): add inline comment explaining GET /models empty array behavior
- Document why /models returns 200 with empty array instead of 404

- Clarify frontend empty state handling expectation
2026-03-29 23:23:00 -07:00
gsxdsm
fd9a1b186a feat(KB-093): add PR-first merge mode with configurable merge strategies
- Add mergeStrategy setting (fast-forward, squash, merge-commit) to config
- Implement PR-first auto-completion flow that monitors PR merge status
- Wire PR monitoring service to detect merge completion and trigger auto-close
- Add PR status UI to dashboard with merge progress indicator
- Update settings modal with merge strategy selector
- Add changeset for PR-first merge mode feature
2026-03-29 23:13:24 -07:00
gsxdsm
94f599a3df feat(KB-089): add board search functionality
- Add search state and filter logic to Board component (id, title, description)

- Add search input to Header with search icon and clear button

- Wire search query state through App component

- Add CSS styles for search input and visual states

- Include changeset for patch release
2026-03-29 23:07:51 -07:00
gsxdsm
1a245b4f2b fix(KB-084): fix card glow theming across all color themes
- Add --in-progress-rgb CSS variables for all themes (default, ocean, forest, sunset, berry, monochrome, cyberpunk, solarized)
- Update card agent-active glow to use rgba(var(--in-progress-rgb)) instead of hardcoded values
- Update list view agent-glow animation to use CSS variables
- Remove redundant light theme override for card glow (now handled by CSS variable)
- Add changeset for the theme fix
2026-03-29 22:56:47 -07:00
gsxdsm
eb626f7581 fix(KB-083): fix SpecEditor layout with proper CSS and remove hardcoded rows
- Add comprehensive CSS styles for SpecEditor component layout
- Remove hardcoded rows prop from SpecEditor for flexible sizing
- Add layout tests for SpecEditor to verify responsive behavior
- Include changeset for patch release of @dustinbyrne/kb package
2026-03-29 22:54:13 -07:00
gsxdsm
c676a26854 feat(KB-081): add provider icons to model selector with custom dropdown
- Create ProviderIcon component with provider-to-icon mappings (OpenAI, Anthropic, Google, etc.)

- Build CustomModelDropdown with icon display, filtering, and keyboard navigation

- Integrate custom dropdown into ModelSelectorTab replacing native select element

- Add CSS styles for provider icons in dropdown items and model badges

- Add comprehensive tests for ProviderIcon, CustomModelDropdown, and ModelSelectorTab
2026-03-29 22:51:23 -07:00
gsxdsm
bdb4eb782d feat(KB-074): add quick task creation with QuickEntryBox and NewTaskModal
- Add QuickEntryBox component for inline quick task entry in columns
- Add NewTaskModal component with full-featured task creation UI
- Integrate quick create flow through Column → Board → App component hierarchy
- Add comprehensive tests for both new components and updated existing tests
- Add CSS styles for modal, form inputs, and quick entry UI
- Include changeset for @dustinbyrne/kb package release
2026-03-29 22:40:04 -07:00
gsxdsm
99fdc26760 fix(KB-095): make vitest worker count configurable 2026-03-29 22:32:15 -07:00
gsxdsm
bcbb22a6ca feat(KB-080): add combined model dropdown with combobox component
- Create new combobox component for model/provider selection
- Refactor ModelSelectorTab to use combined dropdown UI
- Add scrollIntoView null check for test environment compatibility
- Add changeset for combined model dropdown feature
- Clean up obsolete changeset and subtask-related code
2026-03-29 22:26:10 -07:00
gsxdsm
f99ae366f7 feat(KB-040): add break-into-subtasks toggle for task creation
- Add breakIntoSubtasks flag to core Task model and persist to store
- Plumb subtask flag through dashboard API routes with validation
- Add subtask toggle UI to inline task creation card
- Update triage agent to handle automatic subtask breakdown when enabled
- Add comprehensive tests for store, API routes, and UI components
- Include changeset for patch release documenting the new feature
2026-03-29 22:23:47 -07:00
gsxdsm
1b5511c968 feat(KB-095): add Hide Done toggle to List View
- Add Hide Done toggle that filters out both done and archived tasks
- Update ListView component with filter state and toggle UI
- Add comprehensive tests for toggle behavior including edge cases
- Document the Hide Done toggle behavior in README
2026-03-29 22:22:13 -07:00
gsxdsm
f7784a577a feat(KB-077): add file editor textarea styles
- Add .file-editor-textarea CSS class with styling for file editing UI
- Include font family, sizing, and layout properties for monospace editing
- Add focus states and border styling for improved UX
- Integrate styles into dashboard stylesheet
2026-03-29 22:05:50 -07:00
gsxdsm
55ca4796e6 feat(KB-071): rebrand dashboard to Fusion
- Rename dashboard header to Fusion\n- Update page title to Fusion\n- Replace logo with geometric four-dot design\n- Update Header tests for new branding\n- Add changeset for dashboard rename
2026-03-29 21:58:04 -07:00
gsxdsm
cd17926e8a feat(KB-039): complete Step 6 — Add usage indicator styles to CSS 2026-03-29 21:51:27 -07:00
gsxdsm
cf520dd5f5 test(KB-082): assert execution failure error payloads
- Tighten executor failure assertions to expect exact error messages for rate-limit and other exceptions

- Verify non-usage-limit failures also preserve their original error text

- Align backward-compatibility coverage for execution failures without usage limit pauser
2026-03-29 21:51:06 -07:00
gsxdsm
fd33cb5ca0 feat(KB-039): complete Step 5 — App integration with UsageIndicator modal 2026-03-29 21:50:28 -07:00
gsxdsm
e8e8183ecb feat(KB-039): complete Step 2 — Usage Indicator Component 2026-03-29 21:49:58 -07:00
gsxdsm
4bafa5a076 feat(KB-039): restore deleted files — UsageIndicator, useUsageData hook and tests 2026-03-29 21:49:46 -07:00
gsxdsm
2a63e994de test(KB-082): update executor tests to expect error field 2026-03-29 21:49:07 -07:00
gsxdsm
cf1bdda87f feat(KB-088): clear failed status when moving tasks and improve error display
- Fix moveTask to clear status/error/worktree/blockedBy when moving from in-progress to todo/triage
- Add error message display in TaskCard for failed tasks with truncation
- Add prominent error alert in TaskDetailModal for failed tasks
- Refactor usage tracking: move from app/components to dashboard/src/
- Add usage.ts and usage.test.ts for centralized usage tracking
- Remove UsageIndicator and useUsageData from app/ directory
- Update styles.css for error display components
- Update executor tests for error handling
- Add changeset for patch release
2026-03-29 21:48:44 -07:00
gsxdsm
63f530aac3 feat(KB-039): complete Step 2 — frontend API client and hook for usage data 2026-03-29 21:46:09 -07:00
gsxdsm
81cf41ba50 test(KB-082): complete Step 6 — Add/update tests for error field and retry 2026-03-29 21:44:44 -07:00
gsxdsm
b3af346345 feat(KB-087): remove Created/Updated columns and clean up usage tracking
- Remove createdAt and updatedAt columns from ListView component
- Update TaskCard to remove date display and related styles
- Update TaskDetailModal to remove date fields
- Update ListView tests to reflect new column layout
- Fix column index in dependencies test after column removal
- Remove unused usage tracking module (usage.ts and usage.test.ts)
- Clean up related CSS styles for date columns
2026-03-29 21:43:56 -07:00
gsxdsm
7a4c5e803a feat(KB-082): complete Step 5 — Display failure prominently in TaskDetailModal 2026-03-29 21:43:25 -07:00
gsxdsm
9dfb851e70 feat(KB-082): complete Step 4 — Display failure in TaskCard 2026-03-29 21:42:54 -07:00
gsxdsm
9f5a171b24 feat(KB-082): complete Step 3 — Clear error on retry 2026-03-29 21:42:10 -07:00
gsxdsm
c330a62165 feat(KB-082): complete Step 2 — Record failure error in executor 2026-03-29 21:41:51 -07:00
gsxdsm
a2be60d8c9 feat(KB-082): complete Step 1 — Add error field to Task type and store 2026-03-29 21:41:28 -07:00
gsxdsm
385739ee2c feat(KB-032): add Planning Mode for AI-assisted task creation
- Add PlanningModeModal component with interactive task planning UI
- Implement backend planning API with /api/planning endpoints
- Add PlanningSession class for managing planning state
- Integrate planning mode into dashboard with header button
- Add comprehensive tests for planning components and API routes
- Include AI agent structure for future planning automation
- Update README with Planning Mode documentation
2026-03-29 21:40:14 -07:00
gsxdsm
27a18549b3 feat(KB-079): reverse agent log display order, remove auto-scroll
- Reverse log display to show newest entries first in AgentLogViewer
- Remove auto-scroll functionality from dashboard
- Update badge deduplication logic for reversed order display
- Clean up tests for reversed order and removed auto-scroll
- Remove obsolete changeset files
2026-03-29 21:39:51 -07:00
gsxdsm
25647b844d fix(KB-078): include skipped steps in TaskCard progress calculation
- Fix progress bar to count skipped steps toward completed total

- Add test coverage for skipped steps in progress calculation

- Create changeset for the progress bar fix
2026-03-29 21:38:53 -07:00