protonscr

"Newer" time zones not honoured in the clock (Steam Deck UI)

steamopen Steam clientDistro Family: NixOS
ValveSoftware/steam-for-linux#9979 · opened 2023-08-12 by samueldr · updated 2023-08-12 · 0 comments · github
Ssamueldr 2023-08-12 github

Your system information

  • Steam client version (build number or date): /steam_client_steamdeck_publicbeta_ubuntu12 version 1691444934, installed version 1691444934
  • Distribution (e.g. Ubuntu): NixOS Linux
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes
  • Steam Logs: (Ask if it is required, the issue has a technical explanation)
  • GPU: Steam Deck

Please describe your issue in as much detail as possible:

This was reported by a user of Jovian NixOS (Steam Deck UI on NixOS Linux). I am reporting from my reproducer and confirmation of the issue.

When using a "new" time zone, e.g. Europe/Kyiv (instead of the deprecated Europe/Kiev) the time in the interface shows up as UTC.

This was tracked (using the web inspector) to new Date() using UTC on unknown time zones.

libcef ships with a vendored icu which handles timezones (AFAIUI).

The shipped libcef.so is some commits on top of 85.0.4183.121, the original being released by October 2020.

For the given example of Kyiv, it would require a libcef with the release 2022b (2022-08-10) of the tz data, which was updated a few days later within chrome dependencies itself.

The solution here, is one that will be kind spicy to handle, is to update libcef to a more modern version.

Though, if you are building your own libcef, there is an alternative. Assuming the vendored icu can be updated without breakage, updating only that part to the latest from the vendored repo would solve this :crossed_fingers:. Alternatively, only the tzres folder could be synced, if icu itself is a breaking change (hopefully).

Anyway, this is now tracked with upstream.

Steps for reproducing this issue:

  1. Set system timezone to a "newer" time zone like Europe/Kyiv (timedatectl set-timezone Europe/Kyiv)
  2. Restart the Steam Deck interface (if needed)
  3. Observe the time at the top right being UTC instead of UTC+3
  4. Change time zone to the deprecated Europe/Kiev (timedatectl set-timezone Europe/Kiev)
  5. Restart the Steam Deck interface (if needed)
  6. Observe the time at the top right being UTC+3

(Ignore timezone issues in the settings panel, see #9112.)

Nothing extracted yet.