Ultimate

X_REALTIME_TOPOLOGY

Means

a sync node boots on a real database with no reachable change feed

Typical cause

role sync on an external database, with the in-process transport and no replicator in this process: the replicator in another pod publishes into its own in-process bus, and every live query and channel here is silent with no error. Raised only when the node serves something that reads a change — a live: true query, or a channel that lists records; a node whose channels are events-only needs no replicator on any transport (27.5.0)

Fix

set NATS_URL for every realtime role (web, sync, replicator) — or, for a bus of your own, add transport: myTransport to export const runtime = { … } in apps/<app>/runtime.ts — or run the replicator in this process: x dev --role sync,replicator

Listed under Realtime

This page as markdown