·
157 commits
to nexora/redesign
since this release
Why a second v1.0.16?
This is the same app version (1.0.16, no version bump) — a hotfix release of the original v1.0.16 build. The v1.0.16 tag/name was already taken by the first release, so this second build ships under v1.0.16-hotfix.
What changed
Critical fix — backend crash loop when a Proxmox node is offline
PVE /nodes omits mem/cpu/disk/uptime for nodes that are offline. The provider assumed those fields always exist, which produced NaN metrics. better-sqlite3 stores NaN as SQL NULL, violating the NOT NULL constraints on the metrics table, so the backend crashed with:
SqliteError: NOT NULL constraint failed: metrics.ram_used_gb
and restarted forever.
- Guarded all numeric fields (ram/disk used + total, usage %) with a
toFinite()helper — offline nodes now safely read as0. - Sanitized every numeric field in
emitTickbefore persisting, so noNaNcan ever reach SQLite again. - Added a regression test that reproduces the exact production error without the fix and passes with it (backend test suite now 40/40).
- Removed the obsolete
version:key fromdocker-compose.yml(Compose v2 warning).
Deploy
cd /opt/docker/HomeLab-OS # or wherever you keep the repo
git pull
docker compose up --build -dIf your backend is already crash-looping, this will recover it on redeploy.