diff options
Diffstat (limited to 'packages/core/src')
| -rw-r--r-- | packages/core/src/config/config.ts | 2 | ||||
| -rw-r--r-- | packages/core/src/ide/ide-client.ts | 9 |
2 files changed, 9 insertions, 2 deletions
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.', |
