Ho riesaminato la questione la scorsa settimana e sono riuscito a riprodurre questo bug con i seguenti passaggi:
-
Configura il tuo sistema operativo per utilizzare la modalità scura (in Windows 11 questo si fa in Impostazioni → Personalizzazione → Colori → Scegli la tua modalità)
-
Nelle tue preferenze di Discourse, seleziona schemi di colori diversi per le modalità normale e scura e ricarica la pagina
-
Ora dovresti vedere lo schema di colori che hai selezionato per la modalità scura avere effetto nell’interfaccia utente (come previsto), ma il tag meta
theme-colorconterrà il valore del coloreheader_backgrounddello schema di colori che hai selezionato per la modalità chiara, quando in realtà dovrebbe essere quello della modalità scura.
È un po’ complicato da risolvere perché lato server – che è dove vengono renderizzati tutti i tag meta – non abbiamo il contesto per sapere se il client/browser utilizzerà lo schema di colori della modalità chiara o scura. Includiamo semplicemente le definizioni dei colori sia per lo schema chiaro che per quello scuro e poi il client/browser sceglie quello che corrisponde alle preferenze dell’utente secondo la query multimediale prefers-color-scheme.
Tuttavia, sembra che il tag meta theme-color accetti un attributo media, quindi dovremmo essere in grado di includere un altro tag meta theme-color per lo schema scuro con media impostato su (prefers-color-scheme: dark). Cercherò di risolvere la questione questa settimana.