From b14401f817e5fb1d3301b7885b53d11338c185aa Mon Sep 17 00:00:00 2001 From: Cole Miller Date: Mon, 2 Jun 2025 19:46:04 -0400 Subject: [PATCH] Remove agent_diff key context when agent review ends for an editor (#31930) Release Notes: - Fixed an issue that prevented `git::Restore` keybindings from working in editors for buffers that had previously been modified by the agent. Co-authored-by: Anthony Eid --- crates/agent/src/agent_diff.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/agent/src/agent_diff.rs b/crates/agent/src/agent_diff.rs index df491238456e777980fbee745932812c20a8ae8a..c1c2ed87bb1f1bb50a3f3b6a019763bd757b0032 100644 --- a/crates/agent/src/agent_diff.rs +++ b/crates/agent/src/agent_diff.rs @@ -1464,7 +1464,10 @@ impl AgentDiff { if !AgentSettings::get_global(cx).single_file_review { for (editor, _) in self.reviewing_editors.drain() { editor - .update(cx, |editor, cx| editor.end_temporary_diff_override(cx)) + .update(cx, |editor, cx| { + editor.end_temporary_diff_override(cx); + editor.unregister_addon::(); + }) .ok(); } return; @@ -1560,7 +1563,10 @@ impl AgentDiff { if in_workspace { editor - .update(cx, |editor, cx| editor.end_temporary_diff_override(cx)) + .update(cx, |editor, cx| { + editor.end_temporary_diff_override(cx); + editor.unregister_addon::(); + }) .ok(); self.reviewing_editors.remove(&editor); }