¡Hola a todos! Me gustaría reportar un error.
Reproducido en las versiones v2.4.5 y v2.5.0.
Requisitos previos
Crea una publicación con una subida de video/audio.
Lo he probado con subida de medios seguros, pero debería reproducirse también con medios no seguros.
Inicia la edición de la publicación.
Abre la consola de desarrollador del navegador. Opcionalmente, configura un filtro para la API de subida.
Espera a que se completen todas las solicitudes y limpia la consola.
Pasos para reproducir
Escribe cualquier cosa en el área de edición (izquierda).
Revisa la consola de desarrollador del navegador.
Resultado real
Cada pulsación de tecla se considera un cambio, por lo que al escribir se generan constantemente eventos de subida de video.
Muchas modificaciones provocan el envío masivo de solicitudes, lo que resulta en rechazo de solicitudes debido al límite de tasa de la API y en el cierre de sesión automático del foro.
Resultado esperado
No debe haber solicitudes de subida de audio/video mientras se edita una publicación.
Esta línea es la que causa el error. Llama a la función load del elemento DOM <video>/<audio> cada vez que se renderiza la vista previa, es decir, cada vez que se modifica una publicación.
Eso es extraño. Solo puedo reproducir el problema si selecciono la casilla “Deshabilitar caché” en la pestaña Red de mi inspector web. Cuando deselecciono “Deshabilitar caché”, obtengo los resultados esperados. Estoy usando Chrome en Ubuntu. Por tu video, parece que no tienes seleccionada la opción “Deshabilitar caché”, así que no estoy seguro de qué está causando la diferencia.
“Desactivar caché” no debe afectar el envío de solicitudes. Afecta únicamente el origen del resultado de una solicitud: si proviene de la caché del navegador o de la fuente real.
Esas solicitudes de carga son enviadas por el código que vuelve a renderizar la vista previa con cada pulsación de tecla, lo que provoca la creación de un nuevo elemento DOM de video/audio. Por lo tanto, se llama a load para un nuevo elemento DOM, lo que definitivamente debe enviar una solicitud.
Incluso si se tratara de un elemento DOM “en caché” (no creado de nuevo en cada ocasión), solo se enviaría una solicitud una vez, independientemente de la opción “Desactivar caché”.
He revisado esto y puedo reproducirlo en cierta medida con subidas de video seguras y no seguras. En cierto punto parece que se pone en caché y deja de enviar estas solicitudes repetidamente, pero sigue siendo un problema. La línea que señalaste:
Fue agregada por mí, pero en realidad no parece afectar nada ahora. Si la elimino, las vistas previas de los videos siguen funcionando correctamente. Sé que hemos realizado otro trabajo con miniaturas de video, etc., lo que probablemente haya solucionado cualquier problema por el que agregué esa línea. Así que creo que simplemente la eliminaré, lo que resolverá el problema de las múltiples solicitudes.