presence-room-42
リアルタイムチャット
presence チャンネル上のルーム、メンバーシップ、入力中の表示。
ユースケース
監査ログ、注文の流れ、障害のタイムライン。形はどれも一つです。追記だけされ、誰かが見ているリスト。HTTP で読み込み、イベントで最新に保ちます。
再接続したクライアントにはすき間があります。ソケットがすべて拾えたと決めてかからず、フィードの先頭を取り直してください。
const feed = await fetch('/api/activity?limit=50').then((r) => r.json())render(feed.items)// Same shape as the HTTP payload, so one renderer covers both.pusher.subscribe('private-account-3b1').bind('activity', (item) => { prepend(item)})公式の Pusher ライブラリを、手を加えずに使って書いています。インストールする PushCaster 製のパッケージはありません。 ドキュメント全文
presence チャンネル上のルーム、メンバーシップ、入力中の表示。
サーバーの 1 つのイベントが、ユーザーが開いているすべての面に届きます。
ポーリングで取りにいくのではなく、変わったそばから送る。