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

Shibumi network panel: clicking Connect on unsaved protected WiFi does nothing

Reported by lloydshinee · filed Aug 18, 2026Closed upstream on 2026-08-18 by its own reporter lloydshinee. GitHub close reason: completed. Closed by its own reporter — not by itself evidence of a fix.

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

Shibumi network panel: clicking Connect on unsaved protected WiFi does nothingrevision 1 · captured 2026-10-04 12:03 UTC via poll

Description

In the Shibumi network panel (hancore.shibumi.network), clicking the "Connect" button on a protected WiFi network that hasn't been saved before has no effect — the password prompt never appears. This affects WPA2, WPA3, and enterprise networks.

Root Cause

The runPrimary() function in NetworkPanel.qml (line 147-165) checks entry.network to decide whether to open the password prompt:

if (entry.network && !entry.known
    && (entry.securityKind === "psk"
      || entry.securityKind === "enterprise")) {
  openPassword(entry)
  return
}

However, the network data originates from the Quattro panel's wifiRow() function (Model.js line 264-278), which deliberately returns primitive snapshots without the live WifiNetwork QObject to avoid segfaults:

function wifiRow(network) {
  return {
    connected: !!network.connected,
    known: !!network.known,
    ssid: network.name || "",
    signal: Math.round((network.signalStrength || 0) * 100),
    security: network.security
  }
}

The mergedNetworks() function in Service.qml (line 274) maps this as source.network || null, which is always null.

This means entry.network is always null for visible networks, so:
1. The password prompt never opens (the entry.network guard is always false)
2. connect() in Service.qml returns false immediately (!entry.network || ready at line 347)
3. connectWithPassphrase() and connectEnterprise() also fail the same check (lines 357, 365)

Steps to Reproduce

  1. Open the Shibumi network panel
  2. Click on a protected WiFi network you haven't connected to before (e.g. WPA2 or WPA3)
  3. Click "Connect"
  4. Nothing happens — the password prompt should appear but doesn't

Expected Behavior

The inline password prompt should appear, allowing the user to enter the WiFi passphrase.

System Details

  • Omarchy version: 4.0.0-1
  • CPU: 11th Gen Intel Core i7-1185G7
  • GPU: Intel Iris Xe Graphics
  • Network: WPA3 (COMP_ENG1) and WPA2 networks affected

Suggested Fix

The entry.network checks in runPrimary(), connect(), connectWithPassphrase(), and connectEnterprise() should be relaxed. Since the Quattro panel omits the live WifiNetwork object from row data, these functions should rely on other indicators (like entry.visible or entry.ssid) to determine availability, and resolve the network object internally via a lookup (similar to how the Quattro panel uses networkForSsid()).

View raw text
## Description

In the Shibumi network panel (`hancore.shibumi.network`), clicking the "Connect" button on a protected WiFi network that hasn't been saved before has no effect — the password prompt never appears. This affects WPA2, WPA3, and enterprise networks.

## Root Cause

The `runPrimary()` function in `NetworkPanel.qml` (line 147-165) checks `entry.network` to decide whether to open the password prompt:

```javascript
if (entry.network && !entry.known
    && (entry.securityKind === "psk"
      || entry.securityKind === "enterprise")) {
  openPassword(entry)
  return
}
```

However, the network data originates from the Quattro panel's `wifiRow()` function (`Model.js` line 264-278), which deliberately returns primitive snapshots without the live `WifiNetwork` QObject to avoid segfaults:

```javascript
function wifiRow(network) {
  return {
    connected: !!network.connected,
    known: !!network.known,
    ssid: network.name || "",
    signal: Math.round((network.signalStrength || 0) * 100),
    security: network.security
  }
}
```

The `mergedNetworks()` function in `Service.qml` (line 274) maps this as `source.network || null`, which is always `null`.

This means `entry.network` is always `null` for visible networks, so:
1. The password prompt never opens (the `entry.network` guard is always false)
2. `connect()` in Service.qml returns false immediately (`!entry.network || ready` at line 347)
3. `connectWithPassphrase()` and `connectEnterprise()` also fail the same check (lines 357, 365)

## Steps to Reproduce

1. Open the Shibumi network panel
2. Click on a protected WiFi network you haven't connected to before (e.g. WPA2 or WPA3)
3. Click "Connect"
4. Nothing happens — the password prompt should appear but doesn't

## Expected Behavior

The inline password prompt should appear, allowing the user to enter the WiFi passphrase.

## System Details

- Omarchy version: 4.0.0-1
- CPU: 11th Gen Intel Core i7-1185G7
- GPU: Intel Iris Xe Graphics
- Network: WPA3 (COMP_ENG1) and WPA2 networks affected

## Suggested Fix

The `entry.network` checks in `runPrimary()`, `connect()`, `connectWithPassphrase()`, and `connectEnterprise()` should be relaxed. Since the Quattro panel omits the live `WifiNetwork` object from row data, these functions should rely on other indicators (like `entry.visible` or `entry.ssid`) to determine availability, and resolve the network object internally via a lookup (similar to how the Quattro panel uses `networkForSsid()`).

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.