Files
orca/src/renderer
Neilandm4air 01562f8bcc fix(ssh): window the SSH Hosts list and search past the Remote Hosts cap, so a 13k-host ssh config no longer crashes the renderer (#31405)
* fix(ssh): the Remote Hosts menu lists a capped set of idle SSH hosts

* fix(ssh): the SSH Hosts settings list renders hosts a page at a time

* fix(ssh): window the SSH Hosts settings list and keep project hosts in the capped menu

Settings > SSH Hosts now windows its rows against the Settings scroller with the
shared VirtualizedList instead of paging 100 at a time, so every host stays
reachable by scrolling or the filter while only the rows near the viewport mount.
The Remote Hosts menu cap rises to 25 idle hosts, fills it with hosts that own
projects first, and the overflow row says to search the rest in Settings.

* fix(ssh): search the Remote Hosts menu's capped idle hosts in place

Web clients reach SSH hosts through this menu but have no SSH Hosts settings
pane, so a link to Settings stranded every host past the cap. The menu now shows
a search box whenever idle hosts are hidden; it narrows them by name, and the
overflow line says how many are left. Also gives the two existing status-bar
store mocks the repos field the menu now reads.

* fix(ssh): typing in the Remote Hosts menu goes to its host search

The search box is not a menu item, so arrow keys can't reach it; letters typed
while the menu has focus now land in the search instead of Radix typeahead.

* fix(ssh): the Remote Hosts search keeps focus and drives its results by keyboard

The host rows are not menu items, so the menu's arrow keys never reach them. The
search box is now a combobox over the connectable results: it keeps focus, arrow
keys move the active result (announced through aria-activedescendant), and Enter
connects it through the same path as the row's Connect button.

* fix(ssh): Remote Hosts search only reaches hosts that match, and keeps the active one in view

Every not-connected row now has to match the search, so Enter can't connect a
failed host the user didn't type. Arrow keys scroll the active result into view.
Also drops restyles on the search Input and fixes the singular overflow default.

* refactor(ssh): find hidden Remote Hosts in a searchable picker, not a search box inside the menu

A search box inside the dropdown kept fighting the menu over focus, Tab, Enter
repeat and IME input. The overflow row is now a menu item that opens a host
picker (Command in a Popover, as the style guide prescribes for single choice
with search). It ranks exact names first so any host is reachable by typing its
name, mounts at most 50 results, and says how many more match. The menu keeps
config order when nothing is capped.

* fix(ssh): closing the host search from the keyboard returns focus to the status button

The picker is anchored, not triggered, so Radix had nowhere to restore focus and
it fell to the page. A keyboard close now focuses the Remote Hosts button; a click
elsewhere keeps focus where the user clicked. Also drops the padding restyle on
PopoverContent.

* fix(ssh): the host search marks the keyboard-selected host with the palette highlight

---------

Co-authored-by: m4air <m4air@Mac.localdomain>
2026-10-20 21:51:27 -07:00
..