Skip to content

feat(ssh): duplicate saved hosts from context menu - #282

Merged
Kuddev merged 30 commits into
Kuddev:mainfrom
WilliamWang1721:feat/ssh-host-duplicate-menu
Sep 25, 2026
Merged

Kuddev merged 30 commits into
Kuddev:mainfrom
WilliamWang1721:feat/ssh-host-duplicate-menu

Conversation

@WilliamWang1721

@WilliamWang1721 WilliamWang1721 commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Result / 用户结果

SSH Settings saved-host rows now expose the existing SSH actions through a right-click menu: Connect, Edit, Copy, and Delete.

Copy opens a new-host draft prefilled from the selected host, reusing the existing SSH editor/profile loading path. The copied display name uses the existing label allocator (for example, Alpha → Alpha 1, then Alpha 2). The destination field is intentionally cleared because Pebrel currently uses the destination itself as the persisted host identity; the user only needs to enter the new target and adjust any other differing fields.

Design / 设计边界

  • Reuses the existing GPUI context-menu component and existing Connect/Edit/Delete behavior.
  • Reuses open_ssh_editor for copying auth mode, keys, icon, port, proxy/jump settings and organization metadata; no second SSH editor or persistence path.
  • Reuses SshProfiles::next_default_label for collision-free copy names.
  • No persisted-format, dependency, threading or host-identity changes.
  • Stored secrets remain in the OS credential store and are not copied into editor text fields, preserving the existing no-secret-backfill contract.
  • No new shortcut was introduced because these host-scoped launcher/settings actions currently have no existing effective key binding to reuse.

Evidence / 验证依据

  • Branch starts directly from current upstream main (9dc058d12765893553d5fc7a2c37c870c96168b0).
  • Added a focused GPUI regression assertion covering copy-draft identity, cleared destination and generated Alpha 1 label.
  • Full repository CI is requested by opening this PR Ready for Review.

Required Review / 必须确认

  • Focused single-purpose change; no duplicate persistence authority.
  • No architecture budget, dependency, workflow or governance changes.
  • Existing typed menu messages are reused; no new translation catalog entries.
  • No defensive framework or unrelated refactor added.

UI Review Screenshots

Current-head evidence for d5181c983e37ad0642fb2dea52560bee1d9af047. UI review workflow run

Windows — success

PR #282 — Windows — 00-full-app-review.png

PR #282 — Windows — 01-ssh-settings-entry-review.png

PR #282 — Windows — 02-ssh-context-menu-review.png

PR #282 — Windows — 03-ssh-copy-editor-review.png

Raw evidence: Windows originals

macOS — success

PR #282 — macOS — 00-full-app-review.png

PR #282 — macOS — 01-ssh-settings-entry-review.png

Raw evidence: macOS originals

github-actions Bot added a commit to WilliamWang1721/pebrel that referenced this pull request Sep 25, 2026
github-actions Bot added a commit to WilliamWang1721/pebrel that referenced this pull request Sep 25, 2026

@Kuddev Kuddev left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?????????

  • ???????????????????????????????????????????????????????????????????
  • ??????????????????????????????????????????????????????????????????
  • ??????????????????????????????????????????????? GPUI ????
  • ?????????????????????????????????????
  • ??? PR ???????? workflow?????????????????? Windows ?????????????macOS ?????????????????????????
  • ?????? diff ????????? 8c56181a761d6f909e9dc754f11b61e49c8ea09f ? 10 ??????????

CI?https://github.com/Kuddev/pebrel/actions/runs/36161534274

@Kuddev
Kuddev merged commit 1a6a0bc into Kuddev:main Sep 25, 2026
11 checks passed
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.

2 participants