Drains, and drains ONCE MORE if something asked while it was running.
⚠️ The replay is capped at one extra pass, deliberately. Triggers coincide by nature —
a phone waking in coverage fires online and visibilitychange in the same second — and
those have nothing new to push. The case that earns the extra pass is a WRITE landing
mid-drain: the running pass read the queue before it existed, so without this it would
wait for the next tick.
⚠️ Re-entrance is closed TWICE and neither is redundant: here, and by pushOutbox's own
lock, which also covers the callers that never come through this file (the console, the
E2E suite, offline-ui's replay button).
Drains, and drains ONCE MORE if something asked while it was running.
⚠️ The replay is capped at one extra pass, deliberately. Triggers coincide by nature — a phone waking in coverage fires
onlineandvisibilitychangein the same second — and those have nothing new to push. The case that earns the extra pass is a WRITE landing mid-drain: the running pass read the queue before it existed, so without this it would wait for the next tick.⚠️ Re-entrance is closed TWICE and neither is redundant: here, and by
pushOutbox's own lock, which also covers the callers that never come through this file (the console, the E2E suite,offline-ui's replay button).