From e660358605d4a353f131d16d1ef3f730c5a303ad Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Tue, 26 May 2026 19:30:16 -0500 Subject: [PATCH] fix(openai): require session for websocket transport --- packages/opencode/src/plugin/openai/ws-pool.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/plugin/openai/ws-pool.ts b/packages/opencode/src/plugin/openai/ws-pool.ts index e0083a396c..b6c612d5b2 100644 --- a/packages/opencode/src/plugin/openai/ws-pool.ts +++ b/packages/opencode/src/plugin/openai/ws-pool.ts @@ -50,6 +50,8 @@ export function createWebSocketFetch(options?: CreateWebSocketFetchOptions) { } const key = poolKey(internalHeaders) + if (!key) return httpFetch(input, httpInit) + const entry = pool.get(key) ?? { lastUsedAt: Date.now(), busy: false, fallback: false } pool.set(key, entry) @@ -139,8 +141,11 @@ function invalidate(entry: PoolEntry) { } function poolKey(headers: Record) { + const sessionID = headers["x-session-affinity"] ?? headers["session_id"] + if (!sessionID) return undefined + return [ - headers["x-session-affinity"] ?? headers["session_id"] ?? "global", + sessionID, headers[TITLE_HEADER] === "true" ? "title" : "conversation", ].join(":") }