Add Komoot activity import with guided browser-based batch flow #25

Open
McPringle wants to merge 23 commits from McPringle/komoot-import into main

23 commits

Author SHA1 Message Date
98be2cfada
refactor(komoot): gate Komoot integration behind feature flag
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-30 12:25:51 +02:00
0663ca407f
fix(komoot): remove ellipsis from numbered import progress label
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 15:31:08 +02:00
33c32c5311
fix(komoot): map racebike activities to ride
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 15:26:54 +02:00
0a98aa523d
feat(komoot): stop import on rate limit and reset pending activities
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 15:15:04 +02:00
9a9785973d
feat(komoot): show import progress count in button label
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 15:10:24 +02:00
8a900ccd30
feat(komoot): prefill import date range with current year
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 14:14:58 +02:00
70e7632699
feat(komoot): show visibility icons in activity list
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 12:35:20 +02:00
67999e8a4a
refactor(komoot): use explicit FitPub import user agent
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 11:34:37 +02:00
3135a36679
refactor(komoot): move import mapping to separate table
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 11:16:31 +02:00
ea47cccdb1
refactor(komoot): align DTOs with Lombok class pattern
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 11:01:21 +02:00
84735594f2
fix(komoot): send explicit GPX accept header for imports
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 17:10:34 +02:00
6bd7ab8748
style(komoot): reuse shared loading indicator for activity list loading
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 16:40:04 +02:00
7a0315d855
fix: linter warnings
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 16:16:11 +02:00
df3cd0616d
revert: remove unrelated change from feature branch
This reverts a change that does not belong to this feature branch.
The change will be moved to a separate branch and submitted as its
own pull request.

Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 16:09:17 +02:00
b5e88a317f
revert: remove unrelated change from feature branch
This reverts a change that does not belong to this feature branch.
The change will be moved to a separate branch and submitted as its
own pull request.

Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 15:52:26 +02:00
5945a2b139
feat(komoot): link imported activities to their FitPub detail pages
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 15:44:06 +02:00
f7f919f0b1
feat(komoot): improve import flow with throttling, cancellation, and UI guidance
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 15:24:15 +02:00
0387ca01e3
feat(komoot): import listed activities sequentially with per-row status updates
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 14:59:05 +02:00
6d89426584
feat(komoot): refine activity list for import status and mapped types
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 14:26:41 +02:00
aef23720d6
feat(komoot): add server-side date range filtering for activities
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 14:26:41 +02:00
803caf06b1
feat(komoot): import first new activity via GPX and override metadata
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 14:26:41 +02:00
0cea88d033
feat(db): add komoot activity id for import deduplication
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 14:26:33 +02:00
7ca09f0f27
feat(komoot): add completed activities preview import flow
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 12:18:02 +02:00