timezone: Only look up canonical time zones from the system.

Legacy time zone aliases were removed from the Debian tzdata package
in tzdata 2023c-8.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1040997

Signed-off-by: Anders Kaseorg <anders@zulip.com>
(cherry picked from commit 59b0548433)
This commit is contained in:
Anders Kaseorg
2024-02-27 16:36:17 -08:00
committed by Tim Abbott
parent b2ee2c20e3
commit 1a2a7a635b
4 changed files with 11 additions and 5 deletions

View File

@@ -29,6 +29,7 @@ from zerver.lib.queue import queue_json_publish
from zerver.lib.send_email import FromAddress, send_future_email
from zerver.lib.soft_deactivation import soft_reactivate_if_personal_notification
from zerver.lib.tex import change_katex_to_raw_latex
from zerver.lib.timezone import canonicalize_timezone
from zerver.lib.topic import get_topic_resolution_and_bare_name
from zerver.lib.url_encoding import (
huddle_narrow_url,
@@ -686,7 +687,9 @@ def get_onboarding_email_schedule(user: UserProfile) -> Dict[str, timedelta]:
user_tz = user.timezone
if user_tz == "":
user_tz = "UTC"
signup_day = user.date_joined.astimezone(zoneinfo.ZoneInfo(user_tz)).isoweekday()
signup_day = user.date_joined.astimezone(
zoneinfo.ZoneInfo(canonicalize_timezone(user_tz))
).isoweekday()
# General rules for scheduling welcome emails flow:
# -Do not send emails on Saturday or Sunday