Declare the channel pattern once (CLI), then connect from the app:
Subscribing to a channel no declared pattern covers fails with
REALTIME_UNAUTHORIZED. Declare the pattern first - that alone unlocks it.
Presence
res.presence.members on subscribe - who is here now
presence:join / presence:leave events as people come and go
backend.realtime.getPresenceState(channel) any time
Rules
connect() before anything else.
publish() requires a prior subscribe() to the same channel.
- Leave with
unsubscribe(channel).