Commit graph

3289 commits

Author SHA1 Message Date
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
3864d1dacf Merge branch 'develop' into feature/2024.10
# Conflicts:
#	packages/frontend/src/pages/admin/index.vue
2024-12-08 08:07:55 -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
Hazelnoot
f59af78d8a merge: Fix Content-Length resetting for partial content length requests (!796)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/796

Closes #824

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-12-07 13:40:32 +00:00
Hazelnoot
57deef320e restore functionality of MK_NO_DAEMONS option 2024-12-06 10:48:41 -05:00
dakkar
74b9351572 Merge branch 'develop' into feature/2024.10 2024-12-05 09:17:55 +00:00
dakkar
ab9969283b merge: maybe laxer match on authority - fixes #815 (!773)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/773

Closes #815

Approved-by: Amber Null <puppygirlhornyposting@gmail.com>
Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-05 09:12:05 +00:00
Ada
6a4ed3a3ea
Fix Content-Length resetting for partial content length requests 2024-12-04 19:59:30 +00:00
Marie
7dc90e078e merge: Interpret Dislike activities as Undo(Like) (resolves #800) (!731)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/731

Closes #800

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-01 09:38:22 +00:00
Marie
69ffa0e520 merge: Add option filePermissionBits to override permissions on locally-stored files (!791)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/791

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-01 09:14:37 +00:00
Hazelnoot
3d3cf5bd7a add option filePermissionBits to override permissions on locally-stored files
This is useful for custom deployments, such as using a reverse proxy to serve static files directly
2024-11-29 13:00:51 -05:00
Hazelnoot
e6e48fb6bc interpret Dislike activities as Undo(Like) 2024-11-29 12:43:04 -05:00
dakkar
2cf883a1c0 fix typo after merge from develop 2024-11-29 14:22:03 +00:00
dakkar
66dd12fb8a Merge branch 'develop' into feature/2024.10 2024-11-29 11:42:47 +00:00
dakkar
51afbbaf72 handle .masto.host specially 2024-11-29 11:39:18 +00:00
dakkar
f0139ae1e0 actually use the correct import syntax
CenTdemeern1 had told me, but I got it wrong ☹
2024-11-29 11:39:18 +00:00
dakkar
97d17c537b spaces / lint 2024-11-29 11:39:18 +00:00
dakkar
82376f312d use "userland" punycode, plus tests
thanks to CenTdemeern1 for the `import` incantation
2024-11-29 11:39:18 +00:00
dakkar
fd2af6dfe6 silence linter?
it started complaining about that `true &&` all of a sudden
2024-11-29 11:39:18 +00:00
dakkar
387dc4bb4b UNTESTED maybe laxer match on authority - fixes #815 2024-11-29 11:39:17 +00:00
Hazelnoot
536060e63c merge: Clear jobs from blocked domains (resolves #773) (!720)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/720

Closes #773

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-29 10:29:27 +00:00
Hazelnoot
0efd5eff2b remove unused import from InternalStorageService 2024-11-28 19:17:34 -05:00
dakkar
eb25238a8e Merge branch 'develop' into feature/2024.10 2024-11-28 11:17:27 +00:00
Julia
52976588a7 merge: Bump develop version (!789)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/789
2024-11-28 06:15:32 +00:00
dakkar
9309872cff simpler check for "property present" 2024-11-27 21:25:54 +00:00
dakkar
3ea85b14a3 silence linter
those objects always have the normal prototype, and can't have
`hasOwnProperty` redefined, let me call it normally

(otherwise I'd have to write
`Object.prototype.hasOwnProperty.call(newUser, field)` and that's
ugly)
2024-11-27 21:01:12 +00:00
dakkar
3164e7b4fc merge: only "publish to followers" when things really change - fixes #733 (!781)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/781

Closes #733

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 20:41:37 +00:00
dakkar
3a020d53d1 merge: better poll editing - fixes #668 (!783)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/783

Closes #668

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 20:41:19 +00:00
Marie
92db359654 lint 2024-11-27 19:26:56 +00:00
Marie
531a003a2a merge: embed video thumbnail (!782)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/782

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 19:20:54 +00:00
Marie
436e93540a merge: use a better random integer generator - fixes #810 (!779)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/779

Closes #810

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 19:19:34 +00:00
Hazelnoot
ebb6ac195f merge: Allow anonymous activities (resolves #819) (!776)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/776

Closes #819

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 17:32:33 +00:00
dakkar
1f53eb2ed1 better poll editing - fixes #668
* editing _just the poll_ is now recognised as an actual change to the
  note
* the "poll ended" notification job is now replaced (with potentially
  the new expiry time)
2024-11-27 11:57:19 +00:00
dakkar
1626e50fbf expose video thumbnail to 3rd parties "cards" 2024-11-27 11:23:32 +00:00
dakkar
fc277839b6 only "publish to followers" when things really change - fixes #733 2024-11-27 10:36:19 +00:00
dakkar
57b31366e5 fix XRD+XML serialisation of Alias 2024-11-27 10:06:21 +00:00
dakkar
2e3eaaddcc use a better random integer generator - fixes #810 2024-11-27 09:33:20 +00:00
dakkar
1ec5e846c5 merge: Add aliases to webfinger request. (!778)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/778

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-27 09:29:33 +00:00
piuvas
f1168f0165
add profile link to aliases 2024-11-26 20:31:20 -03:00
Hazelnoot
1e99782666 allow anonymous activities (resolves #819) 2024-11-26 09:05:04 -05:00
Hazelnoot
face6527f2 remove duplicate check for note.url 2024-11-26 08:59:08 -05:00
Hazelnoot
43d87270d9 improve AP error formtting 2024-11-26 08:59:08 -05:00
Hazelnoot
3e72d99cf9 fix build errors in ApNoteService.ts 2024-11-26 08:59:08 -05:00
Hazelnoot
6f8736c1af improve comment on getNullableApId 2024-11-26 08:59:08 -05:00
Hazelnoot
baf19420dd log details when a quote fails to resolve 2024-11-26 08:59:08 -05:00
Hazelnoot
b951b31ef5 use IdentifiableError in ApImageService.createImage 2024-11-26 08:59:08 -05:00
Hazelnoot
4ec6bffca7 don't suppress errors when Update(Question) or Update(Note) fails 2024-11-26 08:59:08 -05:00
Hazelnoot
c5f572dcfd clarify logging when a Move (migration) is rejected 2024-11-26 08:59:08 -05:00
Hazelnoot
f4ec837d6e clarify "unknown activity type" logging in ApInboxService.undo 2024-11-26 08:59:08 -05:00
Hazelnoot
f115116454 skip Delete(Note) activities when the note is already deleted 2024-11-26 08:59:08 -05:00
Hazelnoot
9eb98ae8a5 clarify logging for Create/Update type checks 2024-11-26 08:59:08 -05:00
Hazelnoot
3f5ea11a1f clarify logging when an inbox job is skipped or fails 2024-11-26 08:59:08 -05:00
Hazelnoot
4708c0abef don't retry jobs when processing returns a non-retryable error 2024-11-26 08:59:08 -05:00
Hazelnoot
b9fd7e1b77 clarify "failed to resolve quote" message 2024-11-26 08:59:08 -05:00
Hazelnoot
2afbd251e1 avoid potential crash if Question activity is corrupt 2024-11-26 08:59:08 -05:00
Hazelnoot
ab97b91606 improve AP job clearing and failure logging 2024-11-26 08:59:06 -05:00
Hazelnoot
a47590e64c add shared (cross-resource) rate limit for proxy 2024-11-25 13:03:51 -05:00
Hazelnoot
1fb1875ac3 normalize AP IDs during verification 2024-11-23 20:23:05 -05:00
dakkar
c4334bff81 honour blocks and "signing required" for note versions 2024-11-23 12:37:15 +00:00
dakkar
f9912e4ae5 allow overriding setupPassword via env
not sure how useful this is, but let's keep complete coverage
2024-11-23 11:03:48 +00:00
dakkar
6c13dc04f2 Merge branch 'develop' into feature/2024.10 2024-11-23 10:41:33 +00:00
dakkar
b4a278ae54 merge: Comply with type for Packed<'Note'> (fixes aria client compatibility) (!771)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/771

Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-22 23:57:22 +00:00
dakkar
a51fef29c0 remove minInterval from FileServerService
when showing a reply, browser will request the replied-to avatar twice
at the same time, and get confused if one of the requests is refused

something similar seems to happen with videos and their previews
2024-11-22 23:25:07 +00:00
dakkar
8e07eb7f44 remove duplicate limit
the `users/lists/push` endpoint already has a limit, of 30/hour
2024-11-22 23:14:37 +00:00
dakkar
caaa78d98d merge: Add default rate limit (!768)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/768

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Tess K <me@thvxl.se>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 23:03:34 +00:00
dakkar
0ea0466313 merge: Filter Add / Remove activities with non-Note payloads (resolves #750) (!693)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/693

Closes #750

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 23:03:12 +00:00
dakkar
3ae9f4e8e6 merge: Accept Like(Note) and Update(Note) activities where the Note isn't already cached (resolves #795 and #748) (!729)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/729

Closes #795 and #748

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 23:02:39 +00:00
Hazelnoot
3faad0a5e5 merge: Fix typo "to many requests" (!769)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/769

Approved-by: Tess K <me@thvxl.se>
Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 21:33:03 +00:00
tess
ebdfb2feb7 Comply with type for Packed<'Note'> 2024-11-22 21:57:04 +01:00
Hazelnoot
dbab122a99 fix typo "to many requests" 2024-11-22 15:26:55 -05:00
Hazelnoot
e3b826db5a add rate limits to all public endpoints 2024-11-22 15:19:24 -05:00
Hazelnoot
7e3f519a5b merge: Fix note hiding when renote and target have different visibility settings (resolves #803) (!741)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/741

Closes #803

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 19:35:19 +00:00
Hazelnoot
6b54405003 add default / fallback rate limit 2024-11-22 13:53:41 -05:00
Hazelnoot
e32fb4e86d remove unused import from ApInboxService.ts (introduced by merge error) 2024-11-22 09:22:26 -05:00
Hazelnoot
2b9c3f0d5c log type of unsupported featured object 2024-11-22 09:20:49 -05:00
Hazelnoot
ae7b90de6c allow any valid post to be featured, not just Note 2024-11-22 09:20:46 -05:00
Hazelnoot
d74cf9e4ff filter Add / Remove activities with non-Note payloads 2024-11-22 09:20:11 -05:00
Hazelnoot
9d5bc6cb28 pass resolver when creating notes via side-effect 2024-11-22 09:16:52 -05:00
Hazelnoot
9d3321fca4 allow Update(Note) and Update(Poll) to implicitly create missing notes 2024-11-22 09:16:48 -05:00
Hazelnoot
2bbccde2ce reduce inbox log spam when fetching blocked / unavailable notes 2024-11-22 09:16:03 -05:00
Hazelnoot
47eb0daebb fetch target note of Like(Note) activities 2024-11-22 09:16:03 -05:00
dakkar
56563d8dc4 fix lints 2024-11-22 13:11:16 +00:00
dakkar
efeb5ba08b remove duplicate import 2024-11-22 12:54:32 +00:00
dakkar
9dbed8fb3e maybe improve note validation on update? 2024-11-22 12:31:14 +00:00
dakkar
bc816cb166 Merge tag '2024.11.0' into feature/2024.10 2024-11-22 12:29:04 +00:00
dakkar
585052646a better wording for moderator inactivity messages 2024-11-22 10:49:16 +00:00
dakkar
d069d78c21 Merge branch 'develop' into feature/2024.10 2024-11-22 10:42:58 +00:00
Hazelnoot
fadcabeaa6 merge: Don't preview URLs to blocked hosts (!751)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/751

Approved-by: Tess K <me@thvxl.se>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-22 10:37:29 +00:00
Hazelnoot
2ac36e4a5c merge: Fix federation error "The note creation failed with duplication error even when there is no duplication" (resolves #749) (!745)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/745

Closes #749

Approved-by: Tess K <me@thvxl.se>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-22 10:37:11 +00:00