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;