The Pi process produces events immediately after session creation, but the browser's SSE connection may not be open yet (React re-render delay, navigation). The hub discarded events with no subscribers, so the user saw a blank session. - Ring-buffer up to 200 events per session; replay on subscribe - hub.clear(id) on POST /sessions/:id/close frees memory