Skip to content
Slaap rustigData foundation

Geautoriseerde realtime

Schermen updaten zodra data verandert. Iedereen ziet alleen wat hij mag zien.

Schermen updaten zodra data verandert. Iedereen ziet alleen wat hij mag zien.

  • 0

    query details accepted from the browser

  • 5 min

    before every stream must re-prove access

  • 1

    checked path for every live feed

Het probleem dat dit oplost

Zonder een gedeelde basis bouwt elk team deze randgevallen opnieuw — en anders.

The sync engine that streams everything

Point browsers straight at a sync service and clients get to pick their own tables and filters. One missing check, and every customer's rows stream out to whoever asks.

The removed user who still sees data

Access was checked once, when the stream opened. That person was removed an hour ago. Their tab is still receiving live updates. Access checked once is access that never expires.

The UI that jumps around

A slightly stale update lands over a fresh edit, then the real one arrives and the screen visibly jumps. Your users read that flicker as data loss.

Hoe het werkt

Het mechanisme van begin tot eind, zoals het in de repository is geïmplementeerd.

  1. 1

    The browser asks by name

    The client requests a named feed along with its company and project IDs. Everything gets validated before anything else runs.

  2. 2

    The server checks membership

    Login and role are verified, and project feeds are checked against the right company. Failures return errors, never data.

  3. 3

    The server builds the real query

    Tables, columns, and filters come from a server-only registry. The sync secret never leaves the server.

  4. 4

    Updates settle in order

    Each save returns its database transaction ID. The screen holds its instant change until that exact transaction arrives, so nothing stale wins.

Interactief voorbeeld

Bekijk het in werking

Deze rondleiding toont het geïmplementeerde backendcontract zonder account, credentials of providercalls.

Interactief voorbeeld

Follow the implemented lifecycle

  1. Optimistic updateHuidig
  2. Authenticated writeWachtend
  3. Authorized ShapeWachtend
  4. Receipt matchedWachtend

Stap 1 van 4: Optimistic update

Alleen deterministische voorbeelddata. De interactie gebruikt geen account-, provider- of netwerkverbinding.

Kernpunten

Waarom dit belangrijk is

The server picks what streams

The browser can only ask for a feed by name. Which tables, columns, and filters it gets is decided on the server.

Access gets re-checked

Live streams expire every five minutes and must re-prove access. Removed users lose their feed at the next check, not never.

No flicker, no jumps

The screen updates instantly, then quietly confirms with the server. Stale data never overwrites a fresh edit.

Technische garanties

Wat dit wel en niet belooft

Veiligheidsgrens

Achter de schermen houden autorisatie, tenantgrenzen en foutafhandeling één duidelijke eigenaar. Zo blijft de snelle ervaring voor gebruikers gekoppeld aan veilig herstel als het misgaat.

Implementatiebewijs

De grens hierboven is geen claim maar code. Deze bestanden dragen het contract:

  • src/routes/api/electric.ts
  • src/realtime/server-proxy.ts
  • src/realtime/registry.server.ts
Vragen

Veelgestelde vragen

Bouw verder op Geautoriseerde realtime

De documentatie beschrijft dezelfde contracten die deze pagina demonstreert.