Loading article…

DocsLoading article…
Managed triggers write events in the same transaction as row changes. Rolled-back writes produce no events. Events have branch-local IDs, schema versions and insert/update/delete operations.
const channel = qb.channel({
table: 'tasks',
onEvent(event) { console.log(event.event, event.payload); },
onStatus(status) { console.log(status); },
}).subscribe();
// When the screen is removed:
channel.unsubscribe();A query result contains meta.consistencyToken. Pass that value as the subscription cursor to receive changes committed after the snapshot boundary. Reconnect resumes from the last processed cursor and deduplicates event IDs.
Treat events as invalidation signals when maintaining a filtered/paginated list. Refetch the authorized query rather than assuming every update still belongs in your current list.
Join validates the publishable key, branch, session and exposed table. The connection rechecks authorization while delivering events. Session expiry, revocation or key removal closes the connection. Changes to identity reset the subscription.
Only authorized columns are delivered. Row removals deliver permitted keys. Do not treat realtime as a way around read policies.
The implementation provides single-node branch ordering and at-least-once replay. Frames are bounded to 64 KiB. Heartbeats keep connections active. Slow clients are disconnected rather than accumulating unlimited buffers.
Presence, broadcast, binary channels and multi-node fan-out are planned capabilities. Persistent application messages belong in ordinary authorized tables.
Studio Realtime (/realtime) can open a debug session for an application subject and role and list trace entries: connecting, joined, replaying, resync and disconnected, plus latency and replay gap when the owner records them. Traces are metadata only. They do not include row bodies, credentials or URLs, and a management session does not prove that identity can read a table.
Connection callbacks, reconnect/replay and resynchronization remain available in the client. Presence, broadcast and multi-node fan-out stay planned.