supabase/supabase
Realtime
Studio surfaces a small inspector for the Realtime service. The runtime is supabase/realtime (an Elixir server that listens to Postgres replication and fans changes out over WebSockets).
Studio surfaces involved
| Folder | Purpose |
|---|---|
apps/studio/components/interfaces/Realtime/ |
Realtime inspector — channels, presence, broadcasts. |
Data layer
Under apps/studio/data/realtime/.
How it works
Studio is mostly a viewer. It uses @supabase/realtime-js to subscribe to channels, mirror messages, and surface them to the developer. Subscription lifecycle is governed by the Realtime service.
graph LR
UI[Realtime inspector]
Client[@supabase/realtime-js]
RT[supabase/realtime]
PG[(Postgres + logical replication)]
UI --> Client
Client -->|wss| RT
PG --> RTPostgres' built-in logical replication is the source of database-change events; Realtime polls it and converts changes to JSON for authorized subscribers.
Self-host
docker/docker-compose.yml runs realtime as a service. Auth happens via JWTs generated by GoTrue; channel-level access is enforced by RLS policies in Postgres.
Integration points
supabase/realtimeupstream.@supabase/realtime-jsfor the client.- Postgres logical replication and the publications managed under
features/database-management.
Entry points for modification
- Inspector UX →
components/interfaces/Realtime/. - Subscription helpers → wrap or extend
@supabase/realtime-jsusage indata/realtime/.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.