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.
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
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
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
- Use a site whose app lives under a subpath and declares a relative icon, e.g.
https://host/redirects tohttps://host/app/, and the page contains<link rel="apple-touch-icon" href="icon.png">(common for self-hosted apps). - Run
omarchy webapp installand enterhttps://host/app/(orhttps://host/) as the URL. - 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