From f6eb9bb23cfa2e11241a7628ab342c8498d0a48a Mon Sep 17 00:00:00 2001 From: Danilo Leal Date: Fri, 12 Jun 2026 01:21:55 +0200 Subject: [PATCH 1/2] Fix compaction button never leading loading state if errored --- crates/acp_thread/src/acp_thread.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/acp_thread/src/acp_thread.rs b/crates/acp_thread/src/acp_thread.rs index 963e41cad0c68b..921b3b3fab4838 100644 --- a/crates/acp_thread/src/acp_thread.rs +++ b/crates/acp_thread/src/acp_thread.rs @@ -2893,7 +2893,9 @@ impl AcpThread { } Err(e) => { Self::flush_streaming_text(&mut this.streaming_text_buffer, cx); - + if is_same_turn { + this.mark_pending_entries_as_canceled(cx); + } this.had_error = true; cx.emit(AcpThreadEvent::Error); log::error!("Error in run turn: {:?}", e); From 5e0d4cc56e2f70a3210f41fafe053b5be359c306 Mon Sep 17 00:00:00 2001 From: Danilo Leal Date: Fri, 12 Jun 2026 01:22:05 +0200 Subject: [PATCH 2/2] Bonus: Add fix to max tokens scenario as well --- crates/acp_thread/src/acp_thread.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/acp_thread/src/acp_thread.rs b/crates/acp_thread/src/acp_thread.rs index 921b3b3fab4838..29734033974edc 100644 --- a/crates/acp_thread/src/acp_thread.rs +++ b/crates/acp_thread/src/acp_thread.rs @@ -2831,6 +2831,9 @@ impl AcpThread { } else { log::error!("Max tokens reached. Usage: {:?}", this.token_usage); } + if is_same_turn { + this.mark_pending_entries_as_canceled(cx); + } return Err(anyhow!(MaxOutputTokensError)); }