feature(ui): Add @ file and folder name completion to the chat composer - #280
feature(ui): Add @ file and folder name completion to the chat composer#280swaroopch wants to merge 4 commits into
Conversation
|
Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: Shelley.
|
be3cade to
058df5e
Compare
|
We require contributors to sign our Contributor License Agreement, and we don't have you on file. In order for us to review and merge your code, please contact @crawshaw at david@bold.dev to get yourself added. |
AI-assisted development with Shelley.
…ntrols AI-assisted development with Shelley.
AI-assisted development with Shelley.
058df5e to
1cdbd04
Compare
|
We require contributors to sign our Contributor License Agreement, and we don't have you on file. In order for us to review and merge your code, please contact @crawshaw at david@bold.dev to get yourself added. |
Restore saved draft directories without losing optimistic directory picks. Preserve colons after completed tokens. Bound mixed candidates fairly so files cannot crowd out every folder, and propagate request cancellation through finder caches, walks, and Git subprocesses. Add regressions for draft restoration/promotion, punctuation, candidate saturation, and cancellation without sleeps. UI checks and 58 unit-test files pass; full server tests and 28 desktop/mobile browser checks pass. AI-assisted development with Shelley.
|
We require contributors to sign our Contributor License Agreement, and we don't have you on file. In order for us to review and merge your code, please contact @crawshaw at david@bold.dev to get yourself added. |
Summary
Add
@file and folder name completion to the chat composer, making it easier to reference local paths without copying them from a terminal or file browser./.Implementation and scope
Reuses the name-only
findFilesAPI with opt-ininclude_dirs=trueandis_dirresult metadata. Existing callers keep file-only behavior. Adds bounded directory discovery, ignored-directory handling, empty-directory support, and submodule deduplication, with backend, frontend, and browser coverage.This PR is from
swaroopch:file-name-completion. It contains only the feature, tests, and usage/API documentation—not the fork's provisioning scripts, integration timer, or deployment configuration.Recreation prompt (intent, independent of this implementation)
If you would rather implement this using your own architecture or coding agent, the following is a self-contained specification. Using this PR is not required.
Validation
Rechecked on the feature branch:
make build-custompassed.go test ./server -parallel 1passed on recheck. The first run hit the existingTestReflectionProbeCachedAndCollapsedsingleflight/cache flake (two probes instead of one); no unrelated test code was changed.file-completion.spec.ts: 24 browser checks passed across desktop and mobile Chromium, using the predictable model, a temporary database, and a separate test server.main.