From 598b170a5986dd249f7a52045515557e1ccfb96a Mon Sep 17 00:00:00 2001 From: AstroHan Date: Mon, 6 Jul 2026 15:28:02 +0800 Subject: [PATCH 1/5] feat(ui): migrate SearchModal result list to Base UI Autocomplete (#520 PR8) SearchModal's hand-rolled roving-focus result list (activeResultIndex / moveActiveResult / jumpActiveResult / keyboardSelectionHandledRef / handleResultKeyDown / data-active) is replaced by Base UI Autocomplete in activedescendant mode: - Autocomplete.Root inline + mode="none" + autoHighlight="always" + filter={null}: the list renders inline in the modal body (no floating popup), Autocomplete does not re-filter the server-side IPC results, and the first result is always highlighted so Enter works without an extra ArrowDown. - Autocomplete.Input renders the input via the shared InputGroupInput primitive (render prop); ArrowUp/Down/Enter/Escape keyboard nav is owned by Autocomplete (floating-ui useListNavigation). - Autocomplete.List + Autocomplete.Item replace the hand-rolled