Commit Graph

15608 Commits

Author SHA1 Message Date
Julian Lam
0cca729a69 fix: leftover debug log 2026-04-14 13:00:59 -04:00
Julian Lam
b7ba11259e fix: qwen's shitty test suite 2026-04-14 12:59:33 -04:00
Julian Lam
e751721aef fix: fucking ai 2026-04-14 12:35:12 -04:00
Julian Lam
c9a0c3ff8d fix: wrong var 2026-04-13 22:34:24 -04:00
Barış Soner Uşaklı
4c0efe53f5 fix: memberPostCids saving, closes #14170
validCids is an array of strings
if a group was named 3rd party devs, then the isNaN(parseInt()) check was failing
2026-04-13 21:14:45 -04:00
Julian Lam
55d7ab6f6b feat: start recording ap send failures as well 2026-04-13 14:34:14 -04:00
Julian Lam
30774a8424 test: activitypub third-party blocklists 2026-04-13 12:55:35 -04:00
Barış Soner Uşaklı
5709a7b317 add mising await 2026-04-13 09:52:29 -04:00
Barış Uşaklı
ae16a44ad0 test: try undici 8 (#14166)
* test: try undici 8

* test: another test

* test: another test

* test: get rid of debug test

* test: don't fail on local, in dev mode or test

tests were failing on windows without this

* testing without setGlobalDispatcher

* Revert "testing without setGlobalDispatcher"

This reverts commit 6903e9f3ca.
2026-04-11 18:29:45 -04:00
Julian Lam
55ce9c07e4 feat: timestamp in ap errors page 2026-04-10 14:20:03 -04:00
Barış Uşaklı
3915790793 test: fix unread deleted topic test (#14164)
instead of posting and immediately deleting, add a deleted param to topics.post which deletes the topic before sending notifications
2026-04-10 13:05:29 -04:00
Julian Lam
ef2a17f25d fix: remove reference to hallucinated schema, fix hideSave definitions 2026-04-09 20:15:42 -04:00
Julian Lam
080aac5114 fix: lint 2026-04-09 15:36:01 -04:00
Julian Lam
21c4fbc5f1 fix: rejig AP errors UX 2026-04-09 10:50:02 -04:00
Julian Lam
098ee291b4 refactor: ap error recording to also capture stack trace, prettify json on output 2026-04-08 15:17:46 -04:00
Julian Lam
621aaa0f35 fix: reverse args 2026-04-08 13:36:55 -04:00
Julian Lam
f097901f27 fix: revrange 2026-04-08 12:34:48 -04:00
Julian Lam
818d621de3 fix: wrong database key 2026-04-08 12:17:28 -04:00
Julian Lam
2699fd2278 feat: ap/errors acp page 2026-04-08 12:12:53 -04:00
Julian Lam
9a981145de fix: analytics job 2026-04-08 11:32:49 -04:00
Julian Lam
bfe0df736e feat: cron job to clear out old ap errors 2026-04-08 11:26:27 -04:00
Barış Soner Uşaklı
9b702addf0 Merge branch 'master' into develop 2026-04-08 11:24:29 -04:00
Barış Soner Uşaklı
9592c1762b dont set isAPI, it is done by middleware.prepareAPI 2026-04-08 11:24:19 -04:00
Barış Soner Uşaklı
71a27d81e9 Merge branch 'master' into develop 2026-04-08 11:19:23 -04:00
Barış Soner Uşaklı
55290da01a refactor: use renderHeaderType instead of two variables
add middleware.admin.buildHeaderAsync so it can be called manually with await middleware.admin.buildHeaderAsync(req, res)
2026-04-08 11:19:13 -04:00
Julian Lam
188e2b10e9 feat: integrate ap.inErr analytics into federation analytics chart 2026-04-08 11:18:15 -04:00
Julian Lam
684f03db08 fix: alpha sort instances 2026-04-08 11:18:15 -04:00
Dirk Plate
4366bdd0d8 fix: use file.exists instead of try/catch to detect missing email logo (#14154)
The previous ENOENT check in getLogoSize never worked because image.size
passes the path directly to sharp, which throws a plain Error with message
"Input file is missing" rather than a Node.js ENOENT error. This caused
saving any admin settings to fail when brand:logo was set but the x50 file
was missing (e.g. after a fresh deployment).
2026-04-07 09:11:54 -04:00
Barış Soner Uşaklı
62b65e69ab fix: closes #14151, handle null req.body 2026-04-06 17:20:06 -04:00
Barış Soner Uşaklı
5d5490d36a fix: closes #14151, handle null req.body 2026-04-06 17:19:55 -04:00
Julian Lam
d74e5fabbe refactor: activitypub inbox to throw errors directly, move reject to internal method, handle errors at controller level by calling internal reject method to bounce back an AP Reject, closes ##14150 2026-04-06 09:54:23 -04:00
Barış Soner Uşaklı
4dfbd8d51f fix: remove optional 2026-04-03 22:05:08 -04:00
Barış Soner Uşaklı
20e751f0e8 fix: remove optional 2026-04-03 22:04:59 -04:00
Barış Soner Uşaklı
0568ef4310 fix: #14147, dont create wrong backlinks
syncBacklinks expects raw post content, html was passed to it from onNewPost since it was switched to use getPostSummary
backlinkRegex was matching  ${nconf.get('url')}/topic/1aef954c-d0dc-45cf-acf2-e3a59f6cc134/foo and return tid=1 instead of the uuid

remove useless if check in syncBacklinks
fixed parseInts on tids
current - remove are both arrays use .length
2026-04-03 21:54:18 -04:00
Barış Soner Uşaklı
a09192d486 fix: #14147, dont create wrong backlinks
syncBacklinks expects raw post content, html was passed to it from onNewPost since it was switched to use getPostSummary
backlinkRegex was matching  ${nconf.get('url')}/topic/1aef954c-d0dc-45cf-acf2-e3a59f6cc134/foo and return tid=1 instead of the uuid

remove useless if check in syncBacklinks
fixed parseInts on tids
current - remove are both arrays use .length
2026-04-03 21:54:05 -04:00
Barış Soner Uşaklı
e145330c37 perf: convert expireAt index to partial
no need to store null in index for all documents
2026-04-03 20:17:06 -04:00
Barış Soner Uşaklı
072b1e864d dont escape viewport meta tag 2026-04-03 17:01:48 -04:00
Barış Soner Uşaklı
f66317b7a7 add extension to name, when upload profile pictures 2026-04-03 12:03:46 -04:00
Julian Lam
b3600e0b7f fix: add in a deduplication guard after calling contexts.getItems 2026-04-02 15:31:45 -04:00
Julian Lam
5a04916879 fix: off-by-one error in helpers.generateCollection, fixed incorrect totalItems count between pages in Actors.topic 2026-04-02 14:48:00 -04:00
Julian Lam
531d20af3e fix: wrap batch processing behind setImmediate() so that it runs on the next iteration of the event loop 2026-04-02 12:16:50 -04:00
Julian Lam
6371528f2a fix: pre-calculate payload digest earlier in chain so that it is not unnecessarily done once per recipient
re: #14138
2026-04-02 11:59:28 -04:00
Julian Lam
448a76e1c4 refactor: replace old createSign/createVerify methods with more modern sign/verify, called asynchronously, add lru cache to public key fetches so that a received activity does not kick off a network request unnecessarily 2026-04-02 11:39:58 -04:00
Julian Lam
be44247339 fix: dynamically calculate batch size and interval when sending AP messages, based on CPU count, #14138 2026-04-02 11:39:58 -04:00
Julian Lam
f008a65ea2 feat: record AP parsing failures, save activity in db for 24h 2026-04-01 15:08:53 -04:00
Julian Lam
fa0b72e2a2 fix: wrong set name 2026-04-01 14:41:39 -04:00
Julian Lam
54893c81b4 feat: hourly and daily terms for ap analytics 2026-04-01 14:32:50 -04:00
Julian Lam
ab3c39eb62 fix: bad args sent to activitypub.record.send 2026-04-01 14:09:59 -04:00
Julian Lam
a58771ed8a fix: rename 'activities' to 'received' in federation analytics 2026-04-01 14:03:00 -04:00
Julian Lam
0b80cf1c92 feat: track and show sent activities as well 2026-04-01 14:03:00 -04:00