From c4af43faa32a638c025d450dcefdb98ed8207bb7 Mon Sep 17 00:00:00 2001 From: decolua Date: Thu, 27 Aug 2026 18:52:50 +0700 Subject: [PATCH] fix(stream): stop logging a disconnect for every completed Responses call MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Responses-API clients (codex, droid) close the socket on response.completed because the protocol has no [DONE] sentinel, so every successful request printed "⚡ DISCONNECT: ResponseAborted" after its own "📊 done" line. Keep the dbg("CTRL", …) trace and drop the console line; ABORTED and ERROR still print. Co-Authored-By: Claude Fable 5 --- open-sse/utils/streamHandler.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/open-sse/utils/streamHandler.js b/open-sse/utils/streamHandler.js index 7f04427d..27a623fc 100644 --- a/open-sse/utils/streamHandler.js +++ b/open-sse/utils/streamHandler.js @@ -41,7 +41,8 @@ export function createStreamController({ onDisconnect, onError, log, provider, m if (disconnected) return; disconnected = true; - logStream("⚡", `DISCONNECT: ${reason}`); + // Debug-only: Responses API has no [DONE] sentinel, so codex/droid close the + // socket on every completed request. "📊 done" is the authoritative outcome line. dbg("CTRL", `${provider}/${model} | disconnect=${reason} | dur=${Date.now() - startTime}ms`); // Delay abort to allow cleanup