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