Skip to content

feat(ssh): collapse host groups in the settings library - #526

Open
Aschenbath wants to merge 2 commits into
Kuddev:mainfrom
Aschenbath:fix/ssh-group-collapse
Open

Aschenbath wants to merge 2 commits into
Kuddev:mainfrom
Aschenbath:fix/ssh-group-collapse

Conversation

@Aschenbath

@Aschenbath Aschenbath commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Result / 用户结果

Fixes #480. The SSH host page now groups hosts under collapsible headings with counts. Search temporarily reveals matching hosts; clearing the query restores the view's fold state. An entirely ungrouped library keeps its existing flat layout.

Design / 设计边界

  • Grouping is a presentation projection of the existing filtered host snapshot. Groups follow their first host and preserve host order within each group. The existing virtual list remains bounded to eight visible rows.
  • Fold state belongs to the settings view and is not persisted. No new dependency, host-store format, credential behavior, or connection path.
  • Headings use GPUI button roles, full-row hit targets, visible keyboard focus, Tab navigation, Enter/Space activation, and accessible expanded state. Labels align with the list and truncate independently of counts. Search exposes non-interactive headings. English and Chinese action descriptions use typed IDs; other languages fall back to English.
  • English and Chinese READMEs explain ordering, search, and lifetime behavior.

Evidence / 验证依据

  • Windows host-library suite: 5 passed. Covers actual heading hit areas, Tab/Enter/Space, search reveal/restore, ungrouped compatibility, stable ordering and counts, and existing host actions.
  • Native Windows fixture verified at 192 DPI / 200%: Nord expanded groups and Paper with the home group collapsed. A native pointer click on the real heading hides its three hosts while retaining the count and other groups. Window-owned capture contains synthetic hosts only. Other DPI values, long translated labels and Linux/macOS native visual behavior remain unverified locally.
  • Product cargo check --locked -p nebula --bin pebrel --features gpui-shell --tests: passed.
  • Internationalization contract: 24 passed, 1 manual benchmark ignored. Settings: 97 passed. File-line contract: 2 passed. Architecture check against 33479963: passed; checker regression suite: 54 passed.
  • Changed Rust files formatted; git diff --check passed. Full-workspace formatting and Linux/macOS native tests were not run locally; CI results must be evaluated separately.

Native SSH host groups with the home group collapsed

Required Review / 必须确认

  • Followed contribution, architecture and project constraints.
  • Responsibilities remain separate; no duplicate persistence authority.
  • Architecture check passed without raised budgets.
  • Regression coverage and verification limits stated.
  • Typed i18n IDs and matching placeholders, with English fallback.
  • Governance changes: not applicable.

@Aschenbath
Aschenbath marked this pull request as ready for review October 8, 2026 03:03
@Aschenbath
Aschenbath requested a review from Kuddev as a code owner October 8, 2026 03:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] SSH页面支援展开/收起

1 participant