presence
Who else is on this record right now: a browser sends a heartbeat every 15 seconds for one row of an allow-listed entity and gets the other viewers and editors back, with a live signal to them on a change. State is ephemeral (Redis hash per tenant, entity and row, in-memory without Redis), keyed by the session tenant, expires after ttlSeconds without a heartbeat and holds user ids only; display names are looked up per response. A caller sees presence only for rows visible to them. Mount with createPresenceFeature({ entities: [“task”] }).
How it fits
Section titled “How it fits”The write commands this feature provides (Provides).
flowchart TB
n_presence["presence"]
subgraph how_provides["Provides"]
n_cmd_presence_write_heartbeat(["heartbeat"])
n_cmd_presence_write_leave(["leave"])
end
n_presence --> n_cmd_presence_write_heartbeat
n_presence --> n_cmd_presence_write_leave
Provides — write commands this feature registers (dispatch them through the command bus):
Dependencies
Section titled “Dependencies”- Requires: none
- Activation: always on (not toggleable)