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

Tray icons of already-running apps disappear after system update restarts the shell (SNI re-registration race)

Reported by jfdnet · filed Sep 19, 2026Closed upstream on 2026-10-12 by the bot omarchybot, as a duplicate (target not recorded).

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

Tray icons of already-running apps disappear after system update restarts the shell (SNI re-registration race)revision 1 · captured 2026-09-28 21:23 UTC via poll

What happened

After a system update (which restarts the omarchy shell), tray icons of apps that were already running disappear from the omarchy.tray bar widget. The app processes stay alive; only the icons vanish. Restarting the affected app restores the icon.

Steps to reproduce

  1. Keep a tray app running (reproduced with trayscale 0.19.0)
  2. Run a system update that restarts the shell
  3. The app's tray icon is gone while the process is still alive
  4. Restart the app → icon returns

Analysis

quickshell owns both org.kde.StatusNotifierWatcher and org.kde.StatusNotifierHost (verified via busctl --user list). When the shell restarts, the watcher bus name is torn down and re-created by the new quickshell instance.

SNI clients that watch for the watcher and re-register (libappindicator-based apps like the Nextcloud client) survive the restart with their icons intact. Clients that register once and don't re-watch the watcher (trayscale implements its own SNI in Go) lose their icon. So this is not trayscale-specific — any tray app that doesn't implement watcher re-registration is affected, which is presumably a large share of real-world tray apps.

Expected behavior

Tray icons survive shell restarts.

Workaround

Restart the affected apps after updates.

Environment

  • Omarchy 4.0.4-1
  • quickshell 0.3.1-1
  • trayscale 0.19.0-2
  • kernel 7.2.5-3-omarchy
  • Intel Core Ultra (Panther Lake iGPU), Wayland / Hyprland

Possible upstream directions: app-side re-registration on watcher reappear (trayscale), or a mitigation on the quickshell/omarchy side.

View raw text
### What happened

After a system update (which restarts the omarchy shell), tray icons of apps that were **already running** disappear from the `omarchy.tray` bar widget. The app processes stay alive; only the icons vanish. Restarting the affected app restores the icon.

### Steps to reproduce

1. Keep a tray app running (reproduced with trayscale 0.19.0)
2. Run a system update that restarts the shell
3. The app's tray icon is gone while the process is still alive
4. Restart the app → icon returns

### Analysis

quickshell owns both `org.kde.StatusNotifierWatcher` and `org.kde.StatusNotifierHost` (verified via `busctl --user list`). When the shell restarts, the watcher bus name is torn down and re-created by the new quickshell instance.

SNI clients that watch for the watcher and re-register (libappindicator-based apps like the Nextcloud client) survive the restart with their icons intact. Clients that register once and don't re-watch the watcher (trayscale implements its own SNI in Go) lose their icon. So this is not trayscale-specific — **any tray app that doesn't implement watcher re-registration is affected**, which is presumably a large share of real-world tray apps.

### Expected behavior

Tray icons survive shell restarts.

### Workaround

Restart the affected apps after updates.

### Environment

- Omarchy 4.0.4-1
- quickshell 0.3.1-1
- trayscale 0.19.0-2
- kernel 7.2.5-3-omarchy
- Intel Core Ultra (Panther Lake iGPU), Wayland / Hyprland

Possible upstream directions: app-side re-registration on watcher reappear (trayscale), or a mitigation on the quickshell/omarchy side.

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 15:55 UTC