Responder citando
Lo único que esta rama cambia en los chats. Cómo funcionan los chats de Oasis está en su wiki · Volver a la portada
En el Oasis oficial, dentro de un chat se escribe y ya. Si diez mensajes después alguien contesta a algo de arriba, no hay forma de saber a qué.
Esta rama añade una flecha en cada burbuja.
Al pulsar la ↩ de un mensaje, el formulario de abajo se prepara para responderle: sale una cita con el autor y el principio del texto, y una ✕ para cancelar. Al enviar, la respuesta lleva la cita dentro —la barra amarilla de la última burbuja—.
Cómo está hecho, que es la parte interesante
Sin una línea de JavaScript en el cliente. Oasis funciona sin JS a propósito y esto no iba a ser la excepción:
- La ↩ es un enlace normal a
?replyTo=<id>#chat-compose. - El backend lee ese parámetro y se lo pasa a la vista.
- La vista pinta la cita sobre el formulario y mete un campo oculto
replyTo. - Al enviar, el identificador viaja con el mensaje y se guarda dentro de él.
- Al pintar el hilo, la vista arma un índice de mensajes por identificador y resuelve cada cita contra él.
Si el mensaje citado ya no está —se borró, o es más viejo que lo que se carga—, la burbuja sale sin cita en vez de romperse.
Este arreglo salió de probarlo, no de leer el código: el identificador se guardaba pero no se pintaba, porque el modelo no lo copiaba al construir el mensaje. La cita aparecía al escribir y desaparecía al enviar.
Las imágenes suben sin metadatos
Antes de guardarlas se les quitan la ubicación GPS, la marca y el modelo de la cámara, el número de serie y la fecha. Vale para JPEG, PNG y WebP.
Esto en el oficial depende de la biblioteca sharp, y si no está, la imagen pasa
intacta sin avisar. Aquí no depende de nada. Ver Si algo va mal.
Chats o Karvan
Son dos cosas distintas y conviene no confundirlas:
| Chats | Karvan | |
|---|---|---|
| Dónde viven los mensajes | En tu registro SSB, en disco | Solo en memoria |
| Cuánto duran | Para siempre | Hasta que vence la sala |
| Se replican a la red | Sí | No |
| Quién entra | Miembros del chat | Quien tenga el enlace |
| Llamadas | No | Sí |
| Para qué | Lo que quieres conservar | Lo que no |

