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-1572GitHub issuePublicReceived

Lock screen password field fills with key repeats when a keypress wakes slow DPMS-blanked displays

Reported by berndb · filed Aug 22, 2026Closed upstream on 2026-10-04 by the merge of PR #7806 (closed by dhh). 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

Lock screen password field fills with key repeats when a keypress wakes slow DPMS-blanked displaysrevision 1 · captured 2026-09-28 21:24 UTC via poll

System details

Omarchy 4.0.0-1 (stable), Hyprland 0.56.2-1, quickshell-git 0.3.0.r20.g28771c7-2, kernel 7.1.8-arch1-3, Intel Core Ultra 5 225H (ASUS NUC15), 2× Apple Studio Display via Thunderbolt + 1× Dell via DP.

What's wrong?

Returning to a locked machine whose lock screen has blanked (the lock plugin turns displays off via DPMS 5 s after the last activity), waking it with a single brief tap on a character key leaves the password field pre-filled with a long run of dots — often dozens. Enter then fails with Authentication failed, and you have to clear the field and retype.

Why it happens

  1. The wake keypress is delivered to the lock's password TextInput (misc:key_press_enables_dpms wakes the displays but Hyprland still passes the key through to the focused surface).
  2. The DPMS wake triggers a modeset, which on slow-to-wake displays (Apple Studio Display: several seconds) stalls the compositor, so the key's release event reaches the client only after the modeset completes.
  3. Wayland key repeat is client-side: the TextInput got the press, never saw the release, and types the character at the repeat rate for the whole stall. A 2–4 s stall at ~25 chars/s produces the observed pile of dots.

The dots are all the same character (invisible through masking), so the pre-filled field looks like garbage or even a stale password.

Steps to reproduce

  1. omarchy system lock, wait ~6 s for the screen to blank.
  2. Tap one letter key once, briefly.
  3. When the displays come back, the field contains many dots instead of one.

Deterministic on this machine. Control test: waking with Shift (no character) leaves the field empty, confirming the pile comes from the wake key itself.

Journal timeline of one occurrence (each keypress at the lock triggers dpms on, which on this machine always produces a kernel AER burst, making input activity visible in the log):

19:18:24 lock-requested (manual lock)
19:18:30 lock blanks — DPMS off, AER burst
         … 46 min, no further bursts ⇒ no input events while blanked …
20:04:49 single wake keypress — DPMS on, AER burst; field already full of dots
20:05:03 unlocked after clearing (Escape) and retyping

Expected

Waking the blanked lock screen with a keypress leaves at most that one character in the field.

Workaround

Wake with the mouse, Shift, or Escape (Escape also clears the field).

Suggested fix

Ignore auto-repeat key events in the password field (except Backspace/Delete, where holding to clear is expected). A held key has no legitimate role in typing a password. PR follows.

View raw text
### System details

Omarchy 4.0.0-1 (stable), Hyprland 0.56.2-1, quickshell-git 0.3.0.r20.g28771c7-2, kernel 7.1.8-arch1-3, Intel Core Ultra 5 225H (ASUS NUC15), 2× Apple Studio Display via Thunderbolt + 1× Dell via DP.

### What's wrong?

Returning to a locked machine whose lock screen has blanked (the lock plugin turns displays off via DPMS 5 s after the last activity), waking it with a **single brief tap on a character key** leaves the password field pre-filled with a long run of dots — often dozens. Enter then fails with `Authentication failed`, and you have to clear the field and retype.

### Why it happens

1. The wake keypress is delivered to the lock's password `TextInput` (`misc:key_press_enables_dpms` wakes the displays but Hyprland still passes the key through to the focused surface).
2. The DPMS wake triggers a modeset, which on slow-to-wake displays (Apple Studio Display: several seconds) stalls the compositor, so the key's **release** event reaches the client only after the modeset completes.
3. Wayland key repeat is client-side: the `TextInput` got the press, never saw the release, and types the character at the repeat rate for the whole stall. A 2–4 s stall at ~25 chars/s produces the observed pile of dots.

The dots are all the same character (invisible through masking), so the pre-filled field looks like garbage or even a stale password.

### Steps to reproduce

1. `omarchy system lock`, wait ~6 s for the screen to blank.
2. Tap one letter key once, briefly.
3. When the displays come back, the field contains many dots instead of one.

Deterministic on this machine. Control test: waking with Shift (no character) leaves the field empty, confirming the pile comes from the wake key itself.

Journal timeline of one occurrence (each keypress at the lock triggers `dpms on`, which on this machine always produces a kernel AER burst, making input activity visible in the log):

```
19:18:24 lock-requested (manual lock)
19:18:30 lock blanks — DPMS off, AER burst
         … 46 min, no further bursts ⇒ no input events while blanked …
20:04:49 single wake keypress — DPMS on, AER burst; field already full of dots
20:05:03 unlocked after clearing (Escape) and retyping
```

### Expected

Waking the blanked lock screen with a keypress leaves at most that one character in the field.

### Workaround

Wake with the mouse, Shift, or Escape (Escape also clears the field).

### Suggested fix

Ignore auto-repeat key events in the password field (except Backspace/Delete, where holding to clear is expected). A held key has no legitimate role in typing a password. PR follows.

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

  • Related PRpr/11858· 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.