Commit graph

31961 commits

Author SHA1 Message Date
Hazelnoot
152d9dc36c add unit test for get-content-by-type.ts 2025-06-13 13:59:39 -04:00
Hazelnoot
a8c7c06776 fix lower-case check in get-content-by-type permissive mode 2025-06-13 13:59:32 -04:00
Hazelnoot
353c294f67 add unit tests for extract-media-from-html.ts 2025-06-13 13:47:07 -04:00
Hazelnoot
b2e94a5254 de-duplicate extracted media 2025-06-13 13:46:57 -04:00
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
4b11fd2523 merge: Consolidate duplicate HTML/XML parser libraries (!1083)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1083

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-13 07:13:19 +00:00
Marie
f341e2be5c merge: Make defederation rocket use theme colors. (!1109)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1109

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-06-13 04:38:15 +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
f8d4236a15 downgrade htmlparser2 to match cheerio 2025-06-12 21:18:52 -04:00
Hazelnoot
d59ebe9992 correct MFM import in new/modified components 2025-06-12 21:11:17 -04:00
Hazelnoot
31dafb046e regenerate lockfile to fix merge conflicts 2025-06-12 21:11:17 -04:00
Hazelnoot
67d859f0d8 fix indents in megalodon files 2025-06-12 21:11:17 -04:00
Hazelnoot
b8dd7f4a95 update to summaly 5.2.2 2025-06-12 21:11:17 -04:00
Hazelnoot
b0b707e907 regen pnpm-lock.yaml 2025-06-12 21:11:16 -04:00
Hazelnoot
3198f34d4b fix TS errors in megalodon 2025-06-12 21:11:16 -04:00
Hazelnoot
6b77c8b12b correctly separate production / development dependencies 2025-06-12 21:11:16 -04:00
Hazelnoot
5b6099deb0 pin katex version 2025-06-12 21:11:16 -04:00
Hazelnoot
ce248e48b3 use pnpm package alias for @transfem-org/summaly 2025-06-12 21:11:16 -04:00
Hazelnoot
7eca06d672 use pnpm package alias for @transfem-org/sfm-js 2025-06-12 21:11:16 -04:00
Hazelnoot
0a97672011 align megalodon tsconfig with the rest of the project 2025-06-12 21:11:16 -04:00
Hazelnoot
a348d7aa09 remove unused script from megalodon 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
piuvas
3e9a2c36f1
make defederation rocket use theme colors. 2025-06-12 20:46:52 -03: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
791487c4df merge: Enforce DM visibility in generateVisibilityQuery (!1108)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1108

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-11 21:15:30 +00:00
dakkar
1ff135278b give up on running e2e tests in CI
they're too flaky, let's just make sure we run them by hand
2025-06-11 11:20:54 +01: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
d374f2c95d tweak jest e2e config
`maxConcurrency` is how many `test.concurrent` to run at once, nothing
to do with how many test *files* to run (that's probably `maxWorkers`
which is already 1)
2025-06-10 17:10:45 +01:00
dakkar
f6f3852b38 pick lints 2025-06-10 16:33:44 +01:00
dakkar
b4608aeb53 fix fetch-validate-ap-deny e2e test
our error messages are slightly different from upstream's
2025-06-10 16:22:09 +01:00
dakkar
ae9daca4f2 only run 1 e2e test at a time
I think each test wipes the database at startup? but they share the
database, so running them in parallel feels like a bad idea in general
2025-06-10 16:17:17 +01:00
dakkar
363fb4db3a fix streaming e2e test
the test I toggled said:

* ayako follows kyoko, withReplies:false
* kyoko posts a reply to kanako
* ayako is looking at the global timeline
* ayako will see kyoko's reply

but I'm pretty sure we don't want that, so the test was wrong for
Sharkey and the backend behaviour is correct
2025-06-10 16:09:22 +01:00
dakkar
31e21d4d7d fix timeline e2e test 2025-06-10 16:04:02 +01:00
dakkar
88dac56efc fix notes e2e test 2025-06-10 15:37:20 +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