Skip to content

improvement(settings): right-align timezone picker, order by popularity, drop tooltip#5043

Merged
waleedlatif1 merged 4 commits into
stagingfrom
fix/timezone-picker-alignment
Jun 14, 2026
Merged

improvement(settings): right-align timezone picker, order by popularity, drop tooltip#5043
waleedlatif1 merged 4 commits into
stagingfrom
fix/timezone-picker-alignment

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Display timezones using the calendar-app standard (GMT±HH:MM) City (e.g. (GMT-07:00) Los Angeles), with the offset computed live so it tracks DST automatically. The list is sorted west→east by current UTC offset (ties alphabetical). One consistent format for every zone — no hardcoded, DST-naive abbreviations. Persisted values remain canonical IANA ids — backward compatible
  • Right-align the Timezone picker by wrapping ChipCombobox in a fixed w-[260px] flex child — the combobox's internal w-full wrapper was eating the row so justify-between had nothing to push against, leaving the pill stuck left while Theme/Snap-to-grid (ChipSelect) hugged the right
  • Remove the info-icon tooltip next to the Timezone label

Type of Change

  • Bug fix / improvement

Testing

Tested manually; timezone.test.ts (24 tests) passing — (GMT±HH:MM) City format, west→east offset ordering, live DST-aware offsets, no duplicate values

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Jun 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Jun 14, 2026 11:52am

Request Review

@cursor

cursor Bot commented Jun 14, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
UI-only settings layout and option ordering; stored timezone values and scheduling logic are unchanged.

Overview
Workspace General preferences now build timezone options with getTimezonesByPopularity() so common IANA zones appear first and the rest stay alphabetical, instead of a flat Intl list.

The timezone row is laid out like Theme and Snap to grid: the ChipCombobox sits in a fixed w-[260px] wrapper so justify-between pushes the control to the right. The info-icon tooltip beside the Timezone label is removed.

Reviewed by Cursor Bugbot for commit a38d548. Configure here.

@greptile-apps

greptile-apps Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR makes three focused improvements to the Settings → General timezone picker: it fixes a flex layout bug that left the combobox stuck to the left, re-orders the option list to surface common zones first, and removes the info-icon tooltip.

  • Layout fix: ChipCombobox is now wrapped in a w-[260px] flex-shrink-0 div so the justify-between container has a real right-hand child to push against, matching the alignment of the Theme and Snap-to-grid rows.
  • Popularity ordering: getTimezonesByPopularity() prepends the curated COMMON_TIMEZONES list (filtered to those the runtime actually supports) before the alphabetical tail — the implementation is correct for both the full Intl.supportedValuesOf path and the Safari < 15.4 fallback.
  • Tooltip removal: the "scheduled tasks timezone" hint previously shown on hover is removed, simplifying the label row.

Confidence Score: 5/5

Safe to merge — two isolated, self-contained changes (a flex wrapper and a new utility function) with no impact on data persistence or shared logic.

Both changes are narrow in scope. The new getTimezonesByPopularity() correctly handles the full Intl.supportedValuesOf path and the Safari fallback, the layout wrapper resolves the alignment regression without touching any state or API logic, and the tooltip removal is a deliberate UX simplification.

No files require special attention.

Important Files Changed

Filename Overview
apps/sim/lib/core/utils/timezone.ts Adds getTimezonesByPopularity(): correctly intersects COMMON_TIMEZONES with the supported set, then appends the alphabetical remainder. Logic handles the Safari fallback path cleanly.
apps/sim/app/workspace/[workspaceId]/settings/components/general/general.tsx Switches to getTimezonesByPopularity(), wraps ChipCombobox in a fixed-width div to fix right-alignment, and removes the Tooltip from the Timezone label row.

Reviews (1): Last reviewed commit: "improvement(settings): right-align timez..." | Re-trigger Greptile

@waleedlatif1 waleedlatif1 merged commit 6c56a21 into staging Jun 14, 2026
9 checks passed
@waleedlatif1 waleedlatif1 deleted the fix/timezone-picker-alignment branch June 14, 2026 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant