Estabilidad visual movil y cierre fiable del streaming
La version movil del chat corrige los parpadeos mas visibles al finalizar respuestas de IA, mejora el handoff entre streaming y mensaje persistido, y reduce saltos de scroll y overflow en pantallas pequenas.
Nuevo
- La respuesta de la IA ya no desaparece unos segundos al terminar el streaming si Supabase tarda en devolver el mensaje final.
- Fallback local optimista para respuestas finales, reemplazado automaticamente por el mensaje persistido cuando llega desde la base de datos.
- Welcome movil recuperada para entrar o crear un chat sin generar conversaciones vacias antes del primer mensaje.
- Header movil liquid glass ya no tapa el welcome ni el primer mensaje: el contenido baja segun la altura real del header.
Mejorado
- Chats compartidos sincronizan mejor el evento assistant-done para que el receptor cambie antes de la tarjeta live al mensaje real.
Arreglado
- Composer movil con posicion inferior mas robusta y tablas Markdown mas seguras en pantallas estrechas.
Chat movil
- Handoff visual mas estable entre streamingContent y el mensaje final de assistant.
- Autoscroll movil menos agresivo durante chunks de streaming para evitar saltos acumulados.
- Correccion del calc() del composer inferior para respetar nav movil y safe area en navegadores moviles.
- Tablas Markdown con ancho minimo reducido en movil para prevenir overflow horizontal excesivo.
- Nuevo chat en movil vuelve a mostrar WelcomeScreen y crea la conversacion solo al enviar el primer mensaje.
- WelcomeScreen adaptada a movil con espaciado dinamico del composer/nav y layout mas compacto.
- Padding superior dinamico conectado al header movil para evitar solapes en welcome y conversaciones recien abiertas.
Streaming y persistencia
- Respuesta assistant optimista local cuando el stream termina antes de que el mensaje persistido llegue al store.
- Merge del store mejorado con optimistic_client_stream_id y shared_stream_id para retirar el fallback sin duplicados.
- Limpieza mas robusta de marcadores internos del stream como TITLE_UPDATED y eventos de research en el contenido visible.
Chats compartidos
- Sincronizacion silenciosa inmediata al recibir assistant-done por realtime.
- Filtro live ajustado para no ocultar mensajes assistant persistidos durante el cierre del stream local.
- Follow-ups calculados sobre mensajes combinados para convivir mejor con mensajes live y optimistas.
