From 4d1141f57bfe3338b115d0f4ef4a8174068eee70 Mon Sep 17 00:00:00 2001 From: Meenaksh Singhania Date: Thu, 16 Apr 2026 17:28:29 +0530 Subject: [PATCH] fix: prevent silent failures when releasing stream reader locks --- packages/core/src/v3/realtimeStreams/streamInstance.ts | 7 ++++++- packages/core/src/v3/realtimeStreams/streamsWriterV1.ts | 7 ++++++- packages/core/src/v3/realtimeStreams/streamsWriterV2.ts | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/core/src/v3/realtimeStreams/streamInstance.ts b/packages/core/src/v3/realtimeStreams/streamInstance.ts index 5efbcb225a3..2d44369f6ea 100644 --- a/packages/core/src/v3/realtimeStreams/streamInstance.ts +++ b/packages/core/src/v3/realtimeStreams/streamInstance.ts @@ -153,5 +153,10 @@ async function* streamToAsyncIterator(stream: ReadableStream): AsyncIterab function safeReleaseLock(reader: ReadableStreamDefaultReader) { try { reader.releaseLock(); - } catch (error) {} + } catch (error) { + if (debug) { + // fallback if no logger available + console.warn("Failed to release stream reader lock", error); + } + } } diff --git a/packages/core/src/v3/realtimeStreams/streamsWriterV1.ts b/packages/core/src/v3/realtimeStreams/streamsWriterV1.ts index 2f2b4af1682..a3045d95ea2 100644 --- a/packages/core/src/v3/realtimeStreams/streamsWriterV1.ts +++ b/packages/core/src/v3/realtimeStreams/streamsWriterV1.ts @@ -464,5 +464,10 @@ async function* streamToAsyncIterator(stream: ReadableStream): AsyncIterab function safeReleaseLock(reader: ReadableStreamDefaultReader) { try { reader.releaseLock(); - } catch (error) {} + } catch (error) { + if (debug) { + // fallback if no logger available + console.warn("Failed to release stream reader lock", error); + } + } } diff --git a/packages/core/src/v3/realtimeStreams/streamsWriterV2.ts b/packages/core/src/v3/realtimeStreams/streamsWriterV2.ts index 568ff5574e6..af647f472aa 100644 --- a/packages/core/src/v3/realtimeStreams/streamsWriterV2.ts +++ b/packages/core/src/v3/realtimeStreams/streamsWriterV2.ts @@ -212,5 +212,10 @@ async function* streamToAsyncIterator(stream: ReadableStream): AsyncIterab function safeReleaseLock(reader: ReadableStreamDefaultReader) { try { reader.releaseLock(); - } catch (error) {} + } catch (error) { + if (debug) { + // fallback if no logger available + console.warn("Failed to release stream reader lock", error); + } + } }