Open-Source Wikis

/

Supabase

/

Features

/

Realtime

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 --> RT

Postgres' 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/realtime upstream.
  • @supabase/realtime-js for 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-js usage in data/realtime/.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Realtime – Supabase wiki | Factory