binwiederhier
f9e2d6ddcb
Add limiters and database changes
2023-05-07 11:59:15 -04:00
binwiederhier
1ce92714c4
Add `visitor_seen` to the log context
2023-03-03 13:56:48 -05:00
binwiederhier
bfc3983d06
Only set rate visitor if allowed
2023-02-24 14:45:30 -05:00
binwiederhier
67b45455b8
Do not panic when changing tiers, and user is nil
2023-02-20 21:46:25 -05:00
binwiederhier
bed60b71ff
Tester feedback
2023-02-12 21:05:24 -05:00
binwiederhier
d8dd4c92bf
More RWLock. Jeff wins again
2023-02-09 20:49:45 -05:00
binwiederhier
e6bb5f484c
Self-review, round 2
2023-02-09 15:24:12 -05:00
binwiederhier
b17a7cfa95
Remove unused var
2023-02-08 15:26:42 -05:00
binwiederhier
e1a4a74905
Auth rate limiter
2023-02-08 15:20:44 -05:00
binwiederhier
d44a11325d
More visitor log fields
2023-02-07 16:20:49 -05:00
binwiederhier
7cc8c81bd8
Continued logging work
2023-02-05 23:34:27 -05:00
binwiederhier
5d6051c490
Logging WIP
2023-02-04 21:26:01 -05:00
binwiederhier
a6641980c2
WIP: Logging
2023-02-03 22:21:50 -05:00
binwiederhier
0885951a67
JS error handling
2023-02-02 15:19:37 -05:00
binwiederhier
0e36ac84d8
Test anonymous user is same as non-tier user
2023-01-28 21:27:05 -05:00
binwiederhier
e596834096
Add "last access" to access tokens
2023-01-28 20:29:06 -05:00
binwiederhier
16c14bf709
Add Access Tokens UI
2023-01-27 23:10:59 -05:00
binwiederhier
62140ec001
Rate limiting refactor, race fixes, more tests
2023-01-27 11:33:51 -05:00
binwiederhier
ccc2dd1128
Get rid of v.messages counter
2023-01-27 10:06:48 -05:00
binwiederhier
9e9caee639
(Hopefully) remove statsQueue races
2023-01-27 09:59:16 -05:00
binwiederhier
22c66203a0
Reset message limiter, test
2023-01-27 09:42:54 -05:00
binwiederhier
c874a641df
Rate limits make sense now!
2023-01-26 22:57:18 -05:00
binwiederhier
03312559a7
Limiter
2023-01-26 11:24:37 -05:00
binwiederhier
593e0748a8
Payment checkout test, rate limit resetting on tier change; failing
2023-01-25 22:26:04 -05:00
binwiederhier
236254d907
Add bandwidth limit to tier; fix display name sync issues
2023-01-25 10:05:54 -05:00
binwiederhier
bce71cb196
Kill existing subscribers when topic is reserved
2023-01-23 14:05:41 -05:00
binwiederhier
954d919361
Delayed deletion
2023-01-22 22:21:30 -05:00
binwiederhier
9c082a8331
Introduce text IDs for everything (esp user), to avoid security and accounting issues
2023-01-21 23:15:22 -05:00
binwiederhier
31a3bb7cd6
Payments webhook test, delete attachments/messages when reservations are removed,
2023-01-20 22:47:37 -05:00
binwiederhier
45b97c7054
Deleting account deletes subscription
2023-01-19 14:03:39 -05:00
binwiederhier
f945fb4cdd
A little polishing, make upgrade banner work when not logged in
2023-01-18 13:46:40 -05:00
binwiederhier
4092f7fd51
Upgrade dialog looks nice now
2023-01-17 19:40:03 -05:00
binwiederhier
3dd8dd4288
Stats resetter at midnight UTC
2023-01-10 22:51:51 -05:00
binwiederhier
3aba7404fc
Tiers make sense for admins now
2023-01-09 15:40:46 -05:00
binwiederhier
d8032e1c9e
Tier based tests
2023-01-08 20:46:46 -05:00
binwiederhier
1f54adad71
Rename plan->tier, topics->reservations, more tests, more todos
2023-01-07 21:04:13 -05:00
binwiederhier
a54a11db88
Plan-based message and attachment expiry
2023-01-07 09:34:02 -05:00
binwiederhier
1733323132
Introduce Reservation
2023-01-02 20:08:37 -05:00
binwiederhier
e650f813c5
TopicsLimit
2023-01-01 20:42:33 -05:00
binwiederhier
d9722a9825
Fix almost all tests
2022-12-27 22:14:14 -05:00
binwiederhier
d4c7ad4beb
Rename auth package to user; add extendToken feature
2022-12-25 11:41:38 -05:00
binwiederhier
fb470eec79
Sign up rate limit
2022-12-24 12:10:51 -05:00
binwiederhier
cc55bec521
Write stats to user table asynchronously
2022-12-20 21:18:33 -05:00
binwiederhier
2b78a8cb51
Associate messages with a user
2022-12-19 21:42:36 -05:00
binwiederhier
84785b7a60
Restructure limits
2022-12-19 16:22:13 -05:00
binwiederhier
6598ce2fe4
Limits
2022-12-19 09:59:32 -05:00
binwiederhier
42e46a7c22
Limit work
2022-12-18 14:35:05 -05:00
binwiederhier
56ab34a57f
v1/account API response, rate limiting bla
2022-12-17 23:54:19 -05:00
Philipp Heckel
2772a38dae
WIPWIPWIP
2022-12-02 15:37:48 -05:00
Karmanyaah Malhotra
c2382d29a1
refactor visitor IPs and allow exempting IP Ranges
...
Use netip.Addr instead of storing addresses as strings. This requires
conversions at the database level and in tests, but is more memory
efficient otherwise, and facilitates the following.
Parse rate limit exemptions as netip.Prefix. This allows storing IP
ranges in the exemption list. Regular IP addresses (entered explicitly
or resolved from hostnames) are IPV4/32, denoting a range of one
address.
2022-10-05 16:04:42 -05:00