trails/apps/journal/app/routes
Ullrich Schäfer 20b91ef511
Fix Wahoo import bugs, add Import All, update spec
Bugs fixed:
- FIT parser returns timestamps as Date objects, not strings — convert
  to ISO 8601 before passing to generateGpx (caused str.replace crash)
- FIT parser already converts semicircles to degrees — remove redundant
  conversion that produced near-zero coordinates
- Wahoo CDN URLs are pre-signed S3 URLs — remove Bearer auth header
  from download requests (caused 400 "Unsupported Authorization Type")
- Filter out third-party workouts (fitness_app_id >= 1000) since Wahoo
  does not share their data via the API

UX improvements:
- Individual imports use fetcher (no page refresh), button shows
  "Importing..." inline
- "Import all" button imports all unimported workouts on the page
  sequentially with progress indicator
- Add @vitejs/plugin-basic-ssl for local HTTPS dev (opt-in via HTTPS=1)

Also adds unit test for FIT-to-GPX conversion with real fixture file,
and updates wahoo-import spec to reflect all behaviors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 17:47:48 +02:00
..
activities.$id.tsx Add activity import source badge, delete action, and No GPS indicator 2026-04-05 16:49:42 +02:00
activities._index.tsx Add map previews to journal route and activity pages 2026-04-04 09:42:07 +01:00
activities.new.tsx Implement Journal activity feed (Group 10) 2026-03-24 23:20:04 +01:00
api.auth.login.ts Add transactional emails (SMTP) and planner features (no-go areas, notes, crash recovery) 2026-03-26 01:00:42 +01:00
api.auth.register.ts Passkey browser compatibility: detect support, magic link fallback 2026-03-29 09:54:37 +02:00
api.health.ts Add version (git SHA) to health endpoints 2026-03-27 20:48:27 +01:00
api.metrics.ts Add observability: health endpoints, structured logging, metrics, Grafana stack 2026-03-26 22:59:44 +01:00
api.routes.$id.callback.ts Fix CORS on Planner→Journal callback endpoint 2026-03-25 01:16:32 +00:00
api.routes.$id.edit-in-planner.ts Initialize no-go areas client-side via URL params 2026-04-03 12:47:40 +01:00
api.routes.$id.gpx.ts Fix GPX export: use API route with direct download link 2026-03-24 20:22:58 +00:00
api.settings.delete-account.ts Add account settings page with passkey management 2026-03-29 10:09:06 +02:00
api.settings.email.ts Add account settings page with passkey management 2026-03-29 10:09:06 +02:00
api.settings.passkey.delete.ts Add account settings page with passkey management 2026-03-29 10:09:06 +02:00
api.settings.profile.ts Add account settings page with passkey management 2026-03-29 10:09:06 +02:00
api.sync.callback.$provider.ts Add Wahoo activity sync with provider-agnostic framework 2026-04-04 11:22:02 +01:00
api.sync.connect.$provider.ts Add Wahoo activity sync with provider-agnostic framework 2026-04-04 11:22:02 +01:00
api.sync.disconnect.$provider.ts Add Wahoo activity sync with provider-agnostic framework 2026-04-04 11:22:02 +01:00
api.sync.webhook.$provider.ts Fix Wahoo import crash for workouts without FIT files 2026-04-04 11:41:28 +01:00
auth.login.tsx Passkey browser compatibility: detect support, magic link fallback 2026-03-29 09:54:37 +02:00
auth.logout.tsx Implement Journal auth: passkeys + magic links, no passwords 2026-03-23 17:38:46 +01:00
auth.register.tsx Passkey browser compatibility: detect support, magic link fallback 2026-03-29 09:54:37 +02:00
auth.verify.tsx Add account settings page with passkey management 2026-03-29 10:09:06 +02:00
home.tsx Only show add-passkey prompt when user has no passkeys 2026-03-29 10:50:30 +02:00
privacy.tsx Add transactional emails (SMTP) and planner features (no-go areas, notes, crash recovery) 2026-03-26 01:00:42 +01:00
routes.$id.edit.tsx Implement Journal route management (Group 8) 2026-03-23 22:25:10 +01:00
routes.$id.tsx Add map previews to journal route and activity pages 2026-04-04 09:42:07 +01:00
routes._index.tsx Add map previews to journal route and activity pages 2026-04-04 09:42:07 +01:00
routes.new.tsx Implement Journal route management (Group 8) 2026-03-23 22:25:10 +01:00
settings.tsx Add Wahoo activity sync with provider-agnostic framework 2026-04-04 11:22:02 +01:00
sync.import.$provider.tsx Fix Wahoo import bugs, add Import All, update spec 2026-04-05 17:47:48 +02:00
users.$username.tsx Implement Journal auth: passkeys + magic links, no passwords 2026-03-23 17:38:46 +01:00