Unix-ms after which the host app should NOT offer the rejoin prompt.
Computed as now + reconnectTokenTTLMs at write time so the SDK does
not need to know server clocks.
Server room state epoch at the moment the record was last refreshed.
Unix-ms timestamp of the original join (NOT the latest reconnect).
Persistent recovery state — surfaced to host apps so a relaunched tab can prompt the user to rejoin an in-flight call instead of silently dropping them on the home screen.
Per the Phase 2 spec (
docs/resilience-failure-modes.md, #5), the web scope issessionStorage: per-tab, survives reload, lost on tab close — the right scope for "you reloaded the page mid-call".The record carries the same
reconnectTokenthatSignalingEnginepersists for in-tab reconnects. The two stores are kept in lockstep: a freshjoinedwrites both, a clean leave /room_ended/INVALID_RECONNECT_TOKENclears both.