Skip to content

Conversation

@jnarowski
Copy link
Owner

Summary

Replaced text input with searchable file selector combobox for Docker file path configuration:

  • Created reusable useFileSearch hook with 150ms debouncing and optional extension filtering
  • Built FileSelectCombobox component integrating file tree fetching, search, and Combobox UI
  • Refactored ChatPromptInputFiles to use shared useFileSearch hook (~15 lines removed, zero behavior change)
  • Updated ProjectEditForm to use Controller + FileSelectCombobox with path conversion helpers

Key Changes

  • New Hook: useFileSearch - Debounced file search with extension filtering, returns FileItem[] for max reusability
  • New Component: FileSelectCombobox - Searchable file selector with custom FileItem rendering, mobile drawer support
  • Path Handling: Stores relative paths in DB, uses absolute paths internally for unique identification
  • DRY Principle: Extracted shared search logic from ChatPromptInputFiles for reuse

Files Changed

  • apps/app/src/client/hooks/useFileSearch.ts (new)
  • apps/app/src/client/components/FileSelectCombobox.tsx (new)
  • apps/app/src/client/pages/projects/sessions/components/ChatPromptInputFiles.tsx (refactored)
  • apps/app/src/client/pages/projects/components/ProjectEditForm.tsx (enhanced)
  • apps/app/src/client/components/Combobox.tsx (added onSearchChange support)

Validation

  • ✓ Type-check passed
  • ✓ Build succeeded
  • ✓ All 11 spec tasks completed
  • ✓ Manual testing: file selection, search, path conversion working correctly

Closes #2511291207-docker-file-combobox

@vercel
Copy link
Contributor

vercel bot commented Nov 29, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
agentcmd-website Ready Ready Preview Comment Nov 29, 2025 7:49pm

@jnarowski jnarowski merged commit a44f70c into main Nov 29, 2025
1 of 3 checks passed
@jnarowski jnarowski deleted the feature/docker-file-combobox-selector branch December 1, 2025 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants