Firefox est parfois incapable de charger/rendre des images précédemment mises en cache (avatars)

Nous enquêtons sur ce qui semble être un bug dans Firefox concernant la mise en cache des avatars sur le disque, puis leur récupération par une requête ultérieure.

Signalé à Firefox sous :

La façon dont ce problème se manifeste est l’absence d’avatars là où il devrait normalement y en avoir, par exemple :

Ce sont respectivement :


<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">

et ces URL redirigent respectivement vers :

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

Lors de l’inspection du DOM à l’aide des outils de développement, Firefox signale “Impossible de charger l’image”.

Ce n’est jamais lors des requêtes initiales que cela échoue - cela s’est toujours produit uniquement lors des requêtes ultérieures qui tentaient de charger l’image depuis le cache :

Le rechargement de la page déclenche parfois Firefox pour charger l’image correctement, par exemple :

après un rechargement :


Nous savons que :

… le problème n’est pas spécifique à l’application Discourse elle-même. Nous avons reproduit le problème avec une page HTML statique contenant uniquement des liens vers des avatars :

… la désactivation de http3 dans Firefox ne résout pas le problème

… la suppression du cache du navigateur provoque le chargement correct des images la prochaine fois

… les utilisateurs finaux ont signalé ce problème sur ordinateur et mobile

Nous suspectons que :

… cela a quelque chose à voir avec le chargement de l’image après une redirection

Certains de nos environnements d’hébergement ont un “redirect chaser” installé qui fait qu’une requête à l’URL d’origine renvoie l’image elle-même au lieu d’une redirection vers l’image. Je ne pense pas que quiconque ait rencontré ce problème dans ces environnements.

Nous n’avons pas :

une reproduction du problème cohérente et claire du début à la fin

6 « J'aime »

Je l’ai vu moi-même sur Firefox. Je ne sais pas si c’est pertinent du tout, mais mon site utilise bunny.net comme cdn

1 « J'aime »

Intéressant. OK, si vous avez d’autres détails ou étapes de reproduction, n’hésitez pas à les poster ici.


:face_with_raised_eyebrow:
:microscope:

Eh bien, c’est EXTRÊMEMENT approprié :laughing:

4 « J'aime »

Cela me semble être notre prochaine étape @david, un paramètre de site qui désactive cela pour voir si cela a un impact.

1 « J'aime »

Puisque @supermathie a une reproduction vague sur une page statique, peut-être pourrions-nous essayer d’en créer une version sans loading="lazy" ? C’est beaucoup plus facile que de modifier Discourse pour le faire.

Est-ce quelque chose que vous pourriez essayer @supermathie ?

2 « J'aime »

Je n’utiliserais aucun autre CDN ! :rabbit2:

1 « J'aime »

J’ai rechargé les pages de temps en temps, et je viens de reproduire le problème en chargeant la page lazy (qui a fonctionné) puis la page non-lazy (qui a échoué) :

Malheureusement, Firefox a semblé recharger complètement les assets lors du rechargement (Disable Cache n’est pas activé) avec les outils de développement ouverts, mais… c’est étrange :

L’utilisateur semble avoir changé/mis à jour son avatar, et nous avons redirigé vers le nouveau ? Je ne suis pas sûr de ce qui déclenche cela @david.

Je suppose que cette redirection supplémentaire a brièvement déclenché le bug de Firefox. Ce qui est en phase avec la différence de comportement due à la chaîne de redirection.

Peut-être que je peux le déclencher ?

J’ai changé mon avatar, voyons s’il plante quand je rechargerai dans une heure.

EDIT : eh, il n’a pas planté cette fois-ci

mais mes manipulations sur cette page semblent affecter négativement d’autres pages… AUCUN de ces avatars ne fonctionne maintenant et je pense que c’est parce qu’une requête réseau est “bloquée”.

2 « J'aime »

Aujourd’hui : J’ai rechargé la page avec lazy, et elle s’est chargée correctement :

J’ai ensuite chargé la page sans lazy, et :

:person_shrugging:

Alors je suppose que cela signifie qu’il est peu probable que lazy= soit la cause du problème ? Au moins, c’est une chose d’exclue :sweat_smile:

2 « J'aime »