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

Network bar icon shows disconnected while Wi-Fi is up (kind uses scan-derived connectedWifiNetwork, stale while panel closed)

Reported by kosovim-dev · filed Sep 7, 2026 · open at source

Decided: Out of scope — decided by agents · verified 4 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

Network bar icon shows disconnected while Wi-Fi is up (kind uses scan-derived connectedWifiNetwork, stale while panel closed)revision 1 · captured 2026-09-28 21:23 UTC via poll

System details

  • Omarchy: 4.0.0.r2037.g97a86af-1
  • Quickshell: 0.3.1
  • NetworkManager: 1.58.1
  • Kernel: 7.2.3-arch1-2
  • CPU: Intel Core i7-4770HQ, GPU: Intel Crystal Well integrated

What happened

With the network panel closed, the bar's network widget shows the
"disconnected" glyph (and kind-derived state) while Wi-Fi is associated,
has the default route, and internet works. It stays wrong until the panel is
opened, which restarts scanning and repopulates the network list.

What I expected

The Wi-Fi signal icon whenever the radio is connected, whether or not the
panel has been opened since the shell started.

Root cause

shell/plugins/panels/network/Panel.qml derives the bar icon's kind from
the scan-derived access-point list:

readonly property string kind: {
  if (wiredDevice && wiredDevice.connected) return "ethernet"
  if (connectedWifiNetwork) return "wifi"
  return "disconnected"
}

connectedWifiNetwork comes from wifiDevice.networks, which is populated
by scans. Scanning is deliberately paused while the panel is closed
(setScannerEnabled() only holds scannerEnabled on the device while
opened), so connectedWifiNetwork can be null while the radio is up —
for example after the dock's ethernet is unplugged, or after anything that
rebuilds the NM device list with the panel closed (a VPN integration
adding/removing dummy devices, such as ProtonVPN's pvpn-killswitch /
ipv6leakintrf0). The comment in the existing code already acknowledges the
wired equivalent of this class of problem ("the first-enumerated one may be
carrierless" in findDevice()), and the wired branch of kind correctly
uses live device state (wiredDevice.connected) — but the Wi-Fi branch
depends on scan-derived state that is stale by design while the panel is
closed.

Steps to reproduce

  1. Connect to Wi-Fi, keep the network panel closed.
  2. While it is closed, trigger a rebuild of the scan-derived network list —

e.g. unplug the dock ethernet, or connect/disconnect a VPN whose NM
integration adds and removes dummy devices.
3. The bar icon flips to the disconnected glyph even though ping and
browsing still work over Wi-Fi. Opening the network panel clears it.

Fix

Use the Wi-Fi device's own connected flag, mirroring the wired branch.
wifiDevice already comes from findDevice(), which prefers a connected
device:

   readonly property string kind: {
     if (wiredDevice && wiredDevice.connected) return "ethernet"
-    if (connectedWifiNetwork) return "wifi"
+    if (wifiDevice && wifiDevice.connected) return "wifi"
     return "disconnected"
   }

I have been running a cloned network panel with exactly this one-line change
since 2026-09-06: the icon tracks Wi-Fi state correctly with the panel
closed, including through VPN connect/disconnect cycles and dock
plug/unplug. Happy to turn this into a PR if that's preferred.

Related staleness with the same root cause: signalStrength also reads
connectedWifiNetwork and reports -1 in this state, which degrades the
signal-glyph choice too — worth addressing if the fix is extended.

View raw text
### System details

- Omarchy: 4.0.0.r2037.g97a86af-1
- Quickshell: 0.3.1
- NetworkManager: 1.58.1
- Kernel: 7.2.3-arch1-2
- CPU: Intel Core i7-4770HQ, GPU: Intel Crystal Well integrated

### What happened

With the network panel closed, the bar's network widget shows the
"disconnected" glyph (and `kind`-derived state) while Wi-Fi is associated,
has the default route, and internet works. It stays wrong until the panel is
opened, which restarts scanning and repopulates the network list.

### What I expected

The Wi-Fi signal icon whenever the radio is connected, whether or not the
panel has been opened since the shell started.

### Root cause

`shell/plugins/panels/network/Panel.qml` derives the bar icon's `kind` from
the scan-derived access-point list:

```qml
readonly property string kind: {
  if (wiredDevice && wiredDevice.connected) return "ethernet"
  if (connectedWifiNetwork) return "wifi"
  return "disconnected"
}
```

`connectedWifiNetwork` comes from `wifiDevice.networks`, which is populated
by scans. Scanning is deliberately paused while the panel is closed
(`setScannerEnabled()` only holds `scannerEnabled` on the device while
`opened`), so `connectedWifiNetwork` can be `null` while the radio is up —
for example after the dock's ethernet is unplugged, or after anything that
rebuilds the NM device list with the panel closed (a VPN integration
adding/removing dummy devices, such as ProtonVPN's `pvpn-killswitch` /
`ipv6leakintrf0`). The comment in the existing code already acknowledges the
wired equivalent of this class of problem ("the first-enumerated one may be
carrierless" in `findDevice()`), and the wired branch of `kind` correctly
uses live device state (`wiredDevice.connected`) — but the Wi-Fi branch
depends on scan-derived state that is stale by design while the panel is
closed.

### Steps to reproduce

1. Connect to Wi-Fi, keep the network panel closed.
2. While it is closed, trigger a rebuild of the scan-derived network list —
   e.g. unplug the dock ethernet, or connect/disconnect a VPN whose NM
   integration adds and removes dummy devices.
3. The bar icon flips to the disconnected glyph even though `ping` and
   browsing still work over Wi-Fi. Opening the network panel clears it.

### Fix

Use the Wi-Fi device's own connected flag, mirroring the wired branch.
`wifiDevice` already comes from `findDevice()`, which prefers a connected
device:

```diff
   readonly property string kind: {
     if (wiredDevice && wiredDevice.connected) return "ethernet"
-    if (connectedWifiNetwork) return "wifi"
+    if (wifiDevice && wifiDevice.connected) return "wifi"
     return "disconnected"
   }
```

I have been running a cloned network panel with exactly this one-line change
since 2026-09-06: the icon tracks Wi-Fi state correctly with the panel
closed, including through VPN connect/disconnect cycles and dock
plug/unplug. Happy to turn this into a PR if that's preferred.

Related staleness with the same root cause: `signalStrength` also reads
`connectedWifiNetwork` and reports `-1` in this state, which degrades the
signal-glyph choice too — worth addressing if the fix is extended.

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 11:02 UTC