agent2: Fix agent location still being present after thread stopped (#36471)

Bennet Bo Fenner created

Release Notes:

- N/A

Change summary

crates/acp_thread/src/acp_thread.rs | 2 ++
crates/agent_ui/src/agent_diff.rs   | 8 ++++----
2 files changed, 6 insertions(+), 4 deletions(-)

Detailed changes

crates/acp_thread/src/acp_thread.rs 🔗

@@ -1282,6 +1282,8 @@ impl AcpThread {
                 .await?;
 
             this.update(cx, |this, cx| {
+                this.project
+                    .update(cx, |project, cx| project.set_agent_location(None, cx));
                 match response {
                     Ok(Err(e)) => {
                         this.send_task.take();

crates/agent_ui/src/agent_diff.rs 🔗

@@ -1520,12 +1520,12 @@ impl AgentDiff {
                     self.update_reviewing_editors(workspace, window, cx);
                 }
             }
+            AcpThreadEvent::Stopped | AcpThreadEvent::Error | AcpThreadEvent::ServerExited(_) => {
+                self.update_reviewing_editors(workspace, window, cx);
+            }
             AcpThreadEvent::EntriesRemoved(_)
-            | AcpThreadEvent::Stopped
             | AcpThreadEvent::ToolAuthorizationRequired
-            | AcpThreadEvent::Retry(_)
-            | AcpThreadEvent::Error
-            | AcpThreadEvent::ServerExited(_) => {}
+            | AcpThreadEvent::Retry(_) => {}
         }
     }