Pour les sites disposant d’emojis personnalisés, ceux-ci seront cassés dans le chat maintenant que la correction a été intégrée.
Contrairement aux images standard des messages (qui peuvent être corrigées avec rake posts:rebake), les emojis personnalisés du chat sont transmis dynamiquement au frontend via /site.json.
Si votre base de données contient des URLs S3 manquant du protocole (par exemple, //bucket.endpoint...) ou utilisant un domaine de style virtual-hosted qui ne correspond pas parfaitement à vos variables d’environnement app.yml, le remplaçant CDN interne de Discourse échoue silencieusement. L’URL brute du bucket est alors transmise au navigateur, ce qui casse les emojis personnalisés dans le chat.
Comment corriger :
pour résoudre ce problème de manière permanente, vous devez forcer la redirection des URLs brutes du bucket vers votre URL CDN dans la base de données, puis vider le cache du site afin que /site.json soit régénéré.
1. Accédez à votre conteneur :
Connectez-vous en SSH à votre serveur et entrez dans le conteneur Discourse (généralement app, ou web_only si vous avez une configuration à deux conteneurs).
cd /var/discourse
./launcher enter app
2. Redirigez les URLs :
exécutez l’outil intégré de Discourse remap. Vous devriez l’exécuter deux fois pour prendre en compte à la fois la variation https:// et la variation sans protocole // que le script de migration laisse parfois.
Remplacez les espaces réservés par vos vraies URLs de bucket brut et votre vraie URL CDN :
# Corrigez les URLs standard https://
discourse remap "https://<your-bucket>.<your-endpoint>.com" "https://cdn.your-domain.com"
# Corrigez les URLs sans protocole // (c'est celle qui casse généralement les emojis personnalisés)
discourse remap "//<your-bucket>.<your-endpoint>.com" "https://cdn.your-domain.com"
3. Videz le cache
Étant donné que /site.json est fortement mis en cache, vous devez vider le cache Rails pour forcer le forum à servir les nouvelles URLs :
ouvrez la console Rails :
rails c
exécutez ces commandes :
Rails.cache.clear
Site.clear_cache
exit
4. Actualisez
Effectuez un rechargement forcé de votre navigateur (et désactivez la solution de contournement du composant de thème si vous l’utilisez encore). Les emojis personnalisés dans le chat devraient maintenant être corrigés et se charger correctement via le CDN.