Skip to content

wdb-12.9.25-21

Choose a tag to compare

@WebDevBarCoder WebDevBarCoder released this 29 Jul 19:03
· 271 commits to webdevbar since this release

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_matchup view: 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 logs log 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.