Firefox a veces no puede cargar/renderizar imágenes cacheadas previamente (avatares)

Estamos investigando lo que parece ser un error de Firefox relacionado con la caché de avatares en el disco y su posterior recuperación por una solicitud posterior.

Reportado a Firefox como:

La forma en que se manifiesta este problema es la ausencia de avatares donde normalmente debería haber uno, por ejemplo:

Estos son respectivamente:


<img loading="lazy" alt="" width="24" height="24" src="https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mancera1979/48/732001_2.png" class="avatar" title="mancera1979 - Frequent Poster">
<img loading="lazy" alt="" width="24" height="24" src="https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/jca34f/48/340148_2.png" class="avatar" title="JCA34F - Frequent Poster">

y esas URL redirigen a, respectivamente:

https://europe1.discourse-cdn.com/arduino/optimized/4X/3/3/7/337a5e4169461364c9805cfad882c9eb0332bdf3_2_48x48.png
https://europe1.discourse-cdn.com/arduino/optimized/4X/4/b/8/4b8c803f304aa7e7c487184224ec9f970c96e8c4_2_48x48.jpeg

Mientras se inspecciona el DOM usando las herramientas de desarrollador, Firefox informa “No se pudo cargar la imagen”

Nunca falla en las solicitudes iniciales, siempre solo ha ocurrido en solicitudes posteriores que cargarían la imagen desde la caché:

Recargar la página a veces hace que Firefox cargue la imagen correctamente, por ejemplo:

después de una recarga:


Sabemos que:

… el problema no es específico de la aplicación Discourse en sí. Hemos reproducido el problema con una página HTML estática que contiene solo enlaces a avatares:

… deshabilitar http3 en Firefox no resuelve el problema

… vaciar la caché del navegador hace que las imágenes se carguen correctamente la próxima vez

… los usuarios finales han informado de este problema en ordenadores de sobremesa y móviles

Sospechamos que:

… esto tiene algo que ver con que la imagen se cargue después de una redirección

Algunos de nuestros entornos de alojamiento tienen un “rastreador de redirecciones” instalado que hace que una solicitud a la URL original devuelva la imagen en sí en lugar de una redirección a la imagen. No creo que nadie haya experimentado este problema en esos entornos.

No tenemos:

una reproducción del problema consistente y clara de principio a fin

6 Me gusta

Lo he visto yo mismo en Firefox. No sé si es relevante o no, pero mi sitio usa bunny.net como CDN.

1 me gusta

Interesante. OK, si tienes más detalles o pasos para reproducir el problema, no dudes en publicarlos aquí.


:face_with_raised_eyebrow:
:microscope:

Bueno, eso es EXTREMADAMENTE apropiado :laughing:

4 Me gusta

Esto, para mí, se siente como nuestro próximo paso @david, una configuración del sitio que deshabilita esto para ver si tiene algún impacto.

1 me gusta

Dado que @supermathie tiene una reproducción vaga en una página estática, ¿quizás intentamos crear una versión de esa sin loading="lazy"? Mucho más fácil que modificar Discourse para hacerlo.

¿Es algo que podrías intentar, @supermathie?

2 Me gusta

¡No usaría ninguna otra CDN! :rabbit2:

1 me gusta

He estado recargándolas de vez en cuando, y acabo de replicar el problema cargando la página lazy (funcionó) y luego la página non-lazy (falló):

Desafortunadamente, Firefox pareció recargar completamente los assets en la recarga (la opción Disable Cache no está activada) con las herramientas de desarrollador abiertas, pero… esto es extraño:

El usuario parece haber cambiado/actualizado su avatar, ¿y nos redirigimos al nuevo? No estoy seguro de qué desencadena esto @david.

Me atrevería a suponer que esta redirección adicional activó brevemente el bug de Firefox. Lo cual está en línea con la diferencia de comportamiento debido al “redirect chaser”.

¿Quizás pueda activarlo?

Cambié mi avatar, veamos si falla cuando recargue en una hora.

EDIT: bueno, esta vez no falló

pero mis travesuras en esta página parecen estar afectando negativamente a otras páginas… NINGUNO de estos avatares funciona ahora y creo que es porque una solicitud de red está “atascada”.

2 Me gusta

Hoy: Recargué la página con lazy y se cargó bien:

Luego cargué la página sin lazy, y:

:person_shrugging:

Así que supongo que eso significa que es poco probable que lazy= sea la causa del problema? Al menos eso es una cosa descartada :sweat_smile:

2 Me gusta