OpenRiot v7.9.27 — Dump It Like It’s Hot
“The TUI has a dump button now. And it checks your patches.” — The OpenRiot Crew
Release Overview
v7.9.27 introduces a full dump(8)/restore(8) workflow into the
migrate TUI (openriot --backup), an errata checker that compares
kernel build date against a hardcoded patch table, a CSS line-height
fix so heading descenders stop getting clipped on GitHub Pages, and
emoji width alignment in the main menu.
🔒 Errata Checker
openriot --install now checks for missing security patches. On
stable: runs syspatch -l and compares listed IDs against a
hardcoded table; installs via doas syspatch. On -current:
parses kernel build date from sysctl kern.version and compares it
against patch publish dates; installs via doas sysupgrade -s.
[INFO] A Security Patch Exists for your system
[INFO] Fixes X server: dri2, sync, saver, Xkb extensions
[WARN] Requires a system reboot!
[ASK ] Would you like to install? [y/N]:
| File | Change |
|---|---|
source/installer/version.go |
CheckErrata() wired into install; |
defaultErrata with 001/002/003; |
|
checkErrataCurrent() date comparison; |
|
checkErrataStable() syspatch -l; |
|
FetchErrata() + ParseErrataHTML() for |
|
| future standalone command | |
source/installer/version_test.go |
Tests for errata matching on -current |
| and HTML parsing | |
source/commands/helpers.go |
Errata check in runInstall() before |
| any package work |
📐 Heading Descender Fix
The midnight theme’s tight line-height: 1.1 on h1-h3 was
clipping tails off letters like g, j, p, q, y. Added
line-height: 1.5 to the heading override in style.scss.
| File | Change |
|---|---|
assets/css/style.scss |
line-height: 1.5 on all headings |
💾 System Dump in the TUI
The “💾 System Dump” menu item is now in the migrate TUI. Full integration:
- Drive selection — pick your external FFS drive (reuses existing drive scanner)
- Dump submenu — Full Dump (level 0), Incremental Dump (level 1), Restore from Dump
- Async execution — background goroutine keeps the UI responsive
- Progress output — real-time
dump(8)stderr streamed into the TUI - Cancel support — ESC during dump/restore
- Restore scans dump files by name convention (
level0-root-*.dump) and restores to the correct target filesystem (/,/home,/var)
| File | Change |
|---|---|
source/migrate/dump.go |
NEW — async dump/restore with progress |
source/migrate/screens/types.go |
Added ScreenDump, |
ScreenDumpProgress |
|
source/migrate/screens/menus.go |
DumpMenuChoices, main menu entry, |
| emoji width fixes | |
source/migrate/handlers/main_menu.go |
Route to dump screens |
source/migrate/model.go |
Dump screen handling, progress polling |
source/migrate/ui.go |
renderDumpMenu(), renderDumpProgress() |
🧹 Minor Fixes
| Change | File |
|---|---|
img { line-height: 0; } for mobile rendering |
assets/css/style.scss |
ℹ️→📋, ⚙️→🔧 emoji alignment |
source/migrate/screens/menus.go |
🗣️ Final Words
“The TUI dumps your system and checks your patches. And the descenders in the headings finally touch the ground.” — The OpenRiot Crew