1
0
mirror of https://github.com/muety/wakapi.git synced 2023-08-10 21:12:56 +03:00
Commit Graph

222 Commits

Author SHA1 Message Date
Ferdinand Mütsch
466f2e1786 fix: summary caching (resolve #211) 2021-06-19 12:47:35 +02:00
Ferdinand Mütsch
650fffa344 fix: exclude zero entries again 2021-06-12 12:06:24 +02:00
Ferdinand Mütsch
561198b203 chore: minor ui improvements 2021-06-12 12:01:20 +02:00
Ferdinand Mütsch
7bcd6890d1 chore: adapt tests and bump version 2021-06-12 11:26:15 +02:00
Ferdinand Mütsch
1e4e530c21 chore: adapt tests 2021-06-12 11:09:24 +02:00
Ferdinand Mütsch
490cca05eb feat: ui for managing project labels 2021-06-12 10:44:19 +02:00
Ferdinand Mütsch
3780ae4255 fix: invalidate user summary cache (fix #209) 2021-06-12 10:43:56 +02:00
Ferdinand Mütsch
0d64858721 feat: implement project labels (resolve #204) 2021-06-11 20:59:34 +02:00
Ferdinand Mütsch
9dbc2039fc chore: add random time offset to scheduled reports jobs 2021-05-04 21:04:11 +02:00
Ferdinand Mütsch
cf3d293688 feat: implement wakatime projects endpoint (resolve #196) 2021-05-01 13:52:03 +02:00
Ferdinand Mütsch
0673c26043 fix: attempt to fix race condition when counting 2021-04-30 17:19:17 +02:00
Ferdinand Mütsch
cf14fc46ef chore: less verbose logging 2021-04-30 16:22:28 +02:00
Ferdinand Mütsch
ef9303e61e feat: settings dialog for mail reports 2021-04-30 16:20:24 +02:00
Ferdinand Mütsch
a4e7158db2 refactor: mail service abstraction layer 2021-04-30 15:17:07 +02:00
Ferdinand Mütsch
29c04c3ac5 feat: email reports (resolve #124) 2021-04-30 14:07:14 +02:00
Ferdinand Mütsch
1beca82875 feat: implement wakatime users endpoint (resolve #193) 2021-04-30 10:13:32 +02:00
Ferdinand Mütsch
75e61c0dc3 chore: guess user timezone on signup 2021-04-25 20:02:45 +02:00
Ferdinand Mütsch
8b9a9a1a42 fix: merge summaries by unique from date only 2021-04-19 21:14:35 +02:00
Ferdinand Mütsch
1a10a4fb21 fix: prevent duplicate summaries from being counted twice (resolve #179) 2021-04-19 20:48:07 +02:00
Ferdinand Mütsch
0e3ce1e9e4 fix: lock aggregation jobs to one at a time on a per-user basis (resolve #180) 2021-04-19 20:36:37 +02:00
Ferdinand Mütsch
dca736752e refactor: logging (resolve #169) 2021-04-16 16:02:55 +02:00
Ferdinand Mütsch
9fd9ffbb3d fix: missing summary aggregation after days without heartbeats (see #168) 2021-04-12 23:36:22 +02:00
Ferdinand Mütsch
915436822b fix: make mail provider configs non-nullable 2021-04-12 22:57:52 +02:00
Ferdinand Mütsch
0f1d1bce4d fix: summary missing interval calculation (fix #168) 2021-04-12 22:57:15 +02:00
Steven Tang
6256c8e10a
ref: embed files, bump to go 1.16 (#167)
* ref: embed portion of files
* fix: readd pkger
* ref: embed version.txt
* fix: wrong mail template import path
* refactor: get rid of sql-migrate
refactor: get rid of pkger in favor of go embed (resolve #164)
* chore: remove unused var [ci-skip]

Co-authored-by: Ferdinand Mütsch <ferdinand@muetsch.io>
2021-04-11 10:42:43 +00:00
Ferdinand Mütsch
2a9fbfdfd7 chore: send notification on successful import 2021-04-10 10:48:06 +02:00
Ferdinand Mütsch
56247b4e1e fix: throttle wakatime api requests (attempt to fix #152) 2021-04-10 10:18:09 +02:00
Ferdinand Mütsch
4706809170 feat: smtp mail provider implementation 2021-04-10 00:07:13 +02:00
Ferdinand Mütsch
6ad33e3c3b feat: password resets (resolve #133) 2021-04-05 22:57:57 +02:00
Ferdinand Mütsch
e6e134678a wip: password resets 2021-04-05 16:25:13 +02:00
Ferdinand Mütsch
7f3a654b26 fix: import bug with small number of heartbeats (fix #160) 2021-04-04 09:45:32 +02:00
Ferdinand Mütsch
81ca703501 fix: disable recompute caching (resolve #149) 2021-03-24 23:31:04 +01:00
Ferdinand Mütsch
292ae41c58 fix: batch insert conflict bug (resolve #139) 2021-03-05 21:39:21 +01:00
Ferdinand Mütsch
017530ac4a chore: introduce user email addresses (resolve #132) 2021-02-21 13:02:11 +01:00
Ferdinand Mütsch
daf67b844a refctor: change active users query 2021-02-13 11:23:58 +01:00
Ferdinand Mütsch
301cab4be4 feat: per-user heartbeats count metrics 2021-02-12 23:06:48 +01:00
Ferdinand Mütsch
703805412b chore: code smell [ci skip] 2021-02-12 19:26:23 +01:00
Ferdinand Mütsch
88eb68b1a9 feat: add prometheus metrics without external standalone exporter 2021-02-12 18:50:13 +01:00
Ferdinand Mütsch
8191a52ce1 chore: make very first user have admin privileges 2021-02-12 18:49:47 +01:00
Ferdinand Mütsch
e4c413a33c fix: include machine names when importing wakatime data 2021-02-10 22:08:00 +01:00
Ferdinand Mütsch
fca12f522f feat: option to publicly share stats data (resolve #36) 2021-02-06 23:02:35 +01:00
Ferdinand Mütsch
161e375f74 chore: optimize import date range 2021-02-06 23:02:35 +01:00
Ferdinand Mütsch
fd9e2acdf1 feat: wakatime data import (resolve #87) 2021-02-06 23:02:35 +01:00
Ferdinand Mütsch
8bed266110 feat: account deletion (#99) 2021-02-02 22:54:22 +01:00
Ferdinand Mütsch
1dc5be4784 fix: selective summary generation 2021-02-02 22:49:29 +01:00
Ferdinand Mütsch
617d9ad7e4 refactor: include logging framework (resolve #92) 2021-01-30 11:17:37 +01:00
Ferdinand Mütsch
a552073d18 feat: ui for configuring wakatime integration 2021-01-21 23:26:50 +01:00
Ferdinand Mütsch
de0401d4bb fix: move caching out of authentication middleware 2021-01-21 23:19:17 +01:00
Ferdinand Mütsch
d57c02af7c feat: add ui for managing aliases (resolve #91) 2021-01-21 00:26:52 +01:00
Ferdinand Mütsch
cd97976ed5 chore: show total hours on index page (resolve #88) 2021-01-17 09:32:08 +01:00
Ferdinand Mütsch
98b62b33c8 fix: concurrent access to language mappings (resolve #83) 2021-01-07 10:56:00 +01:00
Ferdinand Mütsch
e8067bb13e fix: crash when running aggregation job on schedule (fix #78)
chore: move from gocron to its maintained fork
2020-12-11 10:05:17 +01:00
Ferdinand Mütsch
4a78f66778 chore: set samesite attributes and configurable max age for cookies (resolve #75)
fix: sort entities by total time descending (resolve #74)
2020-11-21 22:30:56 +01:00
Ferdinand Mütsch
f4328c452f test: add essential unit tests for core functionality (resolve #6) 2020-11-14 12:30:45 +01:00
Ferdinand Mütsch
ad8168801c test: add first few unit tests 2020-11-08 12:46:12 +01:00
Ferdinand Mütsch
35cdc7b485 refactor: define interface types for all services and repositories 2020-11-08 10:12:49 +01:00
Ferdinand Mütsch
7befb82814 chore: remove clean up related parameters 2020-11-07 12:34:17 +01:00
Ferdinand Mütsch
2f12d8efde refactor: simplify summary generation (resolve #68) 2020-11-07 12:01:35 +01:00
Ferdinand Mütsch
e269b37b0e feat: add ability to regenerate summaries
fix: database cascade settings
chore: debug log mode for gorm queries is back
2020-11-06 17:09:41 +01:00
Ferdinand Mütsch
e6a04cc76d chore: remove cleanup functionality
chore: minor code changes
2020-11-06 14:07:07 +01:00
Ferdinand Mütsch
8efc3854ab refactor: migrate to latest gorm version
refactor: language mappings implementation
2020-11-01 20:14:10 +01:00
Ferdinand Mütsch
755cabb5f4 refactor: introduce repositories as an additional layer of abstraction to allow for better testability 2020-11-01 16:56:36 +01:00
Ferdinand Mütsch
96ff490d8d fix: crash when calling badge endpoint with no filters applied (resolve #66) 2020-11-01 16:04:30 +01:00
Ferdinand Mütsch
68e66298b8 fix: postprocessing for alias keys not corresponding to an actual entity 2020-11-01 13:09:39 +01:00
Ferdinand Mütsch
c2d30826f6 fix: critical fixes related to alias resolution 2020-11-01 12:50:59 +01:00
Ferdinand Mütsch
e19761337f Merge branch 'notarock/62' 2020-10-26 22:34:50 +01:00
Roch D'Amour
86fc751e58 Cache rules per user, invalidate cache on update 2020-10-25 23:19:16 -04:00
Roch D'Amour
395d039d41 General cleanup and fixed PR comments 2020-10-25 22:18:33 -04:00
Roch D'Amour
fdf2289f8e MVP for custom rules support 2020-10-25 21:51:06 -04:00
Ferdinand Mütsch
177cbb12fc chore: make aggregation time configurable (resolve #60) 2020-10-16 16:21:19 +02:00
Ferdinand Mütsch
a4c344aaa1 chore: minor code restyling 2020-10-16 16:11:14 +02:00
Ferdinand Mütsch
67a59561c8 fix: use custom date for summary model to support sqlite deserialization 2020-10-16 14:49:22 +02:00
Ferdinand Mütsch
f7520b2b4a fix: timestamp precision 2020-10-16 12:49:36 +02:00
Ferdinand Mütsch
54a944ec41 fix: critical summary computation bug (faulty intervals)
fix: doubly included heartbeats
fix: cross-day heartbeats are ignored for consistency
2020-10-16 12:00:20 +02:00
Ferdinand Mütsch
21b822de42 chore: minor code enhancements 2020-10-09 21:37:20 +02:00
Ferdinand Mütsch
660fefcca9 refactor: migrate to new config (resolve #54) 2020-10-04 10:37:38 +02:00
Ferdinand Mütsch
f843be8d12 refactor: move config to separate package
chore: load config from main method
2020-09-29 18:55:07 +02:00
Ferdinand Mütsch
d60dddb550 feat: implement badges endpoint and sharing functionality 2020-09-12 16:09:23 +02:00
Ferdinand Mütsch
21567e7601 feat: implement summaries compat endpoint (resolve #44)
fix: fix all time view model
2020-09-11 23:24:51 +02:00
Ferdinand Mütsch
587ac6a330 feat: add wakatime-compatible alltime endpoint 2020-09-06 12:15:46 +02:00
Ferdinand Mütsch
82ed386359 fix: generate dummy items for missing types in historic summary data 2020-08-29 23:16:21 +02:00
Ferdinand Mütsch
12cc4cd9cf feat: introduce machine summaries (resolve #48) 2020-08-29 22:03:01 +02:00
Ferdinand Mütsch
11d1d5bc99 fix: adapt summary generation to new summary bounds 2020-08-23 13:21:23 +02:00
Ferdinand Mütsch
ada0863f7c fix: make summary include timestamp of first and last heartbeat (resolve #18) 2020-08-23 13:11:01 +02:00
Ferdinand Mütsch
0eac9a8854 feat: add ability to reset api key (resolve #29) 2020-06-07 19:58:06 +02:00
Ferdinand Mütsch
c1e6a3e265 feat: persist user creation date (resolve #31) 2020-05-30 22:19:05 +02:00
Ferdinand Mütsch
3c2dc78c93 refactor: refactor migrations and add fixtures
feat: introduce key-value store
feat: imprint page (resolve #23)
chore: remove default user
chore: remove packr
2020-05-30 20:41:27 +02:00
Ferdinand Mütsch
6c2f0cb1ec feat: add auto-migrations for old md5 password to maintain backwards compatibility 2020-05-25 22:24:29 +02:00
Ferdinand Mütsch
08675bd99f feat: use bcrypt with salts instead of md5 for hashing password (resolve #21) 2020-05-25 21:42:45 +02:00
Ferdinand Mütsch
c171d31f30 feat: set html base path from server base path
refactor: services
2020-05-24 17:32:26 +02:00
Ferdinand Mütsch
abfaa9d768 feat: user signup 2020-05-24 16:34:32 +02:00
Ferdinand Mütsch
9697bb5fd5 refactor: use cookie-based login
feat: add login page
2020-05-24 13:41:19 +02:00
Ferdinand Mütsch
7d36c4e111 Rename project.
Add build script.
2020-03-31 12:22:17 +02:00
Ferdinand Mütsch
33ebb8a771 Add database cleanup functionality. 2020-03-09 17:30:23 +01:00
Ferdinand Mütsch
b7f700e7a5 Refactor to server-rendered app. 2020-02-20 14:28:55 +01:00
Ferdinand Mütsch
fe1cc3ac88 Minor code cleanup. 2019-11-07 23:11:19 +01:00
Ferdinand Mütsch
121b8c9885 Fix faulty aggregations after daylight saving time switch. 2019-11-07 22:56:52 +01:00
Ferdinand Mütsch
9e726028c3 Introduce flag to recompute summaries from raw events instead of using aggregations. 2019-11-07 12:56:05 +01:00
Ferdinand Mütsch
9b17cde420 Trigger summary generation on server startup. 2019-10-11 09:16:42 +02:00
Ferdinand Mütsch
fb2f9fa10a Ability to schedule summary creation. 2019-10-11 09:06:34 +02:00
Ferdinand Mütsch
37b02ff32c Fix summary merging.
Rename some methods.
Use pointers for structs and none for primitives.
2019-10-11 08:00:02 +02:00
Ferdinand Mütsch
3696622493 Unstable. Still need to fix summary item times to not be all the same. 2019-10-10 18:32:17 +02:00
Ferdinand Mütsch
b8122ce530 First approach to generating, persisting, fetching and merging summaries. 2019-10-10 18:10:14 +02:00
Ferdinand Mütsch
43f6f33966 Generate summary generation jobs. 2019-10-10 16:47:19 +02:00
Ferdinand Mütsch
851f378684 Add database schema to persist summaries with their accompanying summary items.
Add basic methods to generate summary aggregation jobs.
2019-10-09 23:26:28 +02:00
Ferdinand Mütsch
8a3ce596f5 Sort summary items in descending order. 2019-07-07 10:37:17 +02:00
Ferdinand Mütsch
e18a873428 Add documentation for aliases.
Reload aliases for every summary request.
2019-07-07 10:32:28 +02:00
Ferdinand Mütsch
37ec6c62fc Introduce entity aliases (unfinished). 2019-07-06 17:53:20 +02:00
Ferdinand Mütsch
c821e02b82 Add support for custom languages. 2019-05-21 17:16:46 +02:00
Ferdinand Muetsch
86fe3a4bae Add ability to listen on public interface.
Add ability to handle unknown keys.
Update Readme.
2019-05-21 14:02:04 +02:00
Ferdinand Mütsch
d75da7681b Properly order heartbeats. 2019-05-20 19:46:41 +02:00
Ferdinand Mütsch
005b17a73c Allow heartbeat fields to be unset. 2019-05-20 18:44:16 +02:00
Ferdinand Mütsch
cc1a9bbca1 Parallelization. 2019-05-19 21:00:19 +02:00
Ferdinand Mütsch
be906805e7 Major refactorings.
Introduce summaries.
2019-05-19 19:49:27 +02:00
Ferdinand Mütsch
62e94f6635 Untested. Useslices of pointersto structs everywhere. 2019-05-17 08:40:03 +02:00
Ferdinand Mütsch
adb5abd4d2 Unstable. Further work on aggregations. 2019-05-17 02:05:38 +02:00
Ferdinand Mütsch
de65ab1814 Add config to services. 2019-05-16 22:53:03 +02:00
Ferdinand Mütsch
47246b6955 Introduce aggregation model. 2019-05-11 20:07:58 +02:00
Ferdinand Mütsch
b4c8e6ecb6 Introduce GORM. 2019-05-11 17:49:56 +02:00
Ferdinand Mütsch
d1be4ce2a3 Fix heartbeats insertion.
Add OS and editor fields.
Introduce aggregations (not working yet).
2019-05-09 00:07:38 +02:00
Ferdinand Mütsch
9df289b7ed Heartbeat Insertions.
Restructuring.
2019-05-06 00:40:41 +02:00
Ferdinand Mütsch
0bd71b7708 Initial. 2019-05-05 22:36:49 +02:00