Commit graph

3981 commits

Author SHA1 Message Date
Hazelnoot
5430b00f72 factor out attachment code to reduce duplication and allow testing 2025-06-13 12:56:14 -04:00
Hazelnoot
b0b0218b75 convert incoming iframes into links 2025-06-13 11:54:36 -04:00
Hazelnoot
eb22bc5f5d extract note attachments from inline HTML 2025-06-13 11:42:53 -04:00
Hazelnoot
e5593af422 improve alt text mapping in ApImageService.createImage 2025-06-13 11:42:31 -04:00
Hazelnoot
db8f94b0fb correct type of IObject.attachment 2025-06-13 11:42:07 -04:00
dakkar
01872419c3 fix UserEntityService packMany hints
* there's no need to pre-load follow requests for many users, since
  at most we'll pack them for only 1 user (the one requesting the
	data)

* similarly, it makes sense to preload security keys for many users
  if we're serving a moderator's request, but if not, we need at most 1
  user's keys (the requesting user's), and we can let `.pack()` fetch
  those

* we always need to preload relations when serving a detailed
  request, not only when the set of users to pack does not include the
  requesting user
2025-06-13 10:20:32 +01:00
dakkar
87f6895ca9 avoid pushing to timelines of remote users 2025-06-13 10:20:30 +01:00
dakkar
aa960f8029 fix UserEntityService packMany hints
* there's no need to pre-load follow requests for many users, since
  at most we'll pack them for only 1 user (the one requesting the
	data)

* similarly, it makes sense to preload security keys for many users
  if we're serving a moderator's request, but if not, we need at most 1
  user's keys (the requesting user's), and we can let `.pack()` fetch
  those

* we always need to preload relations when serving a detailed
  request, not only when the set of users to pack does not include the
  requesting user
2025-06-13 10:06:35 +01:00
dakkar
620d30c228 avoid pushing to timelines of remote users 2025-06-13 09:26:37 +01:00
dakkar
33aee38a59 Merge branch 'develop' into upstream/2025.5.0 2025-06-13 08:43:17 +01:00
dakkar
99bf315351 merge: Fix uncaught exception hooks and add more shutdown logging. (!1111)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1111

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-13 07:14:28 +00:00
Hazelnoot
3ce5471414 add additional process exit loggers 2025-06-12 21:37:28 -04:00
Hazelnoot
0a56ce92ca use uncaughtExceptionMonitor instead uncaughtException 2025-06-12 21:36:46 -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
20370e5e75 merge: Emit log messages with correct level (!1097)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1097

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-12 19:06:43 +00:00
Hazelnoot
ae7767cd73 merge: Implement basic support for fep-e232 and fep-044f quotes (resolves #1097 and #1098) (!1098)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1098

Closes #1097 and #1098

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-12 16:45:07 +00: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
27c27529f6 enforce DM visibility in generateVisibilityQuery 2025-06-10 19:52:47 -04:00
dakkar
31e21d4d7d fix timeline e2e test 2025-06-10 16:04:02 +01:00
dakkar
d222fafc1b fix visibility regressions and merge typos 2025-06-10 15:13:53 +01:00
dakkar
aba4b537ad fix typo in QueryService 2025-06-10 14:49:14 +01:00
dakkar
25eafee4e2 let tests create users 2025-06-10 14:38:58 +01:00
dakkar
65e8bbd046 fix merge mistake 2025-06-10 14:12:31 +01:00
dakkar
3ebf9c4a71 Merge branch 'develop' into upstream/2025.5.0 2025-06-10 14:02:32 +01:00
Hazelnoot
c200ed3666 fix relations in MastodonDataService.ts 2025-06-09 12:48:32 -04:00
Hazelnoot
646ffa7b62 fix missing @bindThis in CacheService 2025-06-09 11:45:20 -04:00
Hazelnoot
ed766e98e1 fix mixed-up userFollowingsCache / userFollowersCache 2025-06-09 11:37:51 -04:00
Hazelnoot
51572b7314 fix refactoring mistake in CacheService.ts 2025-06-09 11:26:21 -04:00
Hazelnoot
caa6dee656 add missing comma to NoteEntityService.ts 2025-06-09 11:11:11 -04:00
Hazelnoot
424e163c6f fix type errors with JsonLdService and remove unused factory pattern 2025-06-09 11:03:51 -04:00
Hazelnoot
d0ae76214c output log messages with correct level 2025-06-09 11:03:48 -04:00
Hazelnoot
cbb1ed3eed accept fep-e232 "tag" quotes in objects 2025-06-09 11:03:17 -04:00
Hazelnoot
aefd94c0b0 render fep-e232 "tag" quotes in notes 2025-06-09 11:03:02 -04:00
Hazelnoot
b2c72da96c pull out ILink interface 2025-06-09 11:03:02 -04:00
Hazelnoot
15baf78ad7 accept fep-044f "quote" in objects 2025-06-09 11:03:02 -04:00
Hazelnoot
5a99e74ee3 render fep-044f "quote" in notes 2025-06-09 11:03:02 -04:00
Hazelnoot
2aaed4764c add fep-044f "quote" to context and model 2025-06-09 11:03:02 -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
372714c9b6 implement userFollowersCache 2025-06-09 11:02:36 -04:00
Hazelnoot
853b548a43 re-type userFollowingsCache to match the others 2025-06-09 11:02:36 -04:00
Hazelnoot
0c84d73294 move QuantumKVCache to a separate file 2025-06-09 11:02:36 -04:00
Hazelnoot
2e486f02ff implement no-op caches for testing 2025-06-09 11:02:36 -04:00
Hazelnoot
1d06ac4824 fix reversed isBlocking / isBlocked in UserEntityService.getRelation 2025-06-09 11:02:36 -04:00
Hazelnoot
20cc736457 fix single-user relation calculations 2025-06-09 11:02:36 -04:00
Hazelnoot
223cdc9ea9 fix note/user accumulation in NoteEntityService.packMany, improving performance and avoiding extra sub-packs and fetches 2025-06-09 11:02:36 -04:00
Hazelnoot
c9884a74fc populate userProfile in more places 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
5e7d0e9acc fix typo in QueryService.generateBlockQueryForUsers 2025-06-09 11:02:36 -04:00