diff --git a/packages/core-events/src/event-bus.interface.ts b/packages/core-events/src/event-bus.interface.ts index ffc5721..2db20bf 100644 --- a/packages/core-events/src/event-bus.interface.ts +++ b/packages/core-events/src/event-bus.interface.ts @@ -11,8 +11,8 @@ export interface IEventBus { /** * Subscribe a handler. `consumerFeature` is the kebab-case name of the - * subscribing feature (e.g., "marketing-pages"). InMemoryEventBus uses it - * only as a debug tag; PayloadJobsEventBus uses it to name the fan-out task + * subscribing feature (e.g., "marketing-pages"). It is unused by + * InMemoryEventBus; PayloadJobsEventBus uses it to name the fan-out task * slug deterministically (`__events..`). */ subscribe( diff --git a/packages/core-events/src/in-memory-event-bus.ts b/packages/core-events/src/in-memory-event-bus.ts index e429ffd..6ac36e8 100644 --- a/packages/core-events/src/in-memory-event-bus.ts +++ b/packages/core-events/src/in-memory-event-bus.ts @@ -24,6 +24,8 @@ export class InMemoryEventBus implements IEventBus { ); if (this.options.failFast) { const failure = settled.find((s) => s.status === "rejected"); + // Only the first rejection is rethrown. Other failures are intentionally + // dropped — `failFast` is a test-affordance, not a fault-tolerance design. if (failure && failure.status === "rejected") throw failure.reason; } }