Commit Graph

32061 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
bc5457ef18 lint: remove unused 2026-03-28 13:37: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
Barış Soner Uşaklı
ad5af5f50b Merge branch 'master' into develop 2026-03-25 10:21:36 -04:00
Barış Soner Uşaklı
72f48fd9c4 fix: #14123, aria-hidden fixes
add aria-labels
2026-03-25 10:21:24 -04:00
Misty Release Bot
a5e23e9b13 Latest translations and fallbacks 2026-03-25 09:07:37 +00:00
Barış Soner Uşaklı
a10471fce7 fix: #14121, use normalizedPath when uploading
add test for normalize
2026-03-24 12:43:57 -04:00
Barış Soner Uşaklı
9b88516250 refactor: work with different line-clamp values 2026-03-24 10:17:19 -04:00
Barış Soner Uşaklı
bd0157c3eb allow different clam-fade-xx values
like clamp-fade-4 vs clamp-fade-sm-4
2026-03-24 10:05:52 -04:00
renovate[bot]
e265704e8b fix(deps): update dependency mongodb to v7.1.1 (#14119)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 09:08:30 -04:00
Misty Release Bot
4666765a28 Latest translations and fallbacks 2026-03-24 09:07:36 +00:00
Julian Lam
38901c0f02 fix: move AP pageviews middleware down the chain, after s2s assertion and http sig verification, so as to truly count AP requests 2026-03-23 11:25:27 -04:00
Barış Soner Uşaklı
52e42685e8 fix: key name 2026-03-23 11:24:05 -04:00
renovate[bot]
334478fe4c fix(deps): update dependency diff to v8.0.4 (#14118)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 11:05:51 -04:00
Misty Release Bot
246b2f1b19 chore(i18n): fallback strings for new resources: nodebb.topic 2026-03-23 14:03:54 +00:00
Barış Soner Uşaklı
6bde47059b Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2026-03-23 10:03:27 -04:00
Barış Soner Uşaklı
cb4b6432dd Merge branch 'master' into develop 2026-03-23 10:03:19 -04:00