Member Junction
    Preparing search index...
    SessionChannelState: "open" | "closed"

    Per-channel state surfaced for session-channel events.

    Why only two values? RealtimeSessionService's only channel observable is ActiveChannels$ (the full plugin set), which fires once on resolve and again with [] on teardown. There's no opening / closing transition observable at the channel-plugin level today. Narrowing here is honest about what's observable; widening later is non-breaking (consumers handling 'open' | 'closed' still type-check against 'opening' | 'open' | 'closing' | 'closed').