Commit Graph

31 Commits

Author SHA1 Message Date
gsxdsm
1b3296d91f feat(FN-1093): add mobile build, PWA, and live reload workflow
- Optimize dashboard Vite output for mobile and include vite/client types in app typecheck
- Add PWA support with manifest, service worker, icons, and client registration hooks
- Add a mobile workspace package with Capacitor config and live-reload scripts for local development
- Add a dedicated GitHub Actions mobile pipeline and update mobile workflow documentation
- Add dashboard tests for build output, mobile scripts, and PWA asset coverage
2026-04-07 23:25:34 -07:00
gsxdsm
f34c86345c feat(FN-1059): add manual heartbeat run trigger with execution details in agent UI
- Wire heartbeatMonitor into ServerOptions and pass through to API routes
- Add POST /api/agents/:id/runs route to trigger heartbeat execution with optional source/triggerDetail
- Update API client startAgentRun to accept optional source and triggerDetail parameters
- Add Run Heartbeat button to AgentsView and enhance AgentDetailView RunsTab with execution details and polling
- Add route handler tests for agent runs and UI static analysis tests
- Support run history display with status, duration, trigger type, and result details
2026-04-07 14:38:12 -07:00
gsxdsm
1c10f2f27b refactor(FN-1056): remove dead code and unused CSS
- Delete SetupWizard component and its test file (no longer used)
- Remove migration-stubs.ts (dead migration helper code)
- Strip unused CSS rules from dashboard styles.css
- Fix minor test assertion in activity-feed theme test
- Add changeset for patch release
2026-04-07 11:18:47 -07:00
gsxdsm
1c232a17c4 fix(FN-1043): fix terminal mobile keyboard layout
- Defer fitAddon.fit() via requestAnimationFrame after CSS repaint to ensure container dimensions are settled
- Add overflow:hidden to keyboard-open CSS rule to prevent layout shift
- Add regression tests for xterm re-fit on mobile keyboard open/close
- Update terminal mobile keyboard documentation in README files
2026-04-06 21:35:46 -07:00
gsxdsm
91672f3004 feat(FN-1032): replace hardcoded colors with CSS custom properties across dashboard components
- Add CSS custom properties and modifier classes for all status colors (open, closed, merged, draft, review, in-progress, etc.)
- Remove hardcoded hex colors from GitHubBadge, replace with CSS classes
- Remove hardcoded colors from PrSection, use CSS classes and Lucide icons
- Remove COLUMN_COLOR_MAP and inline styles from TaskCard, use CSS classes
- Add theme-safety regression tests ensuring components never use inline color styles
- Update existing GitHubBadge and TaskCard tests for class-based styling
2026-04-06 15:37:45 -07:00
gsxdsm
3cd8f8ed54 feat(FN-1025): harden mobile keyboard-open layout for terminal modal
- Add CSS rules to properly handle viewport height when mobile virtual keyboard is open
- Add regression tests for keyboard-open overlap detection
- Add TerminalModal test coverage for keyboard-related height contract
- Document mobile keyboard layout behavior in dashboard README
2026-04-05 23:26:59 -07:00
gsxdsm
fd62e0c0f3 feat(FN-909): redesign Agent Manager UI with CSS class approach and design tokens
- Replace AgentDetailView and AgentsView components with CSS class-based styling approach
- Integrate AI generation feature from FN-865 using CSS class methodology
- Fix CSS class verification test regex and add missing .agent-detail-info rule
- Refactor NewAgentDialog to align with new component structure
- Redesign Agent Manager UI using global design tokens for consistent theming
- Expand styles.css with comprehensive agent-specific CSS rules and design system variables
- Add agent-css-classes.test.ts to verify CSS class coverage and correctness
2026-04-05 07:26:30 -07:00
gsxdsm
bb97049d57 fix(FN-919): remove green tint from dashboard footer
- Remove green color tint from footer styles in dashboard CSS
- Simplify executor status bar theme test to remove green tint assertions
2026-04-04 20:57:15 -07:00
gsxdsm
47c805cb18 fix(FN-949): prevent bounce-back on Projects nav and show in mobile overflow
clearCurrentProject was triggering auto-reselect in useCurrentProject,
making the Projects button ineffective for single-project users. Added
explicit-clear flag to suppress auto-select. Also changed mobile overflow
menu to show Projects for single-project users (was gated to 2+ projects).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 20:30:24 -07:00
gsxdsm
f0cd1ca9e3 feat(FN-890): tokenized executor footer state backgrounds and accents
- Replace hardcoded hex colors in executor status bar CSS with CSS custom properties for state backgrounds and accents
- Add tests covering theme-aware CSS variable overrides for all executor states (idle, running, failed, etc.)
- Document the executor status bar theming in the dashboard README
2026-04-04 16:39:55 -07:00
gsxdsm
e75b0ce5a7 fix(FN-873): replace hardcoded error color with theme-aware CSS variable in ActivityFeed
- Replace var(--error) with var(--color-error) in ActivityFeed TYPE_CONFIG for consistency with theme system
- Add unit tests for theme-aware color variables in TYPE_CONFIG
- Add integration test verifying ActivityFeed renders error colors correctly
- Document theme-aware styling note in dashboard README Activity Log section
2026-04-04 08:11:43 -07:00
gsxdsm
3516394e9f fix(FN-821): fix Activity Log modal layout and close control
- Fix modal sizing to properly fit within viewport on various screen sizes
- Fix close button visibility and accessibility in ActivityLogModal component
- Refactor CSS to simplify modal styles (remove unused/verbose rules)
- Add regression tests for modal layout and close button behavior
- Update Activity Log docs to reflect modal sizing changes
2026-04-04 01:25:16 -07:00
gsxdsm
84eacbd8d5 fix(FN-824): replace mobile board viewport-height with percentage fill
- Replace viewport-height CSS with percentage-based fill to prevent mobile footer overlap
- Add regression tests for mobile footer-safe layout in dashboard-footer-mobile-layout.test.ts
- Add App.test.tsx coverage for viewport height behavior
- Document mobile layout fix in README
2026-04-03 23:38:00 -07:00
gsxdsm
16e8feebd3 feat(FN-817): add expand button and swipe-friendly touch behavior for board cards
- Add expand button to TaskCard for opening task detail modal on mobile
- Implement CSS scroll-snap on board columns for swipe-friendly navigation
- Add touch-action and overscroll-behavior styles for smoother mobile scrolling
- Add comprehensive tests for mobile scroll snap behavior and expand button
- Document expand button and swipe-friendly board behavior in README
2026-04-03 22:40:00 -07:00
gsxdsm
1da1fa5341 refactor(FN-811): make project workspace footer-safe and simplify file diff routes
- Fix layout so AgentsView and workspace pages don't overflow behind the footer
- Add footer-safe-layout tests covering sidebar + content layout behavior
- Simplify /api/tasks/:id/diffs route by removing redundant session-file handling
- Remove 22 unused lines from session-files test and consolidate file-diffs tests
- Update styles.css with layout adjustments for consistent footer-safe spacing
- Minor README clarification for dashboard package
2026-04-03 19:34:46 -07:00
gsxdsm
0c87c6ce9e feat(FN-796): convert compact Terminal overflow to split action with script submenu
- Replace single overflow terminal button with split-action dropdown showing quick-run scripts
- Add script submenu in header for launching predefined commands from compact view
- Add comprehensive regression tests for split-button behavior and quick-run script actions
- Update dashboard README to document the new split-action terminal overflow UI
- Adjust title summarization threshold and clean up related test/store changes
2026-04-03 18:29:09 -07:00
gsxdsm
4b7b65b1a6 feat(FN-795): add mobile responsive layout for Activity Log modal
- Add mobile responsive CSS for Activity Log modal with adaptive breakpoints
- Add regression test coverage for mobile activity log layout
- Add tests for ActivityLogModal responsive behavior
- Update README with responsive layout documentation note
2026-04-03 17:52:36 -07:00
gsxdsm
ece4a667f9 feat(FN-788): nest Scripts under Terminal in compact overflow menu
- Restructure Header.tsx to render Scripts as a submenu of Terminal in compact/tablet overflow menus
- Add submenu toggle state, keyboard navigation, and click-outside-to-close behavior
- Add CSS for nested submenu styling with slide-in animation and depth indicators
- Update Header tests to verify Scripts nested under Terminal with toggle interaction
- Update mobile-header-controls and tablet-header-controls tests for new menu hierarchy
- Update README documentation to reflect the Terminal > Scripts submenu structure
2026-04-03 13:26:02 -07:00
gsxdsm
549f1aa362 feat(FN-786): move Settings to last position in overflow menu
- Reorder Header overflow menu items so Settings always appears last
- Update Header.tsx to position SettingsMenuItem as the final menu entry
- Add regression tests in Header.test.tsx verifying Settings is last in all overflow states
- Add ordering tests in tablet-header-controls.test.tsx for tablet layout
2026-04-03 08:49:01 -07:00
gsxdsm
ee8f19fc93 feat(FN-766): add three-tier responsive header with tablet compact mode
- Add tablet compact-header breakpoint (769px–1024px) with condensed layout
- Implement responsive Header component with mobile/tablet/desktop modes
- Add tablet-header-controls test suite (373 lines) for compact mode behavior
- Update existing Header and mobile-header-controls tests for new responsive tiers
- Refactor server routes and styles.css for three-tier responsive support
- Document responsive header architecture in README
2026-04-03 07:39:11 -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
2778027423 Removed unwanted files marked in .gitignore 2026-04-01 21:25:08 -07:00
gsxdsm
30f822e776 test(KB-301): fix mobile CSS test — make regex more specific to match bare textarea selector 2026-03-31 11:21:39 -07:00
gsxdsm
cd5fb2806b 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
62a63a4964 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
e35c745fc2 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
37afb24d60 feat(KB-034): add task archive/unarchive functionality
- Add 'archived' column to task store with archiveTask and unarchiveTask methods
- Add CLI commands: kb task archive <id> and kb task unarchive <id>
- Add pi extension tools for archive and unarchive operations
- Add dashboard API endpoints POST /api/tasks/:id/archive and /unarchive
- Add Archived column to board UI with archive/unarchive buttons
- Prevent drag-drop into archived column, add visual distinction
- Include duplicateTask from concurrent branch in merge resolution
2026-03-29 20:03:43 -07:00
Dustin Byrne
b00cb22faa feat(KB-171): constrain column widths in desktop grid and mobile flex
- Change desktop .column min-width from 260px to 0, letting the grid control sizing
- Add overflow-x: hidden to .column-body to prevent content blowout
- Use fixed width: 280px for mobile columns instead of min-width
- Add column-fixed-width tests verifying CSS constraints for desktop and mobile
2026-03-28 16:30:23 -04:00
Dustin Byrne
b5f0e24c4c feat(KB-170): CSS scroll-snap center alignment for board columns
- Change scroll-snap-align from start to center on columns (desktop and mobile)
- Add scroll-snap-type: x proximity and scroll-padding-inline on desktop .board
- Add scroll-padding-inline: calc(50% - 140px) in mobile media query
- Restructure scroll-snap tests into desktop and mobile describe blocks
- Update all test assertions to expect center alignment instead of start
2026-03-28 16:30:23 -04:00
Dustin Byrne
b286ee5a2b feat(KB-168): remove legacy public/ directory and server fallback
- Delete public/index.html, public/style.css, and public/board.js legacy assets
- Remove public/ fallback from server.ts clientDir resolution chain
- Simplify clientDir to fall through to client/ instead of public/
- Add no-legacy-public test asserting public/ files and server references are gone
2026-03-28 16:30:23 -04:00
Dustin Byrne
27f40d20ac feat(KB-167): add mobile scroll-snap CSS to board columns
- Add scroll-snap-type: x mandatory to .board in ≤768px media query
- Set scroll-snap-align: start and flex-shrink: 0 on .column for swipe navigation
- Enable -webkit-overflow-scrolling: touch for smooth iOS scrolling
- Add mobile-scroll-snap test suite asserting snap rules inside @media block
2026-03-28 16:30:23 -04:00