3 Chats
SITO edited this page 2026-08-20 00:14:38 +02:00

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.

Respuesta con cita

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:

  1. La es un enlace normal a ?replyTo=<id>#chat-compose.
  2. El backend lee ese parámetro y se lo pasa a la vista.
  3. La vista pinta la cita sobre el formulario y mete un campo oculto replyTo.
  4. Al enviar, el identificador viaja con el mensaje y se guarda dentro de él.
  5. 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

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 No
Quién entra Miembros del chat Quien tenga el enlace
Llamadas No
Para qué Lo que quieres conservar Lo que no