Commit graph

2195 commits

Author SHA1 Message Date
Hazelnoot
b39439f9fb merge: Fix factor scaling in rate limit *FOR STABLE* (!1194)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1194

Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-07-27 18:02:12 +00:00
Hazelnoot
823fdf2745 merge: Fix link verification for actors without a url field *FOR STABLE* (!1193)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1193

Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-07-27 18:01:58 +00:00
Hazelnoot
84ca3621d8 fix users/report-abuse endpoint being really slow 2025-07-27 18:08:38 +01:00
Hazelnoot
9ac58e6107 scale rate limit dripRate with factor 2025-07-27 18:05:35 +01:00
Hazelnoot
2c8c422cb6 include profile URI for link verification 2025-07-27 18:03:35 +01:00
dakkar
c927c30567 mark grouped notifs by oldest id - sort-of fix 1139
Misskey's code does the same, but our groups behave differently enough
that this may be not the best choice

for example, let's say we have:

- notifications 1-5 for reaction to note A
- notifications 6-8 for reaction to note B
- notifications 9-12 for reaction to note A
- notification 13-19 for non-groupable events
- notification 20 for reaction to note A

and that events happened one every minute (so the last notification is
from 20 minutes ago)

client requests the most recent 10 notifications; we fetch
notifications 1-10, and reply:

- grouped id 6 for reactions 6-8 to note B
- grouped id 10 for reactions 1-5, 9-10 to note A

then the client requests 10 more notifications, untilId=10; we fetch
notifications 11-20, and reply:

- non-grouped notifications 13-19
- grouped id 20 for reactions 11,12,20 to note A

because we sort by id, and also the `createdAt` marks the _newest_
event in each group, the client will then show:

  6 reactions to note B, 6 minutes ago
  4 reactions to note A, 1 minute ago
  notifications 13-19, 13 minutes to 19 minutes ago
  3 reactions to note A, 11 minutes ago

I don't know how to make this work better ☹
2025-07-03 14:16:20 +01:00
Hazelnoot
82b90d02ae don't allow boosts to be fetched as a note over AP 2025-06-18 10:37:30 -04:00
Hazelnoot
1aeaee7f7c filter boosts out of pinned notes when federating 2025-06-18 10:37:11 -04:00
Hazelnoot
c35da729fc merge: Check privacy settings in charts/user/following (resolves #1107) (!1124)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1124

Closes #1107

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 19:49:26 +00:00
Hazelnoot
7a25ff3d65 check privacy settings in charts/user/following 2025-06-14 14:14:02 -04:00
Marie
db4f6d50a4 merge: group notifications regardless of when they happened - fix #633 (!1123)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1123

Closes #633

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 18:07:07 +00:00
dakkar
b0275f86fe annotate types 2025-06-14 18:38:18 +01:00
Hazelnoot
f6964f6e27 merge: Show signup reason in user admin screen (resolves #1090) (!1114)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1114

Closes #1090

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 17:30:17 +00:00
Marie
f58badade8 merge: Hide admin secrets from the mod log (resolves #44) (!1120)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1120

Closes #44

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 16:16:58 +00:00
dakkar
c882a4294d group notifications regardless of when they happened - fix #633 2025-06-14 17:02:00 +01:00
Hazelnoot
6da1165e29 hide admin secrets from the mod log 2025-06-14 00:24:32 -04:00
Hazelnoot
b44abe0eaa set X-Robots-Tag to disable indexing API endpoints 2025-06-13 23:18:06 -04:00
Hazelnoot
aa40b8ca0d show signup reason in user admin screen 2025-06-13 20:01:06 -04:00
Hazelnoot
7eca06d672 use pnpm package alias for @transfem-org/sfm-js 2025-06-12 21:11:16 -04:00
Hazelnoot
1a964cb6c0 pcleanup dependencies:
* Consolidate multiple different HTML/XML/RSS libraries to use the Cheerio stack
* Remove unused deps
* Move dev dependencies to correct section
* Pin versions where missing
2025-06-12 21:11:16 -04:00
Hazelnoot
55551a5a8a merge: Avoid more N+1 queries in NoteEntityService and UserEntityService (!1099)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1099

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-12 15:42:39 +00:00
Hazelnoot
8f5212e453 enforce DM visibility in notes/mentions 2025-06-10 20:07:01 -04:00
Hazelnoot
c200ed3666 fix relations in MastodonDataService.ts 2025-06-09 12:48:32 -04:00
Hazelnoot
fa68751a19 normalize userFollowingsCache / userFollowersCache and add hibernatedUserCache to reduce the number of cache-clears and allow use of caching in many more places 2025-06-09 11:02:51 -04:00
Hazelnoot
853b548a43 re-type userFollowingsCache to match the others 2025-06-09 11:02:36 -04:00
Hazelnoot
bd8cd8c4e4 use more bulk hints in NoteEntityService / UserEntityService, and run the packMany queries in parallel 2025-06-09 11:02:36 -04:00
Hazelnoot
46a6612dc0 convert many RedisKVCaches to QuantumKVCache or MemoryKVCache 2025-06-09 11:02:36 -04:00
Hazelnoot
00c0bdbc94 merge: Reduce log spam (!1004)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1004

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-09 10:53:59 +00:00
Hazelnoot
16858cf2f7 fix response type of i/registry/get endpoint 2025-06-07 20:22:40 -04:00
Hazelnoot
735cd12654 fix array length check in i/update attributionDomains parameter 2025-06-07 18:59:02 -04:00
Hazelnoot
36b85d62c2 check that detected AP object is actually a note before recording it in UrlPreviewService 2025-06-07 18:50:28 -04:00
Hazelnoot
73eeabc118 add ActivityPub representation to admin-user.vue 2025-06-07 18:49:37 -04:00
Hazelnoot
d3d201d0cf reduce log spam from ApiCallService 2025-06-06 22:20:17 -04:00
Hazelnoot
3e9ca84347 record user ID in API error logger, matching sentry 2025-06-06 22:20:17 -04:00
Hazelnoot
d23d7f1e0b don't record potentially sensitive data in API logs 2025-06-06 22:20:17 -04:00
Hazelnoot
2cba0ada3c more use of identifiable errors, improvements to inner error rendering, and more heuristics for is-retryable-error 2025-06-06 22:20:17 -04:00
Hazelnoot
4540614f7b add more details to IdentifiableErrors 2025-06-06 22:20:17 -04:00
Hazelnoot
6627e8a9b8 add more details to StatusErrors 2025-06-06 22:20:17 -04:00
Hazelnoot
75b85eb165 record details of recursive proxy rejections 2025-06-06 22:20:16 -04:00
Hazelnoot
ce08bd1b42 reduce, clarify, and normalize more error messages 2025-06-06 22:20:16 -04:00
Hazelnoot
82b7768ab2 fix error logs and response in drive/files/create.ts 2025-06-06 22:19:49 -04:00
Hazelnoot
f644972760 emit IdentifiableErrors from validator.ts 2025-06-06 22:19:49 -04:00
Hazelnoot
3bf0a737c8 match attributionDomains entity to database schema 2025-06-06 13:17:20 -04:00
Hazelnoot
20a2505543 merge: Additional performance fixes (!1095)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1095

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-06 06:36:07 +00:00
Hazelnoot
f88253b95f merge: Report admin UX improvements (!1060)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1060

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-05 08:00:32 +00:00
Hazelnoot
05d7aa0b91 additional fixes and cleanup to all note endpoints 2025-06-05 02:34:57 -04:00
Hazelnoot
65983d0030 fix performance regression in mentions endpoint 2025-06-05 00:35:38 -04:00
Hazelnoot
232894cd86 fix performance regression in home timeline 2025-06-05 00:35:22 -04:00
Hazelnoot
a91c0de9b5 cache alternate URLs in UrlPreviewService 2025-06-04 10:47:19 -04:00
Hazelnoot
865b198ab3 redirect to exclude hash from preview URL 2025-06-04 10:47:19 -04:00