Ungültige Zeitzone des Benutzers verursacht Probleme mit seiner E-Mail

Wenn die Zeitzone eines Benutzers ungültig ist, löst mindestens ein Sidekiq-Job eine Ausnahme aus, anstatt auf einen sinnvollen Standardwert zurückzufallen:

In diesem Fall war die Zeitzone des Benutzers auf "" (leerer String) gesetzt.

Wir sollten dies von vornherein nicht zulassen und, falls es doch vorkommt, einen sinnvollen Fallback (UTC) wählen.

3 „Gefällt mir“

Wir haben nil-Zeitzonen in diesen E-Mails berücksichtigt, aber nicht \"\"-Werte.

Es gibt irgendwo anders ein Problem mit dieser Instanz, bei der die Zeitzonen für die Benutzer auf \"\" gesetzt sind. Dennoch sollten wir sicherstellen, dass E-Mails bei einer ungültigen Zeitzone nicht fehlschlagen.

Hier wurde ein PR dafür hinzugefügt: FIX: Ensure invalid timezone does not block critical emails by pmusaraj · Pull Request #26607 · discourse/discourse · GitHub

auch Meta:

[1] pry(main)> UserOption.where(timezone: '').count
=> 17

und (eine andere Website):

[1] pry(main)> UserOption.where(timezone: '').count
=> 6