70 Commits

Author SHA1 Message Date
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
f11b3b24d7 fix: fix tests 2025-11-16 21:45:13 +01:00
monomarh
ad3d12d38d test: add tests (unit/api) for additional api keys 2025-11-16 21:34:35 +01:00
monomarh
fbfd94d6e5 feat: fix tests 2025-11-02 18:37:46 +01:00
monomarh
53d438e8ed feat: refactor api key service 2025-11-02 18:26:46 +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
6be9334066 test: auth middleware oidc methods 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
2082624132 chore: replace precomputed user heartbeat ranges by grouping view query 2025-09-07 21:45:42 +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
3a74d4db7f feat: extend db migration script to filter by individual users [skip ci] 2025-08-29 15:33:29 +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
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
509c96e9a6 feat: allow delegate signup to trusted proxy (resolve #808) 2025-06-17 17:00:22 +02:00
Ferdinand Mütsch
632020c30b feat: current online users count (resolve #798) 2025-06-13 08:53:48 +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
fde25948ab fix: compute leaderboard with consistent time interval (resolve #749) 2025-02-26 23:45:51 +01:00
Ferdinand Mütsch
898154c5db refactor: language mapping augmentation of durations 2025-02-21 14:25:36 +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
ee9dd9688c chore: duration service method for regenerating by user 2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
0ba7a838e8 chore: implement duration streaming repo methods 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
dca35946d4 chore: streamed version of filtered heartbeats repo method
chore: minor refactoring
2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
a13b9a96dd chore: minor refactoring of repo methods
chore: replace deprecated hashstructure library
perf: remove double duration hashing
perf: replace flv by xxhash
2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
8bd23c99ae chore: add check for sqlite cascades before changing user id 2025-02-02 21:56:22 +01:00
Ferdinand Mütsch
2fef990d96 feat: service methods for changing user name (see #739) 2025-02-02 11:52:25 +01:00
Ferdinand Mütsch
34961e7c9a feat: ability to exlclude unknown projects from summaries (resolve #619) 2024-03-29 19:31:09 +01:00
Ferdinand Mütsch
33d86c7232 fix: auto redirect to summary page for any authentication mechanism (resolve #589) 2024-01-08 21:58:13 +01:00
Ferdinand Mütsch
e84ee1aa94 chore: implement support for last branch placeholder (resolve #538) 2023-10-23 11:48:19 +02:00
Ferdinand Mütsch
ec2c6b1090 feat: add pagination to projects page (resolve #302) 2023-09-26 23:18:01 +02:00
Ferdinand Mütsch
51b4362993 chore: refactorings and improvements for project stats calculation interfaces [skip ci] 2023-09-22 18:53:58 +02:00
Ferdinand Mütsch
e21d9b24a6 feat(wip): implement query for fetching user project stats (see #302) [skip ci] 2023-09-22 16:16:47 +02:00
Ferdinand Mütsch
35ef323b19 security: migrate to argon2id password hashing
fix: support super long passwords (resolve #494)
2023-07-08 19:15:59 +02:00
Ferdinand Mütsch
c9f2518fbc fix: badges broken (resolve #475) 2023-03-15 21:47:12 +01:00
Ferdinand Mütsch
ef5b49ebd8 chore: clear user cache upon logout 2023-01-02 14:53:21 +01:00
Ferdinand Mütsch
f755275309 fix: tests 2022-12-30 13:41:27 +01:00
Ferdinand Mütsch
5ae7527b7b feat: implement data retention mechanism 2022-12-01 20:26:03 +01:00
Ferdinand Mütsch
82a565738f test: adapt mocks 2022-10-06 14:34:46 +02:00
Ferdinand Mütsch
bbc85de34b chore: metrics performance improvements 2022-03-19 10:30:32 +01:00
Ferdinand Mütsch
e7e5254673 feat: ability to clear all user data (resolve #339) 2022-03-17 11:55:13 +01:00
Ferdinand Mütsch
647bf1781d chore: apply filters in database query (see #335) 2022-03-13 08:49:03 +01:00
Ferdinand Mütsch
7159df30c2 feat: allow to configure custom api url for relay and import (resolve #105) 2022-01-21 12:35:05 +01:00
Ferdinand Mütsch
67f0d19a65 fix: allow to create labels for aliased projects (resolve #231) 2022-01-13 17:10:24 +01:00
Ferdinand Mütsch
a279548c89 feat: comprehensive summary-level filtering (resolve #262) 2022-01-02 12:03:19 +01:00
Ferdinand Mütsch
ee501ca3c5 fix: mocks 2022-01-02 12:02:12 +01:00
Ferdinand Mütsch
c8a07cee36 refactor: introduce concept of durations (resolve #261) 2022-01-02 12:02:11 +01:00