잘못된 사용자 시간대가 메일 수신 장애를 유발합니다

사용자의 타임존이 잘못된 경우, 적어도 하나의 sidekiq 작업이 합리적인 기본값으로 폴백하는 대신 예외를 발생시킵니다:

이 경우 사용자의 타임존은 ""(빈 문자열)으로 설정되어 있었습니다.

이러한 상황이 처음부터 발생하지 않도록 해야 하며, 만약 발생한다면 합리적인 폴백값(UTC)을 선택해야 합니다.

3개의 좋아요

이메일에서 nil 시간대는 처리하고 있었지만 "" 값은 처리하지 않고 있었습니다.

시간대가 ""로 설정된 사용자를 가진 이 인스턴스에는 다른 곳에서 문제가 있지만, 어쨌든 잘못된 시간대에서도 이메일이 실패하지 않도록 해야 합니다.

이를 위한 PR을 여기에 추가했습니다: FIX: Ensure invalid timezone does not block critical emails - Pull Request #26607 - discourse/discourse - GitHub

또한 메타적으로:

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

그리고 (다른 사이트):

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