fix(omarchy): survive an app-menu lookup that finds nothing #482

Merged
enricobuehler merged 1 commits from fix/omarchy-app-menu-abort into main 2026-08-31 20:22:55 +00:00
1 Commits
Author SHA1 Message Date
enricobuehler b594d291b4 fix(omarchy): survive an app-menu lookup that finds nothing
ci / bun-nix (pull_request) Successful in 27s
installer-smoke / omarchy integration self-check (pull_request) Successful in 34s
ci / docs-site (pull_request) Successful in 50s
ci / rust-arm64 (pull_request) Successful in 1m22s
ci / docs-drift (pull_request) Successful in 1m29s
installer-smoke / smoke (fedora-44) (pull_request) Failing after 36s
ci / web (pull_request) Successful in 1m38s
installer-smoke / smoke (arch) (pull_request) Successful in 1m4s
installer-smoke / smoke (debian-13) (pull_request) Successful in 6m16s
ci / rust (pull_request) Successful in 7m58s
installer-smoke / derived defaults (pull_request) Failing after 11m14s
The pre-rename migration added in 8fb8656d looks for the old webapp
entry with `old=$(grep -rl … | head -1)`. Finding nothing is the normal
case on a first install, but a bare assignment carries the pipeline's
status, so under `set -euo pipefail` a no-match grep (1) or a missing
applications dir (2) ended the whole script.

It ended it silently, after `==> App menu` had already printed and
before any handler ran, taking the plugin, the menu rows, the hooks,
the theme and the closing status with it. `punktfunk-omarchy setup`
exited non-zero, so the guided installer reported a failed step with
nothing to act on.

Two more assignments of the same shape get the same guard; one of them
already had an empty-case handler that could never be reached.

The self-check now runs `setup_webapp` on a clean box in a child bash,
because `set -e` is suppressed inside an `if` condition and an
in-process call passes while the real script dies. installer-smoke
runs that self-check — it existed, but nothing called it.
2026-08-31 22:14:53 +02:00