From 99cea559f9a032dea6780779248a3f548a961146 Mon Sep 17 00:00:00 2001 From: mallesh-bot Date: Wed, 2 Sep 2026 14:59:30 +0530 Subject: [PATCH] fix(cli): retain abort status after finalize failure --- v2/crates/wifi-densepose-cli/src/calibrate_api.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/v2/crates/wifi-densepose-cli/src/calibrate_api.rs b/v2/crates/wifi-densepose-cli/src/calibrate_api.rs index 49ad1dcc4..dc4378e6d 100644 --- a/v2/crates/wifi-densepose-cli/src/calibrate_api.rs +++ b/v2/crates/wifi-densepose-cli/src/calibrate_api.rs @@ -616,13 +616,16 @@ async fn finalize( status.write().await.session = Some(snap); } + // `CalibrationRecorder::finalize` consumes the recorder, so retain a + // terminal snapshot before attempting the fallible operation. + let mut aborted_snapshot = session_snapshot(&sess, "aborted", None); let baseline: BaselineCalibration = match sess.recorder.finalize() { Ok(baseline) => baseline, Err(e) => { let message = format!("finalize failed: {e}"); let note = format!("aborted: {message}"); - let snap = session_snapshot(&sess, "aborted", Some(note.clone())); - status.write().await.session = Some(snap); + aborted_snapshot.note = Some(note.clone()); + status.write().await.session = Some(aborted_snapshot); eprintln!("[calibrate-serve] {note}"); return Err(message); }