Commit graph

1938 commits

Author SHA1 Message Date
Hazelnoot
84ca3621d8 fix users/report-abuse endpoint being really slow 2025-07-27 18:08:38 +01:00
Hazelnoot
2c8c422cb6 include profile URI for link verification 2025-07-27 18:03:35 +01:00
Hazelnoot
ea9335bcc8 fix more freeze / unfreeze errors caused by TypeORM bugs 2025-07-27 18:01:11 +01:00
Hazelnoot
73f2ee4fb3 fix user suspension / unsuspension not updating caches 2025-07-27 18:01:11 +01:00
Hazelnoot
f937f2d3c6 fix error in UserSuspendService.freezeAll and UserSuspendService.unFreezeAll caused by TypeORM bug 2025-07-27 18:01:11 +01:00
Hazelnoot
3dde7f25a6 move CaptchaError to a separate file to avoid circular import errors 2025-07-27 17:57:30 +01:00
Hazelnoot
d36b94c8cf fix URL errors from incorrect validation in validateActor 2025-07-27 17:57:30 +01:00
Hazelnoot
d3f672657e re-use parsed URI in validateActor 2025-07-27 17:57:30 +01:00
Hazelnoot
df0331ea04 verify URLs in DownloadService 2025-07-27 17:57:30 +01:00
Hazelnoot
982223ad38 validate all URLs before fetch 2025-07-27 17:57:26 +01:00
наб
c6e4c9294f
Allow for sending announcement mails with List-Unsubscribe:
Per https://datatracker.ietf.org/doc/html/rfc8058,
we send "announcement" mails with
  List-Unsubscribe: <${apiUrl}/unsubscribe/${userId}/${oneClickUnsubscribeToken}>
  List-Unsubscribe-Post: List-Unsubscribe=One-Click
and handle
  POST /api/unsubscribe/:user/:token => this unsubscribes
  GET  /api/unsubscribe/:user/:token => 302 /unsubscribe/:user/:token
  GET  /unsubscribe/:user/:token     => user-visible page with clickthrough confirmation

In this configuration, compatible MUAs will show an "unsubscribe" button
that, when clicked, will POST to the URL directly

Less-compatible MUAs (and scanners) will open the page directly
which will redirect to a click-though; interactive users will be able to
unsubscribe, scanners won't unsubscribe by accident

Nothing /actually/ sends non-reactive mails,
so this is never used at this time

Closes #854
2025-07-27 18:29:16 +02:00
Hazelnoot
924528749b fix cherry-pick error: restore CacheService.findOptionalUserById 2025-07-27 12:04:59 -04:00
Hazelnoot
534a25ddbf fix users/report-abuse endpoint being really slow 2025-07-27 12:04:42 -04:00
Hazelnoot
51ad31b5a4 merge: disable outgoing mastodon quotes *FOR STABLE* (!1169)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1169

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 15:30:10 +00:00
Hazelnoot
07295ad62d merge: Split descriptions. (!1167)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1167

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 15:29:41 +00:00
Hazelnoot
6173a827f7 merge: Deduplicate job queues (!1190)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1190

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 15:28:18 +00:00
Marie
41be003d79 merge: Slightly optimize i/update-remote-user endpoint by fetching from cache (!1185)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1185

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 14:23:06 +00:00
Hazelnoot
b6c8f4f876 merge: Add more "detail" flags to API endpoints (!1186)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1186

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 14:22:11 +00:00
Hazelnoot
1cf5988885 merge: Improve URL validation (!1155)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1155

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 14:21:20 +00:00
Hazelnoot
e46c3f14fa merge: Fix occasional API errors caused by null jobs (!1179)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1179

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 14:18:45 +00:00
Hazelnoot
94b6dec543 merge: Fix Postgres / TypeORM errors when suspending a user with follow relations (resolves #482) (!1178)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1178

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 14:14:13 +00:00
Hazelnoot
57d77b8f99 merge: Fix link verification for actors without a url field (!1180)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1180

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 14:13:51 +00:00
Hazelnoot
9eaf397b2d de-duplicate export jobs 2025-07-26 19:41:39 -04:00
Hazelnoot
30ea722751 de-duplicate delete drive files jobs 2025-07-26 19:39:50 -04:00
Hazelnoot
95a27f4eb4 de-duplicate object storage jobs 2025-07-26 19:39:01 -04:00
Hazelnoot
fc4ed0da5a de-duplicate relationship jobs 2025-07-26 19:37:54 -04:00
Hazelnoot
b9e610473b de-duplicate delete account jobs 2025-07-26 19:36:47 -04:00
Hazelnoot
4b29d59a9b de-duplicate import jobs 2025-07-26 19:34:58 -04:00
Hazelnoot
7da9225104 de-duplicate inbox activities by ID 2025-07-26 19:21:29 -04:00
Hazelnoot
71487f7881 render Update(*) activities with deterministic IDs 2025-07-26 19:21:19 -04:00
Hazelnoot
88231c61af merge: Change profile field value to not include <p> (!1141)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1141

Closes #1123

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-07-26 22:49:40 +00:00
Hazelnoot
a1bd0a3580 fix two instances of logging full exceptions 2025-07-25 17:00:53 -04:00
Hazelnoot
53c7db3d1d fix DI error in HttpRequestService.ts 2025-07-25 16:33:15 -04:00
Hazelnoot
05bc6f5d86 resolve domain names when checking for private URLs 2025-07-25 16:28:53 -04:00
bunnybeam
4926afc264
move dialog announcement check into different function 2025-07-23 22:45:20 +01:00
Hazelnoot
6c9c6aa1b6 fix more freeze / unfreeze errors caused by TypeORM bugs 2025-07-23 16:11:44 -04:00
Hazelnoot
7dd2021087 fix user suspension / unsuspension not updating caches 2025-07-23 16:11:44 -04:00
bunnybeam
e5aabb2978
simplify dialog announcement check 2025-07-23 20:56:50 +01:00
bunnybeam
47f44a0d4c
fix not being able to create any dialog announcements 2025-07-23 20:49:51 +01:00
bunnybeam
ec62953224
throw error when creating too many dialog announcements by updating one 2025-07-23 20:46:13 +01:00
Hazelnoot
f70a3469bd fix error in UserSuspendService.freezeAll and UserSuspendService.unFreezeAll caused by TypeORM bug 2025-07-23 15:45:32 -04:00
bunnybeam
c811f3a9b9
add check to prevent creating too many dialog announcements 2025-07-23 18:40:15 +01:00
Hazelnoot
63bac24ece allow HTTP connections to private IPs 2025-07-21 16:16:33 -04:00
Hazelnoot
fba171840f refactor actor validation to reduce code duplication 2025-07-21 16:16:33 -04:00
Hazelnoot
8107f7f576 move CaptchaError to a separate file to avoid circular import errors 2025-07-21 16:16:33 -04:00
Hazelnoot
1758b5b3be fix URL errors from incorrect validation in validateActor 2025-07-21 16:16:33 -04:00
Hazelnoot
48fa42b362 re-use parsed URI in validateActor 2025-07-21 16:16:33 -04:00
Hazelnoot
ba9ec3bcee verify URLs in DownloadService 2025-07-21 16:16:33 -04:00
Hazelnoot
15f6c6ca93 validate all URLs before fetch 2025-07-21 16:16:32 -04:00
Hazelnoot
f163e15602 move user.lastFetchedAt to UserLite 2025-07-21 16:13:00 -04:00