From e3319b2a634c2fe6629c088aeed209ed1fa77e0b Mon Sep 17 00:00:00 2001 From: Ayaan Zaidi Date: Thu, 2 Apr 2026 15:07:54 +0530 Subject: [PATCH] fix: guard ACP disconnect clears by epoch --- src/acp/translator.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/acp/translator.ts b/src/acp/translator.ts index fb0dbbd2aa5..7d68576e6d3 100644 --- a/src/acp/translator.ts +++ b/src/acp/translator.ts @@ -1078,7 +1078,13 @@ export class AcpGatewayAgent implements Agent { pending.reject(error); } - private clearPendingDisconnectState(pending: PendingPrompt): void { + private clearPendingDisconnectState( + pending: PendingPrompt, + disconnectContext: DisconnectContext, + ): void { + if (pending.disconnectContext !== disconnectContext) { + return; + } pending.disconnectContext = undefined; } @@ -1150,7 +1156,7 @@ export class AcpGatewayAgent implements Agent { ); return false; } - this.clearPendingDisconnectState(pending); + this.clearPendingDisconnectState(pending, disconnectContext); return false; } return true; @@ -1180,7 +1186,7 @@ export class AcpGatewayAgent implements Agent { ); return false; } - this.clearPendingDisconnectState(currentPending); + this.clearPendingDisconnectState(currentPending, disconnectContext); return false; } return true;