332 Commits

Author SHA1 Message Date
Ferdinand Mütsch
aa954c298b fix: distinguish durations by entity name when requesting project details (resolve #876) 2025-12-01 15:24:36 +01:00
Ferdinand Mütsch
5080344cea chore: allow to log in via email address as a fallback (resolve #878) 2025-11-27 18:06:04 +01:00
monomarh
ad3d12d38d test: add tests (unit/api) for additional api keys 2025-11-16 21:34:35 +01:00
monomarh
53d438e8ed feat: refactor api key service 2025-11-02 18:26:46 +01:00
monomarh
b743493bb7 feat: remove changes for the debugging 2025-11-02 17:27:01 +01:00
monomarh
85eb5e3173 feat: add support for multiple API keys in addition to the user key 2025-10-24 03:51:37 +02:00
Ferdinand Mütsch
801d92dc4b chore: implement including link-unsubscribe mail header (resolve #854) 2025-10-18 21:11:14 +02:00
Ferdinand Mütsch
b62629b515 fix: delete user cache keys upon user deletion (resolve #853) 2025-10-14 08:18:02 +02:00
Ferdinand Mütsch
4872dfada3 feat(wip): implement oidc user account creation 2025-10-12 10:10:52 +02:00
Ferdinand Mütsch
c73548a2bf feat(wip): implement openid connect login 2025-10-12 10:10:52 +02:00
Ferdinand Mütsch
aea01fd51d breaking_change: drop mssql support 2025-10-04 21:16:09 +02:00
Ferdinand Mütsch
3c54f5ecc9 docs: code comments on language mapping resolution (see #845) [skip ci] 2025-09-19 11:50:22 +02:00
Ferdinand Mütsch
213df9e00b chore: minor error logging [skip ci] 2025-09-16 01:02:22 +02:00
Ferdinand Mütsch
3154cd8519 fix: make summaries display actual data range or requested interval if no data present
fix: use unix era start time in wakatime compat endpoints (resolve #843)
2025-09-16 00:40:48 +02:00
Ferdinand Mütsch
849d7a8996 fix: summary from date display (resolve #843) 2025-09-16 00:02:33 +02:00
Ferdinand Mütsch
2082624132 chore: replace precomputed user heartbeat ranges by grouping view query 2025-09-07 21:45:42 +02:00
Ferdinand Mütsch
74946953c5 fix: prevent overlapping duration regeneration jobs 2025-09-07 08:00:34 +02:00
Ferdinand Mütsch
eb169695d7 feat(compat): implement wakatime user agents endpoint (resolve #833) 2025-09-05 14:06:32 +02:00
Ferdinand Mütsch
72663839eb fix: respect aliases when filtering by project labels (resolve #836) 2025-09-05 10:45:34 +02:00
Ferdinand Mütsch
f6ba56e2a5 chore: less verbose info logging for active users [skip ci] 2025-09-01 19:54:25 +02:00
Ferdinand Mütsch
9cd322a231 refactor: generic db migrations script
chore: various convenience repository methods
chore: make scripts folder its own module
2025-08-22 15:49:26 +02:00
Nazmus Sayad
bfd137e634 feat: add user preference for start of week 2025-08-18 22:40:45 +06:00
Ferdinand Mütsch
4ffde946d5 chore: disable mysql table optimization 2025-07-18 10:37:54 +02:00
Ferdinand Mütsch
700921406e feat: automatic background database vacuuming and table optimization (resolve #785) 2025-07-18 10:26:41 +02:00
Ferdinand Mütsch
632020c30b feat: current online users count (resolve #798) 2025-06-13 08:53:48 +02:00
Ferdinand Mütsch
8b9c3e36c9 fix: race condition during summary reaggregation (see #801) 2025-06-10 08:52:55 +02:00
Ferdinand Mütsch
d2d9a2cfa3 fix(wip): duplicate leaderboard entries due to inconsistent language spelling 2025-05-30 23:48:53 +02:00
Ferdinand Mütsch
8c8ae5d7ee fix: purge user durations as part of data cleanup (relates to #785) 2025-05-10 11:16:46 +02:00
Ferdinand Mütsch
a842467067 fix(tests): another attempt to fix smtp tests 2025-04-11 14:58:58 +02:00
Ferdinand Mütsch
5a2994fe47 fix: smtp tests with latest smtp4dev version 2025-04-11 14:02:11 +02:00
Ferdinand Mütsch
f21441ae1b fix: critical bug in cached durations aggregation (resolve #766) 2025-03-18 16:27:22 +01:00
Ferdinand Mütsch
04491ec126 fix: duration overlap check (resolve #761) 2025-03-14 14:35:10 +01:00
Ferdinand Mütsch
8427c97d18 fix: various minor logging related fixes 2025-03-13 09:36:37 +01:00
Honza Kosák
ded8d2b46c fix: allow smtp with no auth 2025-03-05 12:48:11 +01:00
Ferdinand Mütsch
d37f25e68a fix: resolve faulty data for project details view (resolve #756) 2025-03-03 07:59:42 +01:00
Ferdinand Mütsch
51208a133a fix: panic during summary aggregation (resolve #754) 2025-02-28 08:45:03 +01:00
Ferdinand Mütsch
fde25948ab fix: compute leaderboard with consistent time interval (resolve #749) 2025-02-26 23:45:51 +01:00
Ferdinand Mütsch
1bd00f7209 ci: exclude external code from sonar analyses
chore: minor code changes
2025-02-24 07:48:05 +01:00
Ferdinand Mütsch
898154c5db refactor: language mapping augmentation of durations 2025-02-21 14:25:36 +01:00
Ferdinand Mütsch
b27e9bb083 fix: deadlock caused by not using open transaction during batch insert
fix: regenerate durations upon language mapping update
fix: minor ui
2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
7b7f5e94bd fix: include most prominent entity for each duration 2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
71b18f1aaf fix: summary regeneration
feat: introduce multi-interval durations
2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
f9835fde71 chore(perf): generate and persist durations incrementally 2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
77bb01020f fix: regenerate durations upon summary regeneration 2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
ee9dd9688c chore: duration service method for regenerating by user 2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
b210b4d82c fix: durations merging logic
test: cached durations retrieval
2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
48d534ba9e chore(perf): query filtered durations 2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
0351d497fa refactor: make durations a persistent yet ephemeral database entity for query filter speedup (resolve #716) 2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
3fc95be291 fix: tests 2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
dca35946d4 chore: streamed version of filtered heartbeats repo method
chore: minor refactoring
2025-02-21 11:29:13 +01:00