From b9b58554e86aa17b1f000b33799dbb306c185b80 Mon Sep 17 00:00:00 2001 From: damocles Date: Wed, 3 Jun 2026 11:28:20 +0200 Subject: [PATCH] fix: restart-all only lists successfully restarted agents --- hive-c0re/src/server.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hive-c0re/src/server.rs b/hive-c0re/src/server.rs index 2bd75c5a..074d5ff0 100644 --- a/hive-c0re/src/server.rs +++ b/hive-c0re/src/server.rs @@ -148,20 +148,23 @@ async fn dispatch(req: &HostRequest, coord: Arc) -> HostResponse { HostRequest::RestartAll => { tracing::info!("restart-all"); let agents = lifecycle::list().await?; + let mut ok_agents: Vec = Vec::new(); let mut errors: Vec = Vec::new(); for agent in &agents { if let Err(e) = lifecycle::restart(agent).await { tracing::warn!(%agent, error = ?e, "restart-all: failed to restart agent"); errors.push(format!("{agent}: {e:#}")); + } else { + ok_agents.push(agent.clone()); } } if errors.is_empty() { - HostResponse::list(agents) + HostResponse::list(ok_agents) } else { HostResponse { ok: false, error: Some(errors.join("; ")), - agents: Some(agents), + agents: Some(ok_agents), approvals: None, } }