OpenRiot v7.9.13 — The One That Respects Your Time
“Some things are worth waiting for. Others are just large.” — The OpenRiot Crew, watching a progress bar that wasn’t actually progressing.
Release Overview
v7.9.12 fixed WireGuard route corruption on toggle, quieted the update checker, and preserved transmission settings across reinstalls. v7.9.13 adds one more thing: the installer no longer silently attempts to download half a gigabyte of RTS data without asking.
Zero A.D. is massive. The package alone is ~500MB and can take 30–45 minutes on slower mirrors. Previously the installer treated it like any other game, gave zero feedback during the download, and killed the process after 10 minutes. Now it asks twice, waits an hour, and tells you it’s still alive every 5 minutes.
Zero A.D.: Respect the User’s Time
The installer ran pkg_add 0ad with a 10-minute timeout and no
progress indication. On slow mirrors the download alone exceeded
this. Users saw silence, then Timed out after 10m: 0ad — with a
partially downloaded, broken package left behind.
The fix is threefold:
-
Double confirmation. When the installer reaches 0ad, it prompts:
Zero A.D. is massive (~500MB+) and takes 30–45 minutes to install. Install it? [Y/n]followed byAre you sure? This will take a while. [Y/n]. If either answer is no, 0ad is skipped cleanly — not counted as a failure. -
60-minute timeout for 0ad only. All other packages remain at 30 minutes. The retry path (base name fallback) also uses the extended timeout when applicable.
-
Heartbeat every 5 minutes. Every package install now emits
Still running: <package>at 5-minute intervals until completion or timeout. No more silent hangs.
| File | Change |
|---|---|
source/installer/packages.go |
confirm0ad() with double |
| prompt; 60m timeout for 0ad; | |
| 5m heartbeat ticker for all | |
| packages; dynamic timeout msg |
Since v7.9.12 (Recap)
WireGuard: Trust the Tool
Start() and Stop() no longer call ReconnectWifi(), which was
flushing wg-quick’s route table on every toggle. Restart() added
for clean WiFi+VPN reconnects.
| File | Change |
|---|---|
source/wireguard/wireguard.go |
Removed ReconnectWifi(); |
| added Restart() | |
source/nmtui/update.go |
Uses wireguard.Restart() |
Privacy: Quieter Update Checks
--update-status interval reduced from 3600s to 14400s. Offline
state shows up-to-date arrow instead of ?.
| File | Change |
|---|---|
config/polybar/config.ini.tmpl |
interval = 14400 |
source/update/update.go |
Offline → up-to-date icon |
Config Preservation
Transmission settings.json is now protected from overwrite on
reinstall via preserve_if_exists.
| File | Change |
|---|---|
install/packages.yaml |
preserve transmission settings |
Since v7.9.11 (Recap)
Polybar Clickability — IPC-gated startup, removed soft restart.
xenodm Greeter — Display mirroring on login, xconsole removed.
Night Light — sct replaces redshift daemon.
Games — Zero A.D. and Extreme Tux Racer added.
Test Infrastructure — TMPDIR=$(HOME)/.tmp for OpenBSD noexec.
Documentation — 10 stale docs deleted; lessons merged into
AGENTS.md.
🧾 Files Changed
| File | Change |
|---|---|
source/installer/packages.go |
confirm0ad(); 60m timeout; |
| 5m heartbeat; dynamic msgs | |
source/wireguard/wireguard.go |
Removed ReconnectWifi(); |
| added Restart() | |
source/nmtui/update.go |
Uses wireguard.Restart() |
source/update/update.go |
Offline → up-to-date icon |
config/polybar/config.ini.tmpl |
Interval 3600 → 14400 |
install/packages.yaml |
preserve transmission settings |
🗣️ Final Words
“v7.9.10 made sure your packets went to the right router. v7.9.11 made sure you could click the bar that told you they arrived. v7.9.12 made sure they didn’t disappear when you turned the tunnel on. v7.9.13 makes sure you actually wanted to spend forty-five minutes downloading an RTS before it starts.”
Consent is important. Even for video games.
Ship it.