Tableau partagé

Go écrit dans D1, puis le Durable Object du sujet envoie le fragment à chaque onglet ouvert via hx-ws.

Sujetlobby
Ouvrez cette page dans un autre onglet et modifiez quelque chose.
…en ligne
71version 226
hu

hello man

解决

Ggh

Vnn

Comment fonctionne le tableau

  1. Chaque modification est un envoi de formulaire à un gestionnaire Go sur le Worker. Il écrit dans D1, la base de données SQLite de Cloudflare et seule source de vérité du tableau, puis augmente la version du sujet.
  2. Le gestionnaire produit ensuite le rendu complet du tableau, une fois par langue, et le confie au Durable Object du sujet, qui l’envoie à chaque onglet ouvert. Rien n’est fusionné dans le navigateur : chaque push remplace le tableau.
  3. Les onglets restent connectés grâce au hx-ws de htmx 4 via WebSocket Hibernation, si bien qu’un millier d’onglets inactifs ne coûte presque rien tant que rien ne change. Le badge indique qui est là.
  4. Chaque push porte la version dont il est issu. Un onglet ignore tout push plus ancien que le tableau qu’il affiche : même si des modifications se croisent sur le réseau, il ne revient jamais en arrière.
  5. Chaque connexion peut effectuer 60 modifications en 10 secondes, et un sujet accepte jusqu’à 1 000 onglets ouverts.