Menu rows wait on a shorter guard batch
The menu's guard batch is cheaper in four pull requests merged into quattro, including pull request 15039. David Heinemeier Hansson reports 52ms for that batch on one laptop in pull request 15196, against 379–385ms before. The merges are not in version 4.0.4.
Every menu open runs a guard batch, and the menu shows the previous answers until that batch lands, so its runtime is how long a row can contradict the machine. Pull request 15039 makes three slow guards cheaper: display controllers are counted from sysfs instead of lspci, a touchpad name is matched before udev is asked, and a Wi-Fi check stops short of a full network status. Hansson reports the whole batch at 410ms before and 256ms after on his machine.
pull request 15042 keeps the installed-package snapshot until a pacman transaction changes it. pull request 15049 starts the guard readers and the guards side by side instead of one after another. pull request 15048 evaluates the batch once both menu files have answered, rather than once per file at startup.
pull request 15196 carries the tests. It changes no code outside the tests, docs, and AGENTS.md. Hansson reports a menu guard batch of 52ms on one laptop, against 379–385ms before. David Heinemeier Hansson opened and merged the guard changes.