• v0.54.0 8e14b88e45

    joeyr released this 2026-09-11 07:27:20 -05:00 | 59 commits to main since this release

    Entry written retroactively on 2026-09-20; the code shipped and was tagged on 2026-09-11.

    get_matchups reported 0-0 for every game that was still being played. On a Sunday
    evening with games half over, the one tool whose job is reporting the score answered that
    the games had not started yet — complete, confident and wrong.

    Fixed

    • The scoreboard asks for live totals. League.scoreboard requests mMatchupScore
      with no scoringPeriodId, and ESPN answers that with totalPoints alone — a field it
      leaves at zero until it finalises the scoring period. Sending the same view with a
      scoringPeriodId makes ESPN add totalPointsLive, the number its own app shows.
      get_matchups now fetches that for a week in progress only: one extra request, and none
      at all for a finished or future week.
    • 0-0 in progress and 0-0 before kickoff were the same two numbers, with nothing in the
      row to separate them. box_scores already read the live field, which is why the box
      score answered correctly while the scoreboard did not — but it costs three requests and
      builds every player on every roster, far too much to answer "what's the score".

    Added

    • scoring on every matchup row, saying what the two numbers are: final, live,
      scheduled (a future week, so the zeros are placeholders) or unavailable (the week is
      being played and ESPN would not give up its live totals).
    • unavailable is the point of the field. When the live fetch fails there is no honest
      score to report, and falling back to the scoreboard's own zeros would restore the exact
      defect — so the row says it could not be read rather than passing them off. The tool
      description spells out all four states, including that unavailable must never be
      described as "not started yet".
    • A BYE side counts as resolved, having no score that could be missing. Without that,
      the odd team out in an odd-sized league would mark its row unavailable every week.
    Downloads