select: Look up a value in all items, not the search results (#2670)
## Problem `SelectState::set_selected_value` asks the delegate for the position of a value, and a delegate answers from its matched items. With a search query active, that position is an index into the filtered view, so the Select picks the wrong row — or nothing at all when the value is filtered out. Along the way: `ListState::set_query` documents that it triggers a search, but it only wrote to the input. `InputState::set_value` does not emit `InputEvent::Change`, so no search ran. ## Fix - `set_selected_value` clears an active query first, so the lookup runs against the full item list. - `set_query` starts the search itself, which is what its doc already promised. The search body moves out of the input-event handler into `start_search` unchanged, so both callers share it. ## Test Two tests in `crates/ui/src/select.rs`: a flat list and a grouped list, both selecting a value that the active filter had hidden. Both fail without the fix. Closes #2522, #2627 AI-generated with Claude Code, reviewed by hand. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
J
Jason Lee committed
bc3f22927a2c389ec9f53f01a02e3338bb8ff065
Parent: 8e20e3b
Committed by GitHub <noreply@github.com>
on 8/10/2026, 10:31:02 AM