Nous avons beaucoup d’utilisateurs qui utilisent des appareils Apple et/ou des navigateurs basés sur WebKit qui signalent des problèmes lors du défilement des sujets, au point que le forum devient inutilisable.
Un exemple, capturé en vidéo ici.
Après avoir pas mal creusé, il semble que la cause la plus probable soit la façon dont WebKit est… comment dire poliment… nul pour gérer le redimensionnement des images.
Cependant, cela a également permis de remarquer comment les emojis sont rendus dans le HTML “cuit” et j’aimerais des éclaircissements car peut-être que je manque une configuration que j’aurais pu faire et qui aurait empêché cela.
En vert, vous pouvez voir la taille originale de l’emoji.
En azur/cyan/peu importe, les attributs par défaut ajoutés par Discourse lors de la “cuisson” du contenu.
En rouge, le CSS ajouté par le plugin que j’ai écrit qui :
- importe les emojis (ils sont assez nombreux)
- ajoute du CSS personnalisé pour qu’ils s’affichent correctement car ils ne sont pas tous “20 par 20”
Maintenant, j’ai effectué un test simple. J’ai supprimé du champ cooked dans la base de données pour ce sujet, tous les width="20" height="20" et j’ai demandé aux utilisateurs de réessayer et de visualiser le sujet, de faire défiler, de répondre même si quelqu’un ajoute de nouveaux messages, mais sans utiliser d’emoji afin de ne pas réinjecter ces deux attributs dans le rendu HTML des emojis.
Apparemment, c’est ce qui causait les problèmes sur WebKit, car tous les rapports que j’ai confirment que maintenant que ces deux attributs sont supprimés, il n’y a plus de problème avec le défilement.
Alors, y a-t-il un moyen d’empêcher Discourse d’ajouter ces paramètres ? Pourquoi Discourse suppose-t-il que chaque emoji sera “20x20” et, en plus, l’impose-t-il via un attribut HTML au lieu d’utiliser du CSS ?
Merci.

