Tablero compartido

Go escribe en D1 y luego el Durable Object del tema envía el fragmento a cada pestaña abierta mediante hx-ws.

Temalobby
Abre esta página en otra pestaña y cambia algo.
…en línea
71versión 226
hu

hello man

解决

Ggh

Vnn

Cómo funciona el tablero

  1. Cada cambio es un formulario enviado a un handler de Go en el Worker. Este escribe en D1, la base de datos SQLite de Cloudflare y la única fuente de verdad del tablero, e incrementa la versión del tema.
  2. Después, el handler renderiza el tablero completo una vez por idioma y se lo pasa al Durable Object del tema, que lo envía a cada pestaña abierta. Nada se combina en el navegador: cada push reemplaza el tablero.
  3. Las pestañas siguen conectadas con hx-ws de htmx 4 mediante WebSocket Hibernation, así que mil pestañas inactivas apenas cuestan nada hasta que algo cambia. La insignia cuenta quién está aquí.
  4. Cada push lleva la versión a partir de la que se hizo. Una pestaña ignora un push más antiguo que el tablero que muestra, así que los cambios que se cruzan en la red nunca retroceden.
  5. Cada conexión puede hacer 60 cambios en 10 segundos, y un tema admite hasta 1000 pestañas abiertas.