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
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