mirror of
https://github.com/stablyai/orca.git
synced 2026-11-15 10:27:33 +00:00
* perf(pickers): window workspace comboboxes and the Cmd+J result list The Automations and Skill install workspace comboboxes mounted one cmdk row per workspace while open, and the Cmd+J result list mounted every capped section row plus each See more page. cmdk moves the highlight, runs Enter and publishes aria-activedescendant by querying mounted rows, so these lists could not be windowed while cmdk owned selection. Each surface now owns its highlight over the full ordered result list: movement keys follow cmdk's bindings over every result, Enter and click share one activation path, and the input's aria-activedescendant names the highlighted option, which stays mounted. Rows render as plain listbox options outside cmdk's registry and only the visible window mounts (TanStack virtualizer; Cmd+J keeps natural layout below 50 rows). Filtering, ranking, section caps and See more are unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * refactor(pickers): share the windowed command virtualizer and keep the compiler gate Move the active-option pin and command-list reveal padding into one hook used by all three surfaces, keep virtualizer consumers out of React Compiler like the other TanStack lists, and express the dialog row styles and the flush skill rows as command variants. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * chore(pickers): record the windowed command virtualizer hook's compiler bailout Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * fix(pickers): keep virtualizer geometry across scrolls and match prior highlight/IME behavior - Stable per-list key/size getters so scrolling and hovering no longer rebuild every row's virtual geometry. - Moving the pointer over the already-highlighted option does no work. - Jump to… numbers every rendered option, disabled ones included. - The task Cmd/Ctrl+Enter shortcut ignores IME composition keys. - The skill install workspace picker opened with nothing chosen highlights the first workspace again. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * fix(pickers): let the shared virtualizer own row key identity Callers now pass their ordered row keys; the shared hook keeps one key array per ordered sequence and derives the key getter from it, so a list rebuilt with the same rows (for example after an unrelated workspace metadata update) no longer forces a full geometry rebuild, while real reorder, insert, remove and filter changes still do. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * fix(pickers): keep the row See more selects in view when Jump to… starts windowing Crossing 50 rows through See more switches the list to windowed rendering; reveal the newly highlighted row after that commit so it stays on screen as it did before. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * perf(pickers): keep Jump to… on its original list; window only the two workspace pickers The real-app benchmark showed no meaningful gain for the Jump to… results (they rarely reach 50 rows), and windowing them changed the See more behaviour at the threshold. Restore Jump to… exactly as on main and keep the windowed list, model-owned selection and option primitive for the Automations and Skill install workspace pickers, which measured clear wins. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>