Skip to content
AbloAblo Docs
Esc
navigateopen⌘Jpreview

v0.62.0

Every live client now exposes one session-owned ablo.presence projection. active shows the current session’s announced activity and others shows the other visible sessions. The reactive client adds forModel(model, id?) to narrow the same projection without opening another connection. Read, claim, create, update, and delete activity share one typed, model-addressable contract and remain attributable to their originating human or agent session.

Claims and presence now have separate owners: the durable claim authority decides admission, queuing, fencing, expiry, and release, while presence projects that lifecycle for live collaborators. Cross-replica HTTP callers resolve and release claims against the shared authority instead of a process-local roster. An object-form claim also returns its protected row snapshot in the acquisition request, removing the post-grant read race and an extra round trip.

This replaces the earlier participant-oriented presence stream and its raw wire event vocabulary. Migrate PresenceStream, Peer, Activity, PresenceUpdate*, and PresenceKind consumers to Ablo.Presence, Ablo.PresenceSession, and Ablo.PresenceActivity; read the projection through ablo.presence.active, ablo.presence.others, or ablo.presence.forModel(model, id?). The low-level presence_update event, frame-handler members, presence schemas, and claim-stream participant setters are removed because session identity and typed presence snapshot/patch frames now own that lifecycle.

Admission and other transient failures now expose machine-actionable recovery, retryable, and retryAfterSeconds fields through the branded package, including session issuance and headless model requests. The headless client automatically replays an admission-rejected request after the requested delay, without restarting the surrounding claim workflow. Queued HTTP claims heartbeat through their known model and row target, so one holder releasing cannot make the next queued ticket appear lost during promotion. A visibility miss while the fence is minted is retried only inside the ticket’s last server-acknowledged lease window.

Was this page helpful?