From 4febc7ea49ee70b44202deaa2256e032f40bb4b7 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Tue, 14 Jan 2025 14:04:47 -0500 Subject: [PATCH] assistant2: Cancel pending completion when an error occurs (#23143) This PR makes it so the pending completion is cleared when an error occurs. This makes it so `Thread::is_streaming()` will return `false` in the error case (and thus hide the streaming indicator in the UI). Release Notes: - N/A --- crates/assistant2/src/thread.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/assistant2/src/thread.rs b/crates/assistant2/src/thread.rs index b5a42da85b..e7c4036a55 100644 --- a/crates/assistant2/src/thread.rs +++ b/crates/assistant2/src/thread.rs @@ -361,7 +361,7 @@ impl Thread { let result = stream_completion.await; thread - .update(&mut cx, |_thread, cx| match result.as_ref() { + .update(&mut cx, |thread, cx| match result.as_ref() { Ok(stop_reason) => match stop_reason { StopReason::ToolUse => { cx.emit(ThreadEvent::UsePendingTools); @@ -384,6 +384,8 @@ impl Thread { SharedString::from(error_message.clone()), ))); } + + thread.cancel_last_completion(); } }) .ok();