120 Commits

Author SHA1 Message Date
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
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
068223839c fix: user model consistency checks 2025-10-05 23:07:24 +02:00
Ferdinand Mütsch
aea01fd51d breaking_change: drop mssql support 2025-10-04 21:16:09 +02:00
Ferdinand Mütsch
b12f76ec0f fix: decrease batch insert chunk size for sqlite compatibility (resolve #840) 2025-09-11 20:14:35 +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
Nazmus Sayad
bfd137e634 feat: add user preference for start of week 2025-08-18 22:40:45 +06: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
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
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
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
95a0dd794b refactor: stream heartbeats from database asynchronously for getall 2025-02-21 11:29:13 +01:00
Ferdinand Mütsch
8d3a049f4d refactor(wip): drop heartbeat padding in summary aggregation (see #675) 2025-02-21 11:29:11 +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
5fa2515931 fix: readme card default custom title (resolve #715)
chore: add option to configure activity chart sharing separately
2024-12-20 21:16:55 +01:00
Ferdinand Mütsch
946985ef11 perf: user heartbeats query performance improvements [skip ci] 2024-11-25 22:48:01 +01:00
Ferdinand Mütsch
f162accfb4 refactor(perf): user first heartbeats query 2024-11-25 20:21:37 +01:00
Ferdinand Mütsch
24751ea2d0 refactor(perf): project stats query 2024-11-25 00:53:30 +01:00
Ferdinand Mütsch
224c28fd93 feat: configurable heartbeats timeout and offset (resolve #156) 2024-08-11 21:48:49 +02:00
Ferdinand Mütsch
57b7daae9c feat: implement category chart and summaries (resolve #630) 2024-05-11 08:36:40 +02: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
9015e51dc4 feat: implement invite links (resolve #624) 2024-03-29 00:06:13 +01:00
Ferdinand Mütsch
1acbfc6232 chore: inactive users cleanup (resolve #629) 2024-03-27 10:00:35 +01:00
Ferdinand Mütsch
0c17a95ce9 fix: prevent empty slice error during summary items insertion 2024-02-02 15:31:59 +01:00
Chen Junda
21e2d5beb2 use transation to create 2024-02-02 22:07:42 +08:00
Chen Junda
b142c1b757 fix 600 2024-02-02 20:54:46 +08:00
Ferdinand Mütsch
4ef563c096 docs: add clarifying comments 2024-02-02 10:28:18 +01:00
Chen Junda
0136c3019e try fix 2024-02-02 00:26:58 +08:00
Chen Junda
fd53ee328e fix duplicate heartbeat 2024-01-16 23:41:49 +08:00
Chen Junda
056633c5ec fix some issue 2024-01-12 23:41:18 +08:00
Chen Junda
e296886d92 add quotesql function to quote identifiers in sql 2024-01-11 23:02:36 +08:00
Chen Junda
a467a0a9fd fix 2024-01-10 21:17:48 +08:00
Chen Junda
a7d523b5ce implement 2024-01-10 20:03:38 +08:00
Ferdinand Mütsch
7d066fe197 chore(perf): speed up badge endpoints and single-filter summary computation 2024-01-08 21:59:03 +01:00
Ferdinand Mütsch
cbd476f0de feat: implement leaders compat endpoint (resolve #570) 2023-12-02 13:43:38 +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
6946ad5e3c fix: project stats query for postgres (resolve #531) 2023-10-04 20:03:31 +02:00
Ferdinand Mütsch
d66c441a82 feat: add color gradient to indicate project intensity (see #302)
fix: project stats query limit
2023-09-27 09:38:12 +02:00