Commit Graph

269 Commits

Author SHA1 Message Date
Ferdinand Mütsch ec65847d0c fix: make stats endpoint default to user-chosen time range (resolve #508)
chore: include more properties in status model for better compatibility
2023-07-28 12:08:47 +02:00
Ferdinand Mütsch 45a003185e chore: minor code style and cleanup 2023-07-09 20:16:34 +02:00
Ferdinand Mütsch 3063e80692 refactor: use wakatime dump api for data imports (resolve #323) 2023-07-09 18:03:41 +02:00
Ferdinand Mütsch 38286c7f3a fix: correctly parse os and editor for chrome plugin
fix: handle last project special keyword
2023-07-09 10:28:23 +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 a8e2bc671d fix: badge endpoint caching (resolve #496) 2023-07-08 18:44:40 +02:00
Ferdinand Mütsch df25183035 fix: return ok status even upon subscription event handling failure [skip ci] 2023-04-10 18:49:29 +02:00
Ferdinand Mütsch a20456bb8e fix: cancel active subscription upon user account deletion 2023-04-09 17:29:57 +02:00
Ferdinand Mütsch beced39923 fix: include query params with relayed request 2023-04-04 00:15:56 +02:00
Ferdinand Mütsch 4ee3da6f7e feat: implement file statistics (resolve #80) 2023-03-22 20:45:27 +01:00
Ferdinand Mütsch bfeebafb2f fix: support user agents set by browser plugin (see #237) 2023-03-16 21:02:28 +01:00
Ferdinand Mütsch c9f2518fbc fix: badges broken (resolve #475) 2023-03-15 21:47:12 +01:00
Ferdinand Mütsch ce077f2efc chore: ability to disable home page (resolve #460) 2023-03-04 09:33:36 +01:00
Ferdinand Mütsch a6ef735ba1 refactor: replace gorilla mux with chi 2023-03-03 20:53:18 +01:00
Ferdinand Mütsch 3512db5ca4 fix: track subscription renewal date 2023-02-19 19:37:03 +01:00
Diptesh Choudhuri 56c35daed4 fix(settings): parse select as list 2023-01-25 03:14:25 +00:00
Diptesh Choudhuri 69f59a9a16 feat(settings): handle bulk associations in db 2023-01-24 16:31:46 +00:00
Diptesh Choudhuri 998ff009f5 chore(settings): remove duplicated code 2023-01-24 13:41:12 +00:00
Diptesh Choudhuri 0b8181acab feat: insert label into database 2023-01-24 13:23:41 +00:00
Ferdinand Mütsch 8ccfcef8e3 chore: show warning message when data about to expire 2023-01-18 01:27:07 +01:00
Ferdinand Mütsch 9d384e5d1c fix: respect requested user in summary compat endpoint (resolve #455) 2023-01-17 10:39:41 +01:00
Ferdinand Mütsch 746608c062 refactor: flash messages framework (resolve #446) 2023-01-02 18:05:28 +01:00
Ferdinand Mütsch a1444bca8c chore: validate email addresses with dns 2023-01-02 15:31:28 +01:00
Ferdinand Mütsch ef5b49ebd8 chore: clear user cache upon logout 2023-01-02 14:53:21 +01:00
Ferdinand Mütsch 8e521741f8 refactor(subscriptions): store stripe customer id with user 2022-12-30 13:14:24 +01:00
Ferdinand Mütsch 50c54685ec feat: subscription expiry notification mails 2022-12-29 17:12:34 +01:00
Ferdinand Mütsch dc0bcbe65d chore: cap data import according to max data retention time 2022-12-29 12:33:21 +01:00
Ferdinand Mütsch bafbc34706 refactor: minor code refactorings 2022-12-29 11:55:09 +01:00
Ferdinand Mütsch 195755581b chore: require email address for subscriptions 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch 8a94fef06b feat: implement computation of users first heartbeats data time 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch ebcf87ea93 feat(wip): polish settings ui for subscriptions 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch 0e83ab02fa feat(wip): implement stripe webhooks 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch 05ea05cdf4 feat(wip): implement stripe webhooks 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch f39ecc46bd feat(wip): stripe integration for subscriptions 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch 9f38246fe2
Merge pull request #425 from Daste745/persistent-summary-interval
Persistent summary time interval
2022-12-05 19:27:07 +01:00
Daste 97fab3e109 Redirect to correct summary page if interval cookie is set
This adds an additional 302 redirect when the user doesn't specify an
`interval` as a query param, but has the `wakapi_summary_interval`
cookie set.
2022-12-03 12:47:05 +01:00
Ferdinand Mütsch 5ae7527b7b feat: implement data retention mechanism 2022-12-01 20:26:03 +01:00
Ferdinand Mütsch 2db065d47a Merge branch 'muety/427-job-processing' 2022-12-01 15:55:40 +01:00
Ferdinand Mütsch 21f6809f05 refactor: split utility functions into utils and helpers 2022-12-01 10:57:07 +01:00
*Kim Zick f121112d09
Increase avatar entropy 2022-11-26 16:26:03 -05:00
Ferdinand Mütsch 61f13fce20 fix: prometheus metrics types 2022-11-20 10:59:06 +01:00
Ferdinand Mütsch fcca881cfc refactor: move more background jobs to using job queue 2022-11-20 10:10:24 +01:00
Daste ebe1836ac6 Write a Set-Cookie header with the last used summary interval 2022-11-19 09:52:44 +01:00
Daste e89ce076fd Read the persisted summary interval from a cookie
This cookie will be read only if the `interval` or `from` query params
are not set. If the cookie is also unset, it will still default to
the "today" interval.

TODO: The cookie still needs to be set on the client
with a `Set-Cookie` response header.
2022-11-05 19:30:42 +01:00
Ferdinand Mütsch 9586dbf781 fix: make intervals robust to daylight saving time shift 2022-10-31 23:24:54 +01:00
Ferdinand Mütsch efd6ba36e3 fix: errors during leaderboard generation 2022-10-20 08:33:12 +02:00
Ferdinand Mütsch b1d7f87095 chore: add maximum default leaderboard length 2022-10-19 18:28:30 +02:00
Ferdinand Mütsch 41f6db8f34 feat(wip): leaderboard pagination (resolve #417) [ci-skip] 2022-10-16 19:38:43 +02:00
Ferdinand Mütsch 31ca4a1e02 chore: logging 2022-10-16 17:42:32 +02:00
Ferdinand Mütsch 7cab2b0be7 chore: add clarification on relaying to other wakapi instance (resolve #420) [skip-ci] 2022-10-15 11:08:44 +02:00