Repository navigation
wdb-12.9.25-21
Fixes a defect that silently lost every match on an upgraded install
If your matches were failing with no such column: predicted_left, this is the fix -
and your collected data is preserved.
A shipped build never ran migrate.py, and the app hands back an existing database
untouched, so a database kept whatever schema first created it - permanently. Anyone who
installed before match.predicted_left existed had every match fail at the moment of
writing, and updating the app did not help, because nothing ever added the column. One
log showed 27 matches lost before anyone noticed.
The client now brings its own database up to date on startup, in place. Nothing to delete,
nothing to re-collect.
Also in this build
- Hero-vs-hero records are queryable via a new
hero_matchupview: one row per hero
pair per theme, with wins, losses, tally and how many times the pair has actually met.
Derived from the matches already stored, so it cannot drift out of step with them. - The log export tells you where it saved. There is no file picker - it writes to your
Downloads folder - and previously nothing said so, while the app tried to reveal the
file and prompted "open with..." instead. It now logslog exported to <path>and the
log panel makes that clickable.
Notes
Three further defects were found and fixed while building the migration: a failed
migration leaking a locked database, migrating on every startup deadlocking against open
connections, and a version check that would have missed the affected databases entirely
(they carry a current-looking version and still lack the columns - it checks by column).
861 tests pass.