Skip to content

[Bug]: Custom snooze calendar always starts the week on Sunday #12737

Closed

Description

@Wiktor102

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/web

Steps to reproduce

  1. Open a thread’s snooze menu.
  2. Select Custom…
  3. Open the date picker.
  4. Look at the weekday order.

Expected behavior

The calendar should follow the user’s locale or provide a way to choose the first day of the week. I expect Monday to be the first day.

Actual behavior

Sunday is always shown as the first day.

Impact

Cosmetic issue

Version or commit

0.0.43-nightly.20260920.1990

Environment

Windows 11

Logs or stack traces

Screenshots, recordings, or supporting files

image.png

Workaround

No response

Activity

  1. added
    bugSomething is broken or behaving incorrectly.
    needs-triageIssue needs maintainer review and initial categorization.
    on Sep 20, 2026
  2. added
    acceptedfeature request accepted
    via-triageFiled through npx t3 triage
    and removed
    needs-triageIssue needs maintainer review and initial categorization.
    on Sep 20, 2026
  3. juliusmarminge commented on Sep 20, 2026

    @juliusmarminge
    Member

    Thanks for the report — this is a real cosmetic bug in the web custom-snooze date picker.

    The calendar is DayPicker (@daypicker/react v10) wrapped in apps/web/src/components/ui/calendar.tsx and used only from apps/web/src/components/CustomSnoozeDialog.tsx (Snooze → Custom… → date popover). That wrapper never sets locale or weekStartsOn. DayPicker’s default is en-US, so the grid always starts on Sunday. The trigger label already uses toLocaleDateString, which is why the field text can look localized while the weekday row does not.

    Mobile custom snooze uses the OS date picker, so this is web/desktop only.

    Suggested fix: derive the first weekday from Intl.Locale week info (weekInfo.firstDay / getWeekInfo()), then pass weekStartsOn (0–6) into Calendar. On desktop, use the host locale from desktopBridge.getSystemLocale() in apps/web/src/timestampFormat.ts — packaged Chromium reports en-US even when Windows is Monday-first. A settings override is optional; locale is enough for this issue.

    Related (same locale/week-start theme, not duplicates):

    Leaving this open as a low-severity UI bug. No further info needed.

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

    acceptedfeature request acceptedbugSomething is broken or behaving incorrectly.via-triageFiled through npx t3 triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions