Nach dem Upgrade auf 3.4.0 erhält unser Theme keine Farbdefinitionen mehr für die ausgewählte Farbpalette. Ich sehe eine CSS-Datei, die Farbdefinitionen enthalten sollte, aber sie ist leer, wenn unser Theme aktiv ist.
Es werden also keine Farben gesetzt und die Hintergrundfarbe jedes Popup-Fensters ist transparent, was die Website unbrauchbar macht. Als Workaround verwenden wir vorübergehend das Standard-Light-Theme.
Ich habe alles versucht, was mir einfällt. Zum Beispiel:
Manuelles Erstellen der Farbpalette
Deinstallieren und Neuinstallieren des Themes
Viel Ausprobieren auf dem Live-Forum und einem Staging-Forum
Unser Theme wird aus einem Git-Repository installiert. Für kurze Zeit konnten wir das Forum gut aussehen lassen, indem wir eine alte Entwicklungsversion des Themes (nicht aus einem Git-Repository) wiederhergestellt haben, aber dann brach es beim nächsten Neustart von Discourse wieder zusammen.
Auf dem Staging-Forum schien die Deinstallation und Neuinstallation des Themes das Problem behoben zu haben. Die Deinstallation und Neuinstallation auf dem Live-Forum hat jedoch nicht geholfen.
Wenn ich zu einem Standard-Theme wie Light oder Dark wechsle, funktioniert die Farbpalette einwandfrei, ich kann alle Farben in dieser CSS-Datei sehen.
Was könnte dazu führen, dass die Farbdefinitionen für unser Theme leer zurückkommen? Irgendwelche Ideen zur Behebung?
Dies scheint eine mögliche Ursache für das Problem zu sein. Unser Theme hat eine Einstellung, die Inhalte für unsere Über-uns-Seite speichert. Ich glaube nicht, dass wir einen SCSS-Kompilierungsfehler hatten, bevor wir auf Discourse 3.4.0 aktualisiert haben. Vielleicht hat sich etwas bei der Sass-Kompilierung geändert und sie ist jetzt strenger?
Aber das Problem scheint aufzutreten, wenn Discourse startet. Wenn ich den Inhalt in dieser Theme-Einstellung bearbeite, wird kein SCSS-Fehler protokolliert. Wenn ich Discourse neu starte, tritt der SCSS-Fehler auf und die CSS-Datei mit den Farbdefinitionen wird wieder leer.
Hier ist der Code im Theme, der diese Einstellung verwendet, in einer hbs-Datei. Der Inhalt der Einstellung ist nur HTML.
Ich habe das HTML aus einer Theme-Einstellung direkt in die hbs-Datei verschoben, und das scheint das Problem gelöst zu haben. Ich bin mir nicht sicher, warum, aber Discourse 3.4.0 mag es nicht in der Theme-Einstellung.
Klingt wahrscheinlich. Gibt es irgendwo eine Dokumentation über diesen html-safe Helfer, damit ich sehen kann, was er macht? Ich habe versucht zu googeln, aber es konnte nichts dazu finden.