Commit graph

3182 commits

Author SHA1 Message Date
Hazelnoot
fd0ecb22cf merge: Fix rate limits under multi-node environments (!809)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/809

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-15 16:53:48 +00:00
JeDaYoshi
535e0c69ce
Fix notifications breaking due to deleted role being assigned 2024-12-13 16:49:19 -04:00
dakkar
9b1fc96908 fix passing rate limiting info via ApiError 2024-12-13 16:18:10 +00:00
dakkar
0c1dd73341 on 429, retry fetchAccount instead of failing
when switching between accounts, with many tabs open (10 seem to be
enough), they all hit the endpoint at the same time, and some get rate
limited.

treating a 429 as a fatal error confuses the frontend, which ends up
logging the user out of all their accounts.

this code makes the frontend retry, after waiting the appropriate
amount of time.

seems to work fine in my testing.
2024-12-13 16:18:10 +00:00
Hazelnoot
34c5a3a3b6 fix WebhookTestService.ts 2024-12-12 08:13:47 -05:00
Hazelnoot
d95ec3de5f fix declaration of User.enableRss property 2024-12-12 08:13:47 -05:00
Hazelnoot
1c65f23445 safer typings for userNeedsPublishing and profileNeedsPublishing 2024-12-12 08:13:44 -05:00
Hazelnoot
02b600c9da federate profile when changing enableRss value 2024-12-12 08:12:44 -05:00
Hazelnoot
fe37aa2ce8 Add "enable RSS" user privacy toggle 2024-12-12 08:11:55 -05:00
dakkar
943c6414d8 merge: Enable by default and federate "hide online status" (resolves #823) (!807)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/807

Closes #823

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-12-12 13:08:19 +00:00
Hazelnoot
00c4637b11 federate profile when hideOnlineStatus changes 2024-12-12 07:34:14 -05:00
Hazelnoot
755ff8783b clarify naming of legacy rate limit methods 2024-12-11 14:07:25 -05:00
Hazelnoot
72d18602d8 fix SkRateLimiterService tests 2024-12-11 14:07:14 -05:00
Hazelnoot
1377873b1d fix typos and wording in SkRateLimiterService.md 2024-12-11 11:16:30 -05:00
Hazelnoot
0f5c78a69b increase chart rate limits (fixes 429s in control panel / info pages) 2024-12-11 09:10:56 -05:00
Hazelnoot
0ea9d6ec5d use atomic variant of Leaky Bucket for safe concurrent rate limits 2024-12-11 09:10:11 -05:00
Hazelnoot
407b2423af fix redis transaction implementation 2024-12-10 19:01:35 -05:00
Hazelnoot
ead781900d enable rate limits for dev environment 2024-12-09 19:04:59 -05:00
Hazelnoot
9daafca155 fix rate limits under multi-node environments 2024-12-09 19:04:06 -05:00
Marie
bf01dcd8fb
Apply suggestions 2024-12-09 18:58:57 +01:00
Hazelnoot
5af8432725 federate hideOnlineStatus 2024-12-09 09:36:23 -05:00
Hazelnoot
b7a6ccfef9 enable hideOnlineStatus by default for new users 2024-12-09 09:29:42 -05:00
Marie
f02d099413
fix deletion of scheduled note 2024-12-09 06:15:29 +01:00
Marie
152cc07483
Apply suggestions 2024-12-09 05:58:25 +01:00
Marie
1d3c825398
upd: add notification for when scheduled note gets posted 2024-12-09 05:33:19 +01:00
Marie
170093f2a2
chore: remove from note required type 2024-12-09 05:33:08 +01:00
Marie
fc9d777dc3
upd: add notification for failures, add reasons for failure, apply suggestions 2024-12-09 05:32:51 +01:00
Marie
4f58b8de20
fix: drive content not being loaded 2024-12-09 05:31:36 +01:00
NoriDev
2528508cff
feat: 노트 게시를 예약할 수 있음 (yojo-art/cherrypick#483, [Type4ny-Project/Type4ny@271c872c](271c872c97)) 2024-12-09 05:31:03 +01:00
dakkar
92ffd2a5fc merge: Implement new SkRateLimiterServer with Leaky Bucket rate limits (resolves #592) (!799)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/799

Closes #592

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-08 20:49:07 +00:00
Hazelnoot
a754a9947b merge: Synchronize app startup (!788)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/788

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-12-08 19:19:28 +00:00
Hazelnoot
2946f85592 fix type errors from new rate limit definitions 2024-12-08 13:22:07 -05:00
Hazelnoot
fc4599ec07 fix rate limit scaling (it's no longer inverted) 2024-12-08 12:02:58 -05:00
Hazelnoot
91c9b67cb0 bypass rate limits when factor is 0 2024-12-08 11:58:57 -05:00
Hazelnoot
6fa0f2230e increase rate limit for /api/endpoint based on real-world testing 2024-12-08 11:56:48 -05:00
Hazelnoot
2bcac80092 use fraction seconds for rate limit headers 2024-12-08 11:56:26 -05:00
CenTdemeern1
85bbfd2e2b Resolve frontend/backend contradiction for home visibility embeds
This now uses the same check from `packages/frontend/src/scripts/get-note-menu.ts`
2024-12-08 17:52:26 +01:00
Hazelnoot
7c002ce56e move all Rate Limit type defs to rate-limit-utils.ts 2024-12-08 11:33:57 -05:00
Hazelnoot
8b091f77ca check for invalid rate limit inputs 2024-12-08 09:46:49 -05:00
Hazelnoot
a7a1edc92e fix NaN from extremely high rate limits 2024-12-08 09:22:38 -05:00
Hazelnoot
2781f53d6b support fractional rate limit scaling 2024-12-08 08:32:05 -05:00
Hazelnoot
ffbdfa9123 Synchronize server startup
This prevents an edge case where the server begins processing inbound API / AP requests before any of the chart / management daemons are ready, potentially leading to incorrect chart statistics.
2024-12-08 08:01:33 -05:00
Hazelnoot
afb026ebea fix import order in SigninWithPasskeyApiService 2024-12-08 07:49:06 -05:00
Hazelnoot
fc5399a67d revert un-needed changes to RateLimiterService 2024-12-08 07:47:52 -05:00
Hazelnoot
f6b256620b separate SkRateLimiterService from RateLimiterService and update all usages 2024-12-07 13:13:19 -05:00
Hazelnoot
29c3beaa62 respect rate limit factor in FileServerService 2024-12-07 12:18:42 -05:00
Hazelnoot
32635ecc25 fix rate limit storage in redis 2024-12-07 12:15:38 -05:00
Hazelnoot
8239ce4282 fix incorrect X-RateLimit-Remaining header 2024-12-07 12:14:42 -05:00
Hazelnoot
7698db88e5 fix DI in SkRateLimiterService 2024-12-07 12:14:25 -05:00
Hazelnoot
ffc2737478 implement SkRateLimiterService with Leaky Bucket rate limiting 2024-12-07 10:22:49 -05:00