Untersuchung von Problemen mit dem Dark-Mode der Aktivitätszusammenfassungs-E-Mail

Ohne dies zu tun, ist es möglich, die Hintergrundfarben bei den meisten E-Mail-Clients zu erzwingen. Ausnahmen scheinen einige der älteren Outlook-Desktop-E-Mail-Clients zu sein. (Ich vermute, dass der Dunkelmodus auf Desktop-Clients nicht so häufig verwendet wird.)

Für iOS (mit Ausnahme von Gmail) E-Mail-Clients macht Discourse dies bereits, wenn die Einstellung apply custom styles to digest aktiviert ist. Das Problem ist, dass die Hintergrundfarbe fest codiert ist und nicht die “header background”-Farbe der Website berücksichtigt:

Die Regel [dm='header'] könnte geändert werden zu:

"
[dm='header'] {
  background: ##{ColorScheme.hex_for_name('header_background')} !important;
}
"

Wenn es sinnvoll wäre, könnte ein ähnlicher Ansatz für den Abschnitt “Seit Ihrem letzten Besuch” verfolgt werden:

"
[dm='body_primary'] {
  background: #{SiteSetting.email_accent_bg_color} !important;
  color: #{SiteSetting.email_accent_fg_color} !important;
}
"

Beachten Sie, dass das dm-Attribut für Dunkelmodus-Stile hier zu der E-Mail hinzugefügt wird: discourse/lib/email/styles.rb at main · discourse/discourse · GitHub.

So etwas sollte funktionieren, um das Problem bei iOS (mit Ausnahme von Gmail) E-Mail-Clients zu beheben.

Für den iOS Gmail-Client können die Hintergrundfarben erzwungen werden, indem sie mit einem linearen Farbverlauf gesetzt werden. Es scheint keine unbeabsichtigten Nebenwirkungen zu geben, wenn ein linearer Farbverlaufshintergrund auf diese Weise für alle E-Mail-Clients gesetzt wird. Daher sollte es in Ordnung sein, einfach eine lineare Farbverlaufshintergrundfarbe zu den Inline-CSS hinzuzufügen, die an alle E-Mail-Clients gesendet werden.

Ich vermute, dass die einfachste Lösung für den Abschnitt “Seit Ihrem letzten Besuch” für E-Mail-Clients, die eine vollständige Farb-Invertierung durchführen, darin besteht, die Clients die Invertierung durchführen zu lassen, aber sicherzustellen, dass es einen hohen Kontrast zwischen den Einstellungen für email accent accent bg color und email accent fg color gibt:

Dies sollte Fälle wie diesen (mit den Standardwerten dieser Einstellungen) verhindern:

1 „Gefällt mir“