Problem
Queued ShouldBroadcast events handled by an asynchronous queue can leave the in-memory capture scope without producing a capture. The README documents this boundary, but an empty batch can be mistaken for a successful no-op.
Proposed direction
Detect queued BroadcastEvent jobs that escape the capture scope and provide an actionable diagnostic without rejecting synchronous ShouldBroadcastNow events or legitimate broadcastWhen() === false cases.
Acceptance criteria
- An asynchronously queued broadcast produces a targeted diagnostic or inspectable warning.
- Sync queue and
ShouldBroadcastNow broadcasts continue to capture normally.
broadcastWhen() === false is not reported as an escaped queue job.
- Event-specific queue connections and Laravel's default queue connection are covered.
- Documentation explains how to opt into strict capture expectations.
Problem
Queued
ShouldBroadcastevents handled by an asynchronous queue can leave the in-memory capture scope without producing a capture. The README documents this boundary, but an empty batch can be mistaken for a successful no-op.Proposed direction
Detect queued
BroadcastEventjobs that escape the capture scope and provide an actionable diagnostic without rejecting synchronousShouldBroadcastNowevents or legitimatebroadcastWhen() === falsecases.Acceptance criteria
ShouldBroadcastNowbroadcasts continue to capture normally.broadcastWhen() === falseis not reported as an escaped queue job.