Quadro compartilhado
O Go grava no D1 e, em seguida, o Durable Object do tópico envia o fragmento para cada aba aberta via hx-ws.
Como o quadro funciona
- Cada alteração é um envio de formulário para um handler Go no Worker. Ele grava no D1, o banco de dados SQLite da Cloudflare e a única fonte da verdade do quadro, e incrementa a versão do tópico.
- Em seguida, o handler renderiza o quadro inteiro uma vez por idioma e o entrega ao Durable Object do tópico, que o envia para cada aba aberta. Nada é mesclado no navegador: cada push substitui o quadro.
- As abas ficam conectadas com o hx-ws do htmx 4 via WebSocket Hibernation, então mil abas ociosas quase não custam nada até que algo mude. O selo conta quem está aqui.
- Cada push leva a versão a partir da qual foi feito. Uma aba ignora um push mais antigo que o quadro que ela mostra, então alterações que se cruzam na rede nunca voltam atrás.
- Cada conexão pode fazer 60 alterações em 10 segundos, e um tópico comporta até 1.000 abas abertas.