acp: Clean up entry views on rewind (#36197)

We were leaking diffs and terminals on rewind, we'll now clean them up.
This PR also introduces a refactor of how we mantain the entry view
state to use a `Vec` that's kept in sync with the thread entries.

Release Notes:

- N/A
This commit is contained in:
Agus Zubiaga 2025-08-14 15:30:18 -03:00 committed by GitHub
parent 2acfa5e948
commit 43ee604179
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 758 additions and 346 deletions

View file

@ -841,7 +841,7 @@ async fn test_agent_connection(cx: &mut TestAppContext) {
// Create a thread using new_thread
let connection_rc = Rc::new(connection.clone());
let acp_thread = cx
.update(|cx| connection_rc.new_thread(project, cwd, &mut cx.to_async()))
.update(|cx| connection_rc.new_thread(project, cwd, cx))
.await
.expect("new_thread should succeed");