github endurain-project/endurain v0.20.1

4 hours ago

v0.20.1 - GPS data accuracy from .gpx files and upload idempotency fixes

Backend:

  • Fixed noisy GPS elevation inflating elevation gain and loss on import. Elevation is now smoothed (median window of 9, then an average window of 21), and the same smoothed series is stored as the elevation stream, so the graph and the gain/loss totals agree. This matches the mobile app. Existing activities are not recomputed (#840).
  • Fixed max speed being skewed by GPS glitches and by recording pauses. Max speed is now the maximum of 5-sample sliding-window medians instead of the raw maximum. It applies to GPX imports, GPX laps and the FIT fallback computed from the speed stream. Time deltas under one second are treated as one second when calculating instant speed, so near-simultaneous fixes can no longer inflate it (#842).
  • Fixed max speed being understated, or even 0, for GPX files recorded with several track segments (for example pause and resume). The zero-speed placeholder at the start of each segment is no longer counted as a measured speed, for the activity and for each lap. Average speed and the stored speed and pace streams are unchanged. This matches the mobile app.
  • Fixed an upload's Idempotency-Key replaying the original job after the activities it created were deleted, which made it impossible to upload the same file again under that key. The key is now released once the job has completed and every activity it created has been deleted. Jobs that failed, are still running or created no activities keep their key. Reusing a key with a different file is still rejected with a 409, and this is now checked before any key is released (#843, #844).

Docs:

  • Clarified the elevation smoothing scope and how it affects existing activities on the importing page.
  • Updated the supported versions in SECURITY.md.

Maintenance:

  • Bumped the app version to 0.20.1.

Don't miss a new endurain release

NewReleases is sending notifications on new releases.