Typing Indicators

En un chat en vivo, tanto el visitante como el agente ven una pequeña línea en cursiva "X está escribiendo…" cuando el otro lado está redactando un mensaje. No se realizan escrituras en la base de datos; los mensajes no se transmiten; el indicador simplemente aparece y desaparece.

En el lado del agente

Cuando el visitante está escribiendo, el hilo de mensajes muestra:

El visitante está escribiendo…

La línea aparece debajo del último mensaje y desaparece automáticamente después de que el visitante deja de escribir durante 3 segundos. También desaparece en el momento en que llega un nuevo mensaje del visitante (el mensaje reemplaza al marcador de posición).

En el lado del visitante (widget)

De manera similar — cuando el agente está escribiendo, una línea debajo del área de desplazamiento del chat indica:

Sarah está escribiendo…

Se utiliza el nombre del agente del formulario de respuesta. Desaparece automáticamente tras 3 segundos de silencio.

Cómo funciona internamente

Es un "evento de cliente" de Pusher / Reverb — el mismo canal WebSocket que transporta los mensajes nuevos se usa para transmitir pings de escritura ligeros. Sin persistencia en el servidor, sin escrituras en la base de datos.

Cada lado limita sus propios pings a uno por cada 1,5 segundos mientras escribe — las pulsaciones de teclas se acumulan más rápido de lo que importa la red, por lo que se limita la tasa.

Cuándo no se muestra el indicador

  • WebSocket desconectado — el chat recurre al sondeo cada 15 segundos para los mensajes nuevos, pero los indicadores de escritura son solo en tiempo real. No funcionan mediante sondeo.
  • Visitante con conexión lenta — el indicador puede presentar un retraso visible. No es un error, simplemente es la realidad de la red.
  • Cualquiera de los dos lados tiene el chat en una pestaña en segundo plano — los pings de escritura se siguen enviando, pero el destinatario no los verá hasta que regrese a esa pestaña.

Interruptor de apagado

No existe. Los indicadores de escritura funcionan como parte de la infraestructura estándar del chat, sin un interruptor por función. Si genuinamente no los desea, contáctenos — nos gustaría entender el motivo antes de agregar esa opción.