Skip to content

v1.4.2 — auto-update no longer starved by a dead download

Choose a tag to compare

@BlizzHacker BlizzHacker released this 15 Oct 01:51
· 20 commits to main since this release

ROMarr v1.4.2 — the auto-update can no longer be starved by a dead download.

Found live rolling out v1.4.1: UpdateCheck deferred for hours behind nine queue rows that had been dead for days. Mislabeled public-tracker grabs cycle grabbed → stalled → blocklisted → regrabbed, and every cycle mints a fresh grabbed row. queue_busy() counted any grabbed row as work in flight, so an install with one perpetually-junk Wanted title could never self-update again.

The fix: queue_busy now takes the same stalled_timeout_minutes the retirement sweep uses. A grabbed row older than the timeout is dead weight — the sweep already blocklisted its release and will retire the row — not a download in flight, so it no longer defers the update. A fresh grab still defers; an importing row still defers however old (restarting mid-write is the damage the guard exists to prevent); an undatable row still defers.

Three regression tests, including the live shape. Full suite: 2287 passed, 3 skipped.