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.
Omarchy reminder show: always shows 'No outstanding reminders' on systems that have been suspended
Reported by jasonzondor · filed May 11, 2026Closed upstream on 2026-05-11 by its own reporter jasonzondor. GitHub close reason: completed. Closed by its own reporter — not by itself evidence of a fix.
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
Summary
omarchy reminder show (and the SUPER+CTRL+ALT+R keybinding) always displays "No outstanding reminders" even when active reminders exist, on any system that has been suspended since boot.
Steps to Reproduce
- Boot the system and suspend it at least once (close laptop lid, etc.)
- Set a reminder:
omarchy reminder 30 "Test" - Immediately run:
omarchy reminder show - Expected: Shows the pending reminder with time remaining
- Actual: Shows "No outstanding reminders"
The reminder itself fires correctly at the scheduled time — only show is broken.
Root Cause
In bin/omarchy-reminder, the show_reminders() function (line 49) reads uptime from /proc/uptime:
uptime=${SECONDS_SINCE_BOOT:-$(awk '{ print int($1) }' /proc/uptime)}/proc/uptime reports CLOCK_BOOTTIME — time since boot, including time spent suspended.
However, NextElapseUSecMonotonic from systemd uses CLOCK_MONOTONIC — time the kernel has been actively running, excluding suspend time.
On a suspended system these two clocks diverge significantly. For example, on a laptop that has been suspended for hours:
CLOCK_MONOTONIC≈ 2,501 seconds (~41 min of active runtime)CLOCK_BOOTTIME//proc/uptime≈ 37,391 seconds (~10.4 hours since boot)
The comparison on line 50:
((next_seconds <= uptime)) && continue...treats both as the same clock. Since the monotonic timer timestamp (e.g. ~2,560 s) is always less than the BOOTTIME uptime (e.g. ~37,391 s), every reminder is skipped as if it already elapsed.
Suggested Fix
Replace the /proc/uptime read with CLOCK_MONOTONIC:
uptime=${SECONDS_SINCE_BOOT:-$(python3 -c "import time; print(int(time.clock_gettime(time.CLOCK_MONOTONIC)))" 2>/dev/null || awk '{ print int($1) }' /proc/uptime)}Or read from /proc/timer_list for a pure-bash solution.
Environment
- Omarchy 3.8.0
- Arch Linux, Hyprland
- Framework 13 Intel Core Ultra Series 1
View raw text
## Summary
`omarchy reminder show` (and the SUPER+CTRL+ALT+R keybinding) always displays "No outstanding reminders" even when active reminders exist, on any system that has been suspended since boot.
## Steps to Reproduce
1. Boot the system and suspend it at least once (close laptop lid, etc.)
2. Set a reminder: `omarchy reminder 30 "Test"`
3. Immediately run: `omarchy reminder show`
4. **Expected:** Shows the pending reminder with time remaining
5. **Actual:** Shows "No outstanding reminders"
The reminder itself fires correctly at the scheduled time — only `show` is broken.
## Root Cause
In `bin/omarchy-reminder`, the `show_reminders()` function (line 49) reads uptime from `/proc/uptime`:
```bash
uptime=${SECONDS_SINCE_BOOT:-$(awk '{ print int($1) }' /proc/uptime)}
```
`/proc/uptime` reports **CLOCK_BOOTTIME** — time since boot, *including* time spent suspended.
However, `NextElapseUSecMonotonic` from systemd uses **CLOCK_MONOTONIC** — time the kernel has been actively running, *excluding* suspend time.
On a suspended system these two clocks diverge significantly. For example, on a laptop that has been suspended for hours:
- `CLOCK_MONOTONIC` ≈ 2,501 seconds (~41 min of active runtime)
- `CLOCK_BOOTTIME` / `/proc/uptime` ≈ 37,391 seconds (~10.4 hours since boot)
The comparison on line 50:
```bash
((next_seconds <= uptime)) && continue
```
...treats both as the same clock. Since the monotonic timer timestamp (e.g. ~2,560 s) is always less than the BOOTTIME uptime (e.g. ~37,391 s), every reminder is skipped as if it already elapsed.
## Suggested Fix
Replace the `/proc/uptime` read with `CLOCK_MONOTONIC`:
```bash
uptime=${SECONDS_SINCE_BOOT:-$(python3 -c "import time; print(int(time.clock_gettime(time.CLOCK_MONOTONIC)))" 2>/dev/null || awk '{ print int($1) }' /proc/uptime)}
```
Or read from `/proc/timer_list` for a pure-bash solution.
## Environment
- Omarchy 3.8.0
- Arch Linux, Hyprland
- Framework 13 Intel Core Ultra Series 1Validation
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
Not linked to any known issue, other report or change yet.
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.