SeuraaEdge
v1
Docs/Reference
Reference

Understand event size, replay, delivery, and plan boundaries.

Platform Limits

Edge is designed for compact application events.

Event Size

The default maximum complete event frame is 4 KiB. This includes event data and protocol metadata.

Store images, video, documents, and other large objects in object storage. Publish an identifier or URL through Edge:

ts
await edge.channels.publish("private:user-123", "attachment.created", {
  attachmentId: "attachment-456",
  url: "https://cdn.example.com/attachment-456",
});

Delivery

Applications should treat event delivery as at-least-once and process events idempotently. Event IDs and client event IDs can be used for de-duplication.

Replay

Persisted replay is available on paid plans. Each replay-enabled channel retains a limited event window. When that window is full, publishing a new event removes the oldest retained event.

If a reconnect cursor is still inside the retained window, the client receives the events published after that cursor. If the cursor is no longer retained, the channel snapshot has resumed: false and contains only the events still available.

Without persisted replay, clients reconnect and restore their subscriptions but do not receive events published while they were disconnected.

Edge does not provide arbitrary historical queries. Persist authoritative events in your application database when they must remain available beyond the replay window.

Presence

Presence represents current channel occupancy. It is not a historical user activity record.

Plan Limits

Connection, publish-rate, subscription, replay, and bandwidth limits depend on the account plan.

  • A rate-limited WebSocket operation emits a server.error event with code: "rate_limit.exceeded".
  • A rate-limited server-side publish rejects with an error containing HTTP status 429.
  • A connection attempt can be refused when the app has reached its connection limit.

Retry transient rate limits with backoff. Authorization failures, invalid payloads, and oversized events require changing the request before retrying.

See the error reference for exact error surfaces and recovery guidance.