fix(mime): text/plain falls through to Text Editor on live (#119)
All checks were successful
Check / eval (push) Successful in 4m5s

A singleton default naming code.desktop left the live ISO with no text
handler — GIO skips missing .desktop files and offers nothing. Prefer
vscode when present, then org.gnome.TextEditor.desktop. Live also gains
mpv (video defaults had the same hole; free via the template pin).

checks.live-baseline-apps now requires every Default Applications key
to resolve to a present .desktop on live (HM + system path) and on the
default template install. Proved to fail on a vscode-only text/plain.

Verified: V2 (live-baseline-apps green + prove-to-fail); V0 flake check.
This commit is contained in:
2026-07-15 09:24:48 +01:00
parent 6fbad46bca
commit 355d8cb1a4
6 changed files with 125 additions and 48 deletions

View File

@@ -380,8 +380,8 @@ Design/decision records and a running log of shipped work (items marked
the thing a user judges the distro by *before* installing, and what they
boot to rescue a machine that will not start; it could do neither. The live
HM user in `flake.nix` now names its own set: **Chromium, libreoffice-fresh,
gnome-text-editor, amberol, snapshot** (Bernardo confirmed the gap on real
hardware 2026-07-14).
gnome-text-editor, amberol, mpv (#119), snapshot** (Bernardo confirmed the
gap on real hardware 2026-07-14).
**Firefox deliberately excluded** (Bernardo's call): Chromium already owns
the HTTP mime default and ships in the installed template, so it is the
browser that matches what a user gets after installing — and it was the one
@@ -404,6 +404,17 @@ Design/decision records and a running log of shipped work (items marked
decision rather than a drive-by. Proved to fail: dropping snapshot makes it
name the missing entry. **V3 pending** — that the apps *launch* needs real
hardware (HARDWARE-QUEUE, Acer M5-481T).
- ✓ **Mime defaults must name a present .desktop (#119):** same bug class as
#94, one key over. `text/plain` pointed at `code.desktop` (vscode), which
the live ISO never ships — GIO skips the missing entry and leaves no
handler, so a double-clicked `.txt` did nothing. Fix: ordered fallback
`code.desktop` → `org.gnome.TextEditor.desktop` (HM/GIO try the next when
preferred is missing); live gains `mpv` too (video defaults had the same
hole, free via the template pin). Guard extended: every
`[Default Applications]` key must have *at least one* listed `.desktop` in
the live HM path **or** system path (thunar is system-side) *and* on the
default template install — proved to fail when `text/plain` is a vscode
singleton. Template still prefers vscode when present.
- ✓ **smartd self-gates on the hardware (#118):** Bernardo booted the live ISO
and the Waybar health icon was red. Everything downstream was working
correctly, which is what made it worth writing down: smartd's config is