From ec42b433ca9d616d10e0cc7192d194f869e164cf Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Mon, 26 Oct 2026 13:01:30 -0700 Subject: [PATCH] fix(ssh): make Move anyway the next step when saved items refuse a host's move (#34041) * fix(ssh): show Move anyway on a host card whose move saved state refuses A host whose move to its Orca server was refused over saved state (an enabled SSH automation and its runs, stale workspace details, unsupported saved tabs) stayed in error on every Connect. Move anyway, which connects it and leaves those items on this computer, was only in the card's overflow menu, so the host looked stuck. The card now offers Move anyway next to its refusal, as it already does for Recover server. Refs #29083. * fix(ssh): make Move anyway the next step when saved items refuse a host's move When a host's move to its Orca server is refused only over saved items that Move anyway can leave on this computer (#29083's enabled automation and its runs, for example), every surface now leads with it: - the host card says which items can't move and that Move anyway connects the host and keeps them here, with Move anyway as its primary button; - the refusal toast says the same and offers Move anyway, opening SSH Hosts where the move is confirmed; - the terminal pane's Move anyway is primary too; - the host picker and connect toast read the same line. Refs #29083. --- .../settings/SshHostMoveAnywayAction.tsx | 2 +- .../settings/SshTargetServerStatus.tsx | 2 +- .../ssh-managed-server-refusal-toast.test.ts | 56 ++++++++++++++++++ .../ssh-managed-server-refusal-toast.ts | 52 ++++++++++++++++ .../ssh-managed-server-state-effects.ts | 10 +--- src/renderer/src/i18n/locales/en.json | 2 + src/renderer/src/i18n/locales/es.json | 2 + src/renderer/src/i18n/locales/fr.json | 2 + src/renderer/src/i18n/locales/ja.json | 2 + src/renderer/src/i18n/locales/ko.json | 2 + src/renderer/src/i18n/locales/pt.json | 4 +- src/renderer/src/i18n/locales/zh.json | 2 + .../src/ssh/ssh-connect-failure-toast.ts | 14 +++-- .../src/ssh/ssh-host-refused-move-copy.ts | 59 +++++++++++++++++++ .../ssh/ssh-host-server-status-copy.test.ts | 38 +++++++++++- .../src/ssh/ssh-host-server-status-copy.ts | 34 ++--------- .../e2e/ssh-orcad-move-anyway-inline.spec.ts | 7 ++- 17 files changed, 245 insertions(+), 45 deletions(-) create mode 100644 src/renderer/src/hooks/ipc-events/ssh-managed-server-refusal-toast.test.ts create mode 100644 src/renderer/src/hooks/ipc-events/ssh-managed-server-refusal-toast.ts create mode 100644 src/renderer/src/ssh/ssh-host-refused-move-copy.ts diff --git a/src/renderer/src/components/settings/SshHostMoveAnywayAction.tsx b/src/renderer/src/components/settings/SshHostMoveAnywayAction.tsx index bdd4a5fe036..c9d49209114 100644 --- a/src/renderer/src/components/settings/SshHostMoveAnywayAction.tsx +++ b/src/renderer/src/components/settings/SshHostMoveAnywayAction.tsx @@ -128,7 +128,7 @@ export function SshHostMoveAnywayButton({