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-4777GitHub issuePublicReceived

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.

Received and recorded verbatim. Nothing has been checked yet.

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

Bluetooth bar widget disappears and cannot be re-enabled when rfkill-disabledrevision 1 · captured 2026-10-04 12:03 UTC via poll

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.

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.