Commit Graph

32106 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
4dfbd8d51f fix: remove optional 2026-04-03 22:05:08 -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
renovate[bot]
0e79029b7f fix(deps): update dependency lodash to v4.18.1 (#14137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 16:45:50 -04:00
renovate[bot]
6973cc8003 fix(deps): update dependency esbuild to v0.28.0 (#14141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-02 18:11:38 -04:00
renovate[bot]
41e01d8ae5 fix(deps): update dependency nodebb-theme-harmony to v2.2.64 (#14140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-02 18:10:44 -04:00
Barış Soner Uşaklı
7088d378ea add opera to icons 2026-04-02 17:14:10 -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
Misty Release Bot
c397398084 chore(i18n): fallback strings for new resources: nodebb.admin-settings-activitypub 2026-04-01 19:09:19 +00: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
Misty Release Bot
cd66230121 chore(i18n): fallback strings for new resources: nodebb.admin-settings-activitypub 2026-04-01 18:33:17 +00: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
Misty Release Bot
30b494a14d chore(i18n): fallback strings for new resources: nodebb.admin-settings-activitypub 2026-04-01 18:03:28 +00: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
Misty Release Bot
cb8b0bb3a3 chore(i18n): fallback strings for new resources: nodebb.admin-menu, nodebb.admin-settings-activitypub 2026-04-01 17:43:19 +00:00
Julian Lam
9e5312a185 feat: basic federation analytics with filtering by host 2026-04-01 13:42:19 -04:00
Misty Release Bot
0d295f51ec Latest translations and fallbacks 2026-04-01 09:07:40 +00:00
Julian Lam
4c1f6b1f56 fix: encode nid in client-side when marking notifications read/unread 2026-03-31 14:42:13 -04:00
Misty Release Bot
1ac17f5c64 Latest translations and fallbacks 2026-03-31 09:07:38 +00:00
Barış Soner Uşaklı
6dba5ce9dd Merge branch 'master' into develop 2026-03-30 19:43:06 -04:00
Barış Soner Uşaklı
fb48ab3455 fix: user image og:image 2026-03-30 19:42:58 -04:00
Barış Soner Uşaklı
e15b7ff7f8 fix: method name 2026-03-30 18:32:40 -04:00
Barış Uşaklı
2612340bc9 refactor socket notifications (#14135)
* refactor socket notifications

* dunno why these two gut fubared

* add missing yaml files

* more fixes

* fix: schema

* lint: fix lint issues
2026-03-30 12:02:34 -04:00
Julian Lam
ce4549c524 fix: do not plumb req.uid into notes.assert (breaks getParentChain) 2026-03-30 11:55:08 -04:00
Misty Release Bot
b98c064146 chore(i18n): fallback strings for new resources: nodebb.error 2026-03-30 14:29:52 +00:00
Julian Lam
be347e674b fix: loosen actor-matching check in Undo activity 2026-03-30 10:29:23 -04:00
Julian Lam
c37a9103c8 fix: ActivityPub.fetchPublicKey to better handle key IDs that return CryptographicKey objects, #14130 2026-03-30 10:20:38 -04:00
Barış Soner Uşaklı
d0d5441340 Merge branch 'master' into develop 2026-03-30 09:47:45 -04:00
Barış Soner Uşaklı
af0e3d9689 fix: closes #14133, don't modify displayName for system groups
added a helper to just modify it for front end
2026-03-30 09:45:07 -04:00
Misty Release Bot
b629b8cfb5 Latest translations and fallbacks 2026-03-30 09:07:38 +00:00
Julian Lam
f3eeec93df fix: #14130, set addressee on follow, undo(follow), and accept(follow) 2026-03-29 21:19:38 -04:00
Misty Release Bot
9b7d62be5e Latest translations and fallbacks 2026-03-29 09:15:59 +00:00
Barış Soner Uşaklı
203f4cc7ff fix: try a save point in retry 2026-03-28 15:16:15 -04:00
Barış Soner Uşaklı
2185f22a55 fix: try a save point in retry 2026-03-28 15:09:03 -04:00
Barış Soner Uşaklı
991e977813 fix: try upsert type if it fails 2026-03-28 14:54:34 -04:00
Barış Soner Uşaklı
988f513655 fix: try upsert type if it fails 2026-03-28 14:32:04 -04:00
Barış Soner Uşaklı
bc5457ef18 lint: remove unused 2026-03-28 13:37:24 -04:00
Barış Soner Uşaklı
b04976ed35 test: dont create users parallel 2026-03-28 13:36:24 -04:00
Barış Soner Uşaklı
09183ac062 test: dont create users parallel 2026-03-28 13:35:47 -04:00
Barış Soner Uşaklı
10814b64a5 Merge branch 'master' into develop 2026-03-28 13:25:26 -04:00
Michele Di Maria
b8fd88fba9 Fix the saving of the statistics on PosgreSQL #14124 (#14129)
* fix: deduplicate postgres sorted set bulk ops to prevent pkey violation

sortedSetIncrByBulk and sortedSetAddBulk did not deduplicate (key, value)
pairs before INSERT, causing "duplicate key value violates unique constraint
legacy_zset_pkey" errors since PostgreSQL ON CONFLICT only resolves against
existing table rows, not within-statement duplicates.

Also adds missing pageviews:ap metrics to analyticsKeys sorted set.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: use upsert with RETURNING to prevent postgres analytics write failures

Replace the INSERT ON CONFLICT DO NOTHING + separate SELECT verification
pattern with INSERT ON CONFLICT DO UPDATE RETURNING. The old pattern had
an unreliable gap between INSERT and SELECT causing random "failed to
insert keys for objects" errors that blocked all analytics writes.

The no-op upsert (DO UPDATE SET type = existing type) guarantees every
row is returned via RETURNING, eliminating the need for a separate SELECT
and the "missing keys" check entirely. Also deduplicates the keys array
to prevent "cannot affect row a second time" errors with DO UPDATE.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 13:24:34 -04:00
Misty Release Bot
f5d8ff90b8 Latest translations and fallbacks 2026-03-28 09:08:38 +00:00