Commit Graph

689 Commits

Author SHA1 Message Date
binwiederhier 0967414f79 Bump version, add more details to rate_visitor logs 2023-02-25 21:09:10 -05:00
binwiederhier 8215b66db3 Logging improvements, etc. 2023-02-25 20:23:22 -05:00
binwiederhier f7f343fe55 Logging fixes 2023-02-25 15:31:12 -05:00
binwiederhier 0606fbe60a Adjust Matrix/UP behavior to work with Synapse+Mastodon 2023-02-25 15:12:03 -05:00
Karmanyaah Malhotra 0d7aba9487 Fix Matrix errors and tests 2023-02-25 00:12:14 -06:00
Karmanyaah Malhotra fbbfa2bbc1 fix matrix tests for new error handling
Test driven development
2023-02-24 23:09:21 -06:00
Karmanyaah Malhotra 2f5cfab01c Fix 507 tests for UnifiedPush subscribe rate limiting 2023-02-24 22:16:03 -06:00
binwiederhier 70cd267ff5 Return 507 for UP publishers without subscribers 2023-02-24 22:07:18 -05:00
binwiederhier d5052d79e6 Add up* length requirement 2023-02-24 21:10:41 -05:00
binwiederhier 45928ddc47 Release notes 2023-02-24 15:11:59 -05:00
binwiederhier bfc3983d06 Only set rate visitor if allowed 2023-02-24 14:45:30 -05:00
binwiederhier 2329695a47 Polishing 2023-02-23 20:46:53 -05:00
binwiederhier 8eae44ea61 Topic expiry attempt 2023-02-23 16:03:40 -05:00
binwiederhier 57e1104afb Ensure we return 429s for Matrix endpoints too; return proper error codes 2023-02-23 15:38:45 -05:00
binwiederhier ede957973b Merge branch 'main' into vrate 2023-02-23 14:03:11 -05:00
binwiederhier 422ad0cc5d UnifiedPush: Treat non-Basic/Bearer `Authorization` header like header was not sent 2023-02-23 10:15:57 -05:00
binwiederhier 0c3d832c5f More todos 2023-02-23 09:38:53 -05:00
binwiederhier 483410c4a2 More tests; Discovered a bug with the response codes 2023-02-22 22:44:48 -05:00
binwiederhier bdeec4d297 Polish a little 2023-02-22 22:26:43 -05:00
binwiederhier 21b27b5dbe Working test 2023-02-22 21:33:18 -05:00
binwiederhier 29340e7e24 Add test, fails 2023-02-22 21:00:56 -05:00
binwiederhier 4ab450309f Merge branch 'main' into user-account 2023-02-22 19:22:47 -05:00
Karmanyaah Malhotra ce7d447f16 limitRequestsWithTopic 2023-02-21 22:40:15 -06:00
binwiederhier ef9d6d9f6c Support for annual billing intervals 2023-02-21 22:44:30 -05:00
Karmanyaah Malhotra 0e4044b747 rename lastVisitor to vRate 2023-02-21 20:18:04 -06:00
Karmanyaah Malhotra bc3d897d7a Use mutexes in topic 2023-02-21 20:16:03 -06:00
Karmanyaah Malhotra 1655f584f9 rate limiting impl 2.0? 2023-02-21 20:04:56 -06:00
binwiederhier 67b45455b8 Do not panic when changing tiers, and user is nil 2023-02-20 21:46:25 -05:00
Karmanyaah Malhotra 36685e9df9 Suggested changes
- b9badee6db (r1111115151)
- b9badee6db (r1111114771)
2023-02-20 17:58:51 -06:00
binwiederhier 83d7dd99e8 Fix comments 2023-02-20 15:48:34 -05:00
Philipp Born e892b994c3
add support to pass access-token for e-mail publishing 2023-02-20 12:45:43 +01:00
binwiederhier 5f75e98861 Parse nested multipart emails, fixes #610 2023-02-19 10:13:25 -05:00
binwiederhier e9b05e8ed7 Support for base64 encoded emails 2023-02-19 09:39:04 -05:00
binwiederhier fb727fc84a Derp 2023-02-18 19:54:47 -05:00
binwiederhier 96439ac41f Do not set m.Expires if `cache: no` is set 2023-02-18 19:48:21 -05:00
binwiederhier 9ff3bb0c87 Ensure that calls to standard logger `log.Println` also output JSON 2023-02-17 20:52:48 -05:00
binwiederhier 38e7801b41 Fix panic in manager when `attachment-cache-dir` is not set, fixes #617 2023-02-17 15:56:48 -05:00
binwiederhier c8c16eb8e6 Fix failing test 2023-02-16 16:32:43 -05:00
binwiederhier b8e976f4f6 Bump to 2.0.0 2023-02-16 14:21:19 -05:00
binwiederhier 6c51b7558a Fine tuning error messages, add --ignore-exists flag to tier/user command 2023-02-16 10:35:23 -05:00
binwiederhier 76d46ec646 Minor tweaks 2023-02-15 10:55:01 -05:00
Karmanyaah Malhotra b9badee6db remove TTL, will make a seperate PR 2023-02-15 03:38:24 -06:00
Karmanyaah Malhotra c6b64df662 remove ttl 2023-02-15 03:31:59 -06:00
binwiederhier 0df3e3e4f5 Merge branch 'main' into user-account 2023-02-14 21:22:46 -05:00
binwiederhier 8d7ff4d7db SMTP server tests 2023-02-14 20:56:02 -05:00
Karmanyaah Malhotra 7c5b9c0e62 only log expiry if applicable 2023-02-14 14:21:33 -06:00
Karmanyaah Malhotra 6bfe4a9779 Bill to visitor and set TTL in response 2023-02-14 14:07:02 -06:00
Karmanyaah Malhotra fb2fa4c478 Fix m.Expires and prune stale topics based on lastVisitorExpires 2023-02-14 14:00:43 -06:00
Karmanyaah Malhotra 28b654ae27 Keep track of lastVisitor to a topic 2023-02-14 13:58:13 -06:00
binwiederhier 80292f1f4d Tiny changes 2023-02-14 14:26:30 -05:00
Karmanyaah Malhotra d686e1ee77 Use visitor instead of UserID in topicSubscription 2023-02-14 13:07:32 -06:00
binwiederhier 66cf54e458 Fix delayed messages expiry, thanks to @karmanyaahm 2023-02-14 14:05:41 -05:00
binwiederhier 610adb062b More docs 2023-02-14 13:58:49 -05:00
binwiederhier 70aa384bc3 Docs for access tokens 2023-02-13 21:35:58 -05:00
binwiederhier 355424c0da Fix trace logging 2023-02-13 13:20:05 -05:00
binwiederhier bed60b71ff Tester feedback 2023-02-12 21:05:24 -05:00
binwiederhier cc309e87e9 Remove awkward subscription id 2023-02-12 14:09:44 -05:00
binwiederhier 9131d3d521 Token tests 2023-02-12 12:19:46 -05:00
binwiederhier 6b4971786f Fix intermittent test failure; add test for expiring messages after reservation removal 2023-02-12 12:08:56 -05:00
binwiederhier 1f010acb30 Tests for manager.go 2023-02-12 08:29:44 -05:00
binwiederhier 8bf64d8723 A few manager tests 2023-02-11 22:14:09 -05:00
binwiederhier 73b0161ff7 Remove self-review todo 2023-02-11 20:45:04 -05:00
binwiederhier 669d269fd9 Popup click should not open page 2023-02-11 10:52:19 -05:00
binwiederhier b026e45189 Self-review (cont'd) 2023-02-11 10:49:37 -05:00
binwiederhier 7e38419cdb Fix slow test 2023-02-10 21:48:23 -05:00
binwiederhier cfcc3793c5 Fix 404 race when uploading attachments 2023-02-10 21:44:12 -05:00
binwiederhier 5724bdf436 Fix UI bugs 2023-02-10 21:19:44 -05:00
binwiederhier 79f9e78c37 More review stuff 2023-02-09 21:51:12 -05:00
binwiederhier d8dd4c92bf More RWLock. Jeff wins again 2023-02-09 20:49:45 -05:00
binwiederhier dc77efc31a Fix linting 2023-02-09 17:21:12 -05:00
binwiederhier e6bb5f484c Self-review, round 2 2023-02-09 15:24:12 -05:00
binwiederhier bcb22d8d4c Added disallowed-topics 2023-02-09 08:32:51 -05:00
binwiederhier b37cf02a6e Code review (round 1) 2023-02-08 22:57:10 -05:00
binwiederhier 7706bd9845 Fix racing test 2023-02-08 20:00:10 -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 bf96d21d67 Add more logs 2023-02-07 22:45:55 -05:00
binwiederhier 2f0fdf1252 Make logging more efficient 2023-02-07 22:10:51 -05:00
binwiederhier d44a11325d More visitor log fields 2023-02-07 16:20:49 -05:00
binwiederhier a32e8abc12 "ntfy tier" CLI command 2023-02-07 12:02:25 -05:00
binwiederhier e3b39f670f WIP tier CLI 2023-02-06 22:38:22 -05:00
binwiederhier 9b54f63eb1 Error logging 2023-02-06 16:01:32 -05:00
binwiederhier 7cc8c81bd8 Continued logging work 2023-02-05 23:34:27 -05:00
binwiederhier 27bd79febf log.go 2023-02-04 21:26:40 -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 af4175a5bc Fix test, fix #598 2023-02-02 19:07:16 -05:00
binwiederhier 0885951a67 JS error handling 2023-02-02 15:19:37 -05:00
binwiederhier 180a7df1e7 No ripple in dialogs 2023-01-31 22:12:16 -05:00
binwiederhier 07cdf2bc7a Reserve dialogs 2023-01-31 21:39:30 -05:00
binwiederhier 259293f9b3 JS constants 2023-01-30 13:10:45 -05:00
binwiederhier ef8f7c9884 todo 2023-01-30 12:45:53 -05:00
binwiederhier b10b0f8a6a Enable automatic tax 2023-01-30 09:30:51 -05:00
binwiederhier d717bf39ac "ntfy token" CLI 2023-01-29 21:42:40 -05:00
binwiederhier c12ecb9f21 More tests 2023-01-29 20:11:58 -05:00
binwiederhier 00af52411c More billing unit tests 2023-01-29 16:15:08 -05:00
binwiederhier f4c54a1643 Associate file downloads with uploader 2023-01-29 15:11:26 -05:00
binwiederhier 0e36ac84d8 Test anonymous user is same as non-tier user 2023-01-28 21:27:05 -05:00
binwiederhier 92d563371c No more v.user races 2023-01-28 20:43:06 -05:00
binwiederhier e596834096 Add "last access" to access tokens 2023-01-28 20:29:06 -05:00
binwiederhier 000bf27c87 Speed up tests, hopefully fix races 2023-01-28 09:03:14 -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 810a29ea72 Fix go vet 2023-01-26 23:10:58 -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 1771cb3fdb No flickering for sync topic 2023-01-24 15:31:39 -05:00
binwiederhier eecd689ad5 Fix sync display name and delete after issue 2023-01-24 15:05:19 -05:00
binwiederhier a278297f28 Fix websocket issue 2023-01-24 14:44:14 -05:00
binwiederhier 0d537c8a24 Reserve icons 2023-01-23 20:04:04 -05:00
binwiederhier bce71cb196 Kill existing subscribers when topic is reserved 2023-01-23 14:05:41 -05:00
binwiederhier e82a2e518c Add password confirmation to account delete dialog, v1/tiers test 2023-01-23 10:58:39 -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 88abd8872d Changing password should confirm the old password 2023-01-21 20:52:16 -05:00
binwiederhier c66a9851cc Re-add password confirmation 2023-01-21 20:07:39 -05:00
binwiederhier 14f3571e67 More TODOs 2023-01-21 16:19:48 -05:00
binwiederhier 5a7cedce95 More TODOs, hurray 2023-01-21 16:02:56 -05:00
binwiederhier 5b14c76e54 Revert home page to existing page 2023-01-21 08:55:31 -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 4e51a715c1 Allow mocking the Stripe API 2023-01-18 23:01:26 -05:00
binwiederhier 3bd6518309 Fix a bunch of FIXMEs 2023-01-18 15:50:06 -05:00
binwiederhier f945fb4cdd A little polishing, make upgrade banner work when not logged in 2023-01-18 13:46:40 -05:00
binwiederhier cead305a9a Make prettier 2023-01-17 20:21:19 -05:00
binwiederhier 4092f7fd51 Upgrade dialog looks nice now 2023-01-17 19:40:03 -05:00
binwiederhier 695c1349e8 Upgrade dialog 2023-01-17 10:09:37 -05:00
binwiederhier 83de879894 publishSyncEvent, Stripe endpoint changes 2023-01-16 16:35:37 -05:00
binwiederhier 7faed3ee1e Add "Canceled" banner 2023-01-16 10:35:12 -05:00
binwiederhier c06bfb989e Payment stuff, cont'd 2023-01-15 23:29:46 -05:00
binwiederhier 01fd4754f9 WIP: Stripe integration 2023-01-14 06:43:44 -05:00
binwiederhier 7007c0a0bd Docs 2023-01-12 12:04:18 -05:00
binwiederhier 24529bd0ad Rename /access to /reservation 2023-01-12 10:50:09 -05:00
binwiederhier fdee54f921 Account sync in action 2023-01-11 21:38:10 -05:00
binwiederhier 3dd8dd4288 Stats resetter at midnight UTC 2023-01-10 22:51:51 -05:00
binwiederhier 2908c429a5 Set sync_topic in migration 2023-01-10 15:41:08 -05:00
binwiederhier 7e528d9c10 Sync topic (begin), rename user fields 2023-01-09 21:53:21 -05:00
binwiederhier b27c608508 useContext work in JS 2023-01-09 20:37:13 -05:00
binwiederhier a4529617cc Make upgrade banner bigger 2023-01-09 17:56:51 -05:00
binwiederhier a6564fb43c Add "expires" stuff to message cache migration 2023-01-09 16:21:00 -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 df512d0ba2 Add todo 2023-01-07 13:23:45 -05:00
binwiederhier a54a11db88 Plan-based message and attachment expiry 2023-01-07 09:34:02 -05:00
binwiederhier ac4042ca04 Tests for /access endpoints 2023-01-06 10:45:38 -05:00
binwiederhier a51d95743a Reject reservation limits in endpoint 2023-01-05 21:15:10 -05:00
binwiederhier 1e7dd8fc80 TODOs 2023-01-05 20:43:36 -05:00
binwiederhier 7fa63c8e19 Prune excess tokens per user 2023-01-05 20:22:34 -05:00
binwiederhier 60f1882bec Startup queries, foreign keys 2023-01-05 15:20:44 -05:00
binwiederhier 3280c2c440 Upgrade banner 2023-01-04 22:47:12 -05:00
binwiederhier a91da7cf2c Reserved topic stuff 2023-01-04 20:34:22 -05:00
binwiederhier 36c0be1097 Upgrade smtp library, but not tests 2023-01-04 09:31:32 -05:00
binwiederhier 4b9d40464c Replace read/write flags with Permission 2023-01-02 21:12:42 -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 2267d27c9b User-owned ACL entries 2023-01-01 15:21:43 -05:00
binwiederhier 598d0bdda3 Some tests 2022-12-31 16:08:49 -05:00
binwiederhier 0bb3c84b9e More tests 2022-12-31 10:16:14 -05:00
binwiederhier 3d921f4570 Not really an improvemenNot really an improvementt 2022-12-31 09:31:46 -05:00
binwiederhier bd86e3d951 Basic user access endpoint 2022-12-30 14:20:48 -05:00
binwiederhier b131d676c4 Gradient header 2022-12-30 10:31:52 -05:00
binwiederhier 036f08a729 Make homepage slightly nicer looking 2022-12-29 21:53:41 -05:00
binwiederhier f4ffcebb14 User database migration 2022-12-29 13:08:47 -05:00
binwiederhier bd2ec7b2af More manager tests 2022-12-29 11:09:45 -05:00
binwiederhier 57814cf855 Tests 2022-12-29 09:57:42 -05:00
binwiederhier 66cb35b5fc Translations 2022-12-29 08:20:53 -05:00
binwiederhier 9be8be49ef Translations 2022-12-29 02:32:05 -05:00
binwiederhier 3512db1fe7 Test account api (WIP) 2022-12-28 22:16:11 -05:00
binwiederhier 367d024a2d Simplify API endpoints; add endpoint tests 2022-12-28 19:55:11 -05:00
binwiederhier 7ca9afad57 Account API endpoint fixes 2022-12-28 15:51:09 -05:00
binwiederhier f79348817f More tests 2022-12-28 13:46:18 -05:00
binwiederhier a2e474c375 Fix all the tests 2022-12-28 13:28:28 -05:00
binwiederhier d9722a9825 Fix almost all tests 2022-12-27 22:14:14 -05:00
binwiederhier 95a8e64fbb Figure out user manager for account user 2022-12-26 21:27:07 -05:00
binwiederhier dbd8efbf16 Todo 2022-12-25 22:30:58 -05:00
binwiederhier 2fb4bd4975 Display name sync 2022-12-25 22:29:55 -05:00
binwiederhier 7ae8049438 Extend session token from web app 2022-12-25 13:42:44 -05:00
binwiederhier d4c7ad4beb Rename auth package to user; add extendToken feature 2022-12-25 11:41:38 -05:00
binwiederhier 3aac1b2715 Redirect UI if unauthorized API response 2022-12-24 15:51:22 -05:00
binwiederhier 1b39ba70cb Merge branch 'main' into user-account 2022-12-24 12:26:56 -05:00
binwiederhier dd282963c3 Health API endpoint 2022-12-24 12:22:54 -05:00
binwiederhier fb470eec79 Sign up rate limit 2022-12-24 12:10:51 -05:00
binwiederhier 7bd1c6e115 Check username taken 2022-12-24 08:15:39 -05:00
binwiederhier 7a507505aa Merge branch 'main' into user-account 2022-12-23 09:37:47 -05:00
binwiederhier 92d7e5c58a Bump version 2022-12-23 08:38:45 -05:00
binwiederhier b5e2c83fba stuff 2022-12-21 21:55:39 -05:00
binwiederhier d982ce13f5 UI work, config.js stuff 2022-12-21 13:19:07 -05:00
binwiederhier cc55bec521 Write stats to user table asynchronously 2022-12-20 21:18:33 -05:00
binwiederhier 2f567af80b more TODOs, IP basis section 2022-12-19 22:19:44 -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