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 disappears and cannot be re-enabled when rfkill-disabled
Reported by higgsboson909 · filed Aug 31, 2026Closed upstream on 2026-08-31 by its own reporter higgsboson909, as a duplicate of #6956 (R-4603). GitHub close reason: completed.
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
Bug: Bluetooth bar widget disappears and cannot power Bluetooth back on
Environment
- Omarchy: 4.0.2-1
- Shell: Quickshell
- Affected plugin:
shell/plugins/panels/bluetooth/Panel.qml - Branch:
quattro
Reproduction
- Open the Bluetooth panel from the top bar.
- Turn Bluetooth off using the panel power button.
- Observe that
Bluetooth.defaultAdapterbecomesnullwhile rfkill blocks Bluetooth. - The bar icon disappears, or the panel reports
No Bluetooth adapterand hides its power switch. - Bluetooth cannot be turned back on from the bar.
Expected behavior
The physical adapter should be distinguished from its current power state. When hardware exists but Bluetooth is disabled, the bar should remain present with the disabled Bluetooth icon, and the panel should retain a power-on control.
The switch and icon should also respond immediately while the asynchronous rfkill/BlueZ transition completes.
Root cause
The plugin uses Bluetooth.defaultAdapter both as the hardware-presence check and as the power-state source. BlueZ removes the default adapter object while rfkill blocks Bluetooth, so adapter === null is incorrectly treated as missing hardware. The base code also returns early from toggleBluetooth() when the adapter is null.
View raw text
## Bug: Bluetooth bar widget disappears and cannot power Bluetooth back on ### Environment - Omarchy: 4.0.2-1 - Shell: Quickshell - Affected plugin: `shell/plugins/panels/bluetooth/Panel.qml` - Branch: `quattro` ### Reproduction 1. Open the Bluetooth panel from the top bar. 2. Turn Bluetooth off using the panel power button. 3. Observe that `Bluetooth.defaultAdapter` becomes `null` while rfkill blocks Bluetooth. 4. The bar icon disappears, or the panel reports `No Bluetooth adapter` and hides its power switch. 5. Bluetooth cannot be turned back on from the bar. ### Expected behavior The physical adapter should be distinguished from its current power state. When hardware exists but Bluetooth is disabled, the bar should remain present with the disabled Bluetooth icon, and the panel should retain a power-on control. The switch and icon should also respond immediately while the asynchronous rfkill/BlueZ transition completes. ### Root cause The plugin uses `Bluetooth.defaultAdapter` both as the hardware-presence check and as the power-state source. BlueZ removes the default adapter object while rfkill blocks Bluetooth, so `adapter === null` is incorrectly treated as missing hardware. The base code also returns early from `toggleBluetooth()` when the adapter is null.
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.
No decision has been recorded yet.