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

Web app install can't fetch a relative icon for apps served under a subpath

Reported by sircraig · filed Oct 4, 2026 · open at source

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

Web app install can't fetch a relative icon for apps served under a subpathrevision 1 · captured 2026-10-04 08:59 UTC via poll

System details

Intel Core 5 320, Intel Graphics (Wildcat Lake), Omarchy 4.0.4-1

What's wrong?

omarchy webapp install fails to fetch the icon for web apps served under a subpath, so creating the web app fails with Error: Failed to download icon. (or, in the interactive flow, falls back to asking for an icon URL, and leaving it blank fails the same way).

Steps to reproduce

  1. Use a site whose app lives under a subpath and declares a relative icon, e.g. https://host/ redirects to https://host/app/, and the page contains <link rel="apple-touch-icon" href="icon.png"> (common for self-hosted apps).
  2. Run omarchy webapp install and enter https://host/app/ (or https://host/) as the URL.
  3. Icon fetching fails.

Cause

fetch_site_icon in bin/omarchy-webapp-install resolves a relative href against the origin instead of the page's directory, so it requests https://host/icon.png (404) rather than https://host/app/icon.png. It then falls back to https://host/apple-touch-icon.png (404) and Google's favicon service (404 for a private host), so every attempt fails. It also resolves against the URL as typed, not the URL after redirects.

Workaround

Pass the icon URL explicitly: omarchy webapp install "Name" "https://host/app/" "https://host/app/icon.png".

Fix

#14217 resolves relative hrefs against the redirected page's directory (as a browser does) and adds a regression test.

View raw text
### System details

Intel Core 5 320, Intel Graphics (Wildcat Lake), Omarchy 4.0.4-1

### What's wrong?

`omarchy webapp install` fails to fetch the icon for web apps served under a subpath, so creating the web app fails with `Error: Failed to download icon.` (or, in the interactive flow, falls back to asking for an icon URL, and leaving it blank fails the same way).

**Steps to reproduce**

1. Use a site whose app lives under a subpath and declares a relative icon, e.g. `https://host/` redirects to `https://host/app/`, and the page contains `<link rel="apple-touch-icon" href="icon.png">` (common for self-hosted apps).
2. Run `omarchy webapp install` and enter `https://host/app/` (or `https://host/`) as the URL.
3. Icon fetching fails.

**Cause**

`fetch_site_icon` in `bin/omarchy-webapp-install` resolves a relative `href` against the origin instead of the page's directory, so it requests `https://host/icon.png` (404) rather than `https://host/app/icon.png`. It then falls back to `https://host/apple-touch-icon.png` (404) and Google's favicon service (404 for a private host), so every attempt fails. It also resolves against the URL as typed, not the URL after redirects.

**Workaround**

Pass the icon URL explicitly: `omarchy webapp install "Name" "https://host/app/" "https://host/app/icon.png"`.

**Fix**

#14217 resolves relative hrefs against the redirected page's directory (as a browser does) and adds a regression test.

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 21:14 UTC