presence-room-42
Realtime chat
Rooms, membership and typing indicators on presence channels.
Use case
Most realtime is not chat. It is a job that finished, an order that shipped, a build that went red — state that changed while someone watched a stale copy.
Publish after the write commits. Publishing first shows a state the database will not confirm if the transaction rolls back.
// Publish the transition after it is committed, not before.await job.markComplete()await pusher.trigger(`private-job-${job.id}`, 'state-changed', { state: 'complete', finished_at: job.finishedAt.toISOString(),})Written with the official Pusher libraries, unmodified — there is no PushCaster package to install. Full documentation
Rooms, membership and typing indicators on presence channels.
One server event, delivered to every surface a user has open.
Push metrics as they change instead of polling for them.