presence

Live membership/presence events — identical to the backing Room's events.

These are link-liveness events, not human presence. A MembershipEvent.Partitioned means a peer's transport link went silent; a MembershipEvent.Resumed / MembershipEvent.Recovered means the link healed. A brief transport heal (app returning to foreground, a Wi-Fi blip) can legitimately resume in ~3 s while the player is, from the app's point of view, still "away". Human-presence semantics ("seated / away / thinking") are an app-layer concept the consumer composes on top (e.g. debounce, or gate on app-foreground) — do not mistake a legitimate link-resume for a bug.