karvan: refrescar la sala sin JavaScript
Sin JS el chat ya funcionaba —el formulario publica y el mensaje sale en el HTML— pero no llegaban los mensajes de los demas hasta recargar a mano. La pagina de sala anade <noscript><meta http-equiv=refresh content=10>: solo actua cuando no hay JavaScript, asi que con JS el data-channel sigue mandando y no hay recargas encima del chat en vivo. Es el mismo recurso que usa upstream en indexing_view. Comprobado ademas sobre el modelo, con TTL acortado: la sala se autodestruye al vencer y no deja mensajes, el anillo respeta el tope de 250 conservando los mas recientes, se rechaza la senalizacion de mas de 16 KiB, el tope de 100 salas se aplica, y postear en una sala inexistente devuelve null en vez de reventar. El identificador de sala son 72 bits de entropia: no es adivinable, y es la unica credencial de acceso — quien tiene el enlace, entra. Es el modelo previsto, pero conviene tenerlo escrito.
This commit is contained in:
parent
ad2d5c8f62
commit
ace175cca3
1 changed files with 4 additions and 1 deletions
|
|
@ -115,4 +115,7 @@ exports.karvanRoomView = (room, messages, params = {}) =>
|
|||
: ""
|
||||
),
|
||||
script({ src: "/js/karvan.js", defer: "defer" })
|
||||
);
|
||||
// sin JavaScript no hay data-channel ni sondeo, asi que la sala se refresca sola.
|
||||
// Va en <noscript> para que con JS no recargue encima del chat en vivo.
|
||||
// Mismo recurso que usa upstream en indexing_view.
|
||||
).replace('</head>', '<noscript><meta http-equiv="refresh" content="10"></noscript></head>');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue