- Se implementó un sistema de seguimiento de usuarios usando un Map para almacenar IDs de socket y nombres de usuario
- Se agregaron eventos 'user status' para notificar cuando los usuarios entran o salen del chat
- Los mensajes de estado se muestran en el chat con un estilo diferenciado (texto en gris e itálica)
- Se implementó la detección de escritura usando el evento 'input' del campo de texto
- Se agregó un tiempo de espera (timeout) de 2 segundos para determinar cuando el usuario deja de escribir
- Los estados de escritura se muestran en una zona dedicada debajo del chat
- Se implementó la limpieza del estado cuando:
- El usuario envía el mensaje
- Pasan 2 segundos sin actividad de escritura
- Se agregó un sistema de nombres de usuario automático basado en el ID del socket
- Se implementó un sistema de broadcasting para notificaciones
- Se mejoró el diseño visual con estilos CSS para los nuevos elementos
- El sistema de usuarios está diseñado para manejar múltiples conexiones simultáneas
- Los eventos están optimizados para minimizar el tráfico de red
- La implementación es compatible con futuras mejoras como nombres de usuario personalizados
- Conexión de múltiples usuarios simultáneos
- Verificación de notificaciones de estado
- Comprobación del comportamiento del indicador "está escribiendo"
- Pruebas de desconexión y reconexión