Ich habe mir das letzte Woche noch einmal angesehen und konnte diesen Fehler mit den folgenden Schritten reproduzieren:
-
Konfigurieren Sie Ihr Betriebssystem so, dass es den Dunkelmodus verwendet (in Windows 11 geschieht dies unter Einstellungen → Personalisieren → Farben → Wählen Sie Ihren Modus).
-
Wählen Sie in Ihren Discourse-Einstellungen unterschiedliche Farbschemata für den normalen und den Dunkelmodus aus und laden Sie die Seite neu.
-
Nun sollte das für den Dunkelmodus ausgewählte Farbschema in der Benutzeroberfläche wirksam werden (wie erwartet), aber das
theme-color-Metatag enthält den Wert derheader_background-Farbe des Farbschemas, das Sie für den Hellmodus ausgewählt haben, obwohl es eigentlich der Dunkelmodus sein sollte.
Dies ist etwas schwierig zu beheben, da wir auf der Serverseite – wo alle Metatags gerendert werden – keinen Kontext darüber haben, ob der Client/Browser das helle oder dunkle Farbschema verwendet. Wir fügen einfach die Farbdefinitionen für beide Schemata hinzu, und der Client/Browser wählt dann dasjenige aus, das den Präferenzen des Benutzers gemäß der prefers-color-scheme-Media-Query entspricht.
Es sieht jedoch so aus, als ob das theme-color-Metatag ein media-Attribut akzeptiert, sodass wir ein weiteres theme-color-Metatag für das dunkle Schema mit media auf (prefers-color-scheme: dark) setzen können. Ich werde versuchen, dies diese Woche zu erledigen.