Commit Graph

32017 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
203f4cc7ff fix: try a save point in retry 2026-03-28 15:16:15 -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ı
b04976ed35 test: dont create users parallel 2026-03-28 13:36:24 -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
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
Barış Soner Uşaklı
1a0c2a21c7 fix: align-center user and name on post queue 2026-03-26 12:43:21 -04:00
Barış Soner Uşaklı
835723482e feat: add unreadNids to /api/notifications 2026-03-26 11:50:55 -04:00
Barış Soner Uşaklı
82d380a38d fix: ./nodebb upgrade on windows 2026-03-25 12:51:44 -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ı
72f48fd9c4 fix: #14123, aria-hidden fixes
add aria-labels
2026-03-25 10:21:24 -04: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
Barış Soner Uşaklı
52e42685e8 fix: key name 2026-03-23 11:24:05 -04:00
Barış Soner Uşaklı
ad1433e14b fix: #14108, reset filter on notif dropdown open 2026-03-23 09:51:56 -04:00
Barış Soner Uşaklı
9bcef6b5ea fix: #14116, don't return ban reason if login credentials are incorrect 2026-03-23 09:43:15 -04:00
Barış Soner Uşaklı
43e7f0abb9 feat: add email share 2026-03-22 21:25:43 -04:00
Barış Soner Uşaklı
361134f9a2 fix: share url for ap posts, fallback to window.location.href if pid doesnt exist
closes #14109
2026-03-20 10:38:03 -04:00
Misty Release Bot
c480df9e9c chore: update changelog for v4.10.0 2026-03-19 16:20:32 +00:00
Misty Release Bot
e9da60db3b chore: incrementing version number - v4.10.0 v4.10.0 2026-03-19 16:20:32 +00:00
Julian Lam
8ca34e74bd fix: improve idempotency of ap test 2026-03-19 12:02:26 -04:00
Julian Lam
ebe709da89 fix: call syncfollowcounts on unfollow as well 2026-03-19 11:36:28 -04:00
renovate[bot]
f51e1b2a28 fix(deps): update dependency cronstrue to v3.14.0 (#14107)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-19 10:32:57 -04:00
renovate[bot]
fa7c1a522b fix(deps): update dependency nodemailer to v8.0.3 (#14104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-18 12:50:13 -04:00
Julian Lam
44e78e4775 fix: sync follow counts on local and remote follows, #14105 2026-03-18 12:13:50 -04:00
Julian Lam
cc606677cb fix: cold load redirect should only affect guests 2026-03-18 11:09:08 -04:00
Julian Lam
58d3aa77cd feat: add /world as a potential home page route 2026-03-18 10:28:54 -04:00
Julian Lam
895997b2b8 docs: wrong type for worldDefaultCid 2026-03-18 09:58:23 -04:00
Julian Lam
7e2c7db3b2 fix: schema fix for new api config value 2026-03-18 09:10:13 -04:00
Barış Soner Uşaklı
11b98583b1 check triggerEl in callbacks 2026-03-18 08:48:46 -04:00
Misty Release Bot
483a63c67b Latest translations and fallbacks 2026-03-18 09:07:37 +00:00
renovate[bot]
bea4602638 chore(deps): update dependency lint-staged to v16.4.0 (#14099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 14:11:50 -04:00
Julian Lam
7c65471ba4 fix: close notif drawer on item click, fix crash in module 2026-03-17 12:51:14 -04:00
Julian Lam
efaf8eb996 fix: schema fix for new api config value 2026-03-17 12:42:53 -04:00
Barış Soner Uşaklı
4a01d55f6a chore: up develop 2026-03-17 12:29:22 -04:00
Barış Soner Uşaklı
704150d5f1 Merge branch 'master' into develop 2026-03-17 12:12:38 -04:00
Barış Soner Uşaklı
168b17e828 chore: up mentions 2026-03-17 12:11:28 -04:00
Julian Lam
35c03e5c8e fix: issue where initial quickcreate post wouldn't go to the right cid 2026-03-17 12:11:24 -04:00
Julian Lam
27b0fbe685 fix: only show category selector on quickreply on /world 2026-03-17 12:06:43 -04:00
Barış Soner Uşaklı
902533db06 fix: delete cid:<cid>:privilegeMask on category.purge 2026-03-17 11:56:31 -04:00
renovate[bot]
06c3b88b1b chore(deps): update commitlint monorepo to v20.5.0 (#14098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 10:59:51 -04:00
renovate[bot]
c26bfddfe1 fix(deps): update dependency esbuild to v0.27.4 (#14090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 10:58:55 -04:00
renovate[bot]
3765fb37f0 fix(deps): update dependency lru-cache to v11.2.7 (#14096)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 10:58:40 -04:00
renovate[bot]
3825c755e9 chore(deps): update dependency jsdom to v29 (#14100)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 10:58:20 -04:00
Barış Soner Uşaklı
ef7f9020cf Merge branch 'master' into develop 2026-03-17 10:42:57 -04:00
Barış Soner Uşaklı
73b023b430 chore: up composer 2026-03-17 10:42:35 -04:00
renovate[bot]
d5f4a37020 fix(deps): update dependency tough-cookie to v6.0.1 (#14097)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-16 21:11:13 -04:00
Barış Soner Uşaklı
d458eadb66 add active class to selected filter
show no-notifs if there are no unreads
2026-03-16 21:07:44 -04:00