Commit Graph

236 Commits

Author SHA1 Message Date
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 628ea0b9dd fix: nil pointer dereference
chore: allow to share labels publicly on settings page
2021-06-12 09:12:28 +02:00
Ferdinand Mütsch 0d64858721 feat: implement project labels (resolve #204) 2021-06-11 20:59:34 +02:00
Ferdinand Mütsch f3b738b250 fix: empty projects (resolve #197)
fix: potential division by zero (see #199)
2021-05-03 21:32:26 +02:00
Ferdinand Mütsch cf3d293688 feat: implement wakatime projects endpoint (resolve #196) 2021-05-01 13:52:03 +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 37d4d58b57 fix: make wakatime summary endpoint date range inclusive (resolve #192) 2021-04-29 21:08:47 +02:00
Ferdinand Mütsch c6fd43a964 chore: log requests from json response util method 2021-04-26 21:26:59 +02:00
Ferdinand Mütsch 4ab657ebd5 fix: fix divide by zero (resolve #189) 2021-04-26 21:26:56 +02:00
Ferdinand Mütsch 649c658923 chore: add same date tests 2021-04-25 21:05:05 +02:00
Ferdinand Mütsch 04690d287d chore: guess user timezone on signup 2021-04-25 21:05:05 +02:00
Ferdinand Mütsch c142b525a4 refactor: time zone sensitivity (resolve #184) 2021-04-25 21:05:04 +02:00
Ferdinand Mütsch 26ef93c1af chore: minor refactorings to custom time parsing logic 2021-04-25 09:21:21 +02:00
Ferdinand Mütsch a9739a6db0 fix: make range picker show actual range with ceiled to date (fix #175) 2021-04-16 11:53:37 +02:00
Ferdinand Mütsch a22836a644 fix: remove uniqueness constraint for email 2021-04-14 00:17:02 +02:00
Ferdinand Mütsch 20dd4cf0ab fix: precedence in case of multiple matching language mappings (fix #172) 2021-04-13 23:39:31 +02:00
Ferdinand Mütsch f8e1453754 fix: failing auto migration of users table (resolve #171) 2021-04-13 23:23:57 +02:00
Ferdinand Mütsch 2a9fbfdfd7 chore: send notification on successful import 2021-04-10 10:48:06 +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 2d1010e9d9 chore: add caching to badge endpoint
chore: add type index for summary items
2021-03-24 21:49:42 +01:00
Ferdinand Mütsch 5ca9a6a8be test: add further tests for heartbeat augmentation (resolve #144) 2021-03-24 20:43:49 +01:00
Tobias Dillig caf87de887 fix: allow custom mappings with dot (resolve #144) 2021-03-24 19:25:36 +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 16af17fc37 chore: save heartbeats created date 2021-02-21 12:02:19 +01:00
Ferdinand Mütsch 30510591eb feat: custom time intervals (resolve #115) 2021-02-13 12:59:59 +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 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 5b3e88247e chore: introduce user admin flag 2021-02-12 18:13:49 +01:00
Ferdinand Mütsch 218c571859 feat: display setup instructions on startup (resolve #120) 2021-02-12 10:10:44 +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 9e5847b66d fix: json marshalling of custom time (resolve #117) 2021-02-07 12:37:51 +01:00
Ferdinand Mütsch bb1d6c048d feat: serve swagger ui
fix: forbid to browse file system index
2021-02-07 12:28:42 +01:00
Ferdinand Mütsch 8fc39f23fa feat: add swagger docs (resolve #40) 2021-02-07 11:54:41 +01:00
Ferdinand Mütsch 6d2697ec37 feat: allow unlimited date ranges 2021-02-06 23:23:26 +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 8fed606e9b refactor: make intervals be string lists of aliases 2021-02-06 23:02:35 +01:00
Ferdinand Mütsch 9ff35b85d0 feat: implement stats endpoint (resolve #114) 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 b6812ddc3a refactor: migrations structure
fix: cascade for alias user foreign key constraint
2021-02-02 21:50:43 +01:00
Ferdinand Mütsch b7ae15496d fix: attempt to directly hash struct again 2021-01-31 18:29:50 +01:00
Ferdinand Mütsch 0c3f3b37b0 fix: attempt to quickfix hash collisions 2021-01-31 18:06:20 +01:00
Ferdinand Mütsch dc1a0c7983 chore: introduce hashes for heartbeats 2021-01-31 17:46:50 +01:00
Ferdinand Mütsch e4b38d3f51 fix: tests 2021-01-31 16:58:59 +01:00
Ferdinand Mütsch 3e5a51c272 feat: add missing query params to wakatime endpoints (resolve #109) 2021-01-31 16:25:48 +01:00
Ferdinand Mütsch a6aff07b21 chore: use wakatime colors for editors and os (resolve #100) 2021-01-30 09:51:36 +01:00
Ferdinand Mütsch 189a09d91f feat: relay heartbeats to wakatime (resolve #28) 2021-01-21 22:17:32 +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
Steven Tang b7a1e2d795
Reduce minimum username length to 1 2021-01-12 21:06:57 +11:00
Ferdinand Mütsch 16b9aa2282 feat: add front page (resolve #34) 2020-11-28 20:23:40 +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 ad8168801c test: add first few unit tests 2020-11-08 12:46:12 +01:00
Ferdinand Mütsch 664714de8f fix: filters 2020-11-07 18:39:36 +01:00
Ferdinand Mütsch 2f12d8efde refactor: simplify summary generation (resolve #68) 2020-11-07 12:01:35 +01:00
Ferdinand Mütsch 8ddd9904a0 refactor: alert handling 2020-11-06 21:19:54 +01:00
Ferdinand Mütsch 78874566a4 chore: introduce constants for db dialects
chore: go fmt
2020-11-06 17:20:26 +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 b4d2ee7d16 fix: not creating language mappings table due to broken type definition in users model (resolve #69)
chore: introduce foreign key constraints
2020-11-03 10:26:32 +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 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 3f973a28ea Fixed custom rule settings CSS 2020-10-26 00:27:07 -04:00
Roch D'Amour 178c417757 Keep the old configuration rules behaviour 2020-10-25 23:02:28 -04:00
Roch D'Amour fdf2289f8e MVP for custom rules support 2020-10-25 21:51:06 -04:00
Ferdinand Mütsch c575b2fd5c fix: json serialization error when percentage is nan 2020-10-16 15:16:43 +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 21b822de42 chore: minor code enhancements 2020-10-09 21:37:20 +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 19a8c61f77 feat: add more pre-configured intervals (resolve #51) 2020-09-12 12:40:38 +02:00
Ferdinand Mütsch 8dca9f5cc0 chore: parallel summary conversion 2020-09-12 00:20:16 +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 a8009e107d fix: support project query param for alltime endpoint 2020-09-11 20:22:33 +02:00
Ferdinand Mütsch 84e9559860 fix: all time data model 2020-09-06 17:20:37 +02:00
Ferdinand Mütsch 587ac6a330 feat: add wakatime-compatible alltime endpoint 2020-09-06 12:15:46 +02:00
Ferdinand Mütsch cecb5e113c chore: remove debug comments 2020-08-30 01:45:01 +02:00
Ferdinand Mütsch 75b33d5e42 fix: save heartbeats and summaries with millisecond time precision (resolve #49) 2020-08-30 01:42:00 +02:00
Ferdinand Mütsch 50b7a9ec3d fix: column definition in migration 2020-08-30 01:24:27 +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 08a83af8da feat: extract machine name from heartbeat requests (resolve #47) 2020-08-29 21:20:23 +02:00
Steven Tang 24469e4922 feat: add base_path environment variable 2020-07-14 21:22:30 +10:00
Ferdinand Mütsch 0294425de0 feat: add ability to change passwords (resolve #30) 2020-06-07 19:28:32 +02:00
Ferdinand Mütsch c1e6a3e265 feat: persist user creation date (resolve #31) 2020-05-30 22:19:05 +02:00
Ferdinand Mütsch 1872bf4b4c fix: set string key value data type to text 2020-05-30 21:10:44 +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 9dae5a1f77 feat: allow insecure cookies (resolve #27) 2020-05-30 12:11:25 +02:00
Ferdinand Mütsch 98d7d02935 docs: update readme 2020-05-28 22:36:00 +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 625994d1e9 feat: add basic sign up instructions 2020-05-24 21:42:15 +02:00
Ferdinand Mütsch 2cca2cb0bb feat: display api key on user interface (resolve #24) 2020-05-24 21:19:05 +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 d6e9f0295a feat: introduce base path config option to better support redirections behind a proxy 2020-05-24 17:08:44 +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 2b47a7d73f feat: ability to set default username and password 2020-04-26 14:00:53 +02:00
William Flores aa211713b2
feat: change default value for time Fields to CURRENT_TIMESTAMP for better cross database support. Support Scanning String Dates for HeartBeatReqTime 2020-04-19 16:58:03 -07:00
Ferdinand Mütsch 0e61870568 Resolve #7. 2020-03-31 11:24:44 +02:00
Ferdinand Mütsch 33ebb8a771 Add database cleanup functionality. 2020-03-09 17:30:23 +01:00
Ferdinand Mütsch 6d3891b398 Resolve #11. 2020-02-20 15:39:56 +01:00
Ferdinand Mütsch fe1cc3ac88 Minor code cleanup. 2019-11-07 23:11:19 +01:00
Ferdinand Mütsch caacea3f63 Add ability to configure database port. 2019-11-07 22:56:06 +01: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 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
robrotheram 9b16ee9461 Fix typo in gorm model 2019-10-07 23:39:00 +01:00
Ferdinand Mütsch 37ec6c62fc Introduce entity aliases (unfinished). 2019-07-06 17:53:20 +02:00
Ferdinand Mütsch 080e91973c Generate default user. 2019-05-21 23:09:47 +02:00
Ferdinand Mütsch f9a2efaffb Support for username-password authentication. 2019-05-21 22:40:59 +02:00
Ferdinand Mütsch df7b2d4a33 Auto-migrate custom languages. 2019-05-21 22:01:14 +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 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 adb5abd4d2 Unstable. Further work on aggregations. 2019-05-17 02:05:38 +02:00
Ferdinand Mütsch c7a8372516 Introduce config ini. 2019-05-16 22:51:11 +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 5247255d67 Db config DSN. 2019-05-06 00:47: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