[Web] ver.movistarplus.es: el primer clic en la mini-guía no cambia de canal (macOS, Chrome y Safari)
Hola a todos: Vengo con un error muy concreto y reproducible del reproductor web de Movistar Plus+, y con el diagnóstico técnico que he podido sacar. Lo comparto por si a alguien más le pasa y para que, si algún moderador puede, llegue al equipo de la web. El problema en una frase Viendo un canal en directo, el primer clic sobre un canal de la mini-guía no hace nada. Hay que cerrar el panel, volver a abrirlo y hacer clic otra vez: entonces sí cambia. Entorno Web: https://ver.movistarplus.es/canales Sistema: macOS Navegadores: Chrome y Safari (ocurre en los dos, versiones estables actuales) Fecha de las pruebas: 25/08/2026 Pasos para reproducirlo Abrir ver.movistarplus.es y poner cualquier canal en directo. Pasar el ratón por encima del dial/logotipo del canal (arriba a la izquierda) para que se despliegue la mini-guía de canales. Hacer clic en cualquier canal de la lista. Lo que ocurre: el primer clic se ignora por completo. Hay que sacar el ratón del panel, esperar a que se cierre, volver a abrirlo y hacer clic de nuevo. El segundo intento funciona siempre. Lo que debería ocurrir: que el primer clic cambie de canal. Lo que ya he descartado (para ahorrarnos vueltas) No es una extensión del navegador: pasa igual en una ventana de incógnito, sin extensiones. No es el bloqueador de anuncios: pasa igual con AdGuard desactivado. No es un navegador concreto: ocurre en Chrome y en Safari, que usan motores distintos. No es la caché ni la sesión: persiste tras limpiar caché y volver a iniciar sesión. Diagnóstico técnico (por si le sirve al equipo de desarrollo) Instrumenté la página con las herramientas de desarrollo, añadiendo listeners en fase de captura (pointerdown, mousedown, pointerup, mouseup, click) más un MutationObserver, y reproduje el fallo. Esto es lo que se ve: El clic llega perfectamente. En el clic "fallido", toda la secuencia de eventos se dispara sobre la fila correcta (div.guia-player-canales__div): mismo nodo en el down y en el up, el nodo sigue conectado al DOM, y document.elementFromPoint() devuelve esa misma fila (o sea, no hay ningún overlay invisible interceptando). El navegador entrega el evento; es la aplicación la que no lo procesa. Por eso descarto el equipo del usuario. El panel se construye de forma perezosa. Hasta que se abre, .guia-player-canales solo contiene un placeholder vacío: <div class="MovpModule" data-type="miniGuide">. Las filas se generan en cada apertura y se destruyen al cerrar. Las filas no tienen listener propio. Son <div> sin handler; el único listener de clic relevante es un handler delegado de jQuery colgado de <body>. Hipótesis: condición de carrera en la inicialización del módulo miniGuide. En la primera apertura, las filas se pintan antes de que el módulo termine de inicializarse y enlazar sus datos (id de canal, EPG), así que el handler delegado recibe el clic pero lo descarta en silencio. En la segunda apertura los datos ya están cacheados y funciona. Sugerencia de solución Renderizar las filas de la mini-guía solo cuando el módulo esté en estado "ready", o garantizar que el enlace de datos ocurra antes del primer render. Como refuerzo, no descartar el clic en silencio: si la inicialización no ha terminado, encolar la acción y ejecutarla al completarse, o mostrar las filas visualmente deshabilitadas hasta que sean interactivas. De paso, usar <button> o role="button" en las filas mejoraría la accesibilidad y la gestión de eventos. Apaño mientras tanto Abrir la mini-guía, esperar un segundo largo antes de hacer clic. Dándole tiempo al módulo a terminar de cargar, el primer clic suele funcionar. Mis preguntas para el foro ¿Le pasa a alguien más? Me interesa especialmente si ocurre también en Windows, para confirmar que es del código de la web y no algo específico de macOS. ¿Hay algún canal por el que se pueda hacer llegar esto al equipo técnico de la web? Ya lo he enviado por el buzón de atención al cliente, pero no sé si llega a los desarrolladores. Gracias, y quedo a disposición para aportar más trazas o una grabación si sirve de ayuda.1Vista0me gusta0Comentarios