Account Localization still doesn't respect selected timezone

This is been reported numerous times over the years, and I still see this issue but it hasn’t really been challenged by users until now.

The default system.timezone is UTC, this is fine. When a user goes to Account → Settings → Localization and sets their desired timezone, it saves but doesn’t change.

If I set the sytstem.timezone to something else via cpcmd scope:set system.timezone America/Chicago it works, but still the user cannot change their own.

This is an issue because the task scheduler runs at the system timezone, not the user’s timezone.

What’s the point of the Settings → Localization time zone setting? If it doesn’t work, why is it there?

Perhaps it would make more sense to just report to the user on relevant pages what the sytem timezone is and that their detected timezone via javascript is a +/- offset of X and to update their cron job / scheduled tasks accordingly.

If it doesn’t work, then it is a bug. Just because something worked when it was first introduced 18 months ago doesn’t make it ironclad. Depending upon the complexity or tendency for a feature to break, it turns into a unit test. This is unit test territory.

Whenever the timezone is changed, the environment is patched in various locations by setting a TZ variable. I’m seeing the timezone respected within shell but not UI. I’ll work on this over the weekend to determine what change caused UI to revert to server timezone rather than user.

Thanks for the bug report. Fixed in edge. Tests have been added going forward given the importance - and tendency for breakage - of this feature.