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-5260GitHub issuePublicDecided· Out of scope

Qt 6.12 Color fix (#14553) does not reach cloned or third-party plugins: cloned menu opens blank

Reported by avdrav1 · filed Oct 9, 2026 · open at source · 2 revisions

Decided: Out of scope — decided by agents · verified 3 days ago.

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

Revision12 (current)
Qt 6.12 Color fix (#14553) does not reach cloned or third-party plugins: cloned menu opens blankrevision 2 · captured 2026-10-09 03:02 UTC via poll

<img width="3840" height="2160" alt="Image" src="https://github.com/user-attachments/assets/d487f69b-2297-48f7-b710-42b4b434fa47" />

System details

  • Omarchy: omarchy-dev 4.0.0.r6815.g50d687a-1 (edge), updated from r6694 on 2026-10-08. This build already contains #14553.
  • qt6-base 6.12.0-2, qt6-declarative 6.12.0-1 (from 6.11.2 in the same transaction), quickshell 0.3.2-2, hyprland 0.56.2-4
  • AMD Ryzen 9 5900; NVIDIA RTX 3080 (nvidia-open-dkms 615.71.09)

What's wrong?

#14553 fixed the Qt 6.12 Color collision (#14548) for the shipped shell by qualifying palette references as Commons.Color. Code that lives outside /usr/share/omarchy did not get that change, so on a build that includes the fix it is still broken:

  • Clones of built-in plugins. A clone made with omarchy plugin clone is a frozen copy of the pre-fix source, so it keeps the bare Color. references. On this machine the menu is a clone of omarchy.menu (manifest has omarchy.clonedFrom), and after the update SUPER+SPACE opened it as an empty bordered rectangle on a black scrim: no search field, no rows. The stock menu in the same build is fine.
  • Third-party plugins written against the previous pattern (import qs.Commons + bare Color.…). Seen here in omadock, omaplug, QuickSwitch, Spotlight, syncthing, nordvpn, omaspotify, omaqbt, omamail, notification-center and promaa.clock.

Shell log, all from files under ~/.config/omarchy/plugins:

WARN scene: .../plugins/omadock/components/DockItem.qml[273:-1]: TypeError: Cannot read property 'background' of undefined
WARN scene: .../plugins/ewweberlin.quickswitch/Service.qml[339:-1]: TypeError: Cannot read property 'background' of undefined
WARN scene: .../plugins/omaplug/panel/plugin/Row.qml[80:9]: Unable to assign [undefined] to QColor

r6815 ships no migration that touches clones (nothing under /usr/share/omarchy/migrations mentions Commons.Color), so nothing tells the user why a previously working clone went blank.

Steps to reproduce

  1. On Qt 6.11, run omarchy plugin clone omarchy.menu.
  2. Update to a build with Qt 6.12 and #14553 (r6815 here).
  3. Press SUPER+SPACE.

Expected: the cloned menu renders as before.
Actual: an empty bordered rectangle; the log shows the errors above.

What fixed it locally

  • Clone: re-cloning the menu from the r6815 stock source restored it. A diff of the stale clone against the new stock Menu.qml shows the Color. → Commons.Color. change as the relevant difference.
  • Third-party plugin (Spotlight): adding import qs.Commons as Commons and replacing Color. with Commons.Color. restored it.

Suggestions

  • Ship a migration that applies the same rewrite to existing clones under ~/.config/omarchy/plugins (those with omarchy.clonedFrom), or at least warns that a clone's source changed. #14511 reportedly included a clone migration; #14553 does not appear to.
  • Tell third-party plugin authors about the required change, since every plugin using the old pattern is affected.

Screenshot of the blank cloned menu attached below.

View raw text
<img width="3840" height="2160" alt="Image" src="https://github.com/user-attachments/assets/d487f69b-2297-48f7-b710-42b4b434fa47" />

### System details

- Omarchy: `omarchy-dev 4.0.0.r6815.g50d687a-1` (edge), updated from r6694 on 2026-10-08. This build already contains #14553.
- qt6-base 6.12.0-2, qt6-declarative 6.12.0-1 (from 6.11.2 in the same transaction), quickshell 0.3.2-2, hyprland 0.56.2-4
- AMD Ryzen 9 5900; NVIDIA RTX 3080 (nvidia-open-dkms 615.71.09)

### What's wrong?

#14553 fixed the Qt 6.12 `Color` collision (#14548) for the shipped shell by qualifying palette references as `Commons.Color`. Code that lives outside `/usr/share/omarchy` did not get that change, so on a build that includes the fix it is still broken:

- **Clones of built-in plugins.** A clone made with `omarchy plugin clone` is a frozen copy of the pre-fix source, so it keeps the bare `Color.` references. On this machine the menu is a clone of `omarchy.menu` (manifest has `omarchy.clonedFrom`), and after the update SUPER+SPACE opened it as an empty bordered rectangle on a black scrim: no search field, no rows. The stock menu in the same build is fine.
- **Third-party plugins** written against the previous pattern (`import qs.Commons` + bare `Color.…`). Seen here in omadock, omaplug, QuickSwitch, Spotlight, syncthing, nordvpn, omaspotify, omaqbt, omamail, notification-center and promaa.clock.

Shell log, all from files under `~/.config/omarchy/plugins`:

```text
WARN scene: .../plugins/omadock/components/DockItem.qml[273:-1]: TypeError: Cannot read property 'background' of undefined
WARN scene: .../plugins/ewweberlin.quickswitch/Service.qml[339:-1]: TypeError: Cannot read property 'background' of undefined
WARN scene: .../plugins/omaplug/panel/plugin/Row.qml[80:9]: Unable to assign [undefined] to QColor
```

r6815 ships no migration that touches clones (nothing under `/usr/share/omarchy/migrations` mentions `Commons.Color`), so nothing tells the user why a previously working clone went blank.

### Steps to reproduce

1. On Qt 6.11, run `omarchy plugin clone omarchy.menu`.
2. Update to a build with Qt 6.12 and #14553 (r6815 here).
3. Press SUPER+SPACE.

Expected: the cloned menu renders as before.
Actual: an empty bordered rectangle; the log shows the errors above.

### What fixed it locally

- Clone: re-cloning the menu from the r6815 stock source restored it. A `diff` of the stale clone against the new stock `Menu.qml` shows the `Color.` → `Commons.Color.` change as the relevant difference.
- Third-party plugin (Spotlight): adding `import qs.Commons as Commons` and replacing `Color.` with `Commons.Color.` restored it.

### Suggestions

- Ship a migration that applies the same rewrite to existing clones under `~/.config/omarchy/plugins` (those with `omarchy.clonedFrom`), or at least warns that a clone's source changed. #14511 reportedly included a clone migration; #14553 does not appear to.
- Tell third-party plugin authors about the required change, since every plugin using the old pattern is affected.

Screenshot of the blank cloned menu attached below.
  • d487f69b-2297-48f7-b710-42b4b434fa47

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

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.

  • Out of scopeDecided by agents · verified · 2026-10-09 23:19 UTC