From 55cdf2e8f8af2dd3feebb4bb7d44c9cb7e23b384 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Mon, 11 May 2026 16:13:17 +0300 Subject: fix: stabilize integration agent state reports --- src/update.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/update.rs') diff --git a/src/update.rs b/src/update.rs index c4c5b162..68528795 100644 --- a/src/update.rs +++ b/src/update.rs @@ -563,9 +563,11 @@ pub fn self_update() -> Result { tracing::warn!("failed to save pending release notes: {e}"); } let downloaded_update = download_update(&release)?; + let updated_exe = downloaded_update.current_exe.clone(); let stopped_server = stop_running_server_for_update(running_server_plan.as_ref(), &release)?; install_downloaded_update(downloaded_update)?; eprintln!("updated to v{}", release.version); + print_outdated_integration_notice_with_updated_binary(&updated_exe); if stopped_server { eprintln!("run herdr again to start the updated server."); @@ -578,6 +580,16 @@ pub fn self_update() -> Result { Ok(release.version) } +fn print_outdated_integration_notice_with_updated_binary(updated_exe: &Path) { + let status = Command::new(updated_exe) + .args(["integration", "status", "--outdated-only"]) + .status(); + + if !status.is_ok_and(|status| status.success()) { + crate::integration::print_outdated_update_notice(); + } +} + /// Background update check: only surface availability and release notes. /// Runs in a background thread at startup. pub fn auto_update(events: tokio::sync::mpsc::Sender) { -- cgit v1.2.3