無効なユーザータイムゾーンがメールを詰まらせる

ユーザーのタイムゾーンが無効な場合、少なくとも1つのSidekiqジョブが妥当なデフォルトにフォールバックするのではなく、例外をスローします。

この場合、ユーザーのタイムゾーンは "" (空文字列) に設定されていました。

そもそもこのようなことが起こらないようにすべきであり、もし起こった場合は、妥当なフォールバック (UTC) を選択すべきです。

「いいね!」 3

これらのメールでは nil のタイムゾーンは考慮していましたが、\"\" の値は考慮していませんでした。

このインスタンスでは、ユーザーのタイムゾーンが \"\" に設定されている別の問題がありますが、それでも、無効なタイムゾーンでメールが失敗しないようにする必要があります。

それに対応するPRをこちらに追加しました: FIX: Ensure invalid timezone does not block critical emails by pmusaraj · Pull Request #26607 · discourse/discourse · GitHub

また、メタ:

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

(別のサイト)と:

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