Commit Graph

32076 Commits

Author SHA1 Message Date
Barış Uşaklı
99e110fa2f Merge branch 'develop' into socket-notifications-refactor 2026-03-30 11:00:47 -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
Barış Soner Uşaklı
6c4e928482 fix: on exit, dont write analytics data on all nodes
if you are running 4 nodebbs each one was calling writeData which could trigger duplicate key errors
2026-03-27 16:45:20 -04:00
Barış Soner Uşaklı
4b503db497 refactor: break long line 2026-03-27 16:44:10 -04:00
Julian Lam
3c41171151 fix: make 'show more' button not overlap existing text 2026-03-27 13:50:49 -04:00
Julian Lam
2327cae764 fix: #14045, automatically open category selector dropdown on move topic modal 2026-03-27 13:20:58 -04:00
Barış Soner Uşaklı
deca5e6715 fix: redis/psql 2026-03-27 12:22:06 -04:00
Barış Soner Uşaklı
0dfdd77c12 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2026-03-27 11:48:50 -04:00
Barış Soner Uşaklı
28fafcdc56 retrt e11000 in incrObjectField 2026-03-27 11:48:45 -04:00
Julian Lam
833899d091 fix: failing test 2026-03-27 11:40:24 -04:00
Barış Soner Uşaklı
837d984b84 refactor: some cleanup of dbal code 2026-03-27 11:24:43 -04:00
Julian Lam
8547fa9e48 fix: broken test 2026-03-27 11:06:26 -04:00
Julian Lam
25fb2969cf test: remove leftover .only 2026-03-27 10:50:12 -04:00
Barış Soner Uşaklı
202a99bb48 perf: use $or instead of double $in, in sortedSetIncrByBulk 2026-03-27 10:29:02 -04:00
Misty Release Bot
82fad39f81 Latest translations and fallbacks 2026-03-27 09:12:32 +00:00
Barış Soner Uşaklı
1a0c2a21c7 fix: align-center user and name on post queue 2026-03-26 12:43:21 -04:00
Julian Lam
4d3211caba fix: regression where topic moves during Announce(Create(Note)) stopped working, added test for #14040, fix broken AP test helper mock 2026-03-26 12:04:56 -04:00
Barış Soner Uşaklı
835723482e feat: add unreadNids to /api/notifications 2026-03-26 11:50:55 -04:00
Julian Lam
781ed3447b feat: track user cids (#14114)
* feat: start tracking which cids a user has posted to, update account pages' topics/posts view to call this new sorted set

re: #14113

* feat: upgrade script for #14113

* fix: cids unavailable in getPostsFields, duh

* fix: update sortedSetIncrByBulk in mongo/psql to return early on empty data

* fix: remove unused lodash require

* test: sortedSetIncrBy and sortedSetIncrByBulk tests

* test: who needs null checks anyway

* fix: sortedSetIncrByBulk null response

* test: aggregate zincrbulk data

if there are alot of identical key/value pairs they will be combined into a single row

* fix: key name

* test: fix test name

* lint: fix lint issues

* test: negative values should work too

* fix: add e11000 handler for incrByBulk

* refactor: fix variable name

* merge tests with existing zset test, remove dupes

* test: return topicData for failing test

* delete uid:<uid>:cids on user delete

---------

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2026-03-26 10:30:28 -04:00
Misty Release Bot
74b702dfef Latest translations and fallbacks 2026-03-26 09:07:47 +00:00
renovate[bot]
a5f87603be chore(deps): update dependency smtp-server to v3.18.3 (#14125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 19:27:00 -04:00
Julian Lam
24bd002996 fix: avoid db calls in upgrade scripts, just add blocklists to db, no refresh 2026-03-25 15:19:20 -04:00
renovate[bot]
a54c2ed71e chore(deps): update redis docker tag to v8.6.2 (#14122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 13:22:53 -04:00
renovate[bot]
445361ad33 fix(deps): update dependency nodemailer to v8.0.4 (#14126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 13:21:32 -04:00
Barış Soner Uşaklı
d290aa563e lint: remove unused 2026-03-25 13:21:17 -04:00
Barış Soner Uşaklı
96e1033a0c Merge branch 'master' into develop 2026-03-25 13:21:01 -04:00
Barış Soner Uşaklı
82d380a38d fix: ./nodebb upgrade on windows 2026-03-25 12:51:44 -04:00
Julian Lam
78bdc4a102 refactor: use topic data returned from getSortedTopics instead of getting topic data twice lol 2026-03-25 12:04:28 -04:00
Misty Release Bot
04b22a261c chore(i18n): fallback strings for new resources: nodebb.admin-settings-activitypub 2026-03-25 15:34:15 +00:00
Julian Lam
4b7be68d1b feat: Third-party blocklists (#14115)
* feat: third-party blocklists

* docs: openapi routes for blocklist routes

* fix: handle null blocklists check
2026-03-25 11:31:50 -04:00
Barış Soner Uşaklı
309951c152 Merge branch 'master' into develop 2026-03-25 11:05:06 -04:00
Misty Release Bot
afe8683ef4 chore: update changelog for v4.10.1 2026-03-25 15:03:20 +00:00
Misty Release Bot
08b348d6af chore: incrementing version number - v4.10.1 v4.10.1 2026-03-25 15:03:19 +00:00