From 86fa1dd67d7f92980e80409f44309115ff7e59ac Mon Sep 17 00:00:00 2001 From: Ed_ Date: Thu, 7 May 2026 21:30:23 -0400 Subject: [PATCH] feat(gui): track VSCode diff process, close it when patch modal closes - Store _vscode_diff_process after launching external editor - Add _close_vscode_diff() helper to terminate the process - Call _close_vscode_diff() when Apply Patch or Reject is clicked --- src/gui_2.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/gui_2.py b/src/gui_2.py index 98fa652..8752718 100644 --- a/src/gui_2.py +++ b/src/gui_2.py @@ -2201,8 +2201,10 @@ class App: imgui.same_line() if imgui.button("Apply Patch"): self._apply_pending_patch() + self._close_vscode_diff() imgui.same_line() if imgui.button("Reject"): + self._close_vscode_diff() self._show_patch_modal = False self._pending_patch_text = None self._pending_patch_files = [] @@ -2252,9 +2254,18 @@ class App: self._patch_error_message = "Failed to launch external editor" else: self._patch_error_message = None + self._vscode_diff_process = result except Exception as e: self._patch_error_message = str(e) + def _close_vscode_diff(self) -> None: + if hasattr(self, '_vscode_diff_process') and self._vscode_diff_process: + try: + self._vscode_diff_process.terminate() + except Exception: + pass + self._vscode_diff_process = None + def request_patch_from_tier4(self, error: str, file_context: str) -> None: try: from src import ai_client