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.
Bluetooth bar widget shows stale/off state after shell restart despite adapter being powered on
Reported by rbgit · filed Sep 1, 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
What happened
The Bluetooth bar widget (omarchy.bluetooth) intermittently gets stuck showing the adapter as hidden or "TURNED OFF" even though the adapter is actually powered on at the BlueZ/D-Bus level. It self-corrects after restarting the shell (omarchy restart shell) — sometimes needing two restarts in a row.
Expected behavior
The widget should reliably reflect the adapter's real power state at all times, including right after a shell restart, without needing a second restart.
Steps to reproduce
This was hard to pin down to a fully deterministic repro. What triggered it once:
- System had been running for ~2 weeks with Bluetooth powered on the whole time (
bluetoothctl showreportingPowered: yesconsistently). - The Bluetooth bar widget was not visible in the bar at all.
- Ran
omarchy restart shell— the widget appeared, but showed "TURNED OFF" with the toggle switch off. - Ran
omarchy-bluetooth-power onfrom the command line —bluetoothctl showconfirmedPowered: yes— but the panel still showed "TURNED OFF" and the UI toggle did nothing. - Ran
omarchy restart shella second time — the widget now correctly showed "ON" and the toggle/scan worked normally.
Investigation notes
- The widget (
shell/plugins/panels/bluetooth/Panel.qml) binds directly to Quickshell's ownQuickshell.Bluetoothmodule (Bluetooth.defaultAdapter,adapter.enabled) — this part of Omarchy's code looks correct; it's a plain reactive QML binding. - I ran a fresh
quickshellinstance with--log-rules "quickshell.bluetooth*=true;quickshell.dbus.properties*=true"to watch the underlying D-Bus traffic. In that controlled run, a real BlueZ adapter power-off/power-on cycle (viaomarchy-bluetooth-power off/on) was handled correctly: rfkill-blocking causes BlueZ to fully remove and later recreate the/org/bluez/hci0adapter D-Bus object, and Quickshell tracked the new object and itsPoweredproperty changes correctly end-to-end. - I was not able to reproduce the original "restart doesn't pick up an already-
Powered: yesadapter" symptom under logging — a genuinely freshquickshellprocess readPowered: truecorrectly on its very first D-Bus round-trip in every test I ran. - This mismatch suggests the bug may be a race specific to
omarchy restart shell's kill-then-relaunch sequence (quickshell kill -p ... --any-displayfollowed by relaunch viahyprctl dispatch) rather than a deterministic bug in Quickshell's Bluetooth property sync itself — e.g. the new instance starting before the old one has fully released some D-Bus/session state. I don't have a confirmed root cause.
System info
- Omarchy version: 4.0.0-1 (stable channel)
- Quickshell: 0.3.0.r20.g28771c7-1 (quickshell-git, built 2026-08-10)
- CPU: Intel Core i7-7500U
- GPU: Intel HD Graphics 620 (Kaby Lake-U GT2)
- Bluetooth controller: Intel/generic USB adapter (hci0), works fine at the
bluetoothctl/D-Bus level throughout
Note
omarchy debug --no-sudo --print does not exist on this installed version (4.0.0-1) — command list has no debug subcommand, so I could not attach the standard diagnostic log.
View raw text
## What happened The Bluetooth bar widget (`omarchy.bluetooth`) intermittently gets stuck showing the adapter as hidden or "TURNED OFF" even though the adapter is actually powered on at the BlueZ/D-Bus level. It self-corrects after restarting the shell (`omarchy restart shell`) — sometimes needing two restarts in a row. ## Expected behavior The widget should reliably reflect the adapter's real power state at all times, including right after a shell restart, without needing a second restart. ## Steps to reproduce This was hard to pin down to a fully deterministic repro. What triggered it once: 1. System had been running for ~2 weeks with Bluetooth powered on the whole time (`bluetoothctl show` reporting `Powered: yes` consistently). 2. The Bluetooth bar widget was not visible in the bar at all. 3. Ran `omarchy restart shell` — the widget appeared, but showed "TURNED OFF" with the toggle switch off. 4. Ran `omarchy-bluetooth-power on` from the command line — `bluetoothctl show` confirmed `Powered: yes` — but the panel still showed "TURNED OFF" and the UI toggle did nothing. 5. Ran `omarchy restart shell` a second time — the widget now correctly showed "ON" and the toggle/scan worked normally. ## Investigation notes - The widget (`shell/plugins/panels/bluetooth/Panel.qml`) binds directly to Quickshell's own `Quickshell.Bluetooth` module (`Bluetooth.defaultAdapter`, `adapter.enabled`) — this part of Omarchy's code looks correct; it's a plain reactive QML binding. - I ran a fresh `quickshell` instance with `--log-rules "quickshell.bluetooth*=true;quickshell.dbus.properties*=true"` to watch the underlying D-Bus traffic. In that controlled run, a real BlueZ adapter power-off/power-on cycle (via `omarchy-bluetooth-power off` / `on`) was handled correctly: rfkill-blocking causes BlueZ to fully remove and later recreate the `/org/bluez/hci0` adapter D-Bus object, and Quickshell tracked the new object and its `Powered` property changes correctly end-to-end. - I was **not** able to reproduce the original "restart doesn't pick up an already-`Powered: yes` adapter" symptom under logging — a genuinely fresh `quickshell` process read `Powered: true` correctly on its very first D-Bus round-trip in every test I ran. - This mismatch suggests the bug may be a race specific to `omarchy restart shell`'s kill-then-relaunch sequence (`quickshell kill -p ... --any-display` followed by relaunch via `hyprctl dispatch`) rather than a deterministic bug in Quickshell's Bluetooth property sync itself — e.g. the new instance starting before the old one has fully released some D-Bus/session state. I don't have a confirmed root cause. ## System info - Omarchy version: 4.0.0-1 (stable channel) - Quickshell: 0.3.0.r20.g28771c7-1 (quickshell-git, built 2026-08-10) - CPU: Intel Core i7-7500U - GPU: Intel HD Graphics 620 (Kaby Lake-U GT2) - Bluetooth controller: Intel/generic USB adapter (hci0), works fine at the `bluetoothctl`/D-Bus level throughout ## Note `omarchy debug --no-sudo --print` does not exist on this installed version (4.0.0-1) — command list has no `debug` subcommand, so I could not attach the standard diagnostic log.
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 10:25 UTC