Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-5090GitHub issuePublicFixed

Clock calendar popup misaligns weekdays after DST transition (America/Santiago)

Reported by EstebanCygnus · filed Sep 15, 2026Closed upstream on 2026-09-21 by bjarneo via an automated message, as a duplicate of #11126 (R-734). GitHub close reason: completed.

Received and recorded verbatim. Nothing has been checked yet.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
Not yet mapped to any requirement or component.
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.

Original report

Clock calendar popup misaligns weekdays after DST transition (America/Santiago)revision 1 · captured 2026-10-04 12:10 UTC via poll

What happened

The clock widget's calendar popup (omarchy.clock plugin) shows the wrong weekday for dates after Chile's DST "spring forward" transition. On 2026-09-15 (a Tuesday), the popup calendar for September 2026 shows 15 under the WED column instead of TUE. The whole week row (12–18) is shifted one weekday to the right.

The bar's own clock label is correct at the same time (Tuesday 10:36), and the first week of the month (1–5, before the DST transition) renders correctly with 1 under TUE. The misalignment starts exactly at the week that crosses the DST transition (Sat 2026-09-05 23:59:59 -04 → Sun 2026-09-06 01:00 -03).

What was expected

The whole month grid should stay consistent with the actual calendar/ISO weekday, independent of a DST transition occurring mid-month.

Steps to reproduce

  1. Set system timezone to America/Santiago (has a DST "spring forward" transition on the first Sunday of September).
  2. Let system date reach a day in September after that transition (e.g. 2026-09-15).
  3. Click the bar clock to open the calendar popup.
  4. Compare the weekday shown for 15 against an authoritative calendar — it is off by one, and the whole trailing part of the month is shifted.

Diagnosis

I dug into /usr/share/omarchy/shell/plugins/panels/clock/Model.js (monthGrid). Its day-by-day grid builder advances a Date with cursor.setDate(cursor.getDate() + 1), starting from local midnight.

  • System tzdata is current (2026c) and correctly encodes the Chile transition (zdump -v America/Santiago confirms Sat 2026-09-05 23:59:59 -04 → Sun 2026-09-06 01:00 -03, i.e. local 00:00–00:59 on 2026-09-06 does not exist).
  • Re-implementing the exact same monthGrid algorithm in Node (V8), using the same system tzdata/TZ=America/Santiago, produces the correct grid for September 2026 (15 under TUE).
  • The Quickshell process itself was started fresh, after the DST transition (ps shows it started 2026-09-15 09:52, well after 2026-09-06), so this isn't a stale-process/cached-offset issue — and the bar's "now" label is correct at the same moment.

That combination points at Qt/QML's date engine (Quickshell runs on Qt6/QJSEngine, using ICU for locale/i18n — qt6-base 6.11.2-3, icu 78.3-1 on this system) handling the DST "spring forward" day differently from a standard ECMA-262 engine when a Date is incremented by day across it, rather than a bug in the omarchy-authored JS logic itself (which matches spec behavior in Node).

System details

  • Omarchy version: 4.0.3-1
  • qt6-base: 6.11.2-3
  • icu: 78.3-1
  • tzdata: 2026c-1
  • Timezone: America/Santiago (-03, DST active)
  • Locale: en_US.UTF-8

Attachments

Two screenshots attached showing: (1) the calendar popup with 15 boxed under WED, month footer reading "SEPTEMBER 2026"; (2) the bar itself at the same time correctly reading "Tuesday 10:36".

View raw text
## What happened

The clock widget's calendar popup (`omarchy.clock` plugin) shows the wrong weekday for dates after Chile's DST "spring forward" transition. On 2026-09-15 (a Tuesday), the popup calendar for September 2026 shows `15` under the `WED` column instead of `TUE`. The whole week row (12–18) is shifted one weekday to the right.

The bar's own clock label is correct at the same time (`Tuesday 10:36`), and the first week of the month (1–5, before the DST transition) renders correctly with `1` under `TUE`. The misalignment starts exactly at the week that crosses the DST transition (Sat 2026-09-05 23:59:59 -04 → Sun 2026-09-06 01:00 -03).

## What was expected

The whole month grid should stay consistent with the actual calendar/ISO weekday, independent of a DST transition occurring mid-month.

## Steps to reproduce

1. Set system timezone to `America/Santiago` (has a DST "spring forward" transition on the first Sunday of September).
2. Let system date reach a day in September after that transition (e.g. 2026-09-15).
3. Click the bar clock to open the calendar popup.
4. Compare the weekday shown for `15` against an authoritative calendar — it is off by one, and the whole trailing part of the month is shifted.

## Diagnosis

I dug into `/usr/share/omarchy/shell/plugins/panels/clock/Model.js` (`monthGrid`). Its day-by-day grid builder advances a `Date` with `cursor.setDate(cursor.getDate() + 1)`, starting from local midnight.

- System `tzdata` is current (`2026c`) and correctly encodes the Chile transition (`zdump -v America/Santiago` confirms `Sat 2026-09-05 23:59:59 -04 → Sun 2026-09-06 01:00 -03`, i.e. local `00:00–00:59` on 2026-09-06 does not exist).
- Re-implementing the exact same `monthGrid` algorithm in Node (V8), using the same system tzdata/`TZ=America/Santiago`, produces the **correct** grid for September 2026 (`15` under `TUE`).
- The Quickshell process itself was started fresh, after the DST transition (`ps` shows it started 2026-09-15 09:52, well after 2026-09-06), so this isn't a stale-process/cached-offset issue — and the bar's "now" label is correct at the same moment.

That combination points at Qt/QML's date engine (Quickshell runs on Qt6/QJSEngine, using ICU for locale/i18n — `qt6-base 6.11.2-3`, `icu 78.3-1` on this system) handling the DST "spring forward" day differently from a standard ECMA-262 engine when a `Date` is incremented by day across it, rather than a bug in the omarchy-authored JS logic itself (which matches spec behavior in Node).

## System details

- Omarchy version: 4.0.3-1
- qt6-base: 6.11.2-3
- icu: 78.3-1
- tzdata: 2026c-1
- Timezone: America/Santiago (-03, DST active)
- Locale: en_US.UTF-8

## Attachments

Two screenshots attached showing: (1) the calendar popup with `15` boxed under `WED`, month footer reading "SEPTEMBER 2026"; (2) the bar itself at the same time correctly reading "Tuesday 10:36".

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

  • Fixed bypr/12943· confirmed
  • Fixed bypr/10476· confirmed
  • Fixed bypr/13186· confirmed
  • Fixed bypr/13751· confirmed
  • Fixed bypr/13096· confirmed
  • Fixed bypr/13127· confirmed

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

No decision has been recorded yet.