Commit Graph

254 Commits

Author SHA1 Message Date
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
Ferdinand Mütsch bc99dc990a fix: case sensitivity with leaderboard languages (resolve #418) 2022-10-07 08:58:51 +02:00
Ferdinand Mütsch 23759d526a feat: settings option to opt in to leaderboards 2022-10-06 14:47:22 +02:00
Ferdinand Mütsch 1989a69926 feat: show users top languages
feat: language icons
2022-10-05 23:36:57 +02:00
Ferdinand Mütsch 7a07c9d4fc feat: top languages by user 2022-10-05 21:52:10 +02:00
Ferdinand Mütsch a27fe04919 feat: leaderboard aggregation functionality
feat: leaderboard ui design
2022-10-03 23:53:47 +02:00
Ferdinand Mütsch 1d7ff4bc2a refactor: use query param for leaderboard controls 2022-10-03 20:38:19 +02:00
Ferdinand Mütsch b3fa032bde feat(wip): leaderboard ui 2022-10-03 10:53:27 +02:00
Ferdinand Mütsch 4a22a19cb0 chore: generate leaderboard when enabled in user settings 2022-10-02 10:13:39 +02:00
Ferdinand Mütsch a2ac049578 fix: heartbeat entity character length (resolve #415) 2022-09-30 15:28:11 +02:00
Marvin Scham 9505773165
Add last_6_months interval identifier 2022-08-19 17:14:00 +02:00
Ferdinand Mütsch 373d969734 feat: introduce newsbox for front page (resolve #393) 2022-08-13 10:28:36 +02:00
Steven Tang 4302cfcbd6
fix: 500 on POST /api/heartbeats 2022-08-12 17:25:43 +10:00
Steven Tang 20993a1182
feat: automatic version.txt updates
Resolves #387
2022-07-09 13:58:16 +10:00
Asen Mihaylov 2f0cb112dd test: user api retrieving user information 2022-06-30 10:36:13 +03:00
Asen Mihaylov 991e64b961 fix: returning current user instead of requested one 2022-06-29 10:46:46 +03:00