La palette de couleurs ne fonctionne pas pour le thème personnalisé après la mise à jour

Après la mise à niveau vers la version 3.4.0, notre thème ne reçoit plus les définitions de couleur pour la palette de couleurs sélectionnée. Je vois un fichier CSS qui devrait contenir des définitions de couleur, mais il revient vide lorsque notre thème est actif.

Ainsi, aucune couleur n’est définie et la couleur d’arrière-plan de toute fenêtre contextuelle est transparente, ce qui rend le site inutilisable. Nous utilisons temporairement le thème Clair par défaut à la place comme solution de contournement.

J’ai tout essayé. Par exemple :

  • Création manuelle de la palette de couleurs
  • Désinstallation et réinstallation du thème
  • Beaucoup d’essais et d’erreurs sur le forum en production et sur un forum de staging

Notre thème est installé à partir d’un dépôt git. Pendant une courte période, nous avons réussi à rendre le forum présentable en restaurant une ancienne copie de développement du thème (pas à partir d’un dépôt git), mais la prochaine fois que nous avons redémarré Discourse, cela s’est à nouveau dégradé.

Sur le forum de staging, lorsque j’ai désinstallé et réinstallé le thème, cela a semblé résoudre le problème. Mais la désinstallation et la réinstallation sur le forum en production n’ont pas aidé.

Lorsque je passe à un thème par défaut comme Clair ou Sombre, la palette de couleurs fonctionne bien, je peux voir toutes les couleurs définies dans ce fichier CSS.

Qu’est-ce qui pourrait causer le retour vide des définitions de couleur pour notre thème ? Des idées sur la façon de résoudre ce problème ?

Cela semble être une cause potentielle du problème. Notre thème a un paramètre qui stocke le contenu de notre page “À propos”. Je ne pense pas que nous ayons eu d’erreur de compilation SCSS avant la mise à jour vers Discourse 3.4.0. Peut-être que quelque chose a changé dans la compilation sass et qu’elle est maintenant plus stricte ?

Mais le problème semble survenir au démarrage de Discourse. Si je modifie simplement le contenu de ce paramètre de thème, aucune erreur SCSS n’est enregistrée. Si je redémarre Discourse, l’erreur SCSS se produit et le fichier CSS des définitions de couleurs redevient vide.

Voici le code du thème qui utilise ce paramètre, dans un fichier hbs. Le contenu du paramètre est juste du HTML.

<div class="about-description-content">
	{{{theme-setting 'content_about_main'}}}
</div>
1 « J'aime »

J’ai déplacé le code HTML d’un paramètre de thème directement dans le fichier hbs, et cela semble avoir résolu le problème. Je ne suis pas sûr pourquoi, mais Discourse 3.4.0 n’aime pas cela dans le paramètre de thème.

1 « J'aime »

Vous devez probablement ajouter une aide ici :

{{html-safe (theme-setting 'content_about_main')}}

Cela parait probable. Y a-t-il une documentation concernant cette helper html-safe quelque part, afin que je puisse voir ce qu’elle fait ? J’ai essayé de chercher sur Google et je ne peux pas la trouver.

Voici https://api.emberjs.com/ember/5.12/functions/@ember%2Ftemplate/htmlSafe

1 « J'aime »

Ah merci. Je cherchais la documentation de Handlebars au lieu de celle d’Ember.

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.