From 9fbea04d4664086fbaf85338596dae26c50ffaba Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Sat, 1 Aug 2026 09:00:41 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=A6=97=20fix:=20Deliver=20Abort=20Acknowl?= =?UTF-8?q?edgements=20on=20Zero-Subscriber=20Replicas=20(#14569)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/src/stream/implementations/RedisEventTransport.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/api/src/stream/implementations/RedisEventTransport.ts b/packages/api/src/stream/implementations/RedisEventTransport.ts index 2e17a1eeb1..fdb881c8d7 100644 --- a/packages/api/src/stream/implementations/RedisEventTransport.ts +++ b/packages/api/src/stream/implementations/RedisEventTransport.ts @@ -505,9 +505,13 @@ export class RedisEventTransport implements IEventTransport { try { const parsed = JSON.parse(message) as PubSubMessage; + /** Aborts, preempts, and abort acknowledgements are consumed by + * transport-internal waiters (e.g. pending-ack resolution), not SSE + * subscribers, so they must flow even with zero local subscribers. */ if ( streamState.count === 0 && parsed.type !== EventTypes.ABORT && + parsed.type !== EventTypes.ABORT_ACK && parsed.type !== EventTypes.PREEMPT ) { return;