Owain Jarrett owain
  • Joined on 2025-11-29
owain pushed to main at owain/MileVault 2026-07-01 21:04:49 +01:00
92cea4dc99 fix: route leaderboards rank by moving time not elapsed — top-10 route times and route completions list now use COALESCE(moving_time_s, duration_s) so mid-activity pauses don't inflate times (consistent with moving-time avg pace)
acf553ff5c docs: correct CLAUDE.md drift — beat also schedules sync_all_strava; three nginx configs (dev nginx/, deploy root, in-image SPA) with prod stack using Traefik labels; persist_activity lives in workers/tasks.py; add missing Celery tasks and ui components
Compare 2 commits »
owain pushed to main at owain/MileVault 2026-06-25 12:31:19 +01:00
4d5938cf33 fix(deps): resolve npm audit vulns — form-data 4.0.6 (high CRLF), Vite 5→8 + plugin-react 6 (esbuild dev-server moderate); bump frontend build image to node:22-alpine; mirror to export snapshot
owain pushed to main at owain/MileVault 2026-06-25 12:21:27 +01:00
64caaad4e7 fix: cleanup StravaConfig on user delete (FK violation); equalize login timing (user enum); scope upload task-status to owner; SQL-side data-point downsampling; drop unused clsx/react-leaflet deps
owain pushed to main at owain/MileVault 2026-06-25 11:04:55 +01:00
84eb1c46bd fix: map settings no longer revert/lose in-flight edits when profile refetches (dirty-flag guards hydrate clobber)
owain pushed to main at owain/MileVault 2026-06-23 12:37:29 +01:00
3c97595093 feat: persist map tile settings (provider/style/API keys) server-side on user record; unbake Thunderforest default key into backend config (THUNDERFOREST_DEFAULT_KEY) served via profile
owain pushed to main at owain/MileVault 2026-06-23 12:29:52 +01:00
ffe285b7ba feat: global map provider/tiles setting (Thunderforest, MapTiler, CARTO, OSM, Esri) selectable in Profile with style + API key + live preview; all maps use it via useMapSettings/resolveTile
owain pushed to main at owain/MileVault 2026-06-23 12:17:15 +01:00
deecf668d2 feat: route tiles use Thunderforest Outdoors map style (dense labels, paths, contours)
owain pushed to main at owain/MileVault 2026-06-23 12:12:01 +01:00
0901ed0ef3 feat: route tiles use OpenStreetMap standard raster for denser place/street labels
owain pushed to main at owain/MileVault 2026-06-23 12:08:34 +01:00
62cea59ef8 feat: taller route tiles (h-46), labels overlay above route line for more place names, renamed auto routes become custom (rename clears auto_detected + startup backfill)
owain pushed to main at owain/MileVault 2026-06-23 12:02:51 +01:00
16dff88564 fix: route tiles fill with fractional zoom (zoomSnap 0) so the route isn't tiny with wide margins; taller tiles (h-36)
owain pushed to main at owain/MileVault 2026-06-23 11:57:42 +01:00
73bc986219 feat: routes page — deep-link to specific route, sport-colour tiles over real map, sort filter (distance/completions/last-completed), group custom vs auto-detected, taller map tiles
owain pushed to main at owain/MileVault 2026-06-23 11:45:20 +01:00
4272c5dc4c feat: rename segments + create routes from an activity (detail page & dashboard recent activities)
owain pushed to main at owain/MileVault 2026-06-21 19:51:33 +01:00
156ce60aa0 fix: personal records only count watch-recorded FIT activities; exclude phone/Strava GPX/TCX imports (bad GPS teleporting in old activities)
owain pushed to main at owain/MileVault 2026-06-21 16:29:34 +01:00
e2870e86a8 feat: Activities filters (type/year/date-range/distance) + Summary page with all-time & per-year/per-sport totals and distance-per-year chart
owain pushed to main at owain/MileVault 2026-06-21 10:41:56 +01:00
69ecdaa4b2 feat: Strava export dry-run preview (new vs duplicate counts + confirm import) and prefer existing Garmin data over Strava on dedup
owain pushed to main at owain/MileVault 2026-06-21 10:18:11 +01:00
07139120df feat: Strava support — bulk-export .gz/.tcx import fix + .tcx parser; full Strava API OAuth live sync (activities via streams) with Profile connect UI; colour gym/no-GPS sports red
owain pushed to main at owain/MileVault 2026-06-21 09:40:51 +01:00
e8615dd12d frontend: week-filter totals (distance/time/count) on Activities; colour HIIT & gym/no-GPS workouts red
owain pushed to main at owain/MileVault 2026-06-20 20:16:08 +01:00
7d52b28f9d frontend: share one BodyBatteryChart component across Health + Dashboard (Dashboard now shows mid-activity pause markers too)
owain pushed to main at owain/MileVault 2026-06-20 20:04:55 +01:00
e33946e270 feat: avg pace over moving time (fixes elapsed-based pace on paused activities); show mid-activity pauses on Body Battery band via active_spans
owain pushed to main at owain/MileVault 2026-06-18 22:31:23 +01:00
0e1d35364f frontend: standardise metric colours + crisp activity icons platform-wide