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.
Screen recording: stopping twice posts two "saved" toasts and a broken thumbnail
Reported by ahmadtv · filed Sep 12, 2026 · open at source
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?
- AreaOutside the audited area· Decided by agents · verified
- 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?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
System details
Omarchy 4.0.3 (current quattro has the same stop_screenrecording), gpu-screen-recorder 6.1.0, iMac18,3 with a Radeon Pro 575.
What's wrong?
When gpu-screen-recorder takes a moment to exit after SIGINT (a slower encoder draining its queue: 2–3 s at 4K on this Radeon), a second stop runs stop_screenrecording again while the first is still waiting. That happens when you press Alt+Print again, or pick "Stop Screenrecording", because nothing seemed to happen:
- Both calls read
/tmp/omarchy-screenrecord-filenamebefore either removes it, so both runfinalize_recordingand both post "Screen recording saved" for the same file. Their cleanups race over<name>-preview.png, and the toast shows Qt's broken-image placeholder (magenta and black squares); the shell log hasCould not load icon ".../screenrecording-…-preview.png". - If the second stop starts after the first has removed that file, it reads an empty name, and the toast's image is
-preview.png(shell log:Could not load icon "-preview.png"). - If the drain takes longer than the 5 s wait, the second call force-kills the recorder ("Recording process had to be force-killed").
To reproduce (the drain only has to take a moment):
omarchy-capture-screenrecording --fullscreen --resolution=3840x2160
sleep 5
omarchy-capture-screenrecording --stop-recording & sleep 0.4; omarchy-capture-screenrecording --stop-recordingTwo "Screen recording saved" toasts appear for one file, one with a broken thumbnail.
A possible fix: make stopping single-flight, for example exec 9>/tmp/omarchy-screenrecord.lock; flock -n 9 || return 0 at the top of stop_screenrecording, and skip the finalize and notification when the recording file name is empty.
View raw text
### System details
Omarchy 4.0.3 (current `quattro` has the same `stop_screenrecording`), gpu-screen-recorder 6.1.0, iMac18,3 with a Radeon Pro 575.
### What's wrong?
When gpu-screen-recorder takes a moment to exit after SIGINT (a slower encoder draining its queue: 2–3 s at 4K on this Radeon), a second stop runs `stop_screenrecording` again while the first is still waiting. That happens when you press Alt+Print again, or pick "Stop Screenrecording", because nothing seemed to happen:
- Both calls read `/tmp/omarchy-screenrecord-filename` before either removes it, so both run `finalize_recording` and both post "Screen recording saved" for the same file. Their cleanups race over `<name>-preview.png`, and the toast shows Qt's broken-image placeholder (magenta and black squares); the shell log has `Could not load icon ".../screenrecording-…-preview.png"`.
- If the second stop starts after the first has removed that file, it reads an empty name, and the toast's image is `-preview.png` (shell log: `Could not load icon "-preview.png"`).
- If the drain takes longer than the 5 s wait, the second call force-kills the recorder ("Recording process had to be force-killed").
To reproduce (the drain only has to take a moment):
```sh
omarchy-capture-screenrecording --fullscreen --resolution=3840x2160
sleep 5
omarchy-capture-screenrecording --stop-recording & sleep 0.4; omarchy-capture-screenrecording --stop-recording
```
Two "Screen recording saved" toasts appear for one file, one with a broken thumbnail.
A possible fix: make stopping single-flight, for example `exec 9>/tmp/omarchy-screenrecord.lock; flock -n 9 || return 0` at the top of `stop_screenrecording`, and skip the finalize and notification when the recording file name is empty.
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/10397· 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.
- Out of scopeDecided by agents · verified · 2026-10-09 12:19 UTC