Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
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.
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
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
- Set system timezone to
America/Santiago(has a DST "spring forward" transition on the first Sunday of September). - Let system date reach a day in September after that transition (e.g. 2026-09-15).
- Click the bar clock to open the calendar popup.
- Compare the weekday shown for
15against 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
tzdatais current (2026c) and correctly encodes the Chile transition (zdump -v America/SantiagoconfirmsSat 2026-09-05 23:59:59 -04 → Sun 2026-09-06 01:00 -03, i.e. local00:00–00:59on 2026-09-06 does not exist). - Re-implementing the exact same
monthGridalgorithm in Node (V8), using the same system tzdata/TZ=America/Santiago, produces the correct grid for September 2026 (15underTUE). - The Quickshell process itself was started fresh, after the DST transition (
psshows 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.