mirror of
https://github.com/cline/cline.git
synced 2026-09-19 02:05:44 +08:00
* At-mention picker: show "Searching..." instead of misleading "No results found"
When the @-mention picker fires its initial empty-query searchFiles, slow
workspaces (e.g. network mounts) leave the call in flight for several
seconds. Three small UX bugs combined to make this look broken:
1. The 500ms delayed-loading effect was gated on `searchQuery` being
non-empty, so the spinner never appeared during the initial open —
the user just saw "No results found" forever.
2. While loading, the spinner row stacked above the "No results found"
row, claiming both states at once.
3. The spinner also stacked above the static root-menu items
("Paste URL", "Problems", "Git Commits", "Add File", "Add Folder")
when the picker first opens with empty input, even though those
items are already actionable.
Fixes:
- Drop the `&& searchQuery` guard so the loading effect arms on empty
queries too.
- In `filteredOptions`, strip the lone `NoResults` entry while
`showDelayedLoading` is true — searching is not the same as nothing
matched.
- Render the spinner only when `filteredOptions.length === 0`, so it
never stacks above existing options.
The 500ms delay before the spinner appears is preserved, so fast
searches stay visually quiet.
* fixes
* Drop stale @-mention searchFiles responses to fix "No results" flash
* Track in-flight searches with a monotonic latestSearchTokenRef in
ChatTextArea; resolve/error handlers bail when their captured token
is no longer the latest.
* Send the token as mentionsRequestId; proto already supports it.
* Drop the never-read currentSearchQueryRef scaffold.
* Fixes the cancel-then-re-pick race (Add File → cancel → Add Folder)
reported in CLINE-1814.