presence-room-42
リアルタイムチャット
presence チャンネル上のルーム、メンバーシップ、入力中の表示。
ユースケース
リアルタイムの大半はチャットではありません。終わったジョブ、出荷された注文、赤くなったビルド。誰かが古い写しを見ている間に変わった状態のことです。
書き込みが確定してから publish してください。先に publish すると、トランザクションが巻き戻ったときにデータベースが認めない状態を見せることになります。
// 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(),})公式の Pusher ライブラリを、手を加えずに使って書いています。インストールする PushCaster 製のパッケージはありません。 ドキュメント全文
presence チャンネル上のルーム、メンバーシップ、入力中の表示。
サーバーの 1 つのイベントが、ユーザーが開いているすべての面に届きます。
ポーリングで取りにいくのではなく、変わったそばから送る。