Realtime events

Let the product react while it is open.

Subscribe live clients to record changes over WebSocket. Update dashboards, operational screens, and multi-user interfaces without polling every table.

  • WebSocket
  • Create
  • Update + delete

Live application data

Carry changes from the backend to the screen.

The /live endpoint exposes table-oriented create, update, and delete notifications. Clients subscribe to the topics they need and reconnect on their own terms. After reconnecting, the data API remains the authoritative source for current state.

Use the model you already have

Record changes become live notifications without maintaining a parallel event schema.

Gate system topics

Daptin checks table access when a client subscribes to system-managed topics.

Build responsive operations

Refresh queues, status boards, admin screens, and collaboration surfaces when underlying records change.

Scale delivery across instances

Olric PubSub can carry live messages when several Daptin processes serve the application.

Live product surfaces

Refresh what changed, while the user is looking.

Operations boards

Update queue, ticket, order, or device views when records are created, changed, or removed.

Administrative interfaces

Keep dashboard3-style screens responsive without polling every resource on a short interval.

Multi-user products

Notify clients that shared application records changed, then retrieve authoritative state through the API.

Clustered delivery

Use Olric PubSub to carry notifications between clients attached to different Daptin instances.

Connection semantics

Live notification is not durable event storage.

The wire distinguishes session, response, event, and pong messages. Record events carry separate topic and create/update/delete fields with base64-encoded JSON data. System-topic access is checked when the client subscribes.

Clients should reconnect with backoff, reconnect after permission changes, and refresh database state after interruption. The live channel does not promise replay or guaranteed delivery of messages missed while disconnected.

Implement the WebSocket protocol →

Stop asking the server whether anything changed.