Commit Graph

65 Commits

Author SHA1 Message Date
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