Skip to content

timezones: picker lists Europe/Kiev instead of Europe/Kyiv #30256

Description

@Mark-Life

Labels: 🐛 bug, bookings, i18n


Problem:

The timezone picker in the Companion app offers Europe/Kiev. Kyiv is the Ukrainian transliteration and has been the canonical IANA name since tzdata 2022b, where Europe/Kiev was demoted to a backward-compatibility link. Showing the old Russian-derived spelling to Ukrainian users is the same class of problem as showing "Bombay" for Mumbai.

The label is the raw IANA id with underscores replaced, so whatever is in the constant is what the user sees.

// apps/mobile/constants/timezones.ts:336
  "Europe/Kiev",

Timezone picker on iOS showing Europe/Kiev between Europe/Kaliningrad and Europe/Kirov

The constant is a copy of packages/lib/timeZones.ts in this repo, which has the same entry at line 337. So the web app carries the same stale name and any fix should land in both lists.

Line numbers are against calcom/companion at 8ee5b15 and calcom/cal.com at main on 2026-09-28.

Reproduction:

Needs the Companion iOS app signed in to any account with a schedule.

  1. Open Availability, pick a schedule, tap Edit.
  2. Tap the Timezone selector.
  3. Scroll to the Europe section.
  4. The entry between Europe/Kaliningrad and Europe/Kirov reads Europe/Kiev.

Expected vs actual:

Expected: the picker lists Europe/Kyiv, and an account already saved with Europe/Kiev still resolves to the same zone.

Actual: the picker lists Europe/Kiev on both mobile and web, and Europe/Kyiv does not appear at all.

Proposed solution:

Rename the entry to Europe/Kyiv in both lists. Existing users stored with Europe/Kiev keep working since dayjs and the browser resolve the link, but the picker's selected-label lookup (TIMEZONES.find(tz => tz.id === timezone)) will miss and fall back to the raw stored id until they re-select. Worth checking Asia/Saigon and Asia/Rangoon at the same time, since both lists still carry those pre-rename ids too.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions