aboutsummaryrefslogtreecommitdiff
path: root/src/client/shell/endpoints.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/shell/endpoints.rs')
-rw-r--r--src/client/shell/endpoints.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/client/shell/endpoints.rs b/src/client/shell/endpoints.rs
index dd6fa3cb..fff28b71 100644
--- a/src/client/shell/endpoints.rs
+++ b/src/client/shell/endpoints.rs
@@ -26,6 +26,7 @@ pub(crate) struct ClientShellEndpoint {
pub(super) struct MachineHit {
pub(super) rect: Rect,
+ pub(super) status_badge: Rect,
pub(super) collapse_toggle: Rect,
pub(super) endpoint_id: ClientEndpointId,
}
@@ -108,6 +109,7 @@ impl ClientShellState {
}
pub(crate) fn retire_endpoint(&mut self, endpoint_id: &ClientEndpointId) {
+ self.clear_machine_diagnostic(endpoint_id);
if endpoint_id == &self.active_endpoint_id {
self.pending_workspace_highlight = None;
}
@@ -134,6 +136,12 @@ impl ClientShellState {
endpoint_id: &ClientEndpointId,
status: ClientEndpointStatus,
) {
+ if matches!(
+ status,
+ ClientEndpointStatus::Online | ClientEndpointStatus::Disabled
+ ) {
+ self.clear_machine_diagnostic(endpoint_id);
+ }
if endpoint_id == &self.active_endpoint_id && status != ClientEndpointStatus::Online {
self.pending_workspace_highlight = None;
}