Restore file to original content when rejecting file recreated by agent (#29264)

Release Notes:

- Fixed a bug that could sometimes cause a file to be deleted when
rejecting an agent change.
This commit is contained in:
Antonio Scandurra 2025-04-23 11:42:43 +02:00 committed by GitHub
parent 5e31d86f1f
commit 55ea481707
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 77 additions and 63 deletions

View file

@ -770,24 +770,18 @@ impl Thread {
for ctx in &new_context {
match ctx {
AssistantContext::File(file_ctx) => {
log.buffer_added_as_context(file_ctx.context_buffer.buffer.clone(), cx);
log.track_buffer(file_ctx.context_buffer.buffer.clone(), cx);
}
AssistantContext::Directory(dir_ctx) => {
for context_buffer in &dir_ctx.context_buffers {
log.buffer_added_as_context(context_buffer.buffer.clone(), cx);
log.track_buffer(context_buffer.buffer.clone(), cx);
}
}
AssistantContext::Symbol(symbol_ctx) => {
log.buffer_added_as_context(
symbol_ctx.context_symbol.buffer.clone(),
cx,
);
log.track_buffer(symbol_ctx.context_symbol.buffer.clone(), cx);
}
AssistantContext::Selection(selection_context) => {
log.buffer_added_as_context(
selection_context.context_buffer.buffer.clone(),
cx,
);
log.track_buffer(selection_context.context_buffer.buffer.clone(), cx);
}
AssistantContext::FetchedUrl(_)
| AssistantContext::Thread(_)