Ferdinand Mütsch
5e96e2a601
chore: cache active users with hourly precision
2021-06-26 12:42:51 +02:00
Ferdinand Mütsch
dd6a040171
chore: add api tests for all alternative heartbeat endpoints
2021-06-22 00:27:46 +02:00
Ferdinand Mütsch
9f1266957b
fix: single heartbeat endpoint ( resolve #212 )
...
docs: swagger docs for all available heartbeat endpoints
2021-06-21 21:53:47 +02:00
Ferdinand Mütsch
466f2e1786
fix: summary caching ( resolve #211 )
2021-06-19 12:47:35 +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
538b9d2463
fix: permissions for stats endpoint
2021-06-11 17:41:45 +02:00
Ferdinand Mütsch
f4612fd542
fix: badge endpoint permission fixes ( resolve #205 )
...
fix: reference past x days intervals from now instead of start of day
2021-06-11 16:02:28 +02:00
Ferdinand Mütsch
101fdfb957
chore: adapt default insert batch size ( fix #206 )
...
fix: set user data flag after import (fix #207 )
2021-06-10 23:22:04 +02:00
Ferdinand Mütsch
ee31212cdd
fix: hotfix for invalid api base url prefix ( #203 )
2021-05-19 10:18:18 +02:00
Ferdinand Mütsch
cf3d293688
feat: implement wakatime projects endpoint ( resolve #196 )
2021-05-01 13:52:03 +02:00
Ferdinand Mütsch
0fbb554fc3
fix: respect timezone parameter for wakatime summary endpoint ( resolve #195 )
2021-05-01 12:46:53 +02:00
Ferdinand Mütsch
11b224fc24
fix: exact path matching for api endpoints ( resolve #194 )
2021-04-30 18:08:53 +02:00
Ferdinand Mütsch
ef9303e61e
feat: settings dialog for mail reports
2021-04-30 16:20:24 +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
2b45b064eb
fix: permit simple date time format in wakatime summaries endpoint ( resolve #190 )
2021-04-28 22:19:44 +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
c142b525a4
refactor: time zone sensitivity ( resolve #184 )
2021-04-25 21:05:04 +02:00
Ferdinand Mütsch
dca736752e
refactor: logging ( resolve #169 )
2021-04-16 16:02:55 +02:00
Ferdinand Mütsch
b9ea6530f9
fix: serve static file from local fs when on dev ( fix #176 )
2021-04-16 12:24:19 +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
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
ddc29f0414
chore: log mailwhale error
2021-04-09 22:51:03 +02:00
Ferdinand Mütsch
6ad33e3c3b
feat: password resets ( resolve #133 )
2021-04-05 22:57:57 +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
2b57da224c
chore: write authenticated user to logs and sentry
2021-03-26 13:10:10 +01:00
Ferdinand Mütsch
81ca703501
fix: disable recompute caching ( resolve #149 )
2021-03-24 23:31:04 +01: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
f73285160d
fix: delete language mapping ( resolve #143 )
2021-03-22 21:20:23 +01:00
Ferdinand Mütsch
2846748b26
hotfix: remove user agent check for shields.io
2021-03-09 23:15:35 +01:00
Ferdinand Mütsch
4f86f67716
chore: fix success messages
2021-02-21 13:12:29 +01:00
Ferdinand Mütsch
017530ac4a
chore: introduce user email addresses ( resolve #132 )
2021-02-21 13:02:11 +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
6b0b3bddda
fix: include overall total number of heartbeats again
2021-02-12 23:16:20 +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
22fbfceca2
fix: support default range for stats endpoint ( resolve #125 )
2021-02-12 11:25:21 +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
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
6b1f1c1360
feat: add endpoint compatible to github readme stats ( resolve #65 )
2021-02-06 23:02:35 +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
d1dc73b5e6
refactor: make each router handler register middleware on its own
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
d728426b45
chore: add config option to disable user registrations ( resolve #113 )
2021-02-06 10:59:12 +01:00
Ferdinand Mütsch
aef0c929df
fix: wakatime relay
2021-02-05 14:50:00 +01:00
Ferdinand Mütsch
9cb9747e2e
fix: missing summary api route
2021-02-03 21:40:01 +01:00
Ferdinand Mütsch
a2368ff76a
refactor: significant changes related to routing and general code cleanup
2021-02-03 21:28:02 +01:00
Ferdinand Mütsch
4838300086
refactor: settings routes and actions
2021-02-03 20:53:27 +01:00
Ferdinand Mütsch
8bed266110
feat: account deletion ( #99 )
2021-02-02 22:54:22 +01:00
Ferdinand Mütsch
c6139e5366
fix: really fix it now 🤦♂️
2021-01-31 18:56:34 +01:00
Ferdinand Mütsch
28269aa329
fix: start and end parameter parsing for wakatime summary route
2021-01-31 18:41:48 +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
3e5a51c272
feat: add missing query params to wakatime endpoints ( resolve #109 )
2021-01-31 16:25:48 +01:00
Ferdinand Mütsch
979549448c
chore: remove legacy support for md5 hashed passwords
...
chore: remove password from encoded cookie content as not used anyway
2021-01-31 14:34:54 +01:00
Ferdinand Mütsch
617d9ad7e4
refactor: include logging framework ( resolve #92 )
2021-01-30 11:17:37 +01:00
Ferdinand Mütsch
fd239e4f21
chore: add check to validate wakatime api key before accepting it
2021-01-30 10:54:54 +01:00
Ferdinand Mütsch
417d4789ab
chore: move route registration into the handler classes themselves ( resolve #57 )
2021-01-30 10:34:52 +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
71d1b2177b
fix: missing ca certificates in docker container ( resolve #98 )
...
fix: server crash in unsuccessful relaying of heartbeat to wakatime
2021-01-24 21:39:35 +01:00
Steven Tang
d93348842a
fix: delay defer templateFile.Close()
2021-01-24 10:19:20 +11:00
Steven Tang
fb92747129
fix: embed of static, views
2021-01-24 10:13:37 +11:00
Steven Tang
4e6e665e19
feat: embed assets into binary
...
Resolves #26
2021-01-23 10:00:15 +11:00
Ferdinand Mütsch
a552073d18
feat: ui for configuring wakatime integration
2021-01-21 23:26:50 +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
16b683fcbd
fix: permissions bug related to deleting language mappings
2021-01-20 20:49:27 +01:00
Ferdinand Mütsch
acda62488d
chore: support for cockroachdb ( resolve #90 )
2021-01-18 21:37:15 +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
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
35cdc7b485
refactor: define interface types for all services and repositories
2020-11-08 10:12:49 +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
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
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
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
178c417757
Keep the old configuration rules behaviour
2020-10-25 23:02:28 -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
c78ee5465c
chore: display database type
2020-10-16 16:58:16 +02:00
Ferdinand Mütsch
a4c344aaa1
chore: minor code restyling
2020-10-16 16:11:14 +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
1c0e63e125
chore: restrict badge access by user agent
2020-09-12 16:58:22 +02:00
Ferdinand Mütsch
d60dddb550
feat: implement badges endpoint and sharing functionality
2020-09-12 16:09:23 +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
08a83af8da
feat: extract machine name from heartbeat requests ( resolve #47 )
2020-08-29 21:20:23 +02:00
Ferdinand Mütsch
c0d6855546
fix: return proper response to heartbeat requests ( resolve #46 )
2020-08-29 21:13:56 +02:00
Ferdinand Mütsch
7818f6b094
fix: return created status code for heartbeats ( resolve #43 )
2020-08-19 23:17:34 +02:00
Ferdinand Mütsch
4f035b3a63
chore: minor code improvement
2020-06-07 20:01:31 +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
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
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
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
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
d3ab54f6dc
chore: enable templates to consist of partials
2020-05-24 10:37:31 +02:00
Ferdinand Mütsch
7a74ae251c
Add health endpoint.
2020-04-08 21:29:11 +02:00
Ferdinand Mütsch
7d36c4e111
Rename project.
...
Add build script.
2020-03-31 12:22:17 +02:00
Ferdinand Mütsch
0e61870568
Resolve #7 .
2020-03-31 11:24:44 +02:00
Ferdinand Mütsch
f69b55b1f9
Default interval.
2020-02-20 15:54:20 +01:00
Ferdinand Mütsch
6d3891b398
Resolve #11 .
2020-02-20 15:39:56 +01:00
Ferdinand Mütsch
b7f700e7a5
Refactor to server-rendered app.
2020-02-20 14:28:55 +01:00
Ferdinand Mütsch
d583dd312b
Fix start of year computation.
...
Add shortcut to get lifetime statistics.
2020-01-09 00:19:24 +01:00
Ferdinand Mütsch
fe1cc3ac88
Minor code cleanup.
2019-11-07 23:11:19 +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
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
680475d466
Fix cache to be per user.
2019-10-09 21:57:43 +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
e98acb8315
Merge branch 'master' of git.muetsch.io:n1try/wakapi
2019-07-07 09:51:18 +02:00
Ferdinand Mütsch
37ec6c62fc
Introduce entity aliases (unfinished).
2019-07-06 17:53:20 +02:00
Ferdinand Muetsch
899b2fff64
Properly redraw charts.
...
Add pre-defined interval for today.
Fix week interval.
2019-05-23 08:14:32 +02:00
Ferdinand Mütsch
df7b2d4a33
Auto-migrate custom languages.
2019-05-21 22:01:14 +02:00
Ferdinand Mütsch
cdf158e2ac
Use expirable cache for summaries.
2019-05-21 21:46:23 +02:00
Ferdinand Mütsch
c821e02b82
Add support for custom languages.
2019-05-21 17:16:46 +02:00
Ferdinand Mütsch
cc1a9bbca1
Parallelization.
2019-05-19 21:00:19 +02:00
Ferdinand Mütsch
1caf962917
Fix caching.
...
Introduce live mode.
2019-05-19 20:34:26 +02:00
Ferdinand Mütsch
d5253ba46b
Add summary cache.
2019-05-19 20:14:57 +02:00
Ferdinand Mütsch
a157edd03b
Add intervals for summary requests.
2019-05-19 20:06:07 +02:00