88ac213214
Merge branch 'refs/heads/24-fix-achievement-date' into sattelgeschichten
...
# Conflicts:
# src/test/java/net/javahippie/fitpub/service/ActivitySummaryServiceTest.java
2026-04-29 17:08:56 +02:00
f97d82fa5e
fix(analytics): rebuild missing current period summaries on demand
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 17:05:31 +02:00
950e313145
Merge branch 'refs/heads/komoot-import' into sattelgeschichten
2026-04-29 15:31:25 +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
6677b44bda
Merge branch 'refs/heads/komoot-import' into sattelgeschichten
2026-04-29 15:27:20 +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
c10a3429c4
Merge branch 'refs/heads/komoot-import' into sattelgeschichten
2026-04-29 15:15:23 +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
67391038d6
Merge branch 'refs/heads/komoot-import' into sattelgeschichten
2026-04-29 14:15:33 +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
bda2ab13cf
Merge branch 'refs/heads/24-fix-achievement-date' into sattelgeschichten
2026-04-29 13:02:34 +02:00
86e276e735
fix(analytics): rebuild personal records after activity deletion
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 13:02:11 +02:00
d98b9be58b
Merge branch 'refs/heads/komoot-import' into sattelgeschichten
2026-04-29 12:36:07 +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
e019935c68
Merge branch 'refs/heads/24-fix-achievement-date' into sattelgeschichten
2026-04-29 12:24:33 +02:00
f0e065600e
fix(analytics): flush achievement deletes before rebuild inserts
...
Avoid unique-constraint violations during achievement rebuilds by forcing the old rows to be deleted in the database before inserting rebuilt achievements.
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 12:24:19 +02:00
816803f3f0
Merge branch 'refs/heads/24-fix-achievement-date' into sattelgeschichten
2026-04-29 12:19:12 +02:00
251beaae0f
fix(analytics): rebuild achievements from stable history snapshot
...
Prevent delete-triggered achievement rebuilds from failing when activity history changes again while an async recalculation is already running.
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 12:18:55 +02:00
f37b20de62
Merge branch 'refs/heads/24-fix-achievement-date' into sattelgeschichten
2026-04-29 12:12:11 +02:00
714007aabe
fix(analytics): serialize delete recalculations per user
...
Prevent concurrent achievement and summary rebuilds for the same user when multiple activities are deleted in quick succession.
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 12:11:54 +02:00
2ae0eeb06b
fix(analytics): recalculate delete side effects asynchronously
...
Move achievement and summary rebuilds out of the activity delete request path so the UI is not blocked by long-running recalculations.
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 12:08:13 +02:00
dd80741090
Merge branch 'refs/heads/komoot-import' into sattelgeschichten
2026-04-29 11:35:15 +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
9824cca20d
Merge branch 'refs/heads/komoot-import' into sattelgeschichten
2026-04-29 11:23:40 +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
3d0fa7beec
Merge branch '24-fix-achievement-date' into sattelgeschichten
2026-04-29 10:48:31 +02:00
d86b8b9d23
fix(ui): correct achievement rebuild alert styling
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 10:48:11 +02:00
851ece0edd
Merge branch '24-fix-achievement-date' into sattelgeschichten
2026-04-29 10:43:47 +02:00
689b8e5e82
fix(analytics): refresh summaries after activity deletion
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 10:15:31 +02:00
2ac3d82fda
feat(analytics): add manual achievement rebuild action
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 10:07:01 +02:00
2c567a5e8e
fix(analytics): rebuild achievements after activity deletion
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 10:00:09 +02:00
10037de043
fix(analytics): count summary achievements by activity period
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 09:54:31 +02:00
6af484bcf7
fix(analytics): rebuild achievements from activity history
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 09:44:28 +02:00
4d16e8c685
fix(analytics): use activity end time for achievement earnedAt #24
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 09:31:30 +02:00
5070977d8c
Merge branch 'add-sdkman-config' into sattelgeschichten
2026-04-29 08:28:03 +02:00
c1e95087df
revert: remove unrelated change from feature branch
2026-04-29 08:24:56 +02:00
7d62441c91
revert: remove unrelated change from feature branch
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-29 08:22:09 +02:00
979fe4c416
Merge branch 'refs/heads/21-preserve-linebreaks' into sattelgeschichten
2026-04-29 08:18:58 +02:00
917a14ed06
Merge branch 'refs/heads/komoot-import' into sattelgeschichten
2026-04-29 08:17:30 +02:00
f8818d6d88
Merge branch 'refs/heads/fix-race-condition' into sattelgeschichten
2026-04-29 08:17:07 +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
5b1d9f97cd
build: add Maven Wrapper
...
Add Maven Wrapper to ensure consistent build environment and
eliminate the need for a preinstalled Maven version.
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 16:18:25 +02:00
7a0315d855
fix: linter warnings
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 16:16:11 +02:00
5f035d75b6
fix(summaries): retry summary updates after concurrent insert conflicts
...
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
2026-04-28 16:13:32 +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