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",

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.
- Open Availability, pick a schedule, tap Edit.
- Tap the Timezone selector.
- Scroll to the Europe section.
- 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.
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, whereEurope/Kievwas 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.
The constant is a copy of
packages/lib/timeZones.tsin 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/companionat8ee5b15andcalcom/cal.comatmainon 2026-09-28.Reproduction:
Needs the Companion iOS app signed in to any account with a schedule.
Europe/KaliningradandEurope/KirovreadsEurope/Kiev.Expected vs actual:
Expected: the picker lists
Europe/Kyiv, and an account already saved withEurope/Kievstill resolves to the same zone.Actual: the picker lists
Europe/Kievon both mobile and web, andEurope/Kyivdoes not appear at all.Proposed solution:
Rename the entry to
Europe/Kyivin both lists. Existing users stored withEurope/Kievkeep 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 checkingAsia/SaigonandAsia/Rangoonat the same time, since both lists still carry those pre-rename ids too.