From 3af4913ef3f00de71744de551a568aa713a3beec Mon Sep 17 00:00:00 2001 From: christine betts Date: Fri, 8 Aug 2025 15:38:30 +0000 Subject: [ide-mode] Close all open diffs when the CLI gets closed (#5792) --- packages/core/src/config/config.ts | 2 +- packages/core/src/ide/ide-client.ts | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'packages/core') diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index 473ab5a6..a06c4505 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -684,7 +684,7 @@ export class Config { await this.ideClient.connect(); logIdeConnection(this, new IdeConnectionEvent(IdeConnectionType.SESSION)); } else { - this.ideClient.disconnect(); + await this.ideClient.disconnect(); } } diff --git a/packages/core/src/ide/ide-client.ts b/packages/core/src/ide/ide-client.ts index 5ffcc2e3..6d8be7fa 100644 --- a/packages/core/src/ide/ide-client.ts +++ b/packages/core/src/ide/ide-client.ts @@ -175,7 +175,14 @@ export class IdeClient { } } - disconnect() { + async disconnect() { + if (this.state.status === IDEConnectionStatus.Disconnected) { + return; + } + for (const filePath of this.diffResponses.keys()) { + await this.closeDiff(filePath); + } + this.diffResponses.clear(); this.setState( IDEConnectionStatus.Disconnected, 'IDE integration disabled. To enable it again, run /ide enable.', -- cgit v1.2.3