aboutsummaryrefslogtreecommitdiff
path: root/src/client/shell/settings.rs
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-06 02:27:06 +0300
committerGitHub <noreply@github.com>2026-09-06 02:27:06 +0300
commit9e9bc8a144667a6b7debfd4f0c7a31ff0e11493a (patch)
tree03f1259f91fd9edeacfd4b904f2e84d4acf25232 /src/client/shell/settings.rs
parent35b0dff96579f099e0436290085024424ffb289c (diff)
feat: manage multiple ssh machines from one client (#3670)
Diffstat (limited to 'src/client/shell/settings.rs')
-rw-r--r--src/client/shell/settings.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/client/shell/settings.rs b/src/client/shell/settings.rs
index d90d371f..200201c5 100644
--- a/src/client/shell/settings.rs
+++ b/src/client/shell/settings.rs
@@ -313,6 +313,9 @@ impl ClientShellState {
(true, Vec::new())
}
PendingEndpointKind::IntegrationInstall => {
+ let cancelled = result
+ .as_ref()
+ .is_err_and(|error| error.code.as_deref() == Some("endpoint_cancelled"));
self.pending_integration_installs =
self.pending_integration_installs.saturating_sub(1);
if let Some(ClientShellOverlay::Settings(settings)) = self.overlay.as_mut() {
@@ -328,7 +331,8 @@ impl ClientShellState {
}
settings.installing_integrations = self.pending_integration_installs > 0;
}
- let actions = if self.pending_integration_installs == 0
+ let actions = if !cancelled
+ && self.pending_integration_installs == 0
&& matches!(self.overlay, Some(ClientShellOverlay::Settings(_)))
{
let mut deferred = ClientShellInput::default();