Skip to content

v0.11.1

Choose a tag to compare

@dsubtle1 dsubtle1 released this 20 Aug 12:57
· 5 commits to main since this release

Fixed

  • C2ApiClient.get_results() was reading the wrong pagination key (meta.last_page instead
    of the real meta.pagination.total_pages), so it silently stopped after the first 100 results
    on every sync. Nightly incremental syncs rarely hit that ceiling so it went unnoticed, but a
    historical backfill or a sync recovering from a long outage would have quietly dropped
    everything past page 1. Fixed, and now covered by a regression test.
  • Added retries (3 attempts, short backoff) for transient C2 API failures — its results endpoint
    returns occasional bare 500s in normal operation, seen firsthand in production, and one of
    those was tripping the nightly sync's failure alert for no real reason.
  • backfill_rest_meters.py (see 0.11.0) now sources rest-distance values from a live re-fetch of
    the full C2 history (matched by workout ID) instead of local raw_json — most historical
    workouts here were CSV-imported and never had raw_json locally, so the previous approach only
    recovered data for ~150 of 2559 workouts. Re-running it against the live API on top of this
    release backfilled the rest correctly.