Compare commits

...

1169 Commits

Author SHA1 Message Date
renovate[bot]
e771a02d7d chore(deps): update dependency husky to v9 2025-12-13 15:38:05 +00:00
renovate[bot]
ad895efb61 chore(deps): update dependency smtp-server to v3.17.1 (#13829)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-13 10:36:23 -05:00
renovate[bot]
22fe83f005 chore(deps): update dependency @eslint/js to v9.39.2 (#13830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-13 10:36:13 -05:00
renovate[bot]
b169621860 chore(deps): update github artifact actions (#13831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-13 10:36:02 -05:00
renovate[bot]
da7c9b32b8 fix(deps): update dependency terser-webpack-plugin to v5.3.16 (#13827)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-12 07:56:00 -05:00
renovate[bot]
0fcc8543c6 chore(deps): update actions/cache action to v5 (#13828)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-12 07:55:41 -05:00
Barış Soner Uşaklı
ed977c48b4 Merge branch 'master' into develop 2025-12-11 21:25:56 -05:00
Barış Soner Uşaklı
f49f540bfa fix: show errors when saving settings 2025-12-11 21:25:42 -05:00
Julian Lam
20918b5281 fix: wrong increment value 2025-12-11 11:10:29 -05:00
Julian Lam
8abe0dfa9f fix: increment progress on upgrade script 2025-12-11 11:09:13 -05:00
Julian Lam
097d0802b7 feat: stop extraneous vote and tids_read data from being saved for remote users 2025-12-11 10:57:00 -05:00
renovate[bot]
3adcbe0f7d chore(deps): update dependency smtp-server to v3.17.0 (#13824)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 10:34:57 -05:00
renovate[bot]
b992511bb9 chore(deps): update dependency sass-embedded to v1.96.0 (#13821)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 10:13:51 -05:00
renovate[bot]
d4f53a6242 fix(deps): update dependency sass to v1.96.0 (#13822)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 10:13:35 -05:00
Julian Lam
528cd258c4 feat: support remote Dislike activity, federate out a Dislike on downvote, bwahahah 2025-12-10 12:40:46 -05:00
renovate[bot]
a2f2c8c761 chore(deps): update dependency sass-embedded to v1.95.1 (#13817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 20:04:25 -05:00
renovate[bot]
81c232f181 fix(deps): update dependency winston to v3.19.0 (#13812)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 19:47:59 -05:00
renovate[bot]
f077c4cab8 fix(deps): update dependency cron to v4.4.0 (#13818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 19:46:55 -05:00
renovate[bot]
adedb7b626 fix(deps): update dependency sass to v1.95.1 (#13816)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 19:46:11 -05:00
renovate[bot]
a35c326a6c chore(deps): update dependency jsdom to v27.3.0 (#13814)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 19:25:06 -05:00
renovate[bot]
eaa6e71a99 fix(deps): update dependency sass to v1.95.0 (#13815)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 19:24:47 -05:00
Barış Soner Uşaklı
011f8b2465 Merge branch 'master' into develop 2025-12-08 10:19:00 -05:00
Barış Soner Uşaklı
b19281b061 revert: spec change 2025-12-08 10:18:38 -05:00
Barış Soner Uşaklı
9d6665505e chore: up widget-essentials 2025-12-08 09:43:50 -05:00
Barış Soner Uşaklı
2c57cb13e4 Merge branch 'master' into develop 2025-12-06 20:44:57 -05:00
Barış Soner Uşaklı
11b01dfccb test: fix tests 2025-12-06 20:44:51 -05:00
Barış Soner Uşaklı
f6fbb0226b Merge branch 'master' into develop 2025-12-06 20:40:30 -05:00
Konrad Moskal
2e00c0ff42 Modify delete post diff response format (#13761)
* Modify delete post diff response format

Updated the delete operation response to return JSON content.

* fix: timestamp open api schema
2025-12-06 20:12:27 -05:00
Barış Soner Uşaklı
193aaf55d5 fix: closes #13666, update category label
on topic move if we are not on category page
2025-12-06 20:08:05 -05:00
Barış Soner Uşaklı
823c6cb340 Merge branch 'master' into develop 2025-12-05 12:28:29 -05:00
Nephilim
ebf2a2c5af fix: respect user pagination settings in infinite scroll (#13765) (#13788)
- Changed hardcoded topicsPerPage value of 20 to use settings.topicsPerPage
- Allows infinite scroll to respect user's configured page size preference
- Consistent with pagination handling in other controllers (category.js, recent.js, etc)
- Validates against admin's maxTopicsPerPage setting
- Fixes issue where all users were limited to 20 topics per request regardless of settings
2025-12-05 12:26:53 -05:00
renovate[bot]
e50edd52fc chore(deps): update commitlint monorepo to v20.2.0 (#13810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 12:24:16 -05:00
renovate[bot]
10d2e929a1 fix(deps): update dependency terser-webpack-plugin to v5.3.15 (#13811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 12:24:04 -05:00
Barış Uşaklı
6956270411 test: add a test for set db.exists (#13809)
* test: add a test for set db.exists

* delete empty sets

* test: psql
2025-12-04 18:33:55 -05:00
Jakub Bliźniuk
254370c5be ci: drop ARM v7 from docker builds (#13808)
Removed optional ARM v7 (32 bit) platform from the workflow due to lack of support from Node and very limited usefulness.

As the platform had been flaky in the past, this part of the workflow was already optional and didn't cause it to fail. So this is just the next step here.
2025-12-04 18:11:04 -05:00
Julian Lam
c529244229 test: fix failing test by adjusting the tests 2025-12-04 16:03:28 -05:00
Julian Lam
f1d50c3510 fix: add join-lemmy context for outgoing category group actors context prop 2025-12-04 11:55:00 -05:00
renovate[bot]
6b1dcb4b90 fix(deps): update dependency esbuild to v0.27.1 (#13806)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-04 11:39:32 -05:00
renovate[bot]
7b734cfdc5 fix(deps): update dependency jsonwebtoken to v9.0.3 (#13807)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-04 11:37:57 -05:00
Julian Lam
6a56105037 feat: expand postingRestrictedToMods mask testing, handle actor update for that prop 2025-12-04 11:00:41 -05:00
Barış Uşaklı
7d5402fe66 feat: setAddBulk (#13805)
* feat: setAddBulk

add some tests

* fix: sAdd with value array on redis
2025-12-03 18:18:14 -05:00
Julian Lam
d8e55d58de fix: use setsAdd 2025-12-03 15:21:49 -05:00
Julian Lam
4a6dcf1a21 fix: missing await 2025-12-03 15:21:49 -05:00
Julian Lam
2968772287 chore: allow direct testing in test/categories.js 2025-12-03 15:21:49 -05:00
Julian Lam
934e6be911 test: privilege masking tests 2025-12-03 15:21:49 -05:00
Julian Lam
f0a7a442db feat: save privilege masking set when asserting group 2025-12-03 15:21:49 -05:00
Julian Lam
7b194c6916 fix: admin privilege overrides only apply to local categories 2025-12-03 15:21:49 -05:00
Julian Lam
4020e1be35 feat: patch low-level privilege query calls to accept privilege masks at the cid level 2025-12-03 15:21:49 -05:00
renovate[bot]
76b6b3b259 chore(deps): update dependency lint-staged to v16.2.7 (#13785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-03 10:14:33 -05:00
Barış Soner Uşaklı
4cdb56904c Merge branch 'master' into develop 2025-12-03 10:14:13 -05:00
Barış Soner Uşaklı
9fb41c6933 lint: fix missing comma 2025-12-03 10:14:08 -05:00
Barış Soner Uşaklı
70169758ec Merge branch 'master' into develop 2025-12-03 09:49:22 -05:00
Barış Soner Uşaklı
ba85474dfb feat: add hreflang to buildLinkTag 2025-12-03 09:49:16 -05:00
renovate[bot]
7f21a17175 chore(deps): update actions/checkout action to v6 (#13802)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 14:41:12 -05:00
renovate[bot]
93057306f4 fix(deps): update dependency ace-builds to v1.43.5 (#13797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 14:36:08 -05:00
renovate[bot]
731933a66b fix(deps): update dependency lru-cache to v11.2.4 (#13798)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 14:35:46 -05:00
renovate[bot]
38321220f2 fix(deps): update dependency express to v4.22.1 (#13800)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 14:35:32 -05:00
renovate[bot]
ad5cd27b37 fix(deps): update dependency ipaddr.js to v2.3.0 (#13801)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 14:27:07 -05:00
renovate[bot]
ecec1f4594 fix(deps): update dependency nodemailer to v7.0.11 (#13799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 14:26:50 -05:00
Julian Lam
3b7bcba6c0 fix: have notes.assert call out.announce.topic only if uid is set (so, if note assertion is called via search; manual pull) 2025-12-02 14:15:13 -05:00
Julian Lam
a82e1f441c debug: still broken... more debug logs 2025-12-02 13:50:50 -05:00
Julian Lam
977a67f4cd fix: deep clone activity prop before execution; feps.announce 2025-12-02 13:42:06 -05:00
Julian Lam
8236b594af debug: log mock results 2025-12-02 13:19:48 -05:00
Barış Soner Uşaklı
22d3c52332 test: log label 2025-12-02 12:59:28 -05:00
Barış Soner Uşaklı
e39c91497f test: log activities 2025-12-02 12:47:47 -05:00
Barış Soner Uşaklı
841bd8252c test: on test fail show activities 2025-12-02 11:54:14 -05:00
renovate[bot]
5ba6bea049 fix(deps): update dependency cron to v4.3.5 (#13796)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 11:44:46 -05:00
renovate[bot]
624ef61655 fix(deps): update dependency body-parser to v2.2.1 (#13795)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 11:44:29 -05:00
Barış Soner Uşaklı
53e22acffb fix: remove hardcoded name for sentinel, #13794 2025-12-02 11:12:05 -05:00
Barış Uşaklı
287b25695d test: new mongodb deps (#13793) 2025-12-02 11:08:20 -05:00
renovate[bot]
5f55ca85e6 fix(deps): update dependency @isaacs/ttlcache to v2.1.3 (#13791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 09:50:11 -05:00
renovate[bot]
1cb8b381d5 fix(deps): update dependency sass to v1.94.2 (#13786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-01 18:53:29 -05:00
renovate[bot]
1bcfe3f09e fix(deps): update dependency redis to v5.10.0 (#13787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-01 18:53:11 -05:00
Barış Soner Uşaklı
2142b680d9 chore: remove log 2025-12-01 17:47:46 -05:00
Barış Soner Uşaklı
5bd1f7b7ac feat: #13790, allow ssl setup in psql 2025-12-01 17:46:01 -05:00
Barış Soner Uşaklı
936dede44f Merge branch 'master' into develop 2025-12-01 11:15:23 -05:00
Barış Soner Uşaklı
59f649b885 chore: up harmony 2025-12-01 11:15:14 -05:00
Julian Lam
3ab61615af feat: federate out topic removal activities when topic is deleted and purged from a local category 2025-12-01 11:11:27 -05:00
Julian Lam
411baa21f4 fix: minor comment fix 2025-12-01 10:25:32 -05:00
Julian Lam
c365c1dc3e fix: publish postingRestrictedToMods property in group actor 2025-11-26 12:29:48 -05:00
Misty Release Bot
1c0a43dc55 chore: update changelog for v4.7.0 2025-11-26 16:59:43 +00:00
Misty Release Bot
3d8638ed5c chore: incrementing version number - v4.7.0 2025-11-26 16:59:42 +00:00
Julian Lam
2bb6683f16 Merge remote-tracking branch 'origin/master' into develop 2025-11-26 10:53:44 -05:00
Julian Lam
e3ac9ccf1b fix(deps): bump mentions to fix #13637 2025-11-25 13:19:19 -05:00
Julian Lam
9d83a3d0da fix: null check on attachments property in assertPrivate 2025-11-24 15:48:38 -05:00
Julian Lam
24e1768312 fix: update announce and undo(announce) so that their IDs don't use timestamps 2025-11-24 12:20:35 -05:00
Julian Lam
832477f819 feat: federate out undo(announce) when moving topics 2025-11-24 11:53:59 -05:00
Julian Lam
2b733e4a8e fix: incorrect topic event added when topic moved out of cid -1 (used to be a share by the user; since removed.) 2025-11-21 15:20:44 -05:00
Julian Lam
aa7e078fbf fix: #13654, improper OrderedCollectionPage ID 2025-11-20 14:15:43 -05:00
Julian Lam
822f4edc4c feat: native image appending for remote private notes 2025-11-20 14:08:12 -05:00
Barış Soner Uşaklı
bdb452488b fix: IS logic when body.height < window.height 2025-11-20 12:58:07 -05:00
Barış Soner Uşaklı
6cd8a7c740 Merge branch 'master' into develop 2025-11-20 09:14:51 -05:00
Misty Release Bot
3fd193e373 chore: update changelog for v4.6.3 2025-11-20 14:13:20 +00:00
Misty Release Bot
af7f78e9b6 chore: incrementing version number - v4.6.3 2025-11-20 14:13:20 +00:00
renovate[bot]
894f19882e chore(deps): update dependency @stylistic/eslint-plugin to v5.6.1 (#13778)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 09:07:58 -05:00
renovate[bot]
5ab8f87741 fix(deps): update dependency rimraf to v6.1.2 (#13784)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 09:07:38 -05:00
Barış Soner Uşaklı
a34794b5ee Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-11-20 09:02:22 -05:00
Barış Soner Uşaklı
af477d0c2d fix: update validator dep. to get fix for CVE-2025-56200
https://nvd.nist.gov/vuln/detail/CVE-2025-56200
2025-11-20 09:02:17 -05:00
Julian Lam
d4e3b42369 Merge branch 'master' into develop 2025-11-19 15:17:08 -05:00
Julian Lam
76a07d5941 fix: missing logic in mocks.notes.private that precluded the use of emoji 2025-11-19 15:16:51 -05:00
renovate[bot]
cecc0fee54 fix(deps): update dependency @isaacs/ttlcache to v2.1.2 (#13780)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 11:31:04 -05:00
renovate[bot]
bfffb4b9e6 fix(deps): update dependency workerpool to v10.0.1 (#13781)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 11:29:41 -05:00
renovate[bot]
e24d8c1780 chore(deps): update redis docker tag to v8.4.0 (#13782)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 11:22:37 -05:00
renovate[bot]
5acfd1844c fix(deps): update dependency webpack to v5.103.0 (#13783)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 11:22:27 -05:00
Barış Soner Uşaklı
12dab84914 fix: tiny fix for IS when page is empty
related 4aad601967
https://github.com/NodeBB/NodeBB/pull/9525
2025-11-19 11:03:44 -05:00
renovate[bot]
b0c9bb1eed fix(deps): update dependency sass to v1.94.1 (#13777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 10:37:18 -05:00
Barış Soner Uşaklı
958bb04769 Merge branch 'master' into develop 2025-11-19 10:32:58 -05:00
Misty Release Bot
8da3819c5f chore: update changelog for v4.6.2 2025-11-19 15:31:58 +00:00
Misty Release Bot
065a87ad5c chore: incrementing version number - v4.6.2 2025-11-19 15:31:57 +00:00
Barış Soner Uşaklı
88598886f0 Merge branch 'master' into develop 2025-11-19 08:45:35 -05:00
Barış Soner Uşaklı
e300241193 fix: #13779, svg uploads
if tmp file doesn't have extension stripEXIF was called for gifs/svgs
2025-11-19 08:45:08 -05:00
Barış Soner Uşaklı
b00c08ce89 Merge branch 'master' into develop 2025-11-18 10:24:37 -05:00
Barış Soner Uşaklı
abfb6d1365 fix: #13776, if plugin is in install/package.json use latest version from there
otherwise show latest version from nbbpm
2025-11-18 10:23:49 -05:00
Barış Soner Uşaklı
26795272fa Merge branch 'master' into develop 2025-11-17 20:25:14 -05:00
Barış Soner Uşaklı
dece0628bf fix: category labels showing up on infinite scroll on category page
regression from cross posting tpl change
2025-11-17 20:25:05 -05:00
Barış Soner Uşaklı
aacd27ee32 refactor: remove unused share 2025-11-17 20:13:55 -05:00
Julian Lam
c51b7b650a fix: update markdown and web-push to latest versions 2025-11-17 14:34:35 -05:00
Julian Lam
2ce691cb77 fix: bump mentions to 4.8.2 2025-11-17 14:30:18 -05:00
Barış Soner Uşaklı
e2f4884e15 Merge branch 'master' into develop 2025-11-17 13:01:58 -05:00
Barış Soner Uşaklı
5bc5bb3d08 chore: up emoji 2025-11-17 13:01:37 -05:00
Barış Soner Uşaklı
db4ba8c385 Merge branch 'master' into develop 2025-11-17 08:00:46 -05:00
Barış Soner Uşaklı
f764b79118 chore: up peace, closes #13774 2025-11-17 07:59:49 -05:00
renovate[bot]
3ea029bdb2 chore(deps): update postgres docker tag to v18.1 (#13771)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:45:13 -05:00
renovate[bot]
111ae16330 fix(deps): update dependency mongodb to v6.21.0 (#13772)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:45:04 -05:00
renovate[bot]
c95bfcbf5e fix(deps): update dependency sass to v1.94.0 (#13773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:44:53 -05:00
renovate[bot]
899414f418 chore(deps): update dependency jsdom to v27.2.0 (#13770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:18:15 -05:00
renovate[bot]
93c69f9d77 fix(deps): update dependency validator to v13.15.23 (#13769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:18:03 -05:00
renovate[bot]
e14d3ac14b fix(deps): update dependency express-useragent to v2.0.2 (#13767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:01:52 -05:00
renovate[bot]
9271e26786 fix(deps): update dependency autoprefixer to v10.4.22 (#13768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:01:17 -05:00
Barış Soner Uşaklı
50951d5db5 Merge branch 'master' into develop 2025-11-13 12:25:24 -05:00
Barış Soner Uşaklı
9900171f24 fix: crash in resolveInboxes
2025-11-13T12:38:44.161Z [4568/2508892] - error: uncaughtException: Invalid URL
TypeError: Invalid URL
    at new URL (node:internal/url:818:25)
    at /home/saas/nodebb/src/activitypub/index.js:123:25
    at Array.filter (<anonymous>)
    at ActivityPub.resolveInboxes (/home/saas/nodebb/src/activitypub/index.js:122:13)
    at ActivityPub.send (/home/saas/nodebb/src/activitypub/index.js:424:36)
    at Object.announce (/home/saas/nodebb/src/activitypub/feps.js:72:20)
2025-11-13 12:25:16 -05:00
renovate[bot]
f24bb090b1 fix(deps): update dependency @isaacs/ttlcache to v2.1.1 (#13763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-13 10:47:24 -05:00
renovate[bot]
63789ebb3b fix(deps): update dependency esbuild to v0.27.0 (#13766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-13 10:46:53 -05:00
Julian Lam
5d9da6035e fix: log out user if session cookie resolves to non-existent uid 2025-11-10 11:55:19 -05:00
renovate[bot]
6ad93cd332 fix(deps): update dependency cron to v4.3.4 (#13762)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 18:20:28 -05:00
renovate[bot]
bc64d27f73 chore(deps): update dependency smtp-server to v3.16.1 (#13755)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 17:33:59 -05:00
Misty Release Bot
c88ecd25eb Latest translations and fallbacks 2025-11-06 20:53:04 +00:00
Julian Lam
3a81f90322 fix: make i18n test failure message easier to read 2025-11-06 15:51:23 -05:00
renovate[bot]
5be0a63054 fix(deps): update dependency sharp to v0.34.5 (#13758)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 15:35:13 -05:00
Barış Soner Uşaklı
dfe53d293a chore: up dbsearch 2025-11-06 12:36:26 -05:00
Julian Lam
9bb8a955cf fix: rename activitypub.out.announce.category, federate out Delete on topic move to cid -1 2025-11-06 11:59:56 -05:00
Julian Lam
e6911be35d refactor: deleteOrRestore internal method to federate out a Delete on delete, not just purge; better adheres to FEP 4f05 2025-11-06 11:30:17 -05:00
renovate[bot]
e1bf80dcef chore(deps): update dependency mocha to v11.7.5 (#13754)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 09:44:09 -05:00
Misty Release Bot
62889d2d5c Latest translations and fallbacks 2025-11-06 09:21:54 +00:00
Julian Lam
c616e657cc fix: bump harmony and persona for #13756 2025-11-05 13:50:47 -05:00
Julian Lam
2066727f3e fix: renderOverride to not clobber url if already set in template data 2025-11-05 13:43:04 -05:00
Julian Lam
172aabcb57 feat: add isNumber to client-side helpers 2025-11-05 13:43:04 -05:00
Misty Release Bot
49567c7295 chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories 2025-11-05 17:55:34 +00:00
Julian Lam
ed83bc5b83 revert: remove federatedDescription category field, closes #13757 2025-11-05 12:55:08 -05:00
Misty Release Bot
a8e45587bc Latest translations and fallbacks 2025-11-05 09:22:28 +00:00
renovate[bot]
4c5f7f6060 chore(deps): update redis docker tag to v8.2.3 (#13750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 12:54:57 -05:00
renovate[bot]
a34284df83 fix(deps): update dependency bcryptjs to v3.0.3 (#13751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 12:44:03 -05:00
renovate[bot]
1921ccaa10 fix(deps): update dependency sitemap to v9 (#13752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 12:43:34 -05:00
Barış Soner Uşaklı
4e33c1dfd3 chore: up harmony, closes #13753 2025-11-04 12:42:08 -05:00
renovate[bot]
13c23fddd7 chore(deps): update github artifact actions (#13730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:56:41 -05:00
renovate[bot]
4e7867a95d chore(deps): update dependency @eslint/js to v9.39.1 (#13747)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:56:01 -05:00
renovate[bot]
090eb08845 fix(deps): update dependency esbuild to v0.25.12 (#13748)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:55:48 -05:00
Julian Lam
7fb9bb2f15 Merge remote-tracking branch 'origin/master' into develop 2025-11-04 11:32:55 -05:00
Julian Lam
be4d0e811e fix: wrong auto-categorization if group actor is explicitly included in audience 2025-11-04 11:09:15 -05:00
Misty Release Bot
85d2667215 Latest translations and fallbacks 2025-11-01 09:20:27 +00:00
renovate[bot]
a36d89fcda fix(deps): update dependency rimraf to v6.1.0 (#13744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 20:27:53 -04:00
renovate[bot]
ba1230735f fix(deps): update dependency sass to v1.93.3 (#13746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 20:27:10 -04:00
renovate[bot]
cb96701b47 chore(deps): update dependency sass-embedded to v1.93.3 (#13745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 20:27:01 -04:00
renovate[bot]
4ce4e773cb chore(deps): update dependency jsdom to v27.1.0 (#13743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 16:17:35 -04:00
Julian Lam
98a1101d40 test: update test for toPid logic to reflect that toPid stays even if parent is purged 2025-10-31 09:44:06 -04:00
Julian Lam
9d3e817960 fix: bump themes for cross-post support, #13396 2025-10-31 09:41:04 -04:00
Barış Soner Uşaklı
179440372a refactor: get rid of post.exists check, if post doesnt exist content is falsy 2025-10-30 20:34:01 -04:00
Barış Soner Uşaklı
b5ea20898e chore: up express-useragent 2025-10-30 20:32:24 -04:00
Misty Release Bot
425d2eb295 Latest translations and fallbacks 2025-10-30 09:20:53 +00:00
Julian Lam
4858abe149 fix: add replies in parallel during note assertion 2025-10-29 15:18:19 -04:00
Julian Lam
748cc5eecd fix: logic error in context generation 2025-10-29 15:18:19 -04:00
Julian Lam
30b1212a0a fix: relax toPid assertion checks so that it only checks that it is a number or uri 2025-10-29 15:18:19 -04:00
Julian Lam
f6219d0026 fix: update logic so that purging a post does not remove toPid fields from children, updated addParentPosts so that post existence is checked 2025-10-29 15:18:19 -04:00
Barış Soner Uşaklı
728184dab6 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-10-29 13:16:39 -04:00
Barış Soner Uşaklı
a0a10c8b5c chore: up ttlcache to 2.x 2025-10-29 13:16:34 -04:00
renovate[bot]
97e5aa1d18 chore(deps): update mongo docker tag to v8.2 (#13738)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 13:08:05 -04:00
renovate[bot]
b5c1e8e7f6 fix(deps): update dependency sitemap to v8.0.2 (#13736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 13:07:55 -04:00
renovate[bot]
07d169d29e chore(deps): update dependency smtp-server to v3.16.0 (#13737)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 13:07:34 -04:00
Julian Lam
5c3b126166 fix(deps): update mentions 2025-10-29 12:32:36 -04:00
Julian Lam
524df6e548 fix: update category mock to save full handle 2025-10-29 12:32:24 -04:00
renovate[bot]
6f448ce2f6 fix(deps): update dependency validator to v13.15.20 (#13733)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 11:47:10 -04:00
Julian Lam
964a5388b7 fix(deps): bump mentions to 4.8.0 2025-10-28 13:40:35 -04:00
Julian Lam
a68b00ade9 Merge branch 'master' into develop 2025-10-28 11:51:10 -04:00
Julian Lam
5cfec5b1a9 fix: order of operations when updating category handle 2025-10-28 11:51:02 -04:00
Barış Soner Uşaklı
d1a06ba020 Merge branch 'master' into develop 2025-10-27 20:11:21 -04:00
Barış Soner Uşaklı
07eb16150c center user count in chat, add commas to usercount, make last user image full width 2025-10-27 20:07:33 -04:00
renovate[bot]
a49efe49ea fix(deps): update dependency commander to v14.0.2 (#13731)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 10:57:57 -04:00
Misty Release Bot
ff5f65bfa1 Latest translations and fallbacks 2025-10-27 09:21:45 +00:00
Julian Lam
ab9154aa49 fix: logic error in out.remove.context 2025-10-24 13:32:04 -04:00
Barış Soner Uşaklı
9ce8480831 Merge branch 'master' into develop 2025-10-24 11:27:50 -04:00
Barış Soner Uşaklı
008e1ae4e4 lint: fix lint 2025-10-24 11:27:43 -04:00
Barış Soner Uşaklı
aa1ba4b59e Merge branch 'master' into develop 2025-10-24 11:13:11 -04:00
Barış Soner Uşaklı
430a3e8113 test: add test for #13729 2025-10-24 11:12:20 -04:00
Barış Soner Uşaklı
9410f466d8 fix: closes #13729, fix filename encoding 2025-10-24 11:04:29 -04:00
renovate[bot]
418717fdff fix(deps): update dependency redis to v5.9.0 (#13727)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-24 09:16:38 -04:00
Misty Release Bot
25c088b228 Latest translations and fallbacks 2025-10-24 09:21:02 +00:00
Julian Lam
8ca52c7e78 feat: handle Move(Context) activity 2025-10-23 12:15:36 -04:00
Julian Lam
194cedb4d7 fix: cross-check remove(context) target prop against cid 2025-10-23 12:03:04 -04:00
renovate[bot]
e3c55f76c1 chore(deps): update dependency lint-staged to v16.2.6 (#13725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 09:36:55 -04:00
renovate[bot]
c1f6e52ba5 fix(deps): update dependency nodemailer to v7.0.10 (#13726)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 09:36:33 -04:00
Julian Lam
4f2f872bf9 fix: update logic re: federating out topic moves 2025-10-22 15:15:19 -04:00
Julian Lam
22868d3f97 fix: bad var 2025-10-22 15:05:06 -04:00
Julian Lam
d02e188a5f feat: update Remove(Context) to use target instead of origin, federate out Move(Context) on topic move between local cids 2025-10-22 15:04:47 -04:00
Julian Lam
3ede64d8a1 refactor: move all methods in src/api/activitypub.js to src/activitypub.out.js 2025-10-22 14:41:56 -04:00
Misty Release Bot
bb34b8c7a3 Latest translations and fallbacks 2025-10-22 09:20:27 +00:00
renovate[bot]
5a6c209770 fix(deps): update dependency workerpool to v10 (#13723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 20:23:22 -04:00
Julian Lam
3df4970ce1 fix: call api.topics method on topic move during note assertion, have category announce new topic on note assertion 2025-10-21 12:16:20 -04:00
Julian Lam
34e95e6d46 feat: context removal logic (aka moving topics to uncategorized, and federating this to other NodeBBs)
Squashed commit of the following:

commit 3309117eb1
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Oct 21 11:48:12 2025 -0400

    fix: activitypubApi.remove.context to use oldCid instead of cid

commit e90c5f79eb
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Oct 21 11:41:05 2025 -0400

    fix: parseInt cid in cid detection for api.topics.move

commit ab6561e60f
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Oct 20 14:03:45 2025 -0400

    feat: inbox handler for Remove(Context)

commit 30dc527cc0
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Oct 20 12:17:23 2025 -0400

    feat: unwind announce(delete), federate out Remove(Context) on delete, but not on purge
2025-10-21 12:00:01 -04:00
renovate[bot]
83a172c9a4 chore(deps): update dependency lint-staged to v16.2.5 (#13721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 10:13:58 -04:00
Misty Release Bot
e7498e8fb5 chore(i18n): fallback strings for new resources: nodebb.admin-settings-uploads 2025-10-21 14:11:49 +00:00
Barış Soner Uşaklı
97e59fbe04 feat: add new setting to control posts uploads being shown as thumbs 2025-10-21 10:11:18 -04:00
renovate[bot]
93d46c842e chore(deps): update dependency @stylistic/eslint-plugin to v5.5.0 (#13717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 11:44:31 -04:00
renovate[bot]
9d2b83f563 chore(deps): update dependency jsdom to v27.0.1 (#13718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 11:33:11 -04:00
renovate[bot]
1d9d7fc56b fix(deps): update dependency sitemap to v8.0.1 (#13720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 11:32:52 -04:00
renovate[bot]
7fd9e89495 chore(deps): update dependency @eslint/js to v9.38.0 (#13716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-17 22:25:08 -04:00
renovate[bot]
27a0dc731b fix(deps): update dependency ace-builds to v1.43.4 (#13714)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-17 22:10:24 -04:00
Barış Soner Uşaklı
f59b1c03b8 Merge branch 'master' into develop 2025-10-17 22:03:10 -04:00
Barış Soner Uşaklı
52c56bc545 chore: up themes 2025-10-17 22:02:57 -04:00
Barış Soner Uşaklı
2425f3b671 https://github.com/NodeBB/NodeBB/issues/13713 2025-10-17 16:23:50 -04:00
Misty Release Bot
655c858b5d chore: update changelog for v4.6.1 2025-10-17 15:21:57 +00:00
Misty Release Bot
351c9abc6f chore: incrementing version number - v4.6.1 2025-10-17 15:21:57 +00:00
Julian Lam
ecf95d1898 fix: do not include image or icon props if they are falsy values 2025-10-17 11:13:13 -04:00
Julian Lam
603068aebb fix: do not include image or icon props if they are falsy values 2025-10-17 11:11:04 -04:00
Julian Lam
f98a7216a3 feat: handle Delete(Context) as a move to cid -1 if the remote context still exists 2025-10-16 16:23:27 -04:00
Julian Lam
e09bb8b611 refactor: user announces no longer occur on topic move. Instead, the new category announces. Only occurs when topic moved to local categories. 2025-10-16 15:57:01 -04:00
Julian Lam
1d529473b4 fix: rebroadcasting logic should only execute for local tids if the remote cid is not addressed already 2025-10-16 12:17:52 -04:00
Julian Lam
2b2028e446 refactor: inbox announce(delete) handling to also handle context deletion, #13712 2025-10-16 11:27:51 -04:00
Julian Lam
4d5005b972 feat: handle incoming Announce(Delete), closes #13712 2025-10-16 11:12:00 -04:00
Julian Lam
fadac6165e fix: move Announce(Delete) out of topics.move and into topics API method 2025-10-15 15:02:23 -04:00
Julian Lam
3fa74d4cec fix: do not include actor from reflected activity when rebroadcasting remote cid 2025-10-15 12:33:57 -04:00
Julian Lam
d4695f1085 fix: broken category urls in to, cc 2025-10-15 12:31:55 -04:00
Julian Lam
a45f6f9c4c fix: update getPrivateKey to send application actor key when cid 0 2025-10-15 12:24:42 -04:00
Julian Lam
58a9e1c4f9 fix: update targets in 1b12 rebroadcast when cid is remote 2025-10-15 12:21:44 -04:00
Julian Lam
79d088536a fix: update 1b12 rebroadcast logic to send as application actor if post is in remote cid 2025-10-15 12:03:26 -04:00
Julian Lam
c25c629023 fix(deps): bump dbsearch 2025-10-15 11:52:47 -04:00
Julian Lam
9583f0d49b feat: execute 1b12 rebroadcast logic on all tids even if not posted to a local cid 2025-10-15 11:24:12 -04:00
renovate[bot]
41b7a91d8f fix(deps): update dependency esbuild to v0.25.11 (#13710)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-15 09:10:55 -04:00
renovate[bot]
febe0ae01a chore(deps): update actions/setup-node action to v6 (#13708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-14 13:24:44 -04:00
renovate[bot]
bf37c7bd77 fix(deps): update dependency chart.js to v4.5.1 (#13704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-14 13:24:26 -04:00
Julian Lam
af5efbd71d fix: regression caused by d3b3720915 2025-10-14 11:21:39 -04:00
Barış Soner Uşaklı
c80cb51065 Merge branch 'master' into develop 2025-10-13 13:45:21 -04:00
Barış Soner Uşaklı
499c50a485 fix: #13705, don't cover link if preview is opening up 2025-10-13 13:45:11 -04:00
renovate[bot]
238600a0ec chore(deps): update dependency smtp-server to v3.15.0 (#13702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 21:04:03 -04:00
renovate[bot]
f608c7c7a7 chore(deps): update dependency lint-staged to v16.2.4 (#13699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 21:03:52 -04:00
renovate[bot]
fa18287d03 fix(deps): update dependency nodebb-theme-persona to v14.1.15 (#13701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 21:03:42 -04:00
renovate[bot]
49a2932594 fix(deps): update dependency nodebb-theme-harmony to v2.1.21 (#13700)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 21:03:34 -04:00
Barış Soner Uşaklı
6c2100684b fix: crash in tests 2025-10-11 20:54:00 -04:00
Barış Soner Uşaklı
d7657538fa Revert "feat: auto-enable link-preview plugin on new installations"
This reverts commit b153941cf3.
2025-10-11 20:39:14 -04:00
renovate[bot]
5d3709f002 fix(deps): update dependency nodemailer to v7.0.9 (#13695)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 16:02:42 -04:00
renovate[bot]
a2892f60bc fix(deps): update dependency semver to v7.7.3 (#13697)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 16:02:30 -04:00
renovate[bot]
bb7b65eaa1 fix(deps): update dependency webpack to v5.102.1 (#13698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 16:02:20 -04:00
Barış Soner Uşaklı
b309a672a8 chore: up persona 2025-10-10 12:19:58 -04:00
Julian Lam
b153941cf3 feat: auto-enable link-preview plugin on new installations 2025-10-09 14:01:08 -04:00
Julian Lam
e7bdf6bc31 feat: bundle link-preview plugin 2025-10-09 14:00:30 -04:00
Julian Lam
07bed55e33 fix: add attachments to retrieved post data onNewPost 2025-10-09 13:58:13 -04:00
Julian Lam
d3b3720915 refactor: move post attachment handling directly into posts.create 2025-10-09 13:58:08 -04:00
Julian Lam
623cec9d91 fix: logic error in image mime type checking 2025-10-08 11:07:43 -04:00
Barış Soner Uşaklı
79327e6cac chore: up harmony 2025-10-07 17:34:55 -04:00
Julian Lam
4d24309a06 feat: federate topic deletion on topic deletion as well as purge 2025-10-07 11:35:36 -04:00
Julian Lam
e29a418cdd Merge branch 'master' into develop 2025-10-06 22:17:45 -04:00
Julian Lam
ec3998974c fix: omg what. 2025-10-06 22:17:35 -04:00
Julian Lam
93b6cb5984 feat: federate Delete on post delete as well as purge, topic deletion federates Announce(Delete(Object)) 2025-10-06 13:45:46 -04:00
renovate[bot]
923ddbc1f1 chore(deps): update postgres docker tag to v18 (#13679)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-06 10:28:44 -04:00
renovate[bot]
d73892aeda chore(deps): update dependency @eslint/js to v9.37.0 (#13693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-06 10:13:40 -04:00
renovate[bot]
5dc9f2c5d4 fix(deps): update dependency nodemailer to v7.0.7 (#13694)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-06 10:13:26 -04:00
Misty Release Bot
66285ef53e Latest translations and fallbacks 2025-10-05 09:20:02 +00:00
renovate[bot]
9b6e9b2ac3 fix(deps): update dependency redis to v5.8.3 (#13691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 16:50:50 -04:00
renovate[bot]
4640a63e4b chore(deps): update redis docker tag to v8.2.2 (#13692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 16:47:23 -04:00
renovate[bot]
c769666737 chore(deps): update dependency mocha to v11.7.4 (#13685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 16:05:14 -04:00
renovate[bot]
eb06bda8d8 chore(deps): update dependency @commitlint/cli to v20.1.0 (#13686)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 16:04:55 -04:00
renovate[bot]
19dc1025d4 fix(deps): update dependency winston to v3.18.3 (#13687)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 16:04:26 -04:00
Misty Release Bot
c0d9bb0723 chore: update changelog for v4.6.0 2025-10-01 18:12:06 +00:00
Misty Release Bot
367f66caa4 chore: incrementing version number - v4.6.0 2025-10-01 18:12:05 +00:00
Julian Lam
39e5b8fec3 Merge branch 'master' into develop 2025-10-01 13:51:11 -04:00
Julian Lam
5ed19ef8a9 fix: login handler to handle if non-confirmed email is entered 2025-10-01 13:51:04 -04:00
Julian Lam
189fcfa694 Merge branch 'master' into develop 2025-10-01 12:52:17 -04:00
Julian Lam
56a9336611 docs: update openapi schema to refer to try.nodebb.org instead of example.org 2025-10-01 12:52:09 -04:00
Julian Lam
3fcaa678a1 chore: remove unneeded secureRandom require 2025-10-01 12:15:07 -04:00
Julian Lam
675178aca4 fix: allow quote-inline class in mocks sanitizer so quote-post fallback elements can be detected and removed during title generation, fixes #13688 2025-10-01 12:13:57 -04:00
Julian Lam
9cee799937 fix: force outgoing page on direct access to /ap handler 2025-10-01 11:53:57 -04:00
Julian Lam
954e7bc8e3 fix: update outgoing page to match 404 design 2025-10-01 11:43:29 -04:00
renovate[bot]
d7e93a5d75 chore(deps): update dependency lint-staged to v16.2.3 (#13681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-01 11:31:16 -04:00
renovate[bot]
17dba0b038 fix(deps): update dependency webpack to v5.102.0 (#13683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-01 11:12:42 -04:00
Julian Lam
4776d01281 sec: disallow checkHeader from returning a URL from a different origin than the passed-in URL 2025-10-01 11:00:03 -04:00
Julian Lam
c3df68f2ed fix: don\'t begin processing local login if the passed-in username isn't even valid 2025-09-30 11:05:46 -04:00
Misty Release Bot
9a596d67f3 chore: update changelog for v4.5.2 2025-09-29 14:04:08 +00:00
Misty Release Bot
30ba8e8247 chore: incrementing version number - v4.5.2 2025-09-29 14:04:07 +00:00
Misty Release Bot
f644974a9b Latest translations and fallbacks 2025-09-28 09:20:03 +00:00
Misty Release Bot
675bec331c Latest translations and fallbacks 2025-09-27 09:20:16 +00:00
Misty Release Bot
160907d0fa Latest translations and fallbacks 2025-09-26 09:20:35 +00:00
Barış Soner Uşaklı
28a6256209 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-09-25 21:35:02 -04:00
Barış Soner Uşaklı
d6e7e168ba test: fix message 2025-09-25 21:35:01 -04:00
renovate[bot]
30ca00002a chore(deps): update actions/download-artifact action to v5 (#13646)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 20:49:28 -04:00
renovate[bot]
a4d8619ba3 chore(deps): update dependency @eslint/js to v9.36.0 (#13670)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 20:47:24 -04:00
renovate[bot]
6dab3f2e63 chore(deps): update commitlint monorepo to v20 (#13678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 20:33:52 -04:00
Barış Soner Uşaklı
8061a53b3a Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-09-25 19:20:21 -04:00
Barış Soner Uşaklı
8614d8258d test: show tids on test fail 2025-09-25 19:20:17 -04:00
renovate[bot]
3370c06472 chore(deps): update dependency @stylistic/eslint-plugin to v5.4.0 (#13671)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 19:18:05 -04:00
renovate[bot]
13ce106b21 chore(deps): update dependency lint-staged to v16.2.1 (#13672)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 19:01:50 -04:00
renovate[bot]
9b00ff1e52 fix(deps): update dependency mongodb to v6.20.0 (#13665)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 18:42:27 -04:00
Julian Lam
3bba902932 test: more fixes for note vs. article 2025-09-25 15:29:10 -04:00
Julian Lam
1587808700 test: short OPs create Notes again 2025-09-25 15:18:26 -04:00
Julian Lam
051043b682 doc: 'nickname' and 'descriptionParsed' use in categories controller 2025-09-25 15:16:42 -04:00
Julian Lam
7184507be2 fix: #13667, record to instances:lastSeen instead of domains:lastSeen 2025-09-25 15:12:52 -04:00
Barış Soner Uşaklı
c7e84b8d92 Merge branch 'master' into develop 2025-09-25 12:38:02 -04:00
Julian Lam
7abdfd86ac fix: skip header checking during note assertion if test runner is active 2025-09-25 11:56:38 -04:00
Barış Soner Uşaklı
0a2fa45da1 perf: update upgrade script to use bulk methods
add missing progress.total
2025-09-25 11:02:12 -04:00
Misty Release Bot
15fdaba5f6 Latest translations and fallbacks 2025-09-25 09:20:45 +00:00
Barış Soner Uşaklı
32d0ee4808 perf: update old upgrade scripts to use bulkSet/Add
fix a missing await
2025-09-25 02:03:24 -04:00
Barış Soner Uşaklı
2b987d09ce perf: update old upgrade scripts to use bulkSet/Add
fix a missing await
2025-09-25 02:03:14 -04:00
Misty Release Bot
6055b345e1 chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories 2025-09-24 17:49:25 +00:00
Julian Lam
cf3964be6f chore: fix grammatical error in language string 2025-09-24 13:48:57 -04:00
Misty Release Bot
8730073af1 chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories 2025-09-24 15:25:46 +00:00
Julian Lam
bd80b77a7a feat: ability to nickname remote categories, closes #13677 2025-09-24 11:25:20 -04:00
Julian Lam
175dc20906 fix: #13676, bug where nested remote categories could not be removed 2025-09-24 10:42:16 -04:00
Julian Lam
8c553b1854 fix: regression 218f5ea from via, stricter check on whether the calling user is a remote uid 2025-09-24 10:01:20 -04:00
Misty Release Bot
d0921ea5a2 Latest translations and fallbacks 2025-09-24 09:20:40 +00:00
renovate[bot]
00d80616d9 fix(deps): update dependency lru-cache to v11.2.2 (#13669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 20:17:28 -04:00
renovate[bot]
df9d637c13 chore(deps): update dependency sass-embedded to v1.93.2 (#13673)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 20:16:38 -04:00
renovate[bot]
1b5804e1c9 fix(deps): update dependency sass to v1.93.2 (#13674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 20:16:28 -04:00
renovate[bot]
6e84e35fc3 fix(deps): update fontsource monorepo (#13663)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 19:40:03 -04:00
Julian Lam
218f5eabe2 fix: #13668, privilege checking on topic create for remote users; was not properly checking against fediverse pseudo-user 2025-09-23 11:00:17 -04:00
Julian Lam
33b56e810c Merge branch 'master' into develop 2025-09-22 12:15:30 -04:00
Julian Lam
d0c058263f fix: update note assertion topic members check to simpler posts.exists check
The original logic checked that each member of the resolved chain was part of the resolved topic.

That isn't always the case, especially when topics splinter due to network timeouts/unavailability.

This ended up causing issues where already asserted posts were re-asserted but failed because they no longer served an _activitypub object since it was already asserted and the data was just pulled from the db.
2025-09-22 12:14:20 -04:00
Julian Lam
be098e1207 Merge branch 'master' into develop 2025-09-22 11:57:05 -04:00
Julian Lam
4d68e3fe14 fix: re-jig handling of ap tag values so that only hashtags are considered (not Piefed community tags, etc.) 2025-09-22 11:56:55 -04:00
Misty Release Bot
3f8ff7139f Latest translations and fallbacks 2025-09-21 09:20:01 +00:00
Julian Lam
9deb576d1e Merge branch 'master' into develop 2025-09-19 14:43:13 -04:00
Julian Lam
f9edb13f62 fix: missing actor assertion on 1b12 announced upboat 2025-09-19 14:43:04 -04:00
Julian Lam
d122bf4a98 fix: update logic as to whether a post is served as an article or not
Now, if OP is less than 500 characters, it is just federated out as a Note instead.
2025-09-19 12:43:13 -04:00
Julian Lam
be9212b59f fix: update activitypubFilterList logic so that it is also checked on resolveInbox and ActivityPub.get methods, updated instances.isAllowed to no longer return a promise 2025-09-19 10:56:35 -04:00
Julian Lam
559155da63 refactor: notes.assert to add finally block, update assertPayload to update instances:lastSeen via method instead of direct db call 2025-09-19 10:34:57 -04:00
Julian Lam
d1f5060f11 fix(deps): bump 2factor to 7.6.0 2025-09-18 13:33:16 -04:00
renovate[bot]
9b48bbd501 fix(deps): update dependency esbuild to v0.25.10 (#13664)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 17:33:55 -04:00
renovate[bot]
c8680f300a fix(deps): update dependency sharp to v0.34.4 (#13662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 17:00:39 -04:00
renovate[bot]
3238248eec chore(deps): update dependency jsdom to v27 (#13653)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 11:41:57 -04:00
renovate[bot]
b2d91dc319 fix(deps): update dependency satori to v0.18.3 (#13660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 11:41:33 -04:00
Barış Soner Uşaklı
5beeedd67c Revert "lint: remove unused"
This reverts commit a6674f67a1.
2025-09-17 11:09:02 -04:00
Barış Soner Uşaklı
57a4ce8006 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-09-17 10:58:31 -04:00
Barış Soner Uşaklı
a6674f67a1 lint: remove unused 2025-09-17 10:58:26 -04:00
Julian Lam
532653110c Revert "fix: add pre-processing step to title generation logic so sbd doesn't fall over so badly"
This reverts commit f7c4742987.
2025-09-17 10:58:07 -04:00
Barış Soner Uşaklı
6cca55e37f fix: use parameterized query for key lookup 2025-09-17 10:50:35 -04:00
Julian Lam
f7c4742987 fix: add pre-processing step to title generation logic so sbd doesn't fall over so badly 2025-09-17 10:44:51 -04:00
renovate[bot]
b845aa48be fix(deps): update dependency nodebb-theme-harmony to v2.1.20 (#13659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-16 21:26:59 -04:00
renovate[bot]
8324be2d79 fix(deps): update dependency fs-extra to v11.3.2 (#13658)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-16 21:18:11 -04:00
Barış Soner Uşaklı
6cba6927e4 Merge branch 'master' into develop 2025-09-16 19:08:14 -04:00
Barış Soner Uşaklı
b1e134b44e pass string to isUUID 2025-09-16 19:08:10 -04:00
Barış Soner Uşaklı
f7bbec7ccf fix: switch to action 2025-09-16 11:48:39 -04:00
Barış Soner Uşaklı
9c18c6fe49 feat: add a term param to recent controller so it can be controller without req.query.term 2025-09-16 11:24:14 -04:00
Barış Soner Uşaklı
68a8db856a feat: add a new hook to override generateUrl in navigator.js 2025-09-16 11:23:31 -04:00
Julian Lam
36346dd822 Merge branch 'master' into develop 2025-09-15 14:10:07 -04:00
Julian Lam
b66c30a2a7 fix: handle cases where incoming ap object tag can be a non-array 2025-09-15 14:10:02 -04:00
Julian Lam
e2e916e200 Merge remote-tracking branch 'origin/master' into develop 2025-09-15 14:01:08 -04:00
Julian Lam
5f4790a48c feat: allow activities to be addressed to as:Public or Public to be treated as public content 2025-09-15 14:01:00 -04:00
Julian Lam
f67942caec fix: local pids not always converted to absolute URLs on topic actor controller 2025-09-15 13:53:35 -04:00
Barış Soner Uşaklı
8a120b76a8 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-09-15 12:57:34 -04:00
Barış Soner Uşaklı
52fec49310 chore: remove obsolete deprecation 2025-09-15 12:57:29 -04:00
Julian Lam
225bf85e94 fix: #13657, fix remote category data inconsistency in sendNotificationToPostOwner 2025-09-15 12:47:49 -04:00
renovate[bot]
db89250982 fix(deps): update dependency @fontsource/inter to v5.2.7 (#13655)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 11:09:40 -04:00
Barış Soner Uşaklı
b95c6e2d2d Merge branch 'master' into develop 2025-09-15 09:33:12 -04:00
Barış Soner Uşaklı
405d2172ac chore: up persona 2025-09-15 09:32:05 -04:00
renovate[bot]
19f3919890 fix(deps): update dependency commander to v14.0.1 (#13652)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 20:27:47 -04:00
Barış Soner Uşaklı
61b3931621 Merge branch 'master' into develop 2025-09-13 18:11:56 -04:00
Barış Soner Uşaklı
dfe19a98c1 fix: don't show votes on unread if rep system disabled
add openapi spec
2025-09-13 17:51:25 -04:00
Barış Soner Uşaklı
8cb1cae1cc Merge branch 'master' into develop 2025-09-13 17:40:49 -04:00
Barış Soner Uşaklı
8a786c717e fix: if reputation is disabled hide votes on /recent
they were only hidden on category page
2025-09-13 17:40:09 -04:00
Barış Soner Uşaklı
e2dc592c4f fix: favicon path 2025-09-12 19:50:19 -04:00
Barış Soner Uşaklı
a37521b016 lint: fix 2025-09-12 19:27:07 -04:00
Barış Soner Uşaklı
56fad0be0d fix: check brand:touchIcon for correct path 2025-09-12 19:19:52 -04:00
renovate[bot]
1e82af66a6 fix(deps): update dependency bootswatch to v5.3.8 (#13651)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-12 11:36:55 -04:00
Barış Soner Uşaklı
f9ddbebacc fix: remove .auth call 2025-09-12 11:33:53 -04:00
Misty Release Bot
eecf9dda64 Latest translations and fallbacks 2025-09-12 09:21:18 +00:00
renovate[bot]
15b0b54000 chore(deps): update dependency sass-embedded to v1.92.1 (#13638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 18:58:44 -04:00
renovate[bot]
10344c98a8 fix(deps): update dependency sass to v1.92.1 (#13645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 18:58:34 -04:00
renovate[bot]
7147a2e31a chore(deps): update dependency lint-staged to v16.1.6 (#13635)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 17:46:24 -04:00
Barış Soner Uşaklı
f9688b36b6 fix: port the try/catch for notes.assert from develop 2025-09-11 17:44:34 -04:00
Barış Soner Uşaklı
9184a7a4cc fix: add missing unlock in nested try/catch 2025-09-11 17:28:56 -04:00
Julian Lam
95fb084ca4 fix: wrap majority of note assertion logic in try..catch to handle exceptions so that the lock is always released 2025-09-11 10:30:25 -04:00
renovate[bot]
4f5e770c5f chore(deps): update actions/setup-node action to v5 (#13647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 09:24:29 -04:00
renovate[bot]
6a1e9e8a11 fix(deps): update dependency workerpool to v9.3.4 (#13650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 09:23:59 -04:00
Misty Release Bot
67fa433f1a Latest translations and fallbacks 2025-09-11 09:21:14 +00:00
renovate[bot]
ac90ef8c9a chore(deps): update dependency mocha to v11.7.2 (#13636)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-10 17:27:20 -04:00
renovate[bot]
6adfbb2482 fix(deps): update dependency lru-cache to v11.2.1 (#13644)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-10 17:26:21 -04:00
Julian Lam
f7d10e09ac Merge branch 'master' into develop 2025-09-10 15:07:13 -04:00
Julian Lam
953c051c2e fix: perform Link header check on note assertion only when skipChecks is falsy 2025-09-10 14:59:13 -04:00
Julian Lam
feda629f82 chore: remove formatApiResponse logging 2025-09-10 14:48:24 -04:00
Misty Release Bot
8d4e46529f chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories 2025-09-10 13:49:20 +00:00
Barış Soner Uşaklı
160f475029 Merge branch 'master' into develop 2025-09-10 09:48:49 -04:00
Barış Soner Uşaklı
0311b98ed7 feat: add topic templates per category, closes #13649 2025-09-10 09:46:39 -04:00
Barış Soner Uşaklı
8d6a0f0298 test: ap timeouts 2025-09-09 11:28:29 -04:00
Barış Soner Uşaklı
10350ea6f6 revert: post queue changes to fix tests 2025-09-09 11:20:03 -04:00
Barış Soner Uşaklı
a5ea4b4056 chore: up eslint 2025-09-09 11:07:28 -04:00
Misty Release Bot
3044f38291 Latest translations and fallbacks 2025-09-09 09:20:59 +00:00
Misty Release Bot
8939010195 chore(i18n): fallback strings for new resources: nodebb.admin-settings-activitypub 2025-09-08 19:37:21 +00:00
Julian Lam
1d6a9fe738 feat: allow user auto-categorization rule 2025-09-08 15:36:48 -04:00
Julian Lam
10f665e3e3 Merge branch 'master' into develop 2025-09-08 12:00:49 -04:00
Julian Lam
527f27af29 fix: make auto-categorization logic case-insensitive 2025-09-08 12:00:32 -04:00
Barış Soner Uşaklı
c43e85164d Merge branch 'master' into develop 2025-09-08 09:37:54 -04:00
Barış Soner Uşaklı
b3ffa00789 fix: closes #13641, log test email sending errors server side 2025-09-08 09:29:32 -04:00
Misty Release Bot
5528c6eb19 Latest translations and fallbacks 2025-09-08 09:20:47 +00:00
Barış Soner Uşaklı
290a9395c0 fix: pass object to.auth 2025-09-06 13:47:46 -04:00
Julian Lam
9bfce68b5e test: disable post queue when testing posting logic 2025-09-05 14:39:23 -04:00
Julian Lam
15f9fbaa5c feat: add minor pre-processing step to better handle header elements in incoming html 2025-09-05 13:16:28 -04:00
Misty Release Bot
2de200b311 Latest translations and fallbacks 2025-09-05 09:20:19 +00:00
Julian Lam
2ea624fc8e fix: use newline_boundaries param for tokenizer during title and summary generation, attempt to serve HTML in summary generation 2025-09-04 16:55:04 -04:00
Misty Release Bot
a9fffd7ca0 chore: update changelog for v4.5.1 2025-09-04 16:02:47 +00:00
Misty Release Bot
7a9e09a696 chore: incrementing version number - v4.5.1 2025-09-04 16:02:47 +00:00
Julian Lam
fcd9f1a999 Merge branch 'master' into develop 2025-09-04 11:47:45 -04:00
Julian Lam
8d7e35378f fix: remove unused dependency 2025-09-04 11:47:40 -04:00
Julian Lam
9221d34f01 fix: remove test for 1b12 announce on topic move (as this no longer occurs) 2025-09-04 11:45:33 -04:00
Julian Lam
99e067f19e Merge branch 'master' into develop 2025-09-04 11:20:26 -04:00
Julian Lam
e6996846ac fix: use existing id if checkHeader returns false 2025-09-04 11:20:17 -04:00
Barış Soner Uşaklı
58677c117a Merge branch 'master' into develop 2025-09-04 10:48:59 -04:00
Barış Soner Uşaklı
0c48e0e909 feat: use _variables.scss overrides from acp in custom skins and bootswatch skins as well 2025-09-04 10:48:53 -04:00
Julian Lam
2563255931 Merge branch 'master' into develop 2025-09-04 10:32:48 -04:00
Julian Lam
86d9016f02 fix: regression that caused Piefed (or potentially others) content to be dropped on receipt 2025-09-04 10:29:17 -04:00
Barış Soner Uşaklı
c07e81d2ab chore: up dbsearch 2025-09-03 20:57:55 -04:00
Julian Lam
3f00f250d9 Merge remote-tracking branch 'origin/master' into develop 2025-09-03 16:56:46 -04:00
Julian Lam
0f9015f050 fix: deprecated call to api.topics.move 2025-09-03 16:56:34 -04:00
Julian Lam
7adfe39ea1 fix: remove faulty code that tried to announce a remote object but couldn't as the ID was not a number 2025-09-03 14:46:01 -04:00
Barış Soner Uşaklı
b472dba244 Merge branch 'master' into develop 2025-09-03 14:12:23 -04:00
Julian Lam
5d6535719a chore: update default settings
undoTimeout reduced to 0
post queue default enabled with minimum reputation to bypass set to 1
2025-09-03 14:02:58 -04:00
Misty Release Bot
86d03b1e46 chore: update changelog for v4.5.0 2025-09-03 17:42:16 +00:00
Misty Release Bot
8c4d68a728 chore: incrementing version number - v4.5.0 2025-09-03 17:42:15 +00:00
renovate[bot]
2dc39f1e3e fix(deps): update dependency satori to v0.18.2 (#13628)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 11:27:55 -04:00
renovate[bot]
7adabd600d fix(deps): update dependency ace-builds to v1.43.3 (#13633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 11:25:56 -04:00
renovate[bot]
4ade600785 chore(deps): pin dependency @stylistic/eslint-plugin to 5.3.1 (#13634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 11:25:35 -04:00
renovate[bot]
07b9cd16bd fix(deps): update dependency nodemailer to v7.0.6 (#13630)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 11:20:27 -04:00
Julian Lam
70bbed93ce test: delete commented-out test 2025-09-03 11:12:45 -04:00
Barış Soner Uşaklı
5c00c6a579 Merge branch 'master' into develop 2025-09-03 11:10:31 -04:00
Barış Soner Uşaklı
2d5ad8b24e Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-30 13:24:34 -04:00
Barış Soner Uşaklı
19aa8a7168 fix: display proper id if lock fails 2025-08-30 13:24:33 -04:00
Misty Release Bot
b517e27d60 Latest translations and fallbacks 2025-08-30 09:19:56 +00:00
Jakub Bliźniuk
931b7345e4 ci: use native arm runners for building docker images (#13627)
* ci: split docker runners

* ci: don't tag initial image

* ci: use lowercase image name

* ci: remove qemu
2025-08-29 21:07:29 -04:00
Barış Soner Uşaklı
9d4a9b83cc fix: closes #13624, update post fields before schedule code
tldr when reschedule was called it was still using the timestamp in the future when adding to cid:<cid>:pids causing that post to get stuck at the top of that zset, which led to the bug in this issue
2025-08-29 21:02:14 -04:00
Barış Soner Uşaklı
a4674578e4 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-29 15:23:24 -04:00
Barış Soner Uşaklı
f67265daa7 refactor: revert, don't need to pass relative_path 2025-08-29 15:23:19 -04:00
Julian Lam
4ef605b1aa fix: #13622, WordPress blog URLs not asserting properly 2025-08-29 13:33:19 -04:00
Barış Soner Uşaklı
648c454303 refactor: leaner utils.params for relative path 2025-08-29 13:07:46 -04:00
Barış Soner Uşaklı
a0e78ff853 fix: closes #13625, fix utils.params so it works with relative_paths 2025-08-29 12:50:06 -04:00
Julian Lam
35641f377c feat: use sbd to more intelligently put together a sub-500 character summary based on existing sentences in post content
The original behaviour was to just shove the entire post content (html and all) into summary. Summary _can_ include HTML, but it's a little harder to retain HTML but truncate the content based on sentences, without accidentally dropping tags.
2025-08-28 14:27:46 -04:00
Julian Lam
8268632235 feat: add sbd dependency to improve title generation (and for summary generation, later) 2025-08-28 14:12:04 -04:00
Julian Lam
a0be4a28da fix: remove webfinger error log 2025-08-28 12:45:56 -04:00
Barış Soner Uşaklı
b73ee309e0 refactor: remove invalid queued items
catch invalid json in payload
2025-08-28 12:39:44 -04:00
Julian Lam
5f7085f34d fix: urlencoded param in openapi spec example 2025-08-28 11:52:22 -04:00
Julian Lam
cbdc90a432 fix: re-ordering dependencies because raisins 2025-08-28 09:55:17 -04:00
Misty Release Bot
c67983cc50 Latest translations and fallbacks 2025-08-28 09:20:35 +00:00
Julian Lam
788301a56a fix: missed a tab character 2025-08-28 00:03:12 -04:00
Barış Soner Uşaklı
f83d2536ce refactor: braces 2025-08-27 18:46:37 -04:00
Barış Soner Uşaklı
457908bdf4 Merge branch 'master' into develop 2025-08-27 18:43:00 -04:00
ledlamp
8a326a6e74 Allow setting value of Express 'trust proxy' from config (#13034)
* Allow setting value of Express 'trust proxy' from config

* Allow config to disable 'trust proxy' if port is 80/443

And show the value of trust_proxy in log

* fix errors
2025-08-27 18:42:30 -04:00
Julian Lam
0f44034ec3 docs: add missing routes to openapi schema 2025-08-27 15:21:38 -04:00
Julian Lam
771b8dcb2d fix: random hotkeys adding dependencies to my project smh 2025-08-27 15:08:51 -04:00
Julian Lam
560cc2ebf9 docs: openapi typo 2025-08-27 14:21:45 -04:00
Misty Release Bot
cb00fb3bcc chore(i18n): fallback strings for new resources: nodebb.admin-settings-activitypub 2025-08-27 18:17:35 +00:00
Julian Lam
a9a12a9f08 docs: update openapi schema for relays and rules 2025-08-27 14:16:42 -04:00
Julian Lam
40973ca7d1 fix: parseAndTranslate bug 2025-08-27 14:16:42 -04:00
Julian Lam
aa26dfb372 feat: send local posts out to established relays 2025-08-27 14:16:42 -04:00
Julian Lam
6576468e2e fix: internationalize relay states 2025-08-27 14:16:42 -04:00
Julian Lam
28b63891d4 fix: minor fixes for yukimochi/Activity-Relay compatibility 2025-08-27 14:16:42 -04:00
Julian Lam
b1dbb19c10 fix: inbox.announce to not reject activities from relays 2025-08-27 14:16:42 -04:00
Julian Lam
f4d1df7c66 feat: relay handshake logic, handle Follow/Accept, send back Accept. 2025-08-27 14:16:42 -04:00
Julian Lam
4967492f4f fix: handle webfinger responses with subject missing scheme 2025-08-27 14:16:42 -04:00
Julian Lam
1e0fb20db4 feat: adding and removing relays from AP settings page in ACP 2025-08-27 14:16:42 -04:00
renovate[bot]
6d856545ec fix(deps): update dependency mongodb to v6.19.0 (#13619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-27 13:42:18 -04:00
Barış Soner Uşaklı
be53dbcbb8 remove logs 2025-08-27 13:30:29 -04:00
Barış Soner Uşaklı
4ad7b59281 Update notes.js 2025-08-27 13:28:26 -04:00
Barış Soner Uşaklı
5dab17450f Revert "test: more logs for failing test"
This reverts commit 79c6e72ce6.
2025-08-27 13:27:36 -04:00
Barış Soner Uşaklı
8f7411c3aa test: add timeout to ap.helpers.query 2025-08-27 13:08:19 -04:00
Barış Soner Uşaklı
8e160fe05e test: more logs 2025-08-27 12:49:42 -04:00
Barış Soner Uşaklı
f703a94b31 test: add more logs 2025-08-27 12:34:24 -04:00
Barış Soner Uşaklı
681ce8bf2f test: add more logs 2025-08-27 12:23:10 -04:00
Barış Soner Uşaklı
029da6c52e test: debug timeout 2025-08-27 12:10:30 -04:00
Barış Soner Uşaklı
79c6e72ce6 test: more logs for failing test 2025-08-27 11:29:43 -04:00
Barış Soner Uşaklı
bf279d71b0 fix: closes #13501
add missing await
2025-08-27 11:02:12 -04:00
Barış Soner Uşaklı
027d6f307c fix: closes #13620 2025-08-27 00:06:32 -04:00
Barış Soner Uşaklı
5ee1fd02bb refactor: add missing awaits
fix error message, lock not using second param
2025-08-26 19:23:39 -04:00
Barış Soner Uşaklı
567f453b79 chore: enable dbsearch on new installs 2025-08-26 14:09:03 -04:00
Barış Soner Uşaklı
e79dfeb7c3 fix: rare crash if queued item is no longer in db but id is in post:queue 2025-08-26 13:56:47 -04:00
Barış Soner Uşaklı
69a6c1502f test: catch error in failing test 2025-08-26 12:04:58 -04:00
Barış Soner Uşaklı
fa1985bb17 Merge branch 'master' into develop 2025-08-26 11:52:09 -04:00
Barış Soner Uşaklı
f5ad786240 fix: jquery selector on post edit 2025-08-26 11:52:02 -04:00
renovate[bot]
08ea56bd12 fix(deps): update dependency sass to v1.91.0 (#13615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 11:32:19 -04:00
renovate[bot]
e504ee348c chore(deps): update dependency sass-embedded to v1.91.0 (#13614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 11:32:11 -04:00
renovate[bot]
29a7402fc9 fix(deps): update dependency bootstrap to v5.3.8 (#13618)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 11:21:33 -04:00
renovate[bot]
dfc558cdeb chore(deps): update dependency @eslint/js to v9.34.0 (#13612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 11:01:39 -04:00
Julian Lam
a771b17fac fix: relative paths in openapi schema 2025-08-25 23:51:33 -04:00
Julian Lam
e8401472c0 fix: add missing routes to write.yaml 2025-08-25 16:48:33 -04:00
Julian Lam
d4bf5f0c2f lint: fix comma dangle 2025-08-25 13:23:25 -04:00
Barış Soner Uşaklı
590eae2917 Merge branch 'master' into develop 2025-08-25 12:17:23 -04:00
Barış Soner Uşaklı
1ea10eff1c test: sharp invalid png 2025-08-25 12:08:55 -04:00
Julian Lam
c0248ca52b docs: openapi schema fixes for auto-categorization commits 2025-08-25 12:05:50 -04:00
Barış Soner Uşaklı
3cdf28bd2c test: latest sharp 2025-08-25 11:48:34 -04:00
Julian Lam
165af50dc8 feat: apply auto-categorization logic 2025-08-25 11:47:05 -04:00
Barış Soner Uşaklı
312df52393 fix: only process unique slugs 2025-08-25 11:18:04 -04:00
Julian Lam
70d7e32929 fix: remove special-case logic that added a requested object to a topic if its defined context didn't actually contain it 2025-08-25 10:11:09 -04:00
Misty Release Bot
ae7fa6958d Latest translations and fallbacks 2025-08-24 09:19:45 +00:00
Barış Soner Uşaklı
09898b94ec fix: return null if field is falsy
fixes MongoServerError: FieldPath cannot be constructed with empty string error when getObjectField is called with a falsy value
2025-08-22 11:06:47 -04:00
Barış Soner Uşaklı
c16f9d6495 fix: mark-all read notifications button 2025-08-22 08:50:09 -04:00
Misty Release Bot
929ae61646 Latest translations and fallbacks 2025-08-22 09:20:14 +00:00
Barış Soner Uşaklı
fdd0152ee4 chore: up peace 2025-08-21 21:32:10 -04:00
Barış Soner Uşaklı
6d60f9457a chore: up harmony 2025-08-21 21:29:53 -04:00
Barış Soner Uşaklı
9bdf24f08b fix: catch exceptions in assertPayload, closes #13611 2025-08-21 21:25:14 -04:00
Barış Soner Uşaklı
74cd68b865 Merge branch 'master' into develop 2025-08-21 11:01:15 -04:00
Barış Soner Uşaklı
5dfd241335 lint: fix lint issue 2025-08-21 10:49:13 -04:00
Barış Soner Uşaklı
845e4cb8f3 Merge branch 'master' into develop 2025-08-21 10:48:35 -04:00
Barış Soner Uşaklı
2d415b5610 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-21 10:45:36 -04:00
Barış Soner Uşaklı
20e2c8fe67 Merge branch 'master' into develop 2025-08-21 10:45:28 -04:00
Marco Beyer
181aa9c2ed (fix) fixed typos in activitypub urls (#13610) 2025-08-21 10:45:06 -04:00
Marco Beyer
8bef680015 (fix) Return relative asset URL instead of absolute asset url (#13605)
* Return relative asset URL instead of absolute asset url

* fixed linter issues and repeating relative path
2025-08-21 10:44:28 -04:00
renovate[bot]
2f4cf26c59 fix(deps): update dependency nodebb-theme-harmony to v2.1.17 (#13607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 10:33:45 -04:00
renovate[bot]
8af76f3cae fix(deps): update dependency nodebb-theme-peace to v2.2.47 (#13608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 10:33:35 -04:00
Misty Release Bot
f6e1a2e55c Latest translations and fallbacks 2025-08-21 09:19:42 +00:00
renovate[bot]
02228c04ef chore(deps): update redis docker tag to v8.2.1 (#13603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 14:14:31 -04:00
renovate[bot]
138c675374 fix(deps): update dependency redis to v5.8.2 (#13606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 14:14:16 -04:00
renovate[bot]
996740bdf9 fix(deps): update dependency webpack to v5.101.3 (#13602)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 13:49:29 -04:00
Barış Soner Uşaklı
44c0413c75 chore: use fontsource-utils/scss to get rid of deprecation warning
closes #13520
2025-08-20 11:48:19 -04:00
Misty Release Bot
981d3c29f8 Latest translations and fallbacks 2025-08-20 09:21:29 +00:00
Julian Lam
057e3b790b fix: add missing files 2025-08-19 19:55:05 -04:00
Misty Release Bot
10d84d0329 Latest translations and fallbacks 2025-08-19 09:20:26 +00:00
Misty Release Bot
40bda8fca4 chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories, nodebb.admin-settings-activitypub 2025-08-18 20:09:26 +00:00
Julian Lam
bdcf28a3d9 feat: ability to add/remove auto-categorization rules for incoming federated content 2025-08-18 16:08:32 -04:00
Julian Lam
cb0b609289 refactor: category listing logic to allow remote categories to be added, disabled, and re-arranged in main forum index 2025-08-18 16:08:11 -04:00
Julian Lam
75639c86bd feat: re-jigger 'add category' button to allow addition of remote category to main index 2025-08-18 16:08:11 -04:00
Barış Soner Uşaklı
1515580940 test: add logs for test that's timing out 2025-08-17 11:17:47 -04:00
renovate[bot]
f4f7953ae3 chore(deps): update dependency lint-staged to v16.1.5 (#13585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-16 18:43:50 -04:00
renovate[bot]
90bddccbc5 fix(deps): update dependency webpack to v5.101.2 (#13598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 10:02:33 -04:00
renovate[bot]
f5b0444b1c fix(deps): update dependency nodebb-widget-essentials to v7.0.40 (#13597)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 10:02:07 -04:00
renovate[bot]
62d15a0e05 chore(deps): update postgres docker tag to v17.6 (#13599)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 10:01:56 -04:00
renovate[bot]
ceb65d138f fix(deps): update dependency tough-cookie to v6 (#13600)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 10:01:45 -04:00
Barış Soner Uşaklı
0bb86b20b3 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-14 19:05:30 -04:00
Barış Soner Uşaklı
3a1ebae796 dont spam logs 2025-08-14 19:05:25 -04:00
renovate[bot]
bfdf47b69e chore(deps): update dependency @eslint/js to v9.33.0 (#13589)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-14 18:49:27 -04:00
Misty Release Bot
e079f8b291 Latest translations and fallbacks 2025-08-14 09:20:43 +00:00
Julian Lam
ecab347b2d fix: add missing file to ur language folder 2025-08-13 18:37:27 -04:00
Barış Soner Uşaklı
076cc9e868 lint: remove unused url 2025-08-13 17:36:55 -04:00
renovate[bot]
311bbefa42 chore(deps): update actions/checkout action to v5 (#13590)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 17:35:28 -04:00
renovate[bot]
9ef4cfa2e2 fix(deps): update dependency esbuild to v0.25.9 (#13593)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 17:35:05 -04:00
renovate[bot]
0f72b8cd6f fix(deps): update dependency redis to v5.8.1 (#13594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 17:34:49 -04:00
Julian Lam
0481549734 test: use protocol of test runner 2025-08-13 15:26:32 -04:00
Julian Lam
06c3824740 fix: regression caused by cc6fd49c4d 2025-08-13 14:41:44 -04:00
renovate[bot]
c67aa43f14 fix(deps): update dependency webpack to v5.101.1 (#13588)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 11:02:52 -04:00
Julian Lam
cc6fd49c4d fix: protocol-relative URLs being accidentally munged, #13592 2025-08-13 10:01:05 -04:00
Julian Lam
673896390f fix: cache lookup error when doing loopback calls 2025-08-13 10:00:39 -04:00
Julian Lam
8c6992f525 feat: add Urdu localisation, thank you! 2025-08-13 09:35:08 -04:00
Misty Release Bot
49de4f375e Latest translations and fallbacks 2025-08-13 09:19:46 +00:00
Misty Release Bot
eeabc99092 chore(i18n): fallback strings for new resources: nodebb.social 2025-08-12 21:07:22 +00:00
Barış Soner Uşaklı
82037dee00 feat: add wordpress 2025-08-12 17:07:06 -04:00
Barış Soner Uşaklı
c10656ec52 feat: add wordpress 2025-08-12 17:06:57 -04:00
Misty Release Bot
e90b524b66 Latest translations and fallbacks 2025-08-12 09:19:59 +00:00
Misty Release Bot
18a6c98c9d Latest translations and fallbacks 2025-08-11 09:20:05 +00:00
Barış Soner Uşaklı
f8733e06a7 refactor: show code/stack when dep check fails 2025-08-08 16:10:11 -04:00
Barış Soner Uşaklı
900b04cbad Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-08 13:54:17 -04:00
Barış Soner Uşaklı
e68deaaca1 chore: up eslibt 2025-08-08 13:54:12 -04:00
renovate[bot]
abf7dd74d0 fix(deps): update dependency sass to v1.90.0 (#13582)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 13:51:20 -04:00
renovate[bot]
c869433373 chore(deps): update dependency sass-embedded to v1.90.0 (#13581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 13:51:09 -04:00
Barış Soner Uşaklı
c8e3dc6b0b Merge branch 'master' into develop 2025-08-08 13:33:28 -04:00
Barış Soner Uşaklı
e7b479954a chore: up widget essentials 2025-08-08 13:21:43 -04:00
Misty Release Bot
88b40e1e9d Latest translations and fallbacks 2025-08-08 09:19:47 +00:00
Misty Release Bot
c305cc9069 Latest translations and fallbacks 2025-08-07 09:20:34 +00:00
Julian Lam
b4ff79061f fix: image handling when image url received is not a path with an extension 2025-08-06 13:50:17 -04:00
Misty Release Bot
3895a0590c chore: update changelog for v4.4.6 2025-08-06 17:48:34 +00:00
Misty Release Bot
bb913c152b chore: incrementing version number - v4.4.6 2025-08-06 17:48:33 +00:00
Barış Soner Uşaklı
32de562e70 Revert "feat: add inspect argument"
This reverts commit 955b27debc.
2025-08-06 13:38:42 -04:00
renovate[bot]
34ecdf2043 chore(deps): update dependency lint-staged to v16.1.4 (#13575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 13:12:31 -04:00
renovate[bot]
5ce556d41f fix(deps): update dependency fs-extra to v11.3.1 (#13579)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 13:12:19 -04:00
renovate[bot]
3c3e448606 fix(deps): update dependency redis to v5.8.0 (#13580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 13:12:05 -04:00
Barış Soner Uşaklı
955b27debc feat: add inspect argument 2025-08-06 13:10:56 -04:00
renovate[bot]
25bc9ba00b chore(deps): update redis docker tag to v8.2.0 (#13577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 18:01:42 -04:00
Barış Soner Uşaklı
f8a0a7e194 test: fix notification tests 2025-08-05 18:00:44 -04:00
Barış Soner Uşaklı
9d39ed512f feat: only mark notifications read that match current filter
closes #13574
2025-08-05 17:51:53 -04:00
Barış Soner Uşaklı
e1423636a5 feat: closes #13578, increase uniquevisitors
on ap pageviews like normal pageviews
2025-08-05 10:46:10 -04:00
Misty Release Bot
340618d3e0 Latest translations and fallbacks 2025-08-04 09:19:55 +00:00
Barış Soner Uşaklı
2b8f3a7891 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-03 06:43:36 -04:00
Barış Soner Uşaklı
c6889f0864 fix: readd retry items 2025-08-03 06:43:31 -04:00
Misty Release Bot
2a6e4b0a8d Latest translations and fallbacks 2025-08-03 09:19:18 +00:00
Julian Lam
fe1601608d fix: set noindex tag on remote profiles as well 2025-08-03 02:33:54 -04:00
Julian Lam
c8ad086779 fix: duplicate canonical link header 2025-08-02 09:52:13 -04:00
Julian Lam
8ce5498f23 fix: add rel canonical to remote user profiles 2025-08-02 09:48:59 -04:00
renovate[bot]
27d60a19f9 fix(deps): update dependency redis to v5.7.0 (#13570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 20:37:15 -04:00
renovate[bot]
0b4efa14a9 fix(deps): update dependency cron to v4.3.3 (#13573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 20:37:04 -04:00
Barış Soner Uşaklı
bc40d79cf8 refactor: dont del if cache disabled 2025-08-01 18:46:27 -04:00
Barış Soner Uşaklı
567ed8755b feat: add new brite skin from bootswatch 2025-08-01 16:18:10 -04:00
Barış Soner Uşaklı
8305a7425a refactor: remove old arg 2025-08-01 12:26:38 -04:00
Barış Soner Uşaklı
b229488daf Merge branch 'master' into develop 2025-08-01 12:21:25 -04:00
Barış Soner Uşaklı
d5f57af342 fix: pass max-memory expose-gc as process args 2025-08-01 12:21:17 -04:00
Barış Soner Uşaklı
a8bf4ea069 fix: ap queue id to use payload.type payload.id 2025-08-01 11:59:59 -04:00
Barış Soner Uşaklı
9a32bb5696 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-01 11:50:15 -04:00
Barış Soner Uşaklı
d5f6d158f4 refactor: if user.delete fails in actor prune
remove from ap sets/keys
2025-08-01 11:50:13 -04:00
Misty Release Bot
5c69c8bf9c Latest translations and fallbacks 2025-08-01 09:20:24 +00:00
Barış Soner Uşaklı
e851a52390 feat: add new brite skin from bootswatch 2025-07-31 18:44:09 -04:00
Barış Soner Uşaklı
5d737a7819 Merge branch 'master' into develop 2025-07-31 10:29:08 -04:00
Misty Release Bot
de05dad251 chore: update changelog for v4.4.5 2025-07-31 13:57:00 +00:00
Misty Release Bot
af95cde187 chore: incrementing version number - v4.4.5 2025-07-31 13:57:00 +00:00
Barış Soner Uşaklı
95f6688c04 test: one more fix 2025-07-31 09:33:19 -04:00
Barış Soner Uşaklı
7393bdd444 test: fix spec 2025-07-31 09:33:19 -04:00
Barış Soner Uşaklı
1071ac0cea test: fix openapi 2025-07-31 09:33:18 -04:00
Barış Soner Uşaklı
472df3aa22 refactor: use promise.all 2025-07-31 09:33:18 -04:00
Barış Soner Uşaklı
97d4994afb feat: add filter:post.getDiffs 2025-07-31 09:33:18 -04:00
Barış Soner Uşaklı
5f5a697253 test: one more fix 2025-07-31 09:24:04 -04:00
Barış Soner Uşaklı
3b60931604 test: fix spec 2025-07-31 09:17:26 -04:00
Barış Soner Uşaklı
c7c83e0e4b test: fix openapi 2025-07-31 09:14:19 -04:00
Barış Soner Uşaklı
90a6512970 feat: add filter:post.getDiffs 2025-07-31 09:03:14 -04:00
Barış Soner Uşaklı
7c00e814b7 refactor: use promise.all 2025-07-31 09:02:58 -04:00
Barış Soner Uşaklı
bbb9a46019 feat: add filter:post.getDiffs 2025-07-31 09:02:49 -04:00
Barış Soner Uşaklı
6eab44a01d refactor: use promise.all 2025-07-31 09:00:40 -04:00
renovate[bot]
70d3a29c32 fix(deps): update dependency satori to v0.16.2 (#13569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 10:54:26 -04:00
Barış Soner Uşaklı
bba18e3102 feat: add expose-gc flag to loader 2025-07-30 09:37:36 -04:00
Barış Soner Uşaklı
36d2929fa9 Merge branch 'master' into develop 2025-07-30 09:34:36 -04:00
Barış Uşaklı
b3a4a128cd refactor: move ap retry queue from lru cache to db (#13568)
* refactor: move ap retry queue from lru cache to db

get rid of the setTimeouts that were running for 2months
retries will survive server restarts

* refactor: reduce exp. backoff
2025-07-30 09:32:58 -04:00
renovate[bot]
6fc8dfa940 fix(deps): update dependency webpack to v5.101.0 (#13567)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 11:45:02 -04:00
Barış Soner Uşaklı
5f696176b4 fix: clearTimeout if item is evicted from cache 2025-07-27 10:38:09 -04:00
Barış Soner Uşaklı
0997fbfa4d fix: clearTimeout if item is evicted from cache 2025-07-27 10:35:17 -04:00
renovate[bot]
2d1a5fea11 fix(deps): update dependency satori to v0.16.1 (#13560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-26 17:44:14 -04:00
Barış Soner Uşaklı
637373e31a chore: up eslint 2025-07-25 13:37:20 -04:00
Barış Soner Uşaklı
9b566a55d9 Merge branch 'master' into develop 2025-07-25 10:57:45 -04:00
Barış Soner Uşaklı
fe9b49e3d5 test: increase timeout of failing test 2025-07-25 10:57:30 -04:00
Barış Soner Uşaklı
b20e486367 Merge branch 'master' into develop 2025-07-25 10:54:27 -04:00
Barış Soner Uşaklı
b74c789849 fix: use sharp to convert svg to png, closes #13534 2025-07-25 10:49:52 -04:00
renovate[bot]
5a86415092 chore(config): migrate config renovate.json (#13565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 10:28:40 -04:00
Barış Soner Uşaklı
65364bfa0f fix: sometimes summary is null/undefined
fixes
TypeError: Cannot read properties of null (reading 'replace')
    at /home/saas/nodebb/src/activitypub/mocks.js:202:24
2025-07-24 23:54:38 -04:00
renovate[bot]
1262aee843 fix(deps): update dependency redis to v5.6.1 (#13564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 12:19:56 -04:00
Barış Soner Uşaklı
947702fe0c Merge branch 'master' into develop 2025-07-24 12:07:32 -04:00
Barış Soner Uşaklı
5bcf078a75 fix: use filename to check for svg, tempPath doesn't always have extension 2025-07-24 12:07:26 -04:00
Barış Soner Uşaklı
dcdda2a8c8 Merge branch 'master' into develop 2025-07-24 11:55:39 -04:00
Barış Soner Uşaklı
a8f4c5e63a fix: apply sanitizeSvg to regular uploads and uploads from manage uploads acp page 2025-07-24 10:34:37 -04:00
renovate[bot]
8e9d38430c fix(deps): update dependency mongodb to v6.18.0 (#13563)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 09:49:52 -04:00
Barış Soner Uşaklı
de71cc6310 refactor: log uid that failed 2025-07-22 16:35:55 -04:00
Barış Soner Uşaklı
f6ed7ec21c fix: don't translate text on admin logs page 2025-07-22 16:28:37 -04:00
Barış Soner Uşaklı
1776bd1d7e test: fix meta test 2025-07-22 10:58:17 -04:00
Barış Soner Uşaklı
8eedb38a99 test: test fixes for default teaser change 2025-07-22 10:51:54 -04:00
Barış Soner Uşaklı
8ba230a205 refactor: change default teaser to last-post 2025-07-22 10:39:27 -04:00
Barış Soner Uşaklı
c43c353350 fix: change the client side reloginTimer to match setting
when setting is changed restart timer
closes #13561
2025-07-21 21:22:40 -04:00
renovate[bot]
6a732e3616 fix(deps): update dependency esbuild to v0.25.8 (#13559)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 15:00:49 -04:00
Barış Soner Uşaklı
54fae3b12b set max on upload rate limit 2025-07-20 13:38:31 -04:00
Barış Soner Uşaklı
eac3d0a043 fix: redis connect host/port 2025-07-20 11:57:34 -04:00
Barış Soner Uşaklı
e365cd5606 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-07-19 17:21:01 -04:00
Barış Soner Uşaklı
25c24298fb fix: closes #13558, override/extend json opts from config.json 2025-07-19 17:20:59 -04:00
renovate[bot]
1697e36f3a fix(deps): update dependency esbuild to v0.25.7 (#13557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-19 13:34:52 -04:00
renovate[bot]
0eb0a67ae5 fix(deps): update dependency express-session to v1.18.2 (#13554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-19 13:04:10 -04:00
renovate[bot]
0e457f1585 fix(deps): update dependency morgan to v1.10.1 (#13555)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-19 13:03:45 -04:00
renovate[bot]
35ca0e3b47 fix(deps): update dependency multer to v2.0.2 (#13556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-19 13:03:18 -04:00
Barış Soner Uşaklı
3f520c33ef fix: add missing cache name 2025-07-18 21:35:08 -04:00
renovate[bot]
12b9f4c743 fix(deps): update dependency compression to v1.8.1 (#13553)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 22:22:31 -04:00
renovate[bot]
57564190f3 fix(deps): update dependency ace-builds to v1.43.2 (#13548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 22:07:59 -04:00
renovate[bot]
0b398bba4f fix(deps): update dependency webpack to v5.100.2 (#13549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 22:07:44 -04:00
Barış Soner Uşaklı
e4a0160e08 refactor: copy session/headers when building req 2025-07-17 21:34:14 -04:00
Barış Soner Uşaklı
1d7c32a52f refactor: show both days and hours 2025-07-17 12:34:52 -04:00
Barış Soner Uşaklı
272008bb51 refactor: add missing cache name 2025-07-16 20:23:57 -04:00
Barış Soner Uşaklı
0fdde13208 refactor: another missing cache name 2025-07-16 18:10:21 -04:00
Barış Soner Uşaklı
a08551a5e1 refactor: add names to caches, add max to request cache 2025-07-16 17:42:23 -04:00
Barış Soner Uşaklı
1ad97ac194 refactor: closes #13547, process user uploads via batch
reduce processed user count to 100 per batch
2025-07-15 13:02:46 -04:00
renovate[bot]
97a5d54387 chore(deps): update dependency @eslint/js to v9.31.0 (#13545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 10:25:17 -04:00
renovate[bot]
d8c26bec45 fix(deps): update dependency webpack to v5.100.1 (#13544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 10:24:51 -04:00
renovate[bot]
e838bb268f fix(deps): update dependency cron to v4.3.2 (#13546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 10:24:42 -04:00
Misty Release Bot
e5de79ff7d Latest translations and fallbacks 2025-07-14 09:19:32 +00:00
Misty Release Bot
352f4a0c35 Latest translations and fallbacks 2025-07-13 09:19:24 +00:00
Misty Release Bot
32e4db8ea8 Latest translations and fallbacks 2025-07-12 09:19:22 +00:00
Barış Soner Uşaklı
01f2effced fix: add missing ap pageview middleware 2025-07-11 15:38:21 -04:00
Barış Soner Uşaklı
3ff7822d44 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-07-11 15:18:49 -04:00
Barış Soner Uşaklı
020e0ad12e test: add openapi spec 2025-07-11 15:18:44 -04:00
Misty Release Bot
5d16fdc93f chore(i18n): fallback strings for new resources: nodebb.admin-dashboard 2025-07-11 19:10:21 +00:00
Barış Soner Uşaklı
559a2d233d feat: add ap pageviews analytics 2025-07-11 15:09:55 -04:00
Misty Release Bot
59c1ce853f chore(i18n): fallback strings for new resources: nodebb.admin-development-info 2025-07-11 14:23:04 +00:00
Barış Soner Uşaklı
e74996fbb9 revert: remove heapdump 2025-07-11 10:22:37 -04:00
Barış Soner Uşaklı
27aab92191 test: try timeout again 2025-07-11 09:05:43 -04:00
Barış Soner Uşaklı
3cc3b6760c Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-07-11 09:01:39 -04:00
Barış Soner Uşaklı
930ff21f33 test: disable timeout 2025-07-11 09:01:33 -04:00
Misty Release Bot
5b54e926f7 chore(i18n): fallback strings for new resources: nodebb.admin-development-info 2025-07-11 12:51:18 +00:00
Barış Soner Uşaklı
f88329dbbe feat: add heap snapshot 2025-07-11 08:50:53 -04:00
renovate[bot]
e4f56e8392 fix(deps): update dependency nodebb-theme-peace to v2.2.46 (#13542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 09:10:00 -04:00
renovate[bot]
4a5a4fe6bd fix(deps): update dependency webpack to v5.100.0 (#13541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 18:03:23 -04:00
renovate[bot]
1b80910e80 chore(deps): update redis docker tag to v8.0.3 (#13539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 14:09:15 -04:00
Barış Soner Uşaklı
da1f2a9c9f Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-07-08 14:04:01 -04:00
Barış Soner Uşaklı
dae81b76fb chore: up dbsearch 2025-07-08 14:03:56 -04:00
renovate[bot]
a6cb933bac fix(deps): update dependency redis to v5.6.0 (#13540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 13:55:29 -04:00
Barış Soner Uşaklı
0ef98ec495 fix: set to empty string if undefined 2025-07-08 13:34:41 -04:00
Barış Soner Uşaklı
dbed2db992 fix: make clickable element anchor
add rounded corners
2025-07-08 11:03:02 -04:00
renovate[bot]
8960fdb3a5 fix(deps): update dependency esbuild to v0.25.6 (#13538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 17:39:03 -04:00
renovate[bot]
c6f4148b21 fix(deps): update dependency nodemailer to v7.0.5 (#13537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 17:38:43 -04:00
Barış Soner Uşaklı
113607829f remove log 2025-07-07 17:09:42 -04:00
Barış Soner Uşaklı
329f98d5db fix: for attribute, remove upload trigger when click inputs
user can input an absolute url in the inputs
2025-07-07 12:16:08 -04:00
Barış Soner Uşaklı
72fec565c2 fix: check topic and thumbs 2025-07-07 11:28:22 -04:00
Barış Uşaklı
24e7cf4a00 refactor: move post uploads to post hash (#13533)
* refactor: move post uploads to post hash

* test: add uploads to api definition

* refactor: move thumbs to topic hash

* chore: up composer

* refactor: dont use old zset
2025-07-07 10:22:24 -04:00
Misty Release Bot
bfcc36f7cb Latest translations and fallbacks 2025-07-06 09:19:12 +00:00
renovate[bot]
991f518e2f fix(deps): update dependency nodebb-theme-peace to v2.2.45 (#13529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 14:47:50 -04:00
Misty Release Bot
80fabdcb33 Latest translations and fallbacks 2025-07-03 09:20:10 +00:00
Barış Soner Uşaklı
5a5ca8a5fb fix: closes #13526, dont send multiple emails when user is invited 2025-07-02 17:38:35 -04:00
renovate[bot]
ceae2aa1a8 fix(deps): update dependency nodebb-plugin-web-push to v0.7.5 (#13523)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 16:19:16 -04:00
renovate[bot]
6d7df13fdb chore(deps): update dependency @eslint/js to v9.30.1 (#13524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 16:19:07 -04:00
renovate[bot]
aba2ddad94 fix(deps): update dependency ace-builds to v1.43.1 (#13525)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 16:18:56 -04:00
Barış Soner Uşaklı
37f0fa961e Refactor hook call for filterSortedTids 2025-07-01 10:01:10 -04:00
Barış Soner Uşaklı
18d6e5e1d6 chore: up eslint-plugin 2025-06-30 20:33:16 -04:00
renovate[bot]
f1fbea7b28 fix(deps): update dependency nodemailer to v7.0.4 (#13522)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 20:25:03 -04:00
Misty Release Bot
48071ebbb5 Latest translations and fallbacks 2025-06-29 09:19:19 +00:00
renovate[bot]
15ea123382 chore(deps): update dependency @eslint/js to v9.30.0 (#13519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 22:04:00 -04:00
Barış Soner Uşaklı
22005b9ccf assign correct data 2025-06-27 16:17:06 -04:00
Barış Soner Uşaklı
85e2d7d338 test: psql fix 2025-06-27 16:08:51 -04:00
renovate[bot]
fd82919e5a fix(deps): update dependency pg to v8.16.3 (#13517)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 15:41:54 -04:00
renovate[bot]
655a3bd3a3 fix(deps): update dependency workerpool to v9.3.3 (#13518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 15:41:45 -04:00
Barış Soner Uşaklı
59707df70b Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-06-27 15:22:44 -04:00
Barış Soner Uşaklı
c056bf5618 chore: up eslint 2025-06-27 15:22:39 -04:00
renovate[bot]
6e5083c263 fix(deps): update dependency pg-cursor to v2.15.3 (#13516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 15:20:28 -04:00
Barış Soner Uşaklı
22d1972f83 test: one more test fix 2025-06-27 15:13:16 -04:00
Barış Soner Uşaklı
7acd63c2a0 test: fix test, add joinLeaveMessages to newRoom 2025-06-27 15:03:23 -04:00
Misty Release Bot
f5aca1144d chore(i18n): fallback strings for new resources: nodebb.modules 2025-06-27 18:19:19 +00:00
Barış Soner Uşaklı
92a3859f7b feat: add option to toggle chat join/leave message
closes #13508
2025-06-27 14:18:53 -04:00
renovate[bot]
a41d2c0b1a chore(deps): update dependency smtp-server to v3.14.0 (#13515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 09:43:26 -04:00
renovate[bot]
d2f0944eab fix(deps): update dependency pg to v8.16.2 (#13505)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 20:29:27 -04:00
renovate[bot]
bbacd8f6e4 chore(deps): update dependency mocha to v11.7.1 (#13509)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 20:29:07 -04:00
renovate[bot]
5909093103 fix(deps): update dependency nodebb-theme-peace to v2.2.44 (#13514)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 13:20:12 -04:00
renovate[bot]
4be2e82b5a fix(deps): update dependency nodebb-theme-harmony to v2.1.16 (#13513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 13:20:02 -04:00
Barış Soner Uşaklı
fa31ba0560 test: increase timeout 2025-06-26 13:10:11 -04:00
Barış Soner Uşaklı
1a85fafbaf test: on more 2025-06-26 13:01:28 -04:00
Barış Soner Uşaklı
82c8034cfb test: testing timeout on failing test 2025-06-26 12:55:31 -04:00
renovate[bot]
1eefaf5cd8 fix(deps): update dependency bootswatch to v5.3.7 (#13510)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 12:43:41 -04:00
renovate[bot]
10f7b49be8 fix(deps): update dependency pg-cursor to v2.15.2 (#13506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 11:20:37 -04:00
renovate[bot]
e360f649b3 fix(deps): update dependency ace-builds to v1.43.0 (#13507)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 11:19:33 -04:00
Misty Release Bot
f9c6d24c73 Latest translations and fallbacks 2025-06-21 09:19:27 +00:00
renovate[bot]
3b364ba120 fix(deps): update dependency pg-cursor to v2.15.1 (#13504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 17:13:33 -04:00
Barış Soner Uşaklı
0b9bfc1ce1 refactor: parallel socket.io adapter 2025-06-18 16:59:57 -04:00
Barış Soner Uşaklı
48621f5c6b Merge branch 'master' into develop 2025-06-18 15:41:15 -04:00
Barış Soner Uşaklı
a8faf2ba7c Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-06-18 13:42:24 -04:00
Barış Soner Uşaklı
39d243b04f test: remove ci env 2025-06-18 13:42:19 -04:00
renovate[bot]
819e28052a fix(deps): update dependency pg to v8.16.1 (#13503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:35:38 -04:00
Barış Soner Uşaklı
0315e36941 chore: remove logs 2025-06-18 13:34:55 -04:00
Barış Uşaklı
3e961257ec Update README.md 2025-06-18 13:25:36 -04:00
Barış Soner Uşaklı
a54dad932a Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-06-18 13:21:23 -04:00
Barış Soner Uşaklı
1fc91d5e75 test: add a null field test 2025-06-18 13:21:18 -04:00
renovate[bot]
0a0dd1c14d chore(deps): update dependency mocha to v11.7.0 (#13502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:19:01 -04:00
renovate[bot]
e84fc73939 fix(deps): update dependency bootstrap to v5.3.7 (#13499)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:18:50 -04:00
renovate[bot]
d3faff3680 fix(deps): update dependency connect-redis to v9 (#13497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:18:36 -04:00
Barış Soner Uşaklı
f7f70468fd fix: pubsub on node-redis 2025-06-18 13:17:29 -04:00
Barış Uşaklı
14043ab0fd Node redis (#13500)
* refactor: start migrating to node-redis

* few more zset fixes

* fix: db.scan

* fix: list methods

* fix set methods

* fix: hash methods

* use hasOwn, remove cloning

* sorted set fixes

* fix: so data is converted to strings before saving

otherwise node-redis throws below error
TypeError: "arguments[2]" must be of type "string | Buffer", got number instead.

* chore: remove comments

* fix: zrank string param

* use new close

* chore: up dbsearch

* test: add log

* test: more log

* test: log failing test

* test: catch errors in formatApiResponse

add await so exception goes to catch

* tetst: add log

* fix: dont set null/undefined values

* test: more fixes
2025-06-18 13:04:57 -04:00
Misty Release Bot
7b14e26775 chore: update changelog for v4.4.4 2025-06-18 14:20:41 +00:00
Misty Release Bot
2490c312c9 chore: incrementing version number - v4.4.4 2025-06-18 14:20:41 +00:00
Barış Soner Uşaklı
3f7d415744 Merge branch 'master' into develop 2025-06-17 10:00:05 -04:00
renovate[bot]
2046ca724a chore(deps): update dependency @eslint/js to v9.29.0 (#13491)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 09:36:26 -04:00
Barış Soner Uşaklı
a3fed408e5 change default to perma ban 2025-06-17 09:21:00 -04:00
Barış Soner Uşaklı
8c69c6a0c4 feat: link to post in preview timestamp 2025-06-17 09:17:57 -04:00
renovate[bot]
f36a5ac892 fix(deps): update dependency chart.js to v4.5.0 (#13495)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 08:10:55 -04:00
renovate[bot]
d6ba79302d chore(deps): update dependency lint-staged to v16.1.2 (#13492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 08:09:05 -04:00
renovate[bot]
703fcbbf36 fix(deps): update dependency postcss to v8.5.6 (#13494)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 20:02:18 -04:00
renovate[bot]
c101d0d5af fix(deps): update dependency postcss to v8.5.5 (#13490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 17:59:25 -04:00
Barış Soner Uşaklı
c1b47fbf4d Merge branch 'master' into develop 2025-06-11 17:14:08 -04:00
Barış Soner Uşaklı
da2597f81c fix: sanitize svg when uploading site-logo, default avatar and og:image 2025-06-11 17:13:56 -04:00
Barış Soner Uşaklı
dc37789b5d refactor: send single message 2025-06-11 13:16:52 -04:00
Eli Sheinfeld
84d99a0fc7 feat: Add live reload functionality with Grunt watch and Socket.IO (#13489)
- Added livereload event to Grunt watch tasks for instant browser refresh
- Integrated Socket.IO WebSocket communication for real-time updates
- Enhanced development workflow with immediate file change detection
- Improved developer experience with automatic browser reload on file changes

Changes:
- Gruntfile.js: Send livereload message when files change
- src/start.js: Handle livereload events and broadcast via Socket.IO
2025-06-11 13:13:23 -04:00
renovate[bot]
442c6e71c0 fix(deps): update dependency sass to v1.89.2 (#13487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 11:04:53 -04:00
renovate[bot]
efcbbf29d1 fix(deps): update dependency nodebb-plugin-emoji to v6.0.3 (#13486)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 11:02:43 -04:00
renovate[bot]
d2a7eecb28 fix(deps): update dependency serve-favicon to v2.5.1 (#13488)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 11:02:25 -04:00
renovate[bot]
c04bd7cc6e fix(deps): update dependency @fontsource/inter to v5.2.6 (#13477)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 10:38:12 -04:00
renovate[bot]
f565178782 chore(deps): update dependency sass-embedded to v1.89.2 (#13482)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 10:37:52 -04:00
cliffmccarthy
6c5b22684b fix: Revise package hash check in Docker entrypoint.sh (#13483)
- In the build_forum() function, the file install_hash.md5 is intended
  to track the content of package.json and detect changes that imply
  the need to run 'nodebb upgrade'.
- The check to compare the current checksum of package.json to the one
  saved in install_hash.md5 is reversed.  The "package.json was
  updated" branch is taken when the hashes are the same, not when they
  are different.
- When install_hash.md5 does not exist, the comparison value becomes
  the null string, which never matches the checksum of package.json.
  As a result, the code always takes the "No changes in package.json"
  branch and returns from the function without creating
  install_hash.md5.  As a result, install_hash.md5 never gets created
  on a new installation.
- Revised build_forum() to use "not equals" when comparing the two
  checksums.  This causes it to run 'nodebb upgrade' when the
  checksums are different, and also when install_hash.md5 does not yet
  exist.  If the checksum saved in install_hash.md5 matches the
  current package.json checksum, it proceeds to either the "Build
  before start" case or the "No changes" case.
2025-06-11 09:52:36 -04:00
Misty Release Bot
95ae8b5f1a Latest translations and fallbacks 2025-06-11 09:19:40 +00:00
Barış Soner Uşaklı
afa3664070 Merge branch 'master' into develop 2025-06-10 13:37:00 -04:00
Barış Soner Uşaklı
32faaba0e5 fix: more edge cases 2025-06-10 13:36:23 -04:00
Barış Soner Uşaklı
2280ea88f2 fix: typo 2025-06-10 12:46:07 -04:00
Barış Soner Uşaklı
fca90e66ce Merge branch 'master' into develop 2025-06-10 12:39:57 -04:00
Barış Soner Uşaklı
0ebb31fe87 fix: #13484, clear tooltip if cursor leaves link
and doesn't enter tooltip
2025-06-10 12:39:49 -04:00
Barış Soner Uşaklı
6a5c2a43ed Merge branch 'master' into develop 2025-06-10 10:53:01 -04:00
Barış Soner Uşaklı
8ab034d8f0 lint: fix lint 2025-06-10 10:52:55 -04:00
Barış Soner Uşaklı
341b570d0d Merge branch 'master' into develop 2025-06-10 10:47:22 -04:00
Barış Soner Uşaklı
14e30c4bf8 feat: closes #13484, post preview changes
don't close preview when mouse leaves the anchor
close preview on click outside
close preview when mouseleaves preview
open the preview to the top if there isn't enough space
add scrollbar to post preview
2025-06-10 10:47:14 -04:00
renovate[bot]
78ebe2988b fix(deps): update dependency satori to v0.15.2 (#13481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 11:55:37 -04:00
Barış Soner Uşaklı
89b637af44 Merge branch 'master' into develop 2025-06-09 11:37:59 -04:00
Misty Release Bot
0c9297f81c chore: update changelog for v4.4.3 2025-06-09 15:26:59 +00:00
Misty Release Bot
3d88cb8696 chore: incrementing version number - v4.4.3 2025-06-09 15:26:58 +00:00
Barış Soner Uşaklı
5f51dfc435 chore: up composer 2025-06-09 11:10:07 -04:00
Barış Soner Uşaklı
61870b76bb Merge branch 'master' into develop 2025-06-09 11:08:32 -04:00
renovate[bot]
9b4082dcfb chore(deps): update dependency mocha to v11.6.0 (#13479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 10:54:01 -04:00
Barış Soner Uşaklı
b02eb57d06 fix: escape, query params 2025-06-09 10:23:00 -04:00
Misty Release Bot
f157cfa7e8 Latest translations and fallbacks 2025-06-08 09:19:19 +00:00
renovate[bot]
29afcd36b5 fix(deps): update dependency satori to v0.14.0 (#13476)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 13:18:57 -04:00
Barış Soner Uşaklı
536ae9d6a5 chore: up eslint 2025-06-06 11:26:02 -04:00
renovate[bot]
d239125f43 chore(deps): update dependency smtp-server to v3.13.8 (#13464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 11:08:54 -04:00
renovate[bot]
6b33b1f457 fix(deps): update dependency workerpool to v9.3.2 (#13452)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 11:08:44 -04:00
renovate[bot]
166aaa7ab9 chore(deps): update redis docker tag to v8.0.2 (#13465)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 11:08:25 -04:00
renovate[bot]
b3170c9c8b chore(deps): update dependency @eslint/js to v9.28.0 (#13469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 11:08:13 -04:00
Misty Release Bot
01b10170aa Latest translations and fallbacks 2025-06-06 09:20:17 +00:00
renovate[bot]
44d1a17bc5 fix(deps): update dependency satori to v0.13.2 (#13468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 11:46:25 -04:00
Barış Soner Uşaklı
d3a2dcf074 Merge branch 'master' into develop 2025-06-05 11:46:05 -04:00
Barış Soner Uşaklı
806e54bf5a fix: closes #13475, don't store escaped username
when updating profile
2025-06-05 11:42:29 -04:00
Julian Lam
6478532bf5 fix: ensure check returns false if no addresses are looked up, fix bug where cached value got changed accidentally 2025-06-05 11:28:47 -04:00
renovate[bot]
32f13162dc chore(deps): update dependency sass-embedded to v1.89.1 (#13463)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:19:56 -04:00
renovate[bot]
1c432925cd fix(deps): update dependency postcss to v8.5.4 (#13453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:19:30 -04:00
renovate[bot]
d0060e5d71 fix(deps): update dependency multer to v2.0.1 (#13466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:19:13 -04:00
renovate[bot]
602417d0f9 fix(deps): update dependency sass to v1.89.1 (#13467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:17:56 -04:00
renovate[bot]
c363b84e90 fix(deps): update dependency ace-builds to v1.42.0 (#13470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:17:34 -04:00
renovate[bot]
a3cc99a2f0 fix(deps): update dependency mongodb to v6.17.0 (#13471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:17:11 -04:00
Misty Release Bot
efb14ead1d chore(i18n): fallback strings for new resources: nodebb.error 2025-06-05 11:16:26 +00:00
Barış Soner Uşaklı
677d6dd060 Merge branch 'master' into develop 2025-06-05 07:16:00 -04:00
Barış Uşaklı
4fbcfae8b1 Post queue write api (#13473)
* move post queue from socket.io to rest api

* move harmony post-queue to core

add canEdit, allow users to edit their queued posts

* fix: openapi spec

* lint: whitespace
2025-06-05 07:15:45 -04:00
renovate[bot]
3694f6555b fix(deps): update dependency cron to v4.3.1 (#13457)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 13:54:37 -04:00
Julian Lam
010113a9a0 fix: wrap cached returns for dns lookups in nextTick 2025-06-04 13:19:33 -04:00
Misty Release Bot
ea91dc00cd Latest translations and fallbacks 2025-06-04 09:20:16 +00:00
Misty Release Bot
0ccfe1dfe9 Latest translations and fallbacks 2025-06-03 09:20:10 +00:00
Julian Lam
6411c19765 fix: #13459, unread indicators for remote categories 2025-06-02 11:58:54 -04:00
Misty Release Bot
6d40a2118c chore: update changelog for v4.4.2 2025-06-02 15:06:29 +00:00
Misty Release Bot
9c7cbbe2e4 chore: incrementing version number - v4.4.2 2025-06-02 15:06:29 +00:00
Misty Release Bot
e1eb76feba chore(i18n): fallback strings for new resources: nodebb.error 2025-06-02 15:06:01 +00:00
Julian Lam
a8e613e13a fix: further guard against DNS rebinding attack 2025-06-02 11:05:35 -04:00
Julian Lam
70c04f0cb2 fix: undefined check, allow plugins to append to allow list 2025-06-02 11:05:35 -04:00
Julian Lam
df36021628 fix: simplify dns to use .lookup instead of .resolve4 and .resolve6, automatically allow requests to own hostname 2025-06-02 11:05:35 -04:00
Julian Lam
9d3b8c3abc feat: add protection mechanism to request lib so that network requests to reserved IP ranges throw an error 2025-06-02 11:05:35 -04:00
Julian Lam
524a1e8bfe fix: return 200 for non-implemented activities instead of 501 2025-06-02 10:15:05 -04:00
Barış Soner Uşaklı
b1022566da fix: closes #13458, check if plugin is system
plugin before activate/deactive/install/uninstall
2025-06-02 09:55:20 -04:00
Julian Lam
fcb3bfbc35 fix: return 200 for non-implemented activities instead of 501 2025-06-01 12:40:42 -04:00
Misty Release Bot
ff00829b3f Latest translations and fallbacks 2025-06-01 09:19:27 +00:00
Julian Lam
3d88f70680 Merge branch 'master' into develop 2025-06-01 00:32:05 -04:00
Julian Lam
cc92702620 fix: add try..catch around topics.post in note assertion logic 2025-06-01 00:31:58 -04:00
Julian Lam
f34930f5e8 Merge branch 'master' into develop 2025-05-31 22:47:06 -04:00
Julian Lam
83a55f6adc fix: don't throw on unknown post on Undo(Like) 2025-05-31 22:46:47 -04:00
Barış Soner Uşaklı
033e6e8f8b Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-05-30 17:12:56 -04:00
Barış Soner Uşaklı
0d595008b0 chore: eslint config 2025-05-30 17:12:54 -04:00
Julian Lam
4d44456ff9 Merge branch 'master' into develop 2025-05-30 16:49:24 -04:00
Julian Lam
629eec7b5b fix: add try..catch wrapper around Announce(Like) call to internal method so as to not return a 500 — just drop the Like activity 2025-05-30 16:49:15 -04:00
Barış Soner Uşaklı
ebb88c1277 feat: add action:post-queue.save
fires after a post is added to the post queue
2025-05-30 11:45:04 -04:00
Barış Soner Uşaklı
57a5de2682 refactor: use strings for cids 2025-05-30 11:15:02 -04:00
Barış Soner Uşaklı
28c021a01b fix: remove null categories 2025-05-30 11:11:45 -04:00
Barış Soner Uşaklı
8d16367ad4 Merge branch 'master' into develop 2025-05-30 11:02:56 -04:00
Barış Soner Uşaklı
390f642850 fix: browser title translation 2025-05-30 11:00:08 -04:00
Barış Soner Uşaklı
78de8c6da1 fix: allow guests to load topic tools if they have privilege to view them
display errors from topics.loadTopicTools
2025-05-30 09:22:06 -04:00
Julian Lam
a80edfa1f1 fix: patch ap .probe() so that it does not execute on requests for its own resources 2025-05-29 15:15:06 -04:00
Julian Lam
0c1a61839e test: fix groups:find webfinger test 2025-05-29 15:08:28 -04:00
Barış Soner Uşaklı
a9348e3607 Merge branch 'master' into develop 2025-05-29 11:37:02 -04:00
Barış Soner Uşaklı
72417d82bd fix: closes #13454, align dropdowns to opposite side on rtl 2025-05-29 11:36:46 -04:00
Julian Lam
20abeade41 Merge branch 'master' into develop 2025-05-28 14:53:38 -04:00
Julian Lam
49b5268e52 fix: send actor in undo(follow) 2025-05-28 14:53:32 -04:00
Julian Lam
b20a6ed0d7 fix: missed handling zset on ap unfollow 2025-05-28 12:31:53 -04:00
renovate[bot]
36f0cf250f fix(deps): update dependency validator to v13.15.15 (#13451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 09:04:04 -04:00
renovate[bot]
6efe3fdd02 chore(deps): update dependency lint-staged to v16.1.0 (#13449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 17:36:42 -04:00
renovate[bot]
6a5bbe9204 fix(deps): update dependency esbuild to v0.25.5 (#13447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 09:09:21 -04:00
Julian Lam
a888b868c7 fix: additional tests for remote privileges, enforcing privileges for remote edits and deletes 2025-05-26 14:49:48 -04:00
Barış Soner Uşaklı
e16420a4eb Merge branch 'master' into develop 2025-05-25 19:04:33 -04:00
Barış Soner Uşaklı
fd2ae7261e chore: up eslint stylistic 2025-05-25 19:04:01 -04:00
Misty Release Bot
aeeda7c3be Latest translations and fallbacks 2025-05-25 09:19:33 +00:00
Barış Soner Uşaklı
e2de0ec212 chore: up dbsearch 2025-05-24 16:50:53 -04:00
renovate[bot]
3ca6a9bcfa fix(deps): update dependency nodebb-plugin-dbsearch to v6.2.18 (#13445)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-24 11:54:27 -04:00
Barış Soner Uşaklı
30aa0fe6d2 chore: up dbsearch 2025-05-24 11:49:49 -04:00
renovate[bot]
e3a7fb5ccb fix(deps): update dependency bootbox to v6.0.4 (#13443)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-24 06:11:41 -04:00
renovate[bot]
c184647578 chore(deps): update dependency mocha to v11.5.0 (#13442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 19:51:45 -04:00
Misty Release Bot
777ecdf2c1 Latest translations and fallbacks 2025-05-23 09:20:20 +00:00
Julian Lam
e70e990a1a feat: restrict access to ap.probe method to registered users, add rate limiting protection 2025-05-22 14:13:41 -04:00
renovate[bot]
76a624b9ca fix(deps): update dependency diff to v8.0.2 (#13440)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 11:31:52 -04:00
Barış Soner Uşaklı
f633f57d52 Merge branch 'master' into develop 2025-05-22 11:16:20 -04:00
Barış Soner Uşaklı
99234b3f97 chore: up harmony 2025-05-22 11:16:14 -04:00
Barış Soner Uşaklı
f9541f17dc Merge branch 'master' into develop 2025-05-22 11:01:12 -04:00
Barış Soner Uşaklı
a16bc7382c chore: up harmony 2025-05-22 11:01:05 -04:00
renovate[bot]
1d624aadbe fix(deps): update dependency commander to v14 (#13434)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-20 10:57:23 -04:00
renovate[bot]
136e88140f chore(deps): update dependency smtp-server to v3.13.7 (#13437)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-20 10:57:09 -04:00
renovate[bot]
314a4ff047 fix(deps): update dependency webpack to v5.99.9 (#13438)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-20 10:56:59 -04:00
Barış Uşaklı
385f4f12be replace connect-multiparty with Multer (#13439)
* post upload route

* more multer changes

keep name and type fields in file objects so we dont break all plugins using these

* remove log

* fix: thumbs delete

* test: add array check
2025-05-20 10:45:56 -04:00
Barış Soner Uşaklı
3c09e6247f Merge branch 'master' into develop 2025-05-20 09:26:58 -04:00
Misty Release Bot
2e02d3f673 Latest translations and fallbacks 2025-05-20 09:19:53 +00:00
renovate[bot]
ee8e223f20 fix(deps): update dependency connect-redis to v8.1.0 (#13433)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 17:11:51 -04:00
renovate[bot]
aa9772822a chore(deps): update dependency sass-embedded to v1.89.0 (#13425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 17:11:40 -04:00
renovate[bot]
5d017710bd chore(deps): update dependency mocha to v11.4.0 (#13435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 17:10:26 -04:00
renovate[bot]
42f16da501 fix(deps): update dependency nodebb-plugin-dbsearch to v6.2.17 (#13432)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 13:43:21 -04:00
renovate[bot]
650eeac908 chore(deps): update dependency mocha to v11.3.0 (#13426)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 13:15:23 -04:00
renovate[bot]
2417a79b5f fix(deps): update dependency sass to v1.89.0 (#13427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 13:15:06 -04:00
renovate[bot]
475b0704b9 chore(deps): update dependency @eslint/js to v9.27.0 (#13429)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 13:14:48 -04:00
Misty Release Bot
0fe1e53cf9 Latest translations and fallbacks 2025-05-18 09:19:19 +00:00
Misty Release Bot
a686cf2062 chore: update changelog for v4.4.1 2025-05-16 16:37:49 +00:00
Misty Release Bot
672dcc5d14 chore: incrementing version number - v4.4.1 2025-05-16 16:37:49 +00:00
Julian Lam
0b9c760092 Merge branch 'master' into develop 2025-05-16 11:43:32 -04:00
Julian Lam
948bfe46f1 test: fix tests to account for a460a55064 2025-05-16 11:43:26 -04:00
Julian Lam
f71c10ae42 Merge branch 'master' into develop 2025-05-16 10:04:51 -04:00
Julian Lam
ce5ef1ab6e fix: openapi schema to handle additional attachments field in postsobject 2025-05-16 10:04:43 -04:00
Misty Release Bot
4602b6b7c8 Latest translations and fallbacks 2025-05-16 09:20:24 +00:00
Barış Soner Uşaklı
61a63851d4 chore: up themes 2025-05-15 18:25:10 -04:00
Barış Soner Uşaklı
0a574d7240 fix: group edit url 2025-05-15 18:23:38 -04:00
Julian Lam
a463495fb0 Merge branch 'master' into develop 2025-05-15 16:57:17 -04:00
Julian Lam
8f9f377121 fix: add attachments to getpostsummaries call in search, #13324 2025-05-15 16:57:05 -04:00
Julian Lam
a460a55064 fix: bring back auto-categorization if group and object are same-origin, handle Peertube putting channel names in attributedTo 2025-05-15 15:40:01 -04:00
Julian Lam
8f933459cd fix: bring back auto-categorization if group and object are same-origin, handle Peertube putting channel names in attributedTo 2025-05-15 15:38:57 -04:00
Julian Lam
c55f12214f Merge branch 'master' into develop 2025-05-15 14:00:20 -04:00
Julian Lam
3674fa5783 feat: save width and height values into post attachment 2025-05-15 13:56:31 -04:00
Julian Lam
45a11d45fc fix: #13419, handle remote content with mediaType text/markdown 2025-05-15 12:01:45 -04:00
Barış Soner Uşaklı
6c3e2a8e22 refactor: create date once per digest.send 2025-05-15 09:42:55 -04:00
Barış Soner Uşaklı
3faae559a8 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-05-15 09:38:49 -04:00
Barış Soner Uşaklı
3d96afb2d1 feat: use local date string for digest subject
closes #13420
2025-05-15 09:38:43 -04:00
Misty Release Bot
ab6ed11155 Latest translations and fallbacks 2025-05-15 09:19:48 +00:00
Misty Release Bot
09cc91d5a0 chore: update changelog for v4.4.0 2025-05-14 20:36:36 +00:00
Misty Release Bot
b31d769d9c chore: incrementing version number - v4.4.0 2025-05-14 20:36:35 +00:00
Julian Lam
799b08db3a fix: adjust Peertube-specific handling to shove mp4 into post attachments, #13324 2025-05-14 15:23:06 -04:00
renovate[bot]
919d62ab4e fix(deps): update dependency diff to v8 (#13409)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 14:23:24 -04:00
renovate[bot]
3e18af1e25 fix(deps): update dependency sanitize-html to v2.17.0 (#13418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 14:22:45 -04:00
Julian Lam
d5865613e3 fix: #13081, don't add mention when you are replying to yourself 2025-05-14 14:14:09 -04:00
renovate[bot]
f176d6b2c5 fix(deps): update dependency satori to v0.13.1 (#13408)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 13:45:21 -04:00
renovate[bot]
7320a85896 fix(deps): update dependency pg-cursor to v2.15.0 (#13414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 13:45:10 -04:00
renovate[bot]
84b8ecc7a0 fix(deps): update dependency nodebb-plugin-markdown to v13.2.1 (#13416)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 13:45:01 -04:00
renovate[bot]
366651d6e1 fix(deps): update dependency semver to v7.7.2 (#13410)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 12:40:46 -04:00
renovate[bot]
0825c569aa fix(deps): update dependency pg to v8.16.0 (#13411)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 12:40:24 -04:00
renovate[bot]
fbe97b4e91 chore(deps): update redis docker tag to v8.0.1 (#13415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 12:38:22 -04:00
renovate[bot]
383a7ce507 fix(deps): update dependency nodebb-plugin-mentions to v4.7.6 (#13417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 12:38:00 -04:00
Julian Lam
0f576a4219 fix: add announces to postdataobject schema 2025-05-14 12:16:06 -04:00
Julian Lam
61f6806b6a test: a few additional tests for announce handling 2025-05-14 11:49:12 -04:00
Julian Lam
5b118904c9 test: fix regression from 5802c7ddd9 2025-05-14 11:05:10 -04:00
Julian Lam
9dc91f11a4 test: fix broken test due to adjusted note assertion relation logic 2025-05-14 11:00:56 -04:00
Misty Release Bot
7dc690a14a Latest translations and fallbacks 2025-05-14 09:19:59 +00:00
Julian Lam
fe13c75549 fix: #13375, plus additional tests 2025-05-13 13:59:34 -04:00
Barış Soner Uşaklı
30db15836b Merge branch 'master' into develop 2025-05-12 21:23:19 -04:00
Barış Soner Uşaklı
a9c02acae2 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-05-12 17:48:47 -04:00
Barış Soner Uşaklı
1b0b1da6b9 refactor: use a single until 2025-05-12 17:48:46 -04:00
Julian Lam
5802c7ddd9 fix: missing awaits, more comprehensive 1b12 tests 2025-05-12 15:00:00 -04:00
Misty Release Bot
0aa9c187f7 chore: update changelog for v4.3.2 2025-05-12 14:53:40 +00:00
Misty Release Bot
f607489060 chore: incrementing version number - v4.3.2 2025-05-12 14:53:39 +00:00
Barış Soner Uşaklı
f88f99b7a2 Merge branch 'master' into develop 2025-05-12 10:29:45 -04:00
Barış Soner Uşaklı
00668bdc34 refactor: wrap ap routes in try/catch 2025-05-12 10:29:32 -04:00
Barış Soner Uşaklı
dfa213298b refactor: call verify if request is POST 2025-05-12 10:28:26 -04:00
Barış Soner Uşaklı
16504bad81 fix: sql injection in sortedSetScan 2025-05-12 10:02:59 -04:00
Barış Soner Uşaklı
285d438cb3 fix: escape flag filters 2025-05-12 09:30:33 -04:00
Barış Soner Uşaklı
31be083e86 fix: #13407, don't restart user jobs
if jobsDisabled=true on that process
2025-05-12 09:12:51 -04:00
Barış Soner Uşaklı
5b6c34bfcf Merge branch 'master' into develop 2025-05-12 09:02:18 -04:00
Barış Soner Uşaklı
fcf9e8b796 chore: up mentions 2025-05-12 09:01:32 -04:00
renovate[bot]
23374fd7e9 fix(deps): update dependency lru-cache to v11 (#12685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:33:49 -04:00
renovate[bot]
6a4ffe0215 fix(deps): update dependency rimraf to v6 (#12686)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:33:25 -04:00
renovate[bot]
1df7313c99 chore(deps): update redis docker tag to v8 (#13387)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:32:58 -04:00
renovate[bot]
d319b0aaad chore(deps): update postgres docker tag to v17.5 (#13398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:32:45 -04:00
renovate[bot]
7a7cf830c3 fix(deps): update dependency bootswatch to v5.3.6 (#13400)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:32:37 -04:00
renovate[bot]
ecce999818 fix(deps): update dependency csrf-sync to v4.2.1 (#13401)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:32:27 -04:00
renovate[bot]
694c79bc9a chore(deps): update dependency sass-embedded to v1.88.0 (#13402)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:32:18 -04:00
renovate[bot]
7ffba2186c fix(deps): update dependency sass to v1.88.0 (#13403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:31:59 -04:00
renovate[bot]
9d877481bd chore(deps): update dependency lint-staged to v16 (#13404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:31:50 -04:00
Barış Soner Uşaklı
8174578c5b fix: closes #13405, catch errors in ap.verify 2025-05-11 22:31:00 -04:00
Julian Lam
bbf69e4093 Merge branch 'master' into develop 2025-05-09 10:34:25 -04:00
Julian Lam
20ab90694c fix: send proper accept header for outgoing webfinger requests 2025-05-09 10:34:19 -04:00
Julian Lam
d7cc637675 Merge branch 'master' into develop 2025-05-09 10:17:50 -04:00
Julian Lam
64fdf91b6b fix: wrap generateCollection calls in try..catch to send 404 if thrown 2025-05-09 10:16:33 -04:00
renovate[bot]
af3afba0f8 fix(deps): update dependency nodemailer to v7.0.3 (#13395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-08 20:21:13 -04:00
Julian Lam
6bfe4e627d fix: another case 2025-05-08 16:34:13 -04:00
Julian Lam
e042201f4b fix: handle missing orderedItems property in followers route 2025-05-08 16:32:21 -04:00
Julian Lam
d5349b39f5 Merge branch 'master' into develop 2025-05-08 14:12:33 -04:00
Julian Lam
26e6a22278 fix: #13397, null values in category sync list 2025-05-08 13:55:42 -04:00
Julian Lam
401ff797c9 fix: #13392, regression from c6f2c87, unable to unfollow from pending follows 2025-05-08 13:55:17 -04:00
Julian Lam
a9a5ab5e4b fix: #13397, update getCidByHandle to work with remote categories, fix sync with handles causing issues with null entries 2025-05-08 13:41:43 -04:00
renovate[bot]
7a7a4f0ab7 chore(deps): update commitlint monorepo to v19.8.1 (#13394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-08 09:40:53 -04:00
Barış Soner Uşaklı
4245575e09 Merge branch 'master' into develop 2025-05-07 19:06:01 -04:00
renovate[bot]
0b4d403c61 fix(deps): update dependency nodemailer to v7 (#13381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 18:59:04 -04:00
renovate[bot]
4f0f67a45f fix(deps): update dependency csrf-sync to v4.2.0 (#13364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 18:58:52 -04:00
Opliko
10077d0f89 fix: correct stage name in dev dockerfile (#13393)
Co-authored-by: ThisIsMissEm <ThisIsMissEm@users.noreply.github.com>
2025-05-07 18:57:40 -04:00
renovate[bot]
c7a164aef5 fix(deps): update dependency webpack to v5.99.8 (#13390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 13:02:39 -04:00
Barış Soner Uşaklı
a819d39c31 test: update filter:router.page tests to response:router.page 2025-05-07 12:42:22 -04:00
Misty Release Bot
2310a7b835 chore: update changelog for v4.3.1 2025-05-07 15:38:18 +00:00
Misty Release Bot
130b93eca9 chore: incrementing version number - v4.3.1 2025-05-07 15:38:18 +00:00
Barış Uşaklı
9324a1937b Update README.md 2025-05-07 11:28:33 -04:00
Misty Release Bot
ebe40f960c Latest translations and fallbacks 2025-05-07 09:20:10 +00:00
renovate[bot]
96dc5c89a4 chore(deps): update dependency lint-staged to v15.5.2 (#13383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 17:26:01 -04:00
renovate[bot]
e6a1961274 fix(deps): update dependency bootstrap to v5.3.6 (#13384)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 17:25:50 -04:00
renovate[bot]
b6f4de5bff fix(deps): update dependency esbuild to v0.25.4 (#13385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 17:25:40 -04:00
Julian Lam
52df41b906 test: adjustment for now-removed labels property 2025-05-06 15:13:29 -04:00
Julian Lam
860ac8953e docs: remove since-removed labels property from api 2025-05-06 15:08:21 -04:00
Julian Lam
15b6a2c117 chore: remove unused require 2025-05-06 13:38:42 -04:00
Julian Lam
8ea377a401 breaking: removal of deprecated privilege hooks
* filter:privileges.global.list
* filter:privileges.global.groups.list
* filter:privileges.global.list_human
* filter:privileges.global.groups.list_human
* filter:privileges.list
* filter:privileges.groups.list
* filter:privileges.list_human
* filter:privileges.groups.list_human
* filter:privileges.admin.list
* filter:privileges.admin.groups.list
* filter:privileges.admin.list_human
* filter:privileges.admin.groups.list_human
2025-05-06 13:38:42 -04:00
Julian Lam
547fb482eb breaking: removal of filter:flags.getFilters 2025-05-06 13:38:42 -04:00
Julian Lam
7e25946cd7 breaking: removal of filter:user.verify.code 2025-05-06 13:38:42 -04:00
Julian Lam
df5c1a938d breaking: removal of filter:post.purge 2025-05-06 13:38:42 -04:00
Julian Lam
c84b72fb37 breaking: removal of filter:post.purge 2025-05-06 13:38:42 -04:00
Julian Lam
9d8061eab9 breaking: removal of filter:router.page 2025-05-06 13:38:42 -04:00
Julian Lam
b73a8d3e1d breaking: removal of filter:email.send 2025-05-06 13:38:42 -04:00
Julian Lam
651ebaaf6c fix: missing await 2025-05-06 13:24:58 -04:00
Julian Lam
53bb0bbc26 fix: handle missing orderedItems 2025-05-06 12:30:43 -04:00
Julian Lam
f83b1fbf68 fix: extra orderedItems property in generated paginated OrderedCollection, #13153 2025-05-06 12:27:35 -04:00
Julian Lam
a2de7aaecf fix: #13153, follower and following collections to use generateCollection helper 2025-05-06 12:27:35 -04:00
Julian Lam
7f59238d3a refactor: Helpers.generateCollection so that total count and a bound function can be passed in, #13153 2025-05-06 12:27:35 -04:00
renovate[bot]
450ce3b85c chore(deps): update dependency @eslint/js to v9.26.0 (#13371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 11:29:19 -04:00
renovate[bot]
e2a8cf98f3 fix(deps): update dependency @fontsource/poppins to v5.2.6 (#13376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 11:17:35 -04:00
Julian Lam
b433848971 fix: #13374, updates to posts.edit to handle remote content updates better 2025-05-06 10:45:09 -04:00
Julian Lam
625ce96f94 fix: leftover handle var 2025-05-06 10:03:33 -04:00
renovate[bot]
2c0aba02d3 fix(deps): update dependency nodebb-plugin-mentions to v4.7.5 (#13386)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:59:17 -04:00
renovate[bot]
7f757615e5 fix(deps): update dependency nodebb-widget-essentials to v7.0.38 (#13380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:37:52 -04:00
renovate[bot]
954aa541ac fix(deps): update dependency nodebb-theme-persona to v14.1.11 (#13379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:35:30 -04:00
renovate[bot]
2aa0bfc5f6 fix(deps): update dependency nodebb-theme-peace to v2.2.42 (#13378)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:32:50 -04:00
renovate[bot]
72b3a21539 fix(deps): update dependency nodebb-theme-harmony to v2.1.12 (#13377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:32:32 -04:00
Misty Release Bot
92af415829 Latest translations and fallbacks 2025-05-06 09:20:36 +00:00
Julian Lam
f8d012c81c fix: AP inbox update handling for non-note objects 2025-05-05 17:01:07 -04:00
Julian Lam
9f80d10d09 fix: 1b12 creates being dropped 2025-05-05 16:50:44 -04:00
Julian Lam
7cf61ab080 fix: update AP api (un)follow ids to be url encoded id instead of handle 2025-05-05 16:35:12 -04:00
Barış Soner Uşaklı
31af05c75a test: fix android test 2025-05-05 11:09:53 -04:00
Barış Soner Uşaklı
25979294e1 test: fix android test 2025-05-05 11:00:30 -04:00
Barış Soner Uşaklı
7ef79981dd test: fix a test 2025-05-05 10:57:43 -04:00
Barış Soner Uşaklı
800426d68b chore: node 18 eol 2025-05-05 10:46:04 -04:00
Barış Soner Uşaklı
2d15555e5c update tests to node 20/22 2025-05-05 10:43:56 -04:00
renovate[bot]
4b78710b46 fix(deps): update dependency ace-builds to v1.41.0 (#13372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 09:06:41 -04:00
Barış Soner Uşaklı
ee2f91ad98 chore: up widgets 2025-05-03 14:36:20 -04:00
Barış Soner Uşaklı
18867fb14a chore: up themes 2025-05-02 19:49:56 -04:00
Barış Soner Uşaklı
d35aad317d https://github.com/NodeBB/NodeBB/issues/13367 2025-05-02 19:48:48 -04:00
Barış Soner Uşaklı
39953ee16b https://github.com/NodeBB/NodeBB/issues/13367 2025-05-02 19:48:35 -04:00
renovate[bot]
e958010f40 chore(deps): update dependency mocha to v11.2.2 (#13366)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 19:41:55 -04:00
Julian Lam
f3bd8590e9 fix(deps): bump markdown 2025-05-02 14:07:56 -04:00
Misty Release Bot
227bfabb8b Latest translations and fallbacks 2025-05-02 09:19:56 +00:00
Barış Soner Uşaklı
cf62da5c3e Merge branch 'master' into develop 2025-05-01 13:06:16 -04:00
Barış Soner Uşaklı
343f13e1c1 chore: update bundled plugins to use eslint9 2025-05-01 10:55:00 -04:00
Misty Release Bot
6ada76f401 Latest translations and fallbacks 2025-05-01 09:19:38 +00:00
Misty Release Bot
76c03019f8 chore: update changelog for v4.3.0 2025-05-01 04:13:40 +00:00
Misty Release Bot
7b43b1b80e chore: incrementing version number - v4.3.0 2025-05-01 04:13:39 +00:00
Julian Lam
1c07eab66b Merge remote-tracking branch 'origin/master' into develop 2025-05-01 00:06:47 -04:00
Julian Lam
b32b7fccff docs: update openapi spec with new (missing) properties 2025-04-30 15:18:05 -04:00
Julian Lam
2bf2e55664 fix: bump harmony 2025-04-30 15:11:51 -04:00
Misty Release Bot
2524d4ce12 Latest translations and fallbacks 2025-04-30 09:20:22 +00:00
Julian Lam
28b7a20339 lint: yup. 2025-04-29 15:13:22 -04:00
Misty Release Bot
2827498d76 chore(i18n): fallback strings for new resources: nodebb.category, nodebb.world 2025-04-29 19:06:06 +00:00
Julian Lam
5aee2f2661 feat: upgrade script to remote duplicate remote users and categories as per #13352 2025-04-29 14:35:28 -04:00
Julian Lam
2572cbf5d5 fix: #13352, also do the webfinger backreference check when calling assertGroup 2025-04-29 11:18:24 -04:00
Julian Lam
e9b3306e79 fix: regression that caused non-public content with source.content to fail parsing 2025-04-29 10:28:18 -04:00
Julian Lam
decc9cf196 feat: add new mixin clamp-fade, and handler for expanding it in category description
closes #13322
2025-04-29 10:28:18 -04:00
Barış Soner Uşaklı
537a742898 fix: closes #13360, catch error in buildAccountData middleware 2025-04-29 10:28:18 -04:00
Julian Lam
e3e78445ba chore: v4.3.0-beta.2 2025-04-29 10:28:18 -04:00
Julian Lam
044736696e feat: handle Announce(Update(Note)) as well, #13320 2025-04-29 10:28:18 -04:00
Julian Lam
74e32a170f feat: #13255, proper handling of upvotes shared by group actors
fixes #13320
2025-04-29 10:28:18 -04:00
Julian Lam
5c5fd3d44f feat: send the whole post content in summary as well 2025-04-29 10:28:18 -04:00
Julian Lam
c2a3ef817d fix: bug where disparate ids all claiming to be the same handle were causing duplicate remote users due to collisions, #13352 2025-04-29 10:28:18 -04:00
Julian Lam
3e508d6c65 test: article for new topic, note for replies 2025-04-29 10:28:18 -04:00
Julian Lam
a0a8c4624f fix: posts incorrectly excluded from results if result pid is in a remote category 2025-04-29 10:28:18 -04:00
Julian Lam
d020e33422 fix: ap helpers.makeSet to handle undefined property values 2025-04-29 10:28:18 -04:00
Julian Lam
512f889ec2 test: missing clear ap send cache 2025-04-29 10:28:18 -04:00
Julian Lam
0689da8120 chore: v4.3.0-beta.1 2025-04-29 10:28:18 -04:00
Julian Lam
804208b7b5 feat: show/hide categories on world page, #13255 2025-04-29 10:28:18 -04:00
Julian Lam
d58d5861d9 fix: add back localCategories to categorySearch when defaultCategories is supplied 2025-04-29 10:28:18 -04:00
Julian Lam
93a5b35f33 feat: notice on remote categories that have no local followers, #13255 2025-04-29 10:28:18 -04:00
Julian Lam
f02d96614a fix: remote bare hash for remote users on prune as well 2025-04-29 10:28:18 -04:00
Julian Lam
a487d5f6f2 feat: add new option to categorySearch module, defaultCategories, use to populate the category list when you don't want to poll backend for the main category list 2025-04-29 10:28:18 -04:00
Julian Lam
695312f17f fix: missing teasers for remote categories on /world 2025-04-29 10:28:18 -04:00
Julian Lam
0fab4255cc fix: remove superfluous privilege filter in markAllRead 2025-04-29 10:28:18 -04:00
Julian Lam
2e3e675be4 chore: cut 4.3.0-alpha.3 2025-04-29 10:28:18 -04:00
Julian Lam
1790951659 feat: category quick search on world page, theme version updates, #13255 2025-04-29 10:28:18 -04:00
Julian Lam
dabcefafd4 fix: reversed image and icon for remote categories, omit fa icon if remote category has icon property set, #13255 2025-04-29 10:28:18 -04:00
Julian Lam
34ab677174 feat: show tracked/watched remote categories in world page, #13255 2025-04-29 10:28:18 -04:00
Barış Soner Uşaklı
f1d1d0820a fix: closes #13289, id can be null 2025-04-29 10:28:18 -04:00
Julian Lam
4a7111d042 fix: marking remote category topics as read 2025-04-29 10:28:18 -04:00
Julian Lam
b0236735f2 fix: markAllRead to get tids based on same logic as unread page, instead of marking all recent posts read 2025-04-29 10:28:18 -04:00
Julian Lam
39fc9bae89 test: additional test for ensuring handle:uid is continually set even after re-assertion 2025-04-29 10:28:18 -04:00
Julian Lam
c4690392cd chore: cut v4.3.0-alpha.2 2025-04-29 10:28:18 -04:00
Julian Lam
6dee3e56e6 fix: key ownership cross-check to also work with remote categories, #13255 2025-04-29 10:28:18 -04:00
Julian Lam
4379df68f5 chore: cut v4.3.0-alpha 2025-04-29 10:28:18 -04:00
Julian Lam
1f04678210 fix: #13255, assert all recipients of the main post when asserting a note, so that remote categories can be discovered 2025-04-29 10:28:18 -04:00
Julian Lam
4d1d7c3dca fix: remote categories should not show up in a user's follow lists 2025-04-29 10:28:18 -04:00
Julian Lam
3213da1c77 fix: #13255, remote user-to-category migration should not move shares that are already in an existing cid 2025-04-29 10:28:18 -04:00
Julian Lam
f2e0ba2165 fix: proper handling of actors.qualify response 2025-04-29 10:28:18 -04:00
Julian Lam
2cb6d10d9e fix: missing dep 2025-04-29 10:28:18 -04:00
Julian Lam
c2f77cee04 test: additional test for remote category topic assertion when ignoring category 2025-04-29 10:28:17 -04:00
Julian Lam
c4274a3dca fix: topics in remote categories showing up in /recent 2025-04-29 10:28:17 -04:00
Julian Lam
0246c14643 fix: regression that caused resolveInboxes to always return empty, added tests for resolveInboxes 2025-04-29 10:28:17 -04:00
Barış Soner Uşaklı
97a232e9d5 dont make db call if ap disabled 2025-04-29 10:28:17 -04:00
Barış Soner Uşaklı
74661381d8 refactor: use promise.all 2025-04-29 10:28:17 -04:00
Barış Soner Uşaklı
c1b7196429 fix: spread fail, @julianlam
add ap check
2025-04-29 10:28:17 -04:00
Julian Lam
ac7b7f81b3 feat: remote user to category migration should also migrate local user follows into category watches 2025-04-29 10:28:17 -04:00
Julian Lam
309deb0d7a fix: filter out non-asserted targets when sending ap messages, diff. getter method when passed-in ID is a remote category 2025-04-29 10:28:17 -04:00
Julian Lam
c5901e0d24 fix: tag whitelist check socket call for remote categories 2025-04-29 10:28:17 -04:00
Julian Lam
23b3148c84 feat: allowing manual group assertion via category search input 2025-04-29 10:28:17 -04:00
Julian Lam
ee34396c71 fix: migrate topics as system user instead of uid 0 2025-04-29 10:28:17 -04:00
Julian Lam
6e374200e5 send ap follow/undo-follow if remote category watch state changes 2025-04-29 10:28:17 -04:00
Julian Lam
d19f692b8d feat: remote group actors migrated to categories if they were previous asserted as remote users 2025-04-29 10:28:17 -04:00
Julian Lam
c6f2c87478 fix: do not send out ap (undo:)follow if local user or category is (not)already following 2025-04-29 10:28:17 -04:00
Julian Lam
85e7c1a20d test: #13255, reply to topic in remote category addresses remote category 2025-04-29 10:28:17 -04:00
Julian Lam
b8c531d53d feat: #13255 new topics in remote category addresses remote category, tests, fixes to tests 2025-04-29 10:28:17 -04:00
Julian Lam
0b333fb7d4 fix: allow category controller to respond also by remote category id 2025-04-29 10:28:17 -04:00
Julian Lam
9c1d5cd36e feat: #13255, deliver asserted topics to remote category followers 2025-04-29 10:28:17 -04:00
Julian Lam
6e23de46d6 fix: #13255, update category search logic to allow for remote categories 2025-04-29 10:28:17 -04:00
Julian Lam
876d1b0414 feat: #13255, add category name and handle to category search zset 2025-04-29 10:28:17 -04:00
Julian Lam
bfc7daf255 refactor: categories.sortTidsBySet to not take cid, retrieve from tids themselves
re: ##13255, this fixes the issue with topics outside of cid -1 in /world being sorted incorrectly
2025-04-29 10:28:17 -04:00
Julian Lam
53dc79a1bd test: remote user pruning tests 2025-04-29 10:28:17 -04:00
Julian Lam
9b5855f79d feat: integrate remote category pruning into actor pruning logic 2025-04-29 10:28:17 -04:00
Julian Lam
4be0f73ace feat: migration of group-as-user to group-as-category, remote category purging, more tests 2025-04-29 10:28:17 -04:00
Julian Lam
7ccd6b73ae fix: delete shares zset on account deletion 2025-04-29 10:28:17 -04:00
Julian Lam
4f7481582c test: introduce overrides into person and group mocks 2025-04-29 10:28:17 -04:00
Julian Lam
80069a198c test: have ap helper mocks for person and group auto-save to ap cache 2025-04-29 10:28:17 -04:00
Julian Lam
afc4764358 test: add failing tests for actor/group assertion via wrong method, remote user to category migration 2025-04-29 10:28:17 -04:00
Julian Lam
f483e883a7 feat: asserted topics and posts to remote categories will notify and add to unread based on remote category watch state 2025-04-29 10:28:17 -04:00
Julian Lam
804052f272 test: add tests for topics slotting into remote categories if addressed 2025-04-29 10:28:17 -04:00
Julian Lam
ca9a5b6dfb test: group actor assertion tests 2025-04-29 10:28:17 -04:00
Julian Lam
0fa98237af refactor: allow topics to be asserted directly into a remote category, or -1 otherwise 2025-04-29 10:28:17 -04:00
Julian Lam
f73f727d90 feat: also include category in to field when mocking post for federation 2025-04-29 10:28:17 -04:00
Julian Lam
1f40995f79 refactor: ability to browse to remote categories, group actor assertion logic, etc. -- no logic to assign topics to remote categories yet 2025-04-29 10:28:17 -04:00
Julian Lam
55c89969ed revert: use of vanity domains, needs rethinking. Originally added in 709a02d97a 2025-04-29 10:28:17 -04:00
Misty Release Bot
85fc167800 Latest translations and fallbacks 2025-04-29 09:20:03 +00:00
Misty Release Bot
4111512841 Latest translations and fallbacks 2025-04-27 09:19:32 +00:00
Barış Soner Uşaklı
ea9f7903ef fix: persona tooltip so it doesn't appear when dropdowns are open 2025-04-26 20:44:35 -04:00
renovate[bot]
7f533167ee fix(deps): update dependency pg to v8.15.6 (#13362)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-26 14:37:21 -04:00
Misty Release Bot
f7aaabaadb Latest translations and fallbacks 2025-04-26 09:19:33 +00:00
renovate[bot]
03e06784d4 fix(deps): update dependency pg-cursor to v2.14.6 (#13363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 16:18:47 -04:00
Misty Release Bot
c889d60c5d chore(i18n): fallback strings for new resources: nodebb.error 2025-04-25 16:18:30 +00:00
Barış Soner Uşaklı
4277765b64 fix: lang keys 2025-04-25 12:17:26 -04:00
Misty Release Bot
d3409b40b1 chore(i18n): fallback strings for new resources: nodebb.admin-settings-user, nodebb.user 2025-04-25 15:54:52 +00:00
Barış Soner Uşaklı
a5afad27e5 feat: chat allow/deny list, closes #13359 2025-04-25 11:54:11 -04:00
renovate[bot]
7800016f2f chore(deps): update redis docker tag to v7.4.3 (#13358)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 09:04:15 -04:00
renovate[bot]
0a3e4d61d8 fix(deps): update dependency webpack to v5.99.7 (#13361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 09:04:06 -04:00
Barış Soner Uşaklı
be7959e5eb refactor: remove datepicker
using datetime-local now https://github.com/NodeBB/NodeBB/blob/master/src/views/admin/partials/widget-settings.tpl#L14-L20
2025-04-24 11:38:48 -04:00
renovate[bot]
74558b0fc7 fix(deps): update dependency pg to v8.15.5 (#13356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 10:20:12 -04:00
Barış Soner Uşaklı
8ffbc35923 refactor: add sping/ping into openapi
change getObject to getSortedSetRange so db is always checked. getObject calls are cached
2025-04-24 09:50:52 -04:00
Misty Release Bot
7eb2f12751 Latest translations and fallbacks 2025-04-24 09:19:59 +00:00
renovate[bot]
4eec053a77 fix(deps): update dependency ace-builds to v1.40.1 (#13354)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 20:01:22 -04:00
renovate[bot]
43d7d47fa6 fix(deps): update dependency esbuild to v0.25.3 (#13355)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 20:01:12 -04:00
renovate[bot]
00be573d4f fix(deps): update dependency pg-cursor to v2.14.5 (#13350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 20:00:56 -04:00
renovate[bot]
b49436de0a fix(deps): update dependency pg to v8.15.2 (#13349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 14:21:47 -04:00
Barış Soner Uşaklı
ed92ffaf08 fix: closes #13353, don't use index for finding plugin data 2025-04-23 06:50:40 -04:00
Barış Soner Uşaklı
e0235a1e94 test: shorter test 2025-04-22 17:22:01 -04:00
Barış Soner Uşaklı
f864a5a4ac test: eslint for tests 2025-04-22 17:15:48 -04:00
Barış Uşaklı
b57ce29dc6 chore: up pg, pg-cursor (#13351)
* chore: up pg, pg-cursor

* test: check file directly
2025-04-22 13:32:41 -04:00
Barış Soner Uşaklı
1a3e669b6f Merge branch 'master' into develop 2025-04-22 12:38:25 -04:00
Misty Release Bot
ce196589f5 chore: update changelog for v4.2.2 2025-04-22 16:33:51 +00:00
Misty Release Bot
a8bb46996b chore: incrementing version number - v4.2.2 2025-04-22 16:33:51 +00:00
Barış Soner Uşaklı
71cd46e132 Merge branch 'master' into develop 2025-04-22 11:46:43 -04:00
Barış Soner Uşaklı
42a5a127b6 fix: escape displayname in topic events 2025-04-22 11:46:03 -04:00
Barış Soner Uşaklı
e2543abb59 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-04-22 11:24:58 -04:00
renovate[bot]
bee79784cf chore(deps): update dependency sass-embedded to v1.87.0 (#13347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 09:52:10 -04:00
renovate[bot]
50a58bbc03 fix(deps): update dependency sass to v1.87.0 (#13348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 09:51:59 -04:00
Misty Release Bot
92f7f2305f Latest translations and fallbacks 2025-04-22 09:19:47 +00:00
renovate[bot]
25e4e844d9 chore(deps): update dependency @eslint/js to v9.25.1 (#13344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 18:54:15 -04:00
renovate[bot]
8d84206f5b fix(deps): update dependency connect-redis to v8.0.3 (#13345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 18:54:05 -04:00
renovate[bot]
3c24810d73 fix(deps): update dependency mongodb to v6.16.0 (#13346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 18:53:57 -04:00
Barış Soner Uşaklı
65b2042ffb Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-04-21 09:05:39 -04:00
Barış Soner Uşaklı
e184c9108a refactor: moved these rules to nodebb-config 2025-04-21 09:05:35 -04:00
renovate[bot]
d687fe60a1 chore(deps): update dependency eslint-config-nodebb to v1.1.3 (#13343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-20 20:49:23 -04:00
Misty Release Bot
71642f5ced Latest translations and fallbacks 2025-04-20 09:19:23 +00:00
renovate[bot]
0cc492c6df chore(deps): update dependency @eslint/js to v9.25.0 (#13342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-19 20:30:57 -04:00
Barış Soner Uşaklı
853244a13a chore: up eslint-nodebb 2025-04-18 22:17:30 -04:00
Barış Soner Uşaklı
3f01b719c4 remove unused import, up eslint-nodebb 2025-04-18 22:10:35 -04:00
Barış Soner Uşaklı
92d6e0220b refactor: switch eslint configs to esm
add rules from https://eslint.style/
refactor for in loops to use Object.entries
2025-04-18 21:57:12 -04:00
renovate[bot]
0c5ef0e866 fix(deps): update dependency chart.js to v4.4.9 (#13328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 15:03:37 -04:00
renovate[bot]
6f8c7aba50 fix(deps): update dependency nconf to v0.13.0 (#13333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 15:03:15 -04:00
renovate[bot]
5d461f0417 fix(deps): update dependency ace-builds to v1.40.0 (#13331)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 15:00:13 -04:00
renovate[bot]
6fbb2b4bc4 fix(deps): update dependency nodemailer to v6.10.1 (#13329)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 14:59:48 -04:00
renovate[bot]
74d9806d28 fix(deps): update dependency ioredis to v5.6.1 (#13318)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 12:00:22 -04:00
renovate[bot]
9046aceaa6 chore(deps): update dependency lint-staged to v15.5.1 (#13319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 12:00:13 -04:00
renovate[bot]
f96ce25a84 fix(deps): update dependency cron to v4.3.0 (#13332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 12:00:01 -04:00
renovate[bot]
24a5f407ec fix(deps): update dependency sanitize-html to v2.16.0 (#13339)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 11:44:59 -04:00
renovate[bot]
cac1c37b6b fix(deps): update dependency webpack to v5.99.6 (#13341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 11:44:42 -04:00
Barış Soner Uşaklı
321defb989 test: fix tests 2025-04-18 11:16:02 -04:00
renovate[bot]
8f784bb348 fix(deps): update dependency bootbox to v6.0.3 (#13327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 11:00:19 -04:00
Misty Release Bot
40767c8bcb Latest translations and fallbacks 2025-04-18 09:19:34 +00:00
Barış Soner Uşaklı
4301bf9797 chore: up themes 2025-04-17 13:20:37 -04:00
Barış Soner Uşaklı
9f93cc9bd0 refactor: move topic/post menu lists to core 2025-04-17 13:19:48 -04:00
Barış Soner Uşaklı
87aacc8943 refactor: show topic tools if plugins add them
previously regular users couldn't see topic tools if it was something that didnt require privileges
2025-04-17 12:02:52 -04:00
Barış Soner Uşaklı
b73fb67b33 refactor: remove reply icons 2025-04-17 09:32:55 -04:00
Misty Release Bot
13884e43c0 Latest translations and fallbacks 2025-04-17 09:19:56 +00:00
Barış Soner Uşaklı
be1abcc957 Merge branch 'master' into develop 2025-04-16 10:31:41 -04:00
Barış Soner Uşaklı
6832541c02 lint: fix semi 2025-04-16 10:31:28 -04:00
Barış Soner Uşaklı
4f13eb0338 fix: closes #13336, allow main post deletion from "delete posts" tool 2025-04-16 10:23:25 -04:00
Misty Release Bot
83245e4abf Latest translations and fallbacks 2025-04-16 09:19:59 +00:00
renovate[bot]
3f000ed6ec chore(deps): update dependency jsdom to v26.1.0 (#13330)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 17:57:02 -04:00
Julian Lam
4125219716 fix: regression on search query that is a url, via 3526c937cc 2025-04-15 14:15:06 -04:00
Misty Release Bot
6c163f7c13 chore(i18n): fallback strings for new resources: nodebb.global 2025-04-15 14:08:09 +00:00
Barış Soner Uşaklı
bf2d4c46f8 feat: show topic follower counts (#13326)
fix upgrade script dates
add upgrade script to count topic followers for each topic
2025-04-15 10:07:45 -04:00
Julian Lam
5d94f2cad4 test: fix test expecting Note when it is now Article 2025-04-15 10:06:04 -04:00
Julian Lam
3c4be7738c feat: federate out as:Article with preview for root-level posts in a topic, instead of as:Note 2025-04-14 13:56:49 -04:00
Julian Lam
2a98a9b334 fix: bug where generateHandle would throw when passed in an invalid slug 2025-04-14 13:35:22 -04:00
Misty Release Bot
38b46fb488 Latest translations and fallbacks 2025-04-13 09:19:23 +00:00
Misty Release Bot
dcf34e3da2 chore(i18n): fallback strings for new resources: nodebb.notifications 2025-04-12 18:17:23 +00:00
Barış Soner Uşaklı
73c8dbfe00 Merge branch 'master' into develop 2025-04-12 14:16:58 -04:00
Barış Soner Uşaklı
d59a5728df lint: fix missing comma 2025-04-11 19:58:48 -04:00
Barış Soner Uşaklı
46ed56cf96 refactor: use sortedSetsCard 2025-04-11 19:51:18 -04:00
Misty Release Bot
4cee37b98e chore: update changelog for v4.2.1 2025-04-10 14:03:46 +00:00
Misty Release Bot
59bc2b0d4b chore: incrementing version number - v4.2.1 2025-04-10 14:03:46 +00:00
renovate[bot]
1bd1262247 fix(deps): update dependency nodebb-theme-harmony to v2.1.6 (#13314)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 09:54:21 -04:00
renovate[bot]
6de89952f5 fix(deps): update dependency nodebb-theme-persona to v14.1.5 (#13316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 09:54:06 -04:00
Barış Soner Uşaklı
33d50637a3 fix: closes #13317, fix email confirm for changing email 2025-04-10 09:53:20 -04:00
Misty Release Bot
59bcb6ee77 Latest translations and fallbacks 2025-04-10 09:20:24 +00:00
renovate[bot]
41be539fb8 chore(deps): update dependency @eslint/js to v9.24.0 (#13310)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-09 09:35:11 -04:00
renovate[bot]
140440ccbf fix(deps): update dependency webpack to v5.99.5 (#13312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-09 09:34:51 -04:00
Misty Release Bot
dcb2e9b997 Latest translations and fallbacks 2025-04-09 09:20:04 +00:00
renovate[bot]
5fa09a6756 fix(deps): update dependency cron to v4.1.4 (#13307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 11:52:40 -04:00
renovate[bot]
6f3e985397 fix(deps): update dependency nodebb-theme-persona to v14.1.2 (#13311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 11:52:25 -04:00
renovate[bot]
9905e6aa73 fix(deps): update dependency nodebb-theme-harmony to v2.1.3 (#13309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 11:52:13 -04:00
renovate[bot]
4b511546d2 fix(deps): update dependency bootswatch to v5.3.5 (#13308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 11:51:54 -04:00
Misty Release Bot
b1e95bc637 chore(i18n): fallback strings for new resources: nodebb.error 2025-04-08 13:30:42 +00:00
Barış Soner Uşaklı
b49a4586cf fix: closes #13313, add error:post-deleted 2025-04-08 09:30:16 -04:00
renovate[bot]
22b3dc656e fix(deps): update dependency bootstrap to v5.3.5 (#13304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 16:54:34 -04:00
1184 changed files with 18669 additions and 5436 deletions

View File

@@ -16,14 +16,25 @@ permissions:
packages: write
jobs:
release:
runs-on: ubuntu-latest
build:
strategy:
matrix:
include:
- os: ubuntu-latest
platforms: linux/amd64
required: true
- os: ubuntu-24.04-arm
platforms: linux/arm64
required: true
continue-on-error: ${{ !matrix.required }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Prepare
run: |
platform=${{ matrix.platforms }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}" >> $GITHUB_ENV
- uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -34,15 +45,73 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get current date in NST
run: echo "CURRENT_DATE_NST=$(date +'%Y%m%d-%H%M%S' -d '-3 hours -30 minutes')" >> $GITHUB_ENV
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/${{ github.repository }}
images: ${{ env.IMAGE }}
- name: Cache node_modules
id: cache-node-modules
uses: actions/cache@v5
with:
path: var-cache-node-modules
key: var-cache-node-modules-${{ hashFiles('Dockerfile', 'install/package.json') }}
- name: Build and push Docker images
id: build
uses: docker/build-push-action@v6
with:
cache-from: type=gha
cache-to: type=gha,mode=min
context: .
file: ./Dockerfile
platforms: ${{ matrix.platforms }}
labels: ${{ steps.meta.outputs.labels }}
tags: ${{ env.IMAGE }}
outputs: type=image,push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
mkdir -p ${{ runner.temp }}/digests
digest="${{ steps.build.outputs.digest }}"
touch "${{ runner.temp }}/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v6
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: ${{ runner.temp }}/digests/*
if-no-files-found: error
retention-days: 1
merge:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Prepare
run: |
echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}" >> $GITHUB_ENV
echo "CURRENT_DATE_NST=$(date +'%Y%m%d-%H%M%S' -d '-3 hours -30 minutes')" >> $GITHUB_ENV
- name: Download digests
uses: actions/download-artifact@v7
with:
path: ${{ runner.temp }}/digests
pattern: digests-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE }}
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
@@ -52,21 +121,11 @@ jobs:
type=raw,value=${{ env.CURRENT_DATE_NST }}
flavor: |
latest=true
- name: Cache node_modules
id: cache-node-modules
uses: actions/cache@v4
with:
path: var-cache-node-modules
key: var-cache-node-modules-${{ hashFiles('Dockerfile', 'install/package.json') }}
- name: Build and push Docker images
uses: docker/build-push-action@v6
with:
cache-from: type=gha
cache-to: type=gha,mode=min
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.meta.outputs.tags }}
- name: Create manifest list and push
working-directory: ${{ runner.temp }}/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.IMAGE }}:${{ steps.meta.outputs.version }}

View File

@@ -27,19 +27,19 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [18, 20]
node: [20, 22]
database: [mongo-dev, mongo, redis, postgres]
include:
# only run coverage once
- os: ubuntu-latest
node: 18
node: 22
coverage: true
# test under development once
- database: mongo-dev
test_env: development
# only run eslint once
- os: ubuntu-latest
node: 18
node: 22
database: mongo-dev
lint: true
runs-on: ${{ matrix.os }}
@@ -48,7 +48,7 @@ jobs:
services:
postgres:
image: 'postgres:17-alpine'
image: 'postgres:18-alpine'
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
@@ -63,7 +63,7 @@ jobs:
- 5432:5432
redis:
image: 'redis:7.4.2'
image: 'redis:8.4.0'
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
@@ -75,18 +75,18 @@ jobs:
- 6379:6379
mongo:
image: 'mongo:8.0'
image: 'mongo:8.2'
ports:
# Maps port 27017 on service container to the host
- 27017:27017
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- run: cp install/package.json package.json
- name: Install Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}

View File

@@ -51,6 +51,7 @@ trans.sv = public/language/sv/admin/admin.json
trans.th = public/language/th/admin/admin.json
trans.tr = public/language/tr/admin/admin.json
trans.uk = public/language/uk/admin/admin.json
trans.ur = public/language/ur/admin/admin.json
trans.vi = public/language/vi/admin/admin.json
trans.zh_CN = public/language/zh-CN/admin/admin.json
trans.zh_TW = public/language/zh-TW/admin/admin.json
@@ -105,6 +106,7 @@ trans.sv = public/language/sv/admin/advanced/cache.json
trans.th = public/language/th/admin/advanced/cache.json
trans.tr = public/language/tr/admin/advanced/cache.json
trans.uk = public/language/uk/admin/advanced/cache.json
trans.ur = public/language/ur/admin/advanced/cache.json
trans.vi = public/language/vi/admin/advanced/cache.json
trans.zh_CN = public/language/zh-CN/admin/advanced/cache.json
trans.zh_TW = public/language/zh-TW/admin/advanced/cache.json
@@ -159,6 +161,7 @@ trans.sv = public/language/sv/admin/advanced/database.json
trans.th = public/language/th/admin/advanced/database.json
trans.tr = public/language/tr/admin/advanced/database.json
trans.uk = public/language/uk/admin/advanced/database.json
trans.ur = public/language/ur/admin/advanced/database.json
trans.vi = public/language/vi/admin/advanced/database.json
trans.zh_CN = public/language/zh-CN/admin/advanced/database.json
trans.zh_TW = public/language/zh-TW/admin/advanced/database.json
@@ -213,6 +216,7 @@ trans.sv = public/language/sv/admin/advanced/errors.json
trans.th = public/language/th/admin/advanced/errors.json
trans.tr = public/language/tr/admin/advanced/errors.json
trans.uk = public/language/uk/admin/advanced/errors.json
trans.ur = public/language/ur/admin/advanced/errors.json
trans.vi = public/language/vi/admin/advanced/errors.json
trans.zh_CN = public/language/zh-CN/admin/advanced/errors.json
trans.zh_TW = public/language/zh-TW/admin/advanced/errors.json
@@ -267,6 +271,7 @@ trans.sv = public/language/sv/admin/advanced/events.json
trans.th = public/language/th/admin/advanced/events.json
trans.tr = public/language/tr/admin/advanced/events.json
trans.uk = public/language/uk/admin/advanced/events.json
trans.ur = public/language/ur/admin/advanced/events.json
trans.vi = public/language/vi/admin/advanced/events.json
trans.zh_CN = public/language/zh-CN/admin/advanced/events.json
trans.zh_TW = public/language/zh-TW/admin/advanced/events.json
@@ -321,6 +326,7 @@ trans.sv = public/language/sv/admin/advanced/logs.json
trans.th = public/language/th/admin/advanced/logs.json
trans.tr = public/language/tr/admin/advanced/logs.json
trans.uk = public/language/uk/admin/advanced/logs.json
trans.ur = public/language/ur/admin/advanced/logs.json
trans.vi = public/language/vi/admin/advanced/logs.json
trans.zh_CN = public/language/zh-CN/admin/advanced/logs.json
trans.zh_TW = public/language/zh-TW/admin/advanced/logs.json
@@ -375,6 +381,7 @@ trans.sv = public/language/sv/admin/appearance/customise.json
trans.th = public/language/th/admin/appearance/customise.json
trans.tr = public/language/tr/admin/appearance/customise.json
trans.uk = public/language/uk/admin/appearance/customise.json
trans.ur = public/language/ur/admin/appearance/customise.json
trans.vi = public/language/vi/admin/appearance/customise.json
trans.zh_CN = public/language/zh-CN/admin/appearance/customise.json
trans.zh_TW = public/language/zh-TW/admin/appearance/customise.json
@@ -429,6 +436,7 @@ trans.sv = public/language/sv/admin/appearance/skins.json
trans.th = public/language/th/admin/appearance/skins.json
trans.tr = public/language/tr/admin/appearance/skins.json
trans.uk = public/language/uk/admin/appearance/skins.json
trans.ur = public/language/ur/admin/appearance/skins.json
trans.vi = public/language/vi/admin/appearance/skins.json
trans.zh_CN = public/language/zh-CN/admin/appearance/skins.json
trans.zh_TW = public/language/zh-TW/admin/appearance/skins.json
@@ -483,6 +491,7 @@ trans.sv = public/language/sv/admin/appearance/themes.json
trans.th = public/language/th/admin/appearance/themes.json
trans.tr = public/language/tr/admin/appearance/themes.json
trans.uk = public/language/uk/admin/appearance/themes.json
trans.ur = public/language/ur/admin/appearance/themes.json
trans.vi = public/language/vi/admin/appearance/themes.json
trans.zh_CN = public/language/zh-CN/admin/appearance/themes.json
trans.zh_TW = public/language/zh-TW/admin/appearance/themes.json
@@ -537,6 +546,7 @@ trans.sv = public/language/sv/admin/dashboard.json
trans.th = public/language/th/admin/dashboard.json
trans.tr = public/language/tr/admin/dashboard.json
trans.uk = public/language/uk/admin/dashboard.json
trans.ur = public/language/ur/admin/dashboard.json
trans.vi = public/language/vi/admin/dashboard.json
trans.zh_CN = public/language/zh-CN/admin/dashboard.json
trans.zh_TW = public/language/zh-TW/admin/dashboard.json
@@ -591,6 +601,7 @@ trans.sv = public/language/sv/admin/development/info.json
trans.th = public/language/th/admin/development/info.json
trans.tr = public/language/tr/admin/development/info.json
trans.uk = public/language/uk/admin/development/info.json
trans.ur = public/language/ur/admin/development/info.json
trans.vi = public/language/vi/admin/development/info.json
trans.zh_CN = public/language/zh-CN/admin/development/info.json
trans.zh_TW = public/language/zh-TW/admin/development/info.json
@@ -645,6 +656,7 @@ trans.sv = public/language/sv/admin/development/logger.json
trans.th = public/language/th/admin/development/logger.json
trans.tr = public/language/tr/admin/development/logger.json
trans.uk = public/language/uk/admin/development/logger.json
trans.ur = public/language/ur/admin/development/logger.json
trans.vi = public/language/vi/admin/development/logger.json
trans.zh_CN = public/language/zh-CN/admin/development/logger.json
trans.zh_TW = public/language/zh-TW/admin/development/logger.json
@@ -699,6 +711,7 @@ trans.sv = public/language/sv/admin/extend/plugins.json
trans.th = public/language/th/admin/extend/plugins.json
trans.tr = public/language/tr/admin/extend/plugins.json
trans.uk = public/language/uk/admin/extend/plugins.json
trans.ur = public/language/ur/admin/extend/plugins.json
trans.vi = public/language/vi/admin/extend/plugins.json
trans.zh_CN = public/language/zh-CN/admin/extend/plugins.json
trans.zh_TW = public/language/zh-TW/admin/extend/plugins.json
@@ -753,6 +766,7 @@ trans.sv = public/language/sv/admin/extend/rewards.json
trans.th = public/language/th/admin/extend/rewards.json
trans.tr = public/language/tr/admin/extend/rewards.json
trans.uk = public/language/uk/admin/extend/rewards.json
trans.ur = public/language/ur/admin/extend/rewards.json
trans.vi = public/language/vi/admin/extend/rewards.json
trans.zh_CN = public/language/zh-CN/admin/extend/rewards.json
trans.zh_TW = public/language/zh-TW/admin/extend/rewards.json
@@ -807,6 +821,7 @@ trans.sv = public/language/sv/admin/extend/widgets.json
trans.th = public/language/th/admin/extend/widgets.json
trans.tr = public/language/tr/admin/extend/widgets.json
trans.uk = public/language/uk/admin/extend/widgets.json
trans.ur = public/language/ur/admin/extend/widgets.json
trans.vi = public/language/vi/admin/extend/widgets.json
trans.zh_CN = public/language/zh-CN/admin/extend/widgets.json
trans.zh_TW = public/language/zh-TW/admin/extend/widgets.json
@@ -861,6 +876,7 @@ trans.sv = public/language/sv/admin/manage/admins-mods.json
trans.th = public/language/th/admin/manage/admins-mods.json
trans.tr = public/language/tr/admin/manage/admins-mods.json
trans.uk = public/language/uk/admin/manage/admins-mods.json
trans.ur = public/language/ur/admin/manage/admins-mods.json
trans.vi = public/language/vi/admin/manage/admins-mods.json
trans.zh_CN = public/language/zh-CN/admin/manage/admins-mods.json
trans.zh_TW = public/language/zh-TW/admin/manage/admins-mods.json
@@ -915,6 +931,7 @@ trans.sv = public/language/sv/admin/manage/categories.json
trans.th = public/language/th/admin/manage/categories.json
trans.tr = public/language/tr/admin/manage/categories.json
trans.uk = public/language/uk/admin/manage/categories.json
trans.ur = public/language/ur/admin/manage/categories.json
trans.vi = public/language/vi/admin/manage/categories.json
trans.zh_CN = public/language/zh-CN/admin/manage/categories.json
trans.zh_TW = public/language/zh-TW/admin/manage/categories.json
@@ -969,6 +986,7 @@ trans.sv = public/language/sv/admin/manage/digest.json
trans.th = public/language/th/admin/manage/digest.json
trans.tr = public/language/tr/admin/manage/digest.json
trans.uk = public/language/uk/admin/manage/digest.json
trans.ur = public/language/ur/admin/manage/digest.json
trans.vi = public/language/vi/admin/manage/digest.json
trans.zh_CN = public/language/zh-CN/admin/manage/digest.json
trans.zh_TW = public/language/zh-TW/admin/manage/digest.json
@@ -1023,6 +1041,7 @@ trans.sv = public/language/sv/admin/manage/groups.json
trans.th = public/language/th/admin/manage/groups.json
trans.tr = public/language/tr/admin/manage/groups.json
trans.uk = public/language/uk/admin/manage/groups.json
trans.ur = public/language/ur/admin/manage/groups.json
trans.vi = public/language/vi/admin/manage/groups.json
trans.zh_CN = public/language/zh-CN/admin/manage/groups.json
trans.zh_TW = public/language/zh-TW/admin/manage/groups.json
@@ -1077,6 +1096,7 @@ trans.sv = public/language/sv/admin/manage/privileges.json
trans.th = public/language/th/admin/manage/privileges.json
trans.tr = public/language/tr/admin/manage/privileges.json
trans.uk = public/language/uk/admin/manage/privileges.json
trans.ur = public/language/ur/admin/manage/privileges.json
trans.vi = public/language/vi/admin/manage/privileges.json
trans.zh_CN = public/language/zh-CN/admin/manage/privileges.json
trans.zh_TW = public/language/zh-TW/admin/manage/privileges.json
@@ -1131,6 +1151,7 @@ trans.sv = public/language/sv/admin/manage/registration.json
trans.th = public/language/th/admin/manage/registration.json
trans.tr = public/language/tr/admin/manage/registration.json
trans.uk = public/language/uk/admin/manage/registration.json
trans.ur = public/language/ur/admin/manage/registration.json
trans.vi = public/language/vi/admin/manage/registration.json
trans.zh_CN = public/language/zh-CN/admin/manage/registration.json
trans.zh_TW = public/language/zh-TW/admin/manage/registration.json
@@ -1185,6 +1206,7 @@ trans.sv = public/language/sv/admin/manage/tags.json
trans.th = public/language/th/admin/manage/tags.json
trans.tr = public/language/tr/admin/manage/tags.json
trans.uk = public/language/uk/admin/manage/tags.json
trans.ur = public/language/ur/admin/manage/tags.json
trans.vi = public/language/vi/admin/manage/tags.json
trans.zh_CN = public/language/zh-CN/admin/manage/tags.json
trans.zh_TW = public/language/zh-TW/admin/manage/tags.json
@@ -1239,6 +1261,7 @@ trans.sv = public/language/sv/admin/manage/uploads.json
trans.th = public/language/th/admin/manage/uploads.json
trans.tr = public/language/tr/admin/manage/uploads.json
trans.uk = public/language/uk/admin/manage/uploads.json
trans.ur = public/language/ur/admin/manage/uploads.json
trans.vi = public/language/vi/admin/manage/uploads.json
trans.zh_CN = public/language/zh-CN/admin/manage/uploads.json
trans.zh_TW = public/language/zh-TW/admin/manage/uploads.json
@@ -1293,6 +1316,7 @@ trans.sv = public/language/sv/admin/manage/user-custom-fields.json
trans.th = public/language/th/admin/manage/user-custom-fields.json
trans.tr = public/language/tr/admin/manage/user-custom-fields.json
trans.uk = public/language/uk/admin/manage/user-custom-fields.json
trans.ur = public/language/ur/admin/manage/user-custom-fields.json
trans.vi = public/language/vi/admin/manage/user-custom-fields.json
trans.zh_CN = public/language/zh-CN/admin/manage/user-custom-fields.json
trans.zh_TW = public/language/zh-TW/admin/manage/user-custom-fields.json
@@ -1347,6 +1371,7 @@ trans.sv = public/language/sv/admin/manage/users.json
trans.th = public/language/th/admin/manage/users.json
trans.tr = public/language/tr/admin/manage/users.json
trans.uk = public/language/uk/admin/manage/users.json
trans.ur = public/language/ur/admin/manage/users.json
trans.vi = public/language/vi/admin/manage/users.json
trans.zh_CN = public/language/zh-CN/admin/manage/users.json
trans.zh_TW = public/language/zh-TW/admin/manage/users.json
@@ -1401,6 +1426,7 @@ trans.sv = public/language/sv/admin/menu.json
trans.th = public/language/th/admin/menu.json
trans.tr = public/language/tr/admin/menu.json
trans.uk = public/language/uk/admin/menu.json
trans.ur = public/language/ur/admin/menu.json
trans.vi = public/language/vi/admin/menu.json
trans.zh_CN = public/language/zh-CN/admin/menu.json
trans.zh_TW = public/language/zh-TW/admin/menu.json
@@ -1455,6 +1481,7 @@ trans.sv = public/language/sv/admin/settings/advanced.json
trans.th = public/language/th/admin/settings/advanced.json
trans.tr = public/language/tr/admin/settings/advanced.json
trans.uk = public/language/uk/admin/settings/advanced.json
trans.ur = public/language/ur/admin/settings/advanced.json
trans.vi = public/language/vi/admin/settings/advanced.json
trans.zh_CN = public/language/zh-CN/admin/settings/advanced.json
trans.zh_TW = public/language/zh-TW/admin/settings/advanced.json
@@ -1509,6 +1536,7 @@ trans.sv = public/language/sv/admin/settings/activitypub.json
trans.th = public/language/th/admin/settings/activitypub.json
trans.tr = public/language/tr/admin/settings/activitypub.json
trans.uk = public/language/uk/admin/settings/activitypub.json
trans.ur = public/language/ur/admin/settings/activitypub.json
trans.vi = public/language/vi/admin/settings/activitypub.json
trans.zh_CN = public/language/zh-CN/admin/settings/activitypub.json
trans.zh_TW = public/language/zh-TW/admin/settings/activitypub.json
@@ -1563,6 +1591,7 @@ trans.sv = public/language/sv/admin/settings/api.json
trans.th = public/language/th/admin/settings/api.json
trans.tr = public/language/tr/admin/settings/api.json
trans.uk = public/language/uk/admin/settings/api.json
trans.ur = public/language/ur/admin/settings/api.json
trans.vi = public/language/vi/admin/settings/api.json
trans.zh_CN = public/language/zh-CN/admin/settings/api.json
trans.zh_TW = public/language/zh-TW/admin/settings/api.json
@@ -1617,6 +1646,7 @@ trans.sv = public/language/sv/admin/settings/chat.json
trans.th = public/language/th/admin/settings/chat.json
trans.tr = public/language/tr/admin/settings/chat.json
trans.uk = public/language/uk/admin/settings/chat.json
trans.ur = public/language/ur/admin/settings/chat.json
trans.vi = public/language/vi/admin/settings/chat.json
trans.zh_CN = public/language/zh-CN/admin/settings/chat.json
trans.zh_TW = public/language/zh-TW/admin/settings/chat.json
@@ -1671,6 +1701,7 @@ trans.sv = public/language/sv/admin/settings/cookies.json
trans.th = public/language/th/admin/settings/cookies.json
trans.tr = public/language/tr/admin/settings/cookies.json
trans.uk = public/language/uk/admin/settings/cookies.json
trans.ur = public/language/ur/admin/settings/cookies.json
trans.vi = public/language/vi/admin/settings/cookies.json
trans.zh_CN = public/language/zh-CN/admin/settings/cookies.json
trans.zh_TW = public/language/zh-TW/admin/settings/cookies.json
@@ -1725,6 +1756,7 @@ trans.sv = public/language/sv/admin/settings/email.json
trans.th = public/language/th/admin/settings/email.json
trans.tr = public/language/tr/admin/settings/email.json
trans.uk = public/language/uk/admin/settings/email.json
trans.ur = public/language/ur/admin/settings/email.json
trans.vi = public/language/vi/admin/settings/email.json
trans.zh_CN = public/language/zh-CN/admin/settings/email.json
trans.zh_TW = public/language/zh-TW/admin/settings/email.json
@@ -1779,6 +1811,7 @@ trans.sv = public/language/sv/admin/settings/general.json
trans.th = public/language/th/admin/settings/general.json
trans.tr = public/language/tr/admin/settings/general.json
trans.uk = public/language/uk/admin/settings/general.json
trans.ur = public/language/ur/admin/settings/general.json
trans.vi = public/language/vi/admin/settings/general.json
trans.zh_CN = public/language/zh-CN/admin/settings/general.json
trans.zh_TW = public/language/zh-TW/admin/settings/general.json
@@ -1833,6 +1866,7 @@ trans.sv = public/language/sv/admin/settings/group.json
trans.th = public/language/th/admin/settings/group.json
trans.tr = public/language/tr/admin/settings/group.json
trans.uk = public/language/uk/admin/settings/group.json
trans.ur = public/language/ur/admin/settings/group.json
trans.vi = public/language/vi/admin/settings/group.json
trans.zh_CN = public/language/zh-CN/admin/settings/group.json
trans.zh_TW = public/language/zh-TW/admin/settings/group.json
@@ -1887,6 +1921,7 @@ trans.sv = public/language/sv/admin/settings/navigation.json
trans.th = public/language/th/admin/settings/navigation.json
trans.tr = public/language/tr/admin/settings/navigation.json
trans.uk = public/language/uk/admin/settings/navigation.json
trans.ur = public/language/ur/admin/settings/navigation.json
trans.vi = public/language/vi/admin/settings/navigation.json
trans.zh_CN = public/language/zh-CN/admin/settings/navigation.json
trans.zh_TW = public/language/zh-TW/admin/settings/navigation.json
@@ -1941,6 +1976,7 @@ trans.sv = public/language/sv/admin/settings/notifications.json
trans.th = public/language/th/admin/settings/notifications.json
trans.tr = public/language/tr/admin/settings/notifications.json
trans.uk = public/language/uk/admin/settings/notifications.json
trans.ur = public/language/ur/admin/settings/notifications.json
trans.vi = public/language/vi/admin/settings/notifications.json
trans.zh_CN = public/language/zh-CN/admin/settings/notifications.json
trans.zh_TW = public/language/zh-TW/admin/settings/notifications.json
@@ -1995,6 +2031,7 @@ trans.sv = public/language/sv/admin/settings/pagination.json
trans.th = public/language/th/admin/settings/pagination.json
trans.tr = public/language/tr/admin/settings/pagination.json
trans.uk = public/language/uk/admin/settings/pagination.json
trans.ur = public/language/ur/admin/settings/pagination.json
trans.vi = public/language/vi/admin/settings/pagination.json
trans.zh_CN = public/language/zh-CN/admin/settings/pagination.json
trans.zh_TW = public/language/zh-TW/admin/settings/pagination.json
@@ -2049,6 +2086,7 @@ trans.sv = public/language/sv/admin/settings/post.json
trans.th = public/language/th/admin/settings/post.json
trans.tr = public/language/tr/admin/settings/post.json
trans.uk = public/language/uk/admin/settings/post.json
trans.ur = public/language/ur/admin/settings/post.json
trans.vi = public/language/vi/admin/settings/post.json
trans.zh_CN = public/language/zh-CN/admin/settings/post.json
trans.zh_TW = public/language/zh-TW/admin/settings/post.json
@@ -2103,6 +2141,7 @@ trans.sv = public/language/sv/admin/settings/reputation.json
trans.th = public/language/th/admin/settings/reputation.json
trans.tr = public/language/tr/admin/settings/reputation.json
trans.uk = public/language/uk/admin/settings/reputation.json
trans.ur = public/language/ur/admin/settings/reputation.json
trans.vi = public/language/vi/admin/settings/reputation.json
trans.zh_CN = public/language/zh-CN/admin/settings/reputation.json
trans.zh_TW = public/language/zh-TW/admin/settings/reputation.json
@@ -2157,6 +2196,7 @@ trans.sv = public/language/sv/admin/settings/sockets.json
trans.th = public/language/th/admin/settings/sockets.json
trans.tr = public/language/tr/admin/settings/sockets.json
trans.uk = public/language/uk/admin/settings/sockets.json
trans.ur = public/language/ur/admin/settings/sockets.json
trans.vi = public/language/vi/admin/settings/sockets.json
trans.zh_CN = public/language/zh-CN/admin/settings/sockets.json
trans.zh_TW = public/language/zh-TW/admin/settings/sockets.json
@@ -2211,6 +2251,7 @@ trans.sv = public/language/sv/admin/settings/sounds.json
trans.th = public/language/th/admin/settings/sounds.json
trans.tr = public/language/tr/admin/settings/sounds.json
trans.uk = public/language/uk/admin/settings/sounds.json
trans.ur = public/language/ur/admin/settings/sounds.json
trans.vi = public/language/vi/admin/settings/sounds.json
trans.zh_CN = public/language/zh-CN/admin/settings/sounds.json
trans.zh_TW = public/language/zh-TW/admin/settings/sounds.json
@@ -2265,6 +2306,7 @@ trans.sv = public/language/sv/admin/settings/tags.json
trans.th = public/language/th/admin/settings/tags.json
trans.tr = public/language/tr/admin/settings/tags.json
trans.uk = public/language/uk/admin/settings/tags.json
trans.ur = public/language/ur/admin/settings/tags.json
trans.vi = public/language/vi/admin/settings/tags.json
trans.zh_CN = public/language/zh-CN/admin/settings/tags.json
trans.zh_TW = public/language/zh-TW/admin/settings/tags.json
@@ -2319,6 +2361,7 @@ trans.sv = public/language/sv/admin/settings/uploads.json
trans.th = public/language/th/admin/settings/uploads.json
trans.tr = public/language/tr/admin/settings/uploads.json
trans.uk = public/language/uk/admin/settings/uploads.json
trans.ur = public/language/ur/admin/settings/uploads.json
trans.vi = public/language/vi/admin/settings/uploads.json
trans.zh_CN = public/language/zh-CN/admin/settings/uploads.json
trans.zh_TW = public/language/zh-TW/admin/settings/uploads.json
@@ -2373,6 +2416,7 @@ trans.sv = public/language/sv/admin/settings/user.json
trans.th = public/language/th/admin/settings/user.json
trans.tr = public/language/tr/admin/settings/user.json
trans.uk = public/language/uk/admin/settings/user.json
trans.ur = public/language/ur/admin/settings/user.json
trans.vi = public/language/vi/admin/settings/user.json
trans.zh_CN = public/language/zh-CN/admin/settings/user.json
trans.zh_TW = public/language/zh-TW/admin/settings/user.json
@@ -2427,6 +2471,7 @@ trans.sv = public/language/sv/admin/settings/web-crawler.json
trans.th = public/language/th/admin/settings/web-crawler.json
trans.tr = public/language/tr/admin/settings/web-crawler.json
trans.uk = public/language/uk/admin/settings/web-crawler.json
trans.ur = public/language/ur/admin/settings/web-crawler.json
trans.vi = public/language/vi/admin/settings/web-crawler.json
trans.zh_CN = public/language/zh-CN/admin/settings/web-crawler.json
trans.zh_TW = public/language/zh-TW/admin/settings/web-crawler.json
@@ -2481,6 +2526,7 @@ trans.sv = public/language/sv/themes/harmony.json
trans.th = public/language/th/themes/harmony.json
trans.tr = public/language/tr/themes/harmony.json
trans.uk = public/language/uk/themes/harmony.json
trans.ur = public/language/ur/themes/harmony.json
trans.vi = public/language/vi/themes/harmony.json
trans.zh_CN = public/language/zh-CN/themes/harmony.json
trans.zh_TW = public/language/zh-TW/themes/harmony.json
@@ -2535,6 +2581,7 @@ trans.sv = public/language/sv/themes/persona.json
trans.th = public/language/th/themes/persona.json
trans.tr = public/language/tr/themes/persona.json
trans.uk = public/language/uk/themes/persona.json
trans.ur = public/language/ur/themes/persona.json
trans.vi = public/language/vi/themes/persona.json
trans.zh_CN = public/language/zh-CN/themes/persona.json
trans.zh_TW = public/language/zh-TW/themes/persona.json
@@ -2589,6 +2636,7 @@ trans.sv = public/language/sv/aria.json
trans.th = public/language/th/aria.json
trans.tr = public/language/tr/aria.json
trans.uk = public/language/uk/aria.json
trans.ur = public/language/ur/aria.json
trans.vi = public/language/vi/aria.json
trans.zh_CN = public/language/zh-CN/aria.json
trans.zh_TW = public/language/zh-TW/aria.json
@@ -2643,6 +2691,7 @@ trans.sv = public/language/sv/category.json
trans.th = public/language/th/category.json
trans.tr = public/language/tr/category.json
trans.uk = public/language/uk/category.json
trans.ur = public/language/ur/category.json
trans.vi = public/language/vi/category.json
trans.zh_CN = public/language/zh-CN/category.json
trans.zh_TW = public/language/zh-TW/category.json
@@ -2697,6 +2746,7 @@ trans.sv = public/language/sv/email.json
trans.th = public/language/th/email.json
trans.tr = public/language/tr/email.json
trans.uk = public/language/uk/email.json
trans.ur = public/language/ur/email.json
trans.vi = public/language/vi/email.json
trans.zh_CN = public/language/zh-CN/email.json
trans.zh_TW = public/language/zh-TW/email.json
@@ -2751,6 +2801,7 @@ trans.sv = public/language/sv/error.json
trans.th = public/language/th/error.json
trans.tr = public/language/tr/error.json
trans.uk = public/language/uk/error.json
trans.ur = public/language/ur/error.json
trans.vi = public/language/vi/error.json
trans.zh_CN = public/language/zh-CN/error.json
trans.zh_TW = public/language/zh-TW/error.json
@@ -2858,6 +2909,7 @@ trans.sv = public/language/sv/global.json
trans.th = public/language/th/global.json
trans.tr = public/language/tr/global.json
trans.uk = public/language/uk/global.json
trans.ur = public/language/ur/global.json
trans.vi = public/language/vi/global.json
trans.zh_CN = public/language/zh-CN/global.json
trans.zh_TW = public/language/zh-TW/global.json
@@ -2912,6 +2964,7 @@ trans.sv = public/language/sv/groups.json
trans.th = public/language/th/groups.json
trans.tr = public/language/tr/groups.json
trans.uk = public/language/uk/groups.json
trans.ur = public/language/ur/groups.json
trans.vi = public/language/vi/groups.json
trans.zh_CN = public/language/zh-CN/groups.json
trans.zh_TW = public/language/zh-TW/groups.json
@@ -2966,6 +3019,7 @@ trans.sv = public/language/sv/ip-blacklist.json
trans.th = public/language/th/ip-blacklist.json
trans.tr = public/language/tr/ip-blacklist.json
trans.uk = public/language/uk/ip-blacklist.json
trans.ur = public/language/ur/ip-blacklist.json
trans.vi = public/language/vi/ip-blacklist.json
trans.zh_CN = public/language/zh-CN/ip-blacklist.json
trans.zh_TW = public/language/zh-TW/ip-blacklist.json
@@ -3020,6 +3074,7 @@ trans.sv = public/language/sv/language.json
trans.th = public/language/th/language.json
trans.tr = public/language/tr/language.json
trans.uk = public/language/uk/language.json
trans.ur = public/language/ur/language.json
trans.vi = public/language/vi/language.json
trans.zh_CN = public/language/zh-CN/language.json
trans.zh_TW = public/language/zh-TW/language.json
@@ -3074,6 +3129,7 @@ trans.sv = public/language/sv/login.json
trans.th = public/language/th/login.json
trans.tr = public/language/tr/login.json
trans.uk = public/language/uk/login.json
trans.ur = public/language/ur/login.json
trans.vi = public/language/vi/login.json
trans.zh_CN = public/language/zh-CN/login.json
trans.zh_TW = public/language/zh-TW/login.json
@@ -3128,6 +3184,7 @@ trans.sv = public/language/sv/modules.json
trans.th = public/language/th/modules.json
trans.tr = public/language/tr/modules.json
trans.uk = public/language/uk/modules.json
trans.ur = public/language/ur/modules.json
trans.vi = public/language/vi/modules.json
trans.zh_CN = public/language/zh-CN/modules.json
trans.zh_TW = public/language/zh-TW/modules.json
@@ -3182,6 +3239,7 @@ trans.sv = public/language/sv/notifications.json
trans.th = public/language/th/notifications.json
trans.tr = public/language/tr/notifications.json
trans.uk = public/language/uk/notifications.json
trans.ur = public/language/ur/notifications.json
trans.vi = public/language/vi/notifications.json
trans.zh_CN = public/language/zh-CN/notifications.json
trans.zh_TW = public/language/zh-TW/notifications.json
@@ -3236,6 +3294,7 @@ trans.sv = public/language/sv/pages.json
trans.th = public/language/th/pages.json
trans.tr = public/language/tr/pages.json
trans.uk = public/language/uk/pages.json
trans.ur = public/language/ur/pages.json
trans.vi = public/language/vi/pages.json
trans.zh_CN = public/language/zh-CN/pages.json
trans.zh_TW = public/language/zh-TW/pages.json
@@ -3290,6 +3349,7 @@ trans.sv = public/language/sv/post-queue.json
trans.th = public/language/th/post-queue.json
trans.tr = public/language/tr/post-queue.json
trans.uk = public/language/uk/post-queue.json
trans.ur = public/language/ur/post-queue.json
trans.vi = public/language/vi/post-queue.json
trans.zh_CN = public/language/zh-CN/post-queue.json
trans.zh_TW = public/language/zh-TW/post-queue.json
@@ -3344,6 +3404,7 @@ trans.sv = public/language/sv/recent.json
trans.th = public/language/th/recent.json
trans.tr = public/language/tr/recent.json
trans.uk = public/language/uk/recent.json
trans.ur = public/language/ur/recent.json
trans.vi = public/language/vi/recent.json
trans.zh_CN = public/language/zh-CN/recent.json
trans.zh_TW = public/language/zh-TW/recent.json
@@ -3398,6 +3459,7 @@ trans.sv = public/language/sv/register.json
trans.th = public/language/th/register.json
trans.tr = public/language/tr/register.json
trans.uk = public/language/uk/register.json
trans.ur = public/language/ur/register.json
trans.vi = public/language/vi/register.json
trans.zh_CN = public/language/zh-CN/register.json
trans.zh_TW = public/language/zh-TW/register.json
@@ -3452,6 +3514,7 @@ trans.sv = public/language/sv/reset_password.json
trans.th = public/language/th/reset_password.json
trans.tr = public/language/tr/reset_password.json
trans.uk = public/language/uk/reset_password.json
trans.ur = public/language/ur/reset_password.json
trans.vi = public/language/vi/reset_password.json
trans.zh_CN = public/language/zh-CN/reset_password.json
trans.zh_TW = public/language/zh-TW/reset_password.json
@@ -3506,6 +3569,7 @@ trans.sv = public/language/sv/rewards.json
trans.th = public/language/th/rewards.json
trans.tr = public/language/tr/rewards.json
trans.uk = public/language/uk/rewards.json
trans.ur = public/language/ur/rewards.json
trans.vi = public/language/vi/rewards.json
trans.zh_CN = public/language/zh-CN/rewards.json
trans.zh_TW = public/language/zh-TW/rewards.json
@@ -3560,6 +3624,7 @@ trans.sv = public/language/sv/search.json
trans.th = public/language/th/search.json
trans.tr = public/language/tr/search.json
trans.uk = public/language/uk/search.json
trans.ur = public/language/ur/search.json
trans.vi = public/language/vi/search.json
trans.zh_CN = public/language/zh-CN/search.json
trans.zh_TW = public/language/zh-TW/search.json
@@ -3614,6 +3679,7 @@ trans.sv = public/language/sv/social.json
trans.th = public/language/th/social.json
trans.tr = public/language/tr/social.json
trans.uk = public/language/uk/social.json
trans.ur = public/language/ur/social.json
trans.vi = public/language/vi/social.json
trans.zh_CN = public/language/zh-CN/social.json
trans.zh_TW = public/language/zh-TW/social.json
@@ -3668,6 +3734,7 @@ trans.sv = public/language/sv/success.json
trans.th = public/language/th/success.json
trans.tr = public/language/tr/success.json
trans.uk = public/language/uk/success.json
trans.ur = public/language/ur/success.json
trans.vi = public/language/vi/success.json
trans.zh_CN = public/language/zh-CN/success.json
trans.zh_TW = public/language/zh-TW/success.json
@@ -3722,6 +3789,7 @@ trans.sv = public/language/sv/tags.json
trans.th = public/language/th/tags.json
trans.tr = public/language/tr/tags.json
trans.uk = public/language/uk/tags.json
trans.ur = public/language/ur/tags.json
trans.vi = public/language/vi/tags.json
trans.zh_CN = public/language/zh-CN/tags.json
trans.zh_TW = public/language/zh-TW/tags.json
@@ -3776,6 +3844,7 @@ trans.sv = public/language/sv/top.json
trans.th = public/language/th/top.json
trans.tr = public/language/tr/top.json
trans.uk = public/language/uk/top.json
trans.ur = public/language/ur/top.json
trans.vi = public/language/vi/top.json
trans.zh_CN = public/language/zh-CN/top.json
trans.zh_TW = public/language/zh-TW/top.json
@@ -3830,6 +3899,7 @@ trans.sv = public/language/sv/topic.json
trans.th = public/language/th/topic.json
trans.tr = public/language/tr/topic.json
trans.uk = public/language/uk/topic.json
trans.ur = public/language/ur/topic.json
trans.vi = public/language/vi/topic.json
trans.zh_CN = public/language/zh-CN/topic.json
trans.zh_TW = public/language/zh-TW/topic.json
@@ -3884,6 +3954,7 @@ trans.sv = public/language/sv/unread.json
trans.th = public/language/th/unread.json
trans.tr = public/language/tr/unread.json
trans.uk = public/language/uk/unread.json
trans.ur = public/language/ur/unread.json
trans.vi = public/language/vi/unread.json
trans.zh_CN = public/language/zh-CN/unread.json
trans.zh_TW = public/language/zh-TW/unread.json
@@ -3938,6 +4009,7 @@ trans.sv = public/language/sv/uploads.json
trans.th = public/language/th/uploads.json
trans.tr = public/language/tr/uploads.json
trans.uk = public/language/uk/uploads.json
trans.ur = public/language/ur/uploads.json
trans.vi = public/language/vi/uploads.json
trans.zh_CN = public/language/zh-CN/uploads.json
trans.zh_TW = public/language/zh-TW/uploads.json
@@ -3992,6 +4064,7 @@ trans.sv = public/language/sv/user.json
trans.th = public/language/th/user.json
trans.tr = public/language/tr/user.json
trans.uk = public/language/uk/user.json
trans.ur = public/language/ur/user.json
trans.vi = public/language/vi/user.json
trans.zh_CN = public/language/zh-CN/user.json
trans.zh_TW = public/language/zh-TW/user.json
@@ -4046,6 +4119,7 @@ trans.sv = public/language/sv/users.json
trans.th = public/language/th/users.json
trans.tr = public/language/tr/users.json
trans.uk = public/language/uk/users.json
trans.ur = public/language/ur/users.json
trans.vi = public/language/vi/users.json
trans.zh_CN = public/language/zh-CN/users.json
trans.zh_TW = public/language/zh-TW/users.json
@@ -4100,6 +4174,7 @@ trans.sv = public/language/sv/world.json
trans.th = public/language/th/world.json
trans.tr = public/language/tr/world.json
trans.uk = public/language/uk/world.json
trans.ur = public/language/ur/world.json
trans.vi = public/language/vi/world.json
trans.zh_CN = public/language/zh-CN/world.json
trans.zh_TW = public/language/zh-TW/world.json

File diff suppressed because it is too large Load Diff

View File

@@ -173,7 +173,10 @@ module.exports = function (grunt) {
winston.error(err.stack);
}
if (worker) {
worker.send({ compiling: compiling });
worker.send({
compiling: compiling,
livereload: true, // Send livereload event via Socket.IO for instant browser refresh
});
}
});
});

View File

@@ -39,8 +39,8 @@ Our minimalist "Harmony" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 18 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 3.6 or greater **or** Redis, version 2.8.9 or greater
* A version of Node.js at least 20 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 5 or greater **or** Redis, version 7.2 or greater
* If you are using [clustering](https://docs.nodebb.org/configuring/scaling/) you need Redis installed and configured.
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)

View File

@@ -58,8 +58,8 @@ RUN corepack enable \
&& mkdir -p /usr/src/app/logs/ /opt/config/ \
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/
COPY --from=build --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=build --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
COPY --from=git --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=git --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
COPY --from=node_modules_touch --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/
COPY --from=git --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/

View File

@@ -14,7 +14,7 @@ services:
- ./install/docker/setup.json:/usr/src/app/setup.json
postgres:
image: postgres:17.4-alpine
image: postgres:18.1-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb
@@ -24,7 +24,7 @@ services:
- postgres-data:/var/lib/postgresql/data
redis:
image: redis:7.4.2-alpine
image: redis:8.4.0-alpine
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning']
# command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF

View File

@@ -14,7 +14,7 @@ services:
- ./install/docker/setup.json:/usr/src/app/setup.json
redis:
image: redis:7.4.2-alpine
image: redis:8.4.0-alpine
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning']
# command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF

View File

@@ -24,7 +24,7 @@ services:
- mongo-data:/data/db
- ./install/docker/mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js
redis:
image: redis:7.4.2-alpine
image: redis:8.4.0-alpine
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning']
# command: ['redis-server', '--save', '60', '1', '--loglevel', 'warning'] # uncomment if you want to use snapshotting instead of AOF
@@ -34,7 +34,7 @@ services:
- redis
postgres:
image: postgres:17.4-alpine
image: postgres:18.1-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb

View File

@@ -1,11 +1,15 @@
'use strict';
const serverConfig = require('eslint-config-nodebb');
const publicConfig = require('eslint-config-nodebb/public');
const { configs } = require('@eslint/js');
const globals = require('globals');
import serverConfig from 'eslint-config-nodebb';
import publicConfig from 'eslint-config-nodebb/public';
import commonRules from 'eslint-config-nodebb/common';
module.exports = [
import { defineConfig } from 'eslint/config';
import stylisticJs from '@stylistic/eslint-plugin'
import js from '@eslint/js';
import globals from 'globals';
export default defineConfig([
{
ignores: [
'node_modules/',
@@ -27,15 +31,13 @@ module.exports = [
'install/docker/',
],
},
configs.recommended,
{
rules: {
'no-bitwise': 'warn',
'no-await-in-loop': 'warn',
}
},
// tests
{
plugins: {
js,
'@stylistic/js': stylisticJs,
},
extends: ['js/recommended'],
files: ['test/**/*.js'],
languageOptions: {
ecmaVersion: 2020,
@@ -50,13 +52,14 @@ module.exports = [
after: 'readonly',
afterEach: 'readonly',
},
},
},
rules: {
'no-unused-vars': 'off',
...commonRules,
'no-unused-vars': 'off',
'no-prototype-builtins': 'off',
}
},
},
...publicConfig,
...serverConfig
];
]);

View File

@@ -36,8 +36,9 @@
"maximumTagsPerTopic": 5,
"minimumTagLength": 3,
"maximumTagLength": 15,
"undoTimeout": 10000,
"undoTimeout": 0,
"allowTopicsThumbnail": 1,
"showPostUploadsAsThumbnails": 1,
"registrationType": "normal",
"registrationApprovalType": "normal",
"allowAccountDelete": 1,
@@ -76,7 +77,7 @@
"profile:keepAllUserImages": 0,
"gdpr_enabled": 1,
"allowProfileImageUploads": 1,
"teaserPost": "last-reply",
"teaserPost": "last-post",
"showPostPreviewsOnHover": 1,
"allowPrivateGroups": 1,
"unreadCutoff": 2,

View File

@@ -103,7 +103,7 @@ build_forum() {
local config="$1"
local start_build="$2"
local package_hash=$(md5sum install/package.json | head -c 32)
if [ "$package_hash" = "$(cat $CONFIG_DIR/install_hash.md5 || true)" ]; then
if [ "$package_hash" != "$(cat $CONFIG_DIR/install_hash.md5 || true)" ]; then
echo "package.json was updated. Upgrading..."
/usr/src/app/nodebb upgrade --config="$config" || {
echo "Failed to build NodeBB. Exiting..."

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "4.2.0",
"version": "4.7.0",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",
@@ -29,56 +29,55 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"@fontsource/inter": "5.2.5",
"@fontsource/poppins": "5.2.5",
"@fontsource-utils/scss": "0.2.2",
"@fontsource/inter": "5.2.8",
"@fontsource/poppins": "5.2.7",
"@fortawesome/fontawesome-free": "6.7.2",
"@isaacs/ttlcache": "1.4.1",
"@isaacs/ttlcache": "2.1.3",
"@nodebb/spider-detector": "2.0.3",
"@popperjs/core": "2.11.8",
"@resvg/resvg-js": "2.6.2",
"@textcomplete/contenteditable": "0.1.13",
"@textcomplete/core": "0.1.13",
"@textcomplete/textarea": "0.1.13",
"ace-builds": "1.39.1",
"ace-builds": "1.43.5",
"archiver": "7.0.1",
"async": "3.2.6",
"autoprefixer": "10.4.21",
"bcryptjs": "3.0.2",
"autoprefixer": "10.4.22",
"bcryptjs": "3.0.3",
"benchpressjs": "2.5.5",
"body-parser": "2.2.0",
"bootbox": "6.0.2",
"bootstrap": "5.3.4",
"bootswatch": "5.3.3",
"body-parser": "2.2.1",
"bootbox": "6.0.4",
"bootstrap": "5.3.8",
"bootswatch": "5.3.8",
"chalk": "4.1.2",
"chart.js": "4.4.8",
"chart.js": "4.5.1",
"cli-graph": "3.2.2",
"clipboard": "2.0.11",
"commander": "13.1.0",
"commander": "14.0.2",
"compare-versions": "6.1.1",
"compression": "1.8.0",
"compression": "1.8.1",
"connect-flash": "0.1.1",
"connect-mongo": "5.1.0",
"connect-multiparty": "2.2.0",
"connect-mongo": "6.0.0",
"connect-pg-simple": "10.0.0",
"connect-redis": "8.0.2",
"connect-redis": "9.0.0",
"cookie-parser": "1.4.7",
"cron": "4.1.3",
"cron": "4.4.0",
"cropperjs": "1.6.2",
"csrf-sync": "4.1.0",
"csrf-sync": "4.2.1",
"daemon": "1.1.0",
"diff": "7.0.0",
"esbuild": "0.25.2",
"express": "4.21.2",
"express-session": "1.18.1",
"express-useragent": "1.0.15",
"diff": "8.0.2",
"esbuild": "0.27.1",
"express": "4.22.1",
"express-session": "1.18.2",
"express-useragent": "2.0.2",
"fetch-cookie": "3.1.0",
"file-loader": "6.2.0",
"fs-extra": "11.3.0",
"fs-extra": "11.3.2",
"graceful-fs": "4.2.11",
"helmet": "7.2.0",
"html-to-text": "9.0.5",
"imagesloaded": "5.0.0",
"ipaddr.js": "2.2.0",
"ipaddr.js": "2.3.0",
"jquery": "3.7.1",
"jquery-deserialize": "2.0.0",
"jquery-form": "4.3.0",
@@ -86,71 +85,75 @@
"jquery-ui": "1.14.1",
"jsesc": "3.1.0",
"json2csv": "5.0.7",
"jsonwebtoken": "9.0.2",
"jsonwebtoken": "9.0.3",
"lodash": "4.17.21",
"logrotate-stream": "0.2.9",
"lru-cache": "10.4.3",
"lru-cache": "11.2.4",
"mime": "3.0.0",
"mkdirp": "3.0.1",
"mongodb": "6.15.0",
"morgan": "1.10.0",
"mongodb": "7.0.0",
"morgan": "1.10.1",
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"nconf": "0.12.1",
"nodebb-plugin-2factor": "7.5.9",
"nodebb-plugin-composer-default": "10.2.49",
"nodebb-plugin-dbsearch": "6.2.15",
"nodebb-plugin-emoji": "6.0.2",
"multer": "2.0.2",
"nconf": "0.13.0",
"nodebb-plugin-2factor": "7.6.0",
"nodebb-plugin-composer-default": "10.3.1",
"nodebb-plugin-dbsearch": "6.3.4",
"nodebb-plugin-emoji": "6.0.5",
"nodebb-plugin-emoji-android": "4.1.1",
"nodebb-plugin-markdown": "13.1.1",
"nodebb-plugin-mentions": "4.7.3",
"nodebb-plugin-spam-be-gone": "2.3.1",
"nodebb-plugin-web-push": "0.7.3",
"nodebb-rewards-essentials": "1.0.1",
"nodebb-theme-harmony": "2.1.0",
"nodebb-theme-lavender": "7.1.18",
"nodebb-theme-peace": "2.2.39",
"nodebb-theme-persona": "14.0.18",
"nodebb-widget-essentials": "7.0.36",
"nodemailer": "6.10.0",
"nodebb-plugin-link-preview": "2.1.5",
"nodebb-plugin-markdown": "13.2.2",
"nodebb-plugin-mentions": "4.8.3",
"nodebb-plugin-spam-be-gone": "2.3.2",
"nodebb-plugin-web-push": "0.7.6",
"nodebb-rewards-essentials": "1.0.2",
"nodebb-theme-harmony": "2.1.26",
"nodebb-theme-lavender": "7.1.19",
"nodebb-theme-peace": "2.2.49",
"nodebb-theme-persona": "14.1.18",
"nodebb-widget-essentials": "7.0.41",
"nodemailer": "7.0.11",
"nprogress": "0.2.0",
"passport": "0.7.0",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "8.14.1",
"pg-cursor": "2.13.1",
"postcss": "8.5.3",
"pg": "8.16.3",
"pg-cursor": "2.15.3",
"postcss": "8.5.6",
"postcss-clean": "1.2.0",
"pretty": "^2.0.0",
"progress-webpack-plugin": "1.0.16",
"prompt": "1.3.0",
"ioredis": "5.6.0",
"rimraf": "5.0.10",
"redis": "5.10.0",
"rimraf": "6.1.2",
"rss": "1.2.2",
"rtlcss": "4.3.0",
"sanitize-html": "2.15.0",
"sass": "1.86.3",
"satori": "0.12.2",
"semver": "7.7.1",
"serve-favicon": "2.5.0",
"sharp": "0.32.6",
"sitemap": "8.0.0",
"sanitize-html": "2.17.0",
"sass": "1.96.0",
"satori": "0.18.3",
"sbd": "^1.0.19",
"semver": "7.7.3",
"serve-favicon": "2.5.1",
"sharp": "0.34.5",
"sitemap": "9.0.0",
"socket.io": "4.8.1",
"socket.io-client": "4.8.1",
"@socket.io/redis-adapter": "8.3.0",
"sortablejs": "1.15.6",
"spdx-license-list": "6.10.0",
"terser-webpack-plugin": "5.3.14",
"terser-webpack-plugin": "5.3.16",
"textcomplete": "0.18.2",
"textcomplete.contenteditable": "0.1.1",
"timeago": "1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "0.5.1",
"tough-cookie": "5.1.2",
"validator": "13.15.0",
"webpack": "5.98.0",
"tough-cookie": "6.0.0",
"undici": "^7.10.0",
"validator": "13.15.23",
"webpack": "5.103.0",
"webpack-merge": "6.0.1",
"winston": "3.17.0",
"workerpool": "9.2.0",
"winston": "3.19.0",
"workerpool": "10.0.1",
"xml": "1.0.1",
"xregexp": "5.1.2",
"yargs": "17.7.2",
@@ -158,25 +161,26 @@
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.1.0",
"@commitlint/cli": "19.8.0",
"@commitlint/config-angular": "19.8.0",
"@commitlint/cli": "20.2.0",
"@commitlint/config-angular": "20.2.0",
"coveralls": "3.1.1",
"@eslint/js": "9.23.0",
"eslint-config-nodebb": "1.0.7",
"eslint-plugin-import": "2.31.0",
"@eslint/js": "9.39.2",
"@stylistic/eslint-plugin": "5.6.1",
"eslint-config-nodebb": "1.1.11",
"eslint-plugin-import": "2.32.0",
"grunt": "1.6.1",
"grunt-contrib-watch": "1.1.0",
"husky": "8.0.3",
"jsdom": "26.0.0",
"lint-staged": "15.5.0",
"mocha": "11.1.0",
"husky": "9.1.7",
"jsdom": "27.3.0",
"lint-staged": "16.2.7",
"mocha": "11.7.5",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
"nyc": "17.1.0",
"smtp-server": "3.13.6"
"smtp-server": "3.17.1"
},
"optionalDependencies": {
"sass-embedded": "1.86.3"
"sass-embedded": "1.96.0"
},
"resolutions": {
"*/jquery": "3.7.1"
@@ -185,7 +189,7 @@
"url": "https://github.com/NodeBB/NodeBB/issues"
},
"engines": {
"node": ">=18"
"node": ">=20"
},
"maintainers": [
{
@@ -199,4 +203,4 @@
"url": "https://github.com/barisusakli"
}
]
}
}

View File

@@ -99,9 +99,14 @@ Loader.start = function () {
function forkWorker(index, isPrimary) {
const ports = getPorts();
const args = [];
const execArgv = [];
if (nconf.get('max-memory')) {
args.push(`--max-old-space-size=${nconf.get('max-memory')}`);
execArgv.push(`--max-old-space-size=${nconf.get('max-memory')}`);
}
if (nconf.get('expose-gc')) {
execArgv.push('--expose-gc');
}
if (!ports[index]) {
return console.log(`[cluster] invalid port for worker : ${index} ports: ${ports.length}`);
}
@@ -109,10 +114,10 @@ function forkWorker(index, isPrimary) {
process.env.isPrimary = isPrimary;
process.env.isCluster = nconf.get('isCluster') || ports.length > 1;
process.env.port = ports[index];
const worker = fork(appPath, args, {
silent: silent,
env: process.env,
execArgv: execArgv,
});
worker.index = index;

View File

@@ -75,6 +75,7 @@
"graphs.page-views-registered": "زيارات الصفحات المسجلة",
"graphs.page-views-guest": "زيارات الصفحات للزوار",
"graphs.page-views-bot": "زيارات الصفحات الآلية",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "زوار فريدين",
"graphs.registered-users": "مستخدمين مسجلين",
"graphs.guest-users": "المستخدمين الزوار",

View File

@@ -1,18 +1,22 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"rename": "Rename",
"jump-to": "Jump to...",
"settings": "اعدادات القسم",
"edit-category": "Edit Category",
"privileges": "الصلاحيات",
"back-to-categories": "Back to categories",
"id": "Category ID",
"name": "Category Name",
"handle": "Category Handle",
"handle.help": "Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description": "Category Description",
"federatedDescription": "Federated Description",
"federatedDescription.help": "This text will be appended to the category description when queried by other websites/apps.",
"federatedDescription.default": "This is a forum category containing topical discussion. You can start new discussions by mentioning this category.",
"topic-template": "Topic Template",
"topic-template.help": "Define a template for new topics created in this category.",
"bg-color": "Background Colour",
"text-color": "Text Colour",
"bg-image-size": "Background Image Size",
@@ -103,6 +107,11 @@
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",
"alert.create": "Create a Category",
"alert.add": "Add a Category",
"alert.add-help": "Remote categories can be added to the categories listing by specifying their handle.<br /><br /><strong>Note</strong> — The remote category may not reflect all topics published unless at least one local user tracks/watches it.",
"alert.rename": "Rename a Remote Category",
"alert.rename-help": "Please enter a new name for this category. Leave blank to restore original name.",
"alert.confirm-remove": "Do you really want to remove this category? You can add it back at any time.",
"alert.confirm-purge": "<p class=\"lead\">Do you really want to purge this category \"%1\"?</p><h5><strong class=\"text-danger\">Warning!</strong> All topics and posts in this category will be purged!</h5> <p class=\"help-block\">Purging a category will remove all topics and posts, and delete the category from the database. If you want to remove a category <em>temporarily</em>, you'll want to \"disable\" the category instead.</p>",
"alert.purge-success": "Category purged!",
"alert.copy-success": "Settings Copied!",

View File

@@ -18,6 +18,28 @@
"probe-timeout": "Lookup Timeout (milliseconds)",
"probe-timeout-help": "(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"rules": "Categorization",
"rules-intro": "Content discovered via ActivityPub can be automatically categorized based on certain rules (e.g. hashtag)",
"rules.modal.title": "How it works",
"rules.modal.instructions": "Any incoming content is checked against these categorization rules, and matching content is automatically moved into the category of choice.<br /><br /><strong>N.B.</strong> Content that is already categorized (i.e. in a remote category) will not pass through these rules.",
"rules.add": "Add New Rule",
"rules.help-hashtag": "Topics containing this case-insensitive hashtag will match. Do not enter the <code>#</code> symbol",
"rules.help-user": "Topics created by the entered user will match. Enter a handle or full ID (e.g. <code>bob@example.org</code> or <code>https://example.org/users/bob</code>.",
"rules.type": "Type",
"rules.value": "Value",
"rules.cid": "Category",
"relays": "Relays",
"relays.intro": "A relay improves discovery of content to and from your NodeBB. Subscribing to a relay means content received by the relay is forwarded here, and content posted here is syndicated outward by the relay.",
"relays.warning": "Note: Relays can send larges amounts of traffic in, and may increase storage and processing costs.",
"relays.litepub": "NodeBB follows the LitePub-style relay standard. The URL you enter here should end with <code>/actor</code>.",
"relays.add": "Add New Relay",
"relays.relay": "Relay",
"relays.state": "State",
"relays.state-0": "Pending",
"relays.state-1": "Receiving only",
"relays.state-2": "Active",
"server-filtering": "Filtering",
"count": "This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help": "Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",

View File

@@ -22,6 +22,7 @@
"reject-image-height": "Maximum Image Height (in pixels)",
"reject-image-height-help": "Images taller than this value will be rejected.",
"allow-topic-thumbnails": "السماح للاعضاء برفع الصور المصغرة للموضوع",
"show-post-uploads-as-thumbnails": "Show post uploads as thumbnails",
"topic-thumb-size": "حجم الصورة المصغرة للموضوع",
"allowed-file-extensions": "إمتدادات الملفات المسموح بها",
"allowed-file-extensions-help": "أدخل قائمة بامتدادات الملفات مفصولة بفواصل (مثال: <code>pdf,xls,doc</code>). القائمة الفارغة تعني أن كل الامتدادات مسموح بها.",

View File

@@ -64,6 +64,7 @@
"show-email": "عرض البريد الإلكتروني",
"show-fullname": "عرض الاسم الكامل",
"restrict-chat": "السماح فقط برسائل الدردشة من المستخدمين الذين أتبعهم",
"disable-incoming-chats": "Disable incoming chat messages",
"outgoing-new-tab": "Open outgoing links in new tab",
"topic-search": "Enable In-Topic Searching",
"update-url-with-post-index": "Update url with post index while browsing topics",

View File

@@ -7,6 +7,7 @@
"new-topic-button": "موضوع جديد",
"guest-login-post": "سجل الدخول للمشاركة",
"no-topics": "<strong>لا توجد مواضيع في هذه القسم</strong>لم لا تحاول إنشاء موضوع؟<br />",
"no-followers": "Nobody on this website is tracking or watching this category. Track or watch this category in order to begin receiving updates.",
"browsing": "تصفح",
"no-replies": "لم يرد أحد",
"no-new-posts": "لا توجد مشاركات جديدة.",

View File

@@ -3,6 +3,7 @@
"invalid-json": "Invalid JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"reserved-ip-address": "Network requests to reserved IP ranges are not allowed.",
"not-logged-in": "لم تقم بتسجيل الدخول",
"account-locked": "تم حظر حسابك مؤقتًا.",
"search-requires-login": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل",
@@ -67,7 +68,8 @@
"no-chat-room": "Chat room does not exist",
"no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية",
"category-disabled": "قائمة معطلة",
"topic-locked": "الموضوع مقفول",
"post-deleted": "Post deleted",
"topic-locked": "Topic locked",
"post-edit-duration-expired": "يسمح لك بتعديل مشاركتك حتى %1 ثانية من نشرها",
"post-edit-duration-expired-minutes": "يسمح لك بتعديل مشاركتك حتى %1 دقيقة من نشرها",
"post-edit-duration-expired-minutes-seconds": "يسمح لك بتعديل مشاركتك حتى %1 دقيقة و %2 ثوان من نشرها",
@@ -153,6 +155,8 @@
"about-me-too-long": "نأسف، ( عني ) لا يمكن أن يكون أكثر من %1 حرف.",
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
"chat-allow-list-user-already-added": "This user is already in your allow list",
"chat-deny-list-user-already-added": "This user is already in your deny list",
"chat-user-blocked": "You have been blocked by this user.",
"chat-disabled": "نظام المحادثة معطل.",
"too-many-messages": "لقد أرسلت الكثير من الرسائل، الرجاء اﻹنتظار قليلاً",
@@ -233,6 +237,7 @@
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id": "Invalid plugin ID",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"cannot-toggle-system-plugin": "You cannot toggle the state of a system plugin",
"plugin-installation-via-acp-disabled": "Plugin installation via ACP is disabled",
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",

View File

@@ -82,6 +82,7 @@
"downvoted": "مصوت بالسالب",
"views": "المشاهدات",
"posters": "Posters",
"watching": "Watching",
"reputation": "السمعة",
"lastpost": "Last post",
"firstpost": "First post",

View File

@@ -48,6 +48,7 @@
"chat.add-user": "Add User",
"chat.notification-settings": "Notification Settings",
"chat.default-notification-setting": "Default Notification Setting",
"chat.join-leave-messages": "Join/Leave Messages",
"chat.notification-setting-room-default": "Room Default",
"chat.notification-setting-none": "No notifications",
"chat.notification-setting-at-mention-only": "@mention only",

View File

@@ -75,7 +75,6 @@
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
"email-confirm-error-message-already-validated": "Your email address was already validated.",
"email-confirm-sent": "تم إرسال بريد التفعيل.",
"none": "None",
"notification-only": "التنبيهات فقط",

View File

@@ -8,5 +8,7 @@
"log-in-with-facebook": "تسجيل الدخول باستخدام فيسبوك",
"continue-with-facebook": "التسجيل باستخدام فيسبوك",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
"sign-up-with-linkedin": "Sign up with LinkedIn",
"sign-in-with-wordpress": "Sign in with WordPress",
"sign-up-with-wordpress": "Sign up with WordPress"
}

View File

@@ -105,6 +105,10 @@
"show-email": "أظهر بريدي الإلكتروني",
"show-fullname": "أظهر اسمي الكامل",
"restrict-chats": "لاتسمح بورود محادثات إلا من طرف المستخدمين الذين أتابعهم.",
"disable-incoming-chats": "Disable incoming chat messages <a data-bs-toggle=\"tooltip\" href=\"#\" title=\"Admins and moderators can still send you messages\"><i class=\"fa-solid fa-circle-info\"></i></a>",
"chat-allow-list": "Allow chat messages from the following users",
"chat-deny-list": "Deny chat messages from the following users",
"chat-list-add-user": "Add user",
"digest-label": "اشترك في النشرة الدورية",
"digest-description": "استلام اشعارات بآخر مستجدات هذا القسم (التنبيهات والمواضيع الجديدة) عبر البريد الإلكتروني وفقا لجدول زمني محدد.",
"digest-off": "غير مفعل",

View File

@@ -14,5 +14,8 @@
"onboard.title": "Your window to the fediverse...",
"onboard.what": "This is your personalized category made up of only content found outside of this forum. Whether something shows up in this page depends on whether you follow them, or whether that post was shared by someone you follow.",
"onboard.why": "There's a lot that goes on outside of this forum, and not all of it is relevant to your interests. That's why following people is the best way to signal that you want to see more from someone.",
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!"
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!",
"show-categories": "Show categories",
"hide-categories": "Hide categories"
}

View File

@@ -75,6 +75,7 @@
"graphs.page-views-registered": "Səhifə Baxışları qeydə alınıb",
"graphs.page-views-guest": "Səhifə baxışı qonaq",
"graphs.page-views-bot": "Səhifə baxış botu",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "Unikal ziyarətçilər",
"graphs.registered-users": "Qeydiyyatdan keçmiş istifadəçilər",
"graphs.guest-users": "Qonaqlar",

View File

@@ -1,18 +1,22 @@
{
"manage-categories": "Kateqoriyaları idarə et",
"add-category": "Kateqoriya əlavə et",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"rename": "Rename",
"jump-to": "Keç...",
"settings": "Kateqoriya parametrləri",
"edit-category": "Kateqoriyanı redaktə et",
"privileges": "İmtiyazlar",
"back-to-categories": "Kateqoriyalara qayıt",
"id": "Category ID",
"name": "Kateqoriya adı",
"handle": "Kateqoriya dəstəyi",
"handle.help": "Kateqoriya dəstəyiniz istifadəçi adına bənzər digər şəbəkələrdə bu kateqoriyanın təmsili kimi istifadə olunur. Kateqoriya sapı mövcud istifadəçi adı və ya istifadəçi qrupuna uyğun olmamalıdır.",
"description": "Kateqoriya təsviri",
"federatedDescription": "Federasiya təsviri",
"federatedDescription.help": "Bu mətn digər vebsaytlar/tətbiqlər tərəfindən sorğulandıqda kateqoriya təsvirinə əlavə olunacaq.",
"federatedDescription.default": "Bu, aktual müzakirələrdən ibarət forum kateqoriyasıdır. Bu kateqoriyanı qeyd etməklə yeni müzakirələrə başlaya bilərsiniz.",
"topic-template": "Topic Template",
"topic-template.help": "Define a template for new topics created in this category.",
"bg-color": "Arxa fon rəngi",
"text-color": "Mətnin rəngi",
"bg-image-size": "Fon şəklinin ölçüsü",
@@ -103,6 +107,11 @@
"alert.create-success": "Kateqoriya uğurla yaradıldı!",
"alert.none-active": "Aktiv kateqoriyalarınız yoxdur.",
"alert.create": "Kateqoriya yarat",
"alert.add": "Add a Category",
"alert.add-help": "Remote categories can be added to the categories listing by specifying their handle.<br /><br /><strong>Note</strong> — The remote category may not reflect all topics published unless at least one local user tracks/watches it.",
"alert.rename": "Rename a Remote Category",
"alert.rename-help": "Please enter a new name for this category. Leave blank to restore original name.",
"alert.confirm-remove": "Do you really want to remove this category? You can add it back at any time.",
"alert.confirm-purge": "<p class=\"lead\">Bu \"%1\" kateqoriyasını həqiqətən təmizləmək istəyirsiniz?</p><h5><strong class=\"text-danger\"> Xəbərdarlıq!</strong> Bu kateqoriyadakı bütün mövzular və yazılar silinəcək! </h5><p class=\"help-block\">Kateqoriyanın təmizlənməsi bütün mövzuları və yazıları siləcək və kateqoriyanı verilənlər bazasından siləcək. Kateqoriyanı <em>müvəqqəti</em> olaraq silmək istəyirsinizsə, bunun əvəzinə kateqoriyanı \"deaktiv etmək\" istəyəcəksiniz.</p>",
"alert.purge-success": "Kateqoriya təmizləndi!",
"alert.copy-success": "Parametrlər kopyalandı!",

View File

@@ -18,6 +18,28 @@
"probe-timeout": "Axtarış vaxtı (millisaniyə)",
"probe-timeout-help": "(Defolt: 2000) Əgər axtarış sorğusu müəyyən edilmiş vaxt çərçivəsində cavab almazsa, onun əvəzinə istifadəçi birbaşa linkə göndəriləcək. Saytlar ləng cavab verirsə və əlavə vaxt vermək istəyirsinizsə, bu rəqəmi daha yüksək tənzimləyin.",
"rules": "Categorization",
"rules-intro": "Content discovered via ActivityPub can be automatically categorized based on certain rules (e.g. hashtag)",
"rules.modal.title": "How it works",
"rules.modal.instructions": "Any incoming content is checked against these categorization rules, and matching content is automatically moved into the category of choice.<br /><br /><strong>N.B.</strong> Content that is already categorized (i.e. in a remote category) will not pass through these rules.",
"rules.add": "Add New Rule",
"rules.help-hashtag": "Topics containing this case-insensitive hashtag will match. Do not enter the <code>#</code> symbol",
"rules.help-user": "Topics created by the entered user will match. Enter a handle or full ID (e.g. <code>bob@example.org</code> or <code>https://example.org/users/bob</code>.",
"rules.type": "Type",
"rules.value": "Value",
"rules.cid": "Category",
"relays": "Relays",
"relays.intro": "A relay improves discovery of content to and from your NodeBB. Subscribing to a relay means content received by the relay is forwarded here, and content posted here is syndicated outward by the relay.",
"relays.warning": "Note: Relays can send larges amounts of traffic in, and may increase storage and processing costs.",
"relays.litepub": "NodeBB follows the LitePub-style relay standard. The URL you enter here should end with <code>/actor</code>.",
"relays.add": "Add New Relay",
"relays.relay": "Relay",
"relays.state": "State",
"relays.state-0": "Pending",
"relays.state-1": "Receiving only",
"relays.state-2": "Active",
"server-filtering": "Filtrlə",
"count": "Bu NodeBB hazırda <strong>%1</strong> server(lər)dən xəbərdardır",
"server.filter-help": "NodeBB ilə federasiyaya mane olmaq istədiyiniz serverləri göstərin. Alternativ olaraq, bunun əvəzinə xüsusi serverlərlə federasiyaya seçimlə <em>icazə verə bilərsiniz</em>. Hər iki variant bir-birini istisna etsə də, dəstəklənir.",

View File

@@ -22,6 +22,7 @@
"reject-image-height": "Maksimum şəklin hündürlüyü (piksellə)",
"reject-image-height-help": "Bu dəyərdən yüksək olan şəkillər rədd ediləcək.",
"allow-topic-thumbnails": "İstifadəçilərə mövzu miniatürlərini yükləməyə icazə ver",
"show-post-uploads-as-thumbnails": "Show post uploads as thumbnails",
"topic-thumb-size": "Mövzu thumb ölçüsü",
"allowed-file-extensions": "İcazə verilən fayl uzantıları",
"allowed-file-extensions-help": "Fayl uzantılarının vergüllə ayrılmış siyahısını buraya daxil edin (məsələn, <code>pdf, xls, doc</code>). Boş siyahı bütün genişləndirmələrə icazə verildiyini bildirir.",

View File

@@ -64,6 +64,7 @@
"show-email": "E-poçtu göstər",
"show-fullname": "Tam adı göstər",
"restrict-chat": "Yalnız izlədiyim istifadəçilərdən gələn söhbət mesajlarına icazə ver",
"disable-incoming-chats": "Disable incoming chat messages",
"outgoing-new-tab": "Gedən bağlantıları yeni tabda açın",
"topic-search": "Mövzudaxili axtarışı aktivləşdir",
"update-url-with-post-index": "Mövzulara baxarkən url-i post indeksi ilə yenilə",

View File

@@ -7,6 +7,7 @@
"new-topic-button": "Yeni mövzu",
"guest-login-post": "Yazmaq üçün daxil ol",
"no-topics": "Bu kateqoriyada heç bir mövzu yoxdur. Niyə birini dərc etməyə cəhd etmirsiz?",
"no-followers": "Nobody on this website is tracking or watching this category. Track or watch this category in order to begin receiving updates.",
"browsing": "gözdən keçirmə",
"no-replies": "Heç kim cavab yazmayıb",
"no-new-posts": "Yeni yazı yoxdur.",

View File

@@ -3,6 +3,7 @@
"invalid-json": "Yanlış JSON",
"wrong-parameter-type": "`%1` mülkiyyəti üçün %3 növünün dəyəri gözlənilən idi, lakin bunun əvəzinə %2 alındı",
"required-parameters-missing": "Bu API çağırışında tələb olunan parametrlər yoxdur: %1",
"reserved-ip-address": "Network requests to reserved IP ranges are not allowed.",
"not-logged-in": "Siz hesaba daxil olmamısınız.",
"account-locked": "Hesabınız müvəqqəti olaraq bloklanıb",
"search-requires-login": "Axtarış üçün hesab tələb olunur - zəhmət olmasa daxil olun və ya qeydiyyatdan keçin.",
@@ -67,7 +68,8 @@
"no-chat-room": "Söhbət otağı mövcud deyil",
"no-privileges": "Bu əməliyyat üçün kifayət qədər imtiyazınız yoxdur.",
"category-disabled": "Kateqoriya deaktiv edilib",
"topic-locked": "Mövzu kilidlidir",
"post-deleted": "Yazı silindi",
"topic-locked": "Mövzu kilidləndi",
"post-edit-duration-expired": "Sizə yazıları dərc etdikdən sonra yalnız %1 saniyə ərzində redaktə etmək icazəsi verilir",
"post-edit-duration-expired-minutes": "Paylaşdıqdan sonra yalnız %1 dəqiqə ərzində yazıları redaktə etmək icazəniz var",
"post-edit-duration-expired-minutes-seconds": "Göndərdikdən sonra yalnız %1 dəqiqə %2 saniyə ərzində yazıları redaktə etməyə icazəniz var",
@@ -153,6 +155,8 @@
"about-me-too-long": "Üzr istəyirik, mənim haqqımda %1 simvoldan uzun ola bilməz.",
"cant-chat-with-yourself": "Özünüzlə söhbət edə bilməzsiniz!",
"chat-restricted": "Bu istifadəçi söhbət mesajlarını məhdudlaşdırıb. Siz onlarla söhbət etməzdən əvvəl onlar sizi izləməlidirlər",
"chat-allow-list-user-already-added": "This user is already in your allow list",
"chat-deny-list-user-already-added": "This user is already in your deny list",
"chat-user-blocked": "Siz bu istifadəçi tərəfindən bloklanmısınız.",
"chat-disabled": "Söhbət sistemi deaktiv edilib",
"too-many-messages": "Həddən artıq çox mesaj göndərmisiniz, bir az gözləyin,",
@@ -233,6 +237,7 @@
"socket-reconnect-failed": "Hazırda serverə daxil olmaq mümkün deyil. Yenidən cəhd etmək üçün bura klikləyin və ya daha sonra yenidən cəhd edin",
"invalid-plugin-id": "Yanlış plagin identifikatoru",
"plugin-not-whitelisted": "Plugini quraşdırmaq mümkün deyil &ndash; yalnız NodeBB Paket Meneceri tərəfindən ağ siyahıya alınmış plaginlər ACP vasitəsilə quraşdırıla bilər",
"cannot-toggle-system-plugin": "You cannot toggle the state of a system plugin",
"plugin-installation-via-acp-disabled": "ACP vasitəsilə plagin quraşdırılması deaktiv edilib",
"plugins-set-in-configuration": "Sizə plagin vəziyyətini dəyişdirmək icazəsi verilmir, çünki onlar icra zamanı təyin olunur (config.json, ətraf mühit dəyişənləri və ya terminal arqumentləri), lütfən, bunun əvəzinə konfiqurasiyanı dəyişdirin.",
"theme-not-set-in-configuration": "Konfiqurasiyada aktiv plaginləri təyin edərkən, mövzuların dəyişdirilməsi ACP-də yeniləmədən əvvəl yeni mövzunun aktiv plaginlərin siyahısına əlavə edilməsini tələb edir.",

View File

@@ -82,6 +82,7 @@
"downvoted": "Mənfi səs verildi",
"views": "Baxış",
"posters": "Yazarlar",
"watching": "İzlənilir",
"reputation": "Reputasiya",
"lastpost": "Son yazı",
"firstpost": "İlk yazı",

View File

@@ -48,6 +48,7 @@
"chat.add-user": "İstifadəçi əlavə et",
"chat.notification-settings": "Bildiriş parametrləri",
"chat.default-notification-setting": "Defolt bildiriş parametri",
"chat.join-leave-messages": "Join/Leave Messages",
"chat.notification-setting-room-default": "Defolt otaq",
"chat.notification-setting-none": "Bildiriş yoxdur",
"chat.notification-setting-at-mention-only": "yalnız @qeyd",

View File

@@ -75,7 +75,6 @@
"email-confirmed": "E-poçt təsdiqləndi",
"email-confirmed-message": "E-poçtunuzu təsdiq etdiyiniz üçün təşəkkür edirik. Artıq hesabınız tam aktivləşdirilib.",
"email-confirm-error-message": "E-poçt ünvanınızı təsdiqkləyərkən problem baş verdi. Ola bilsin ki, kod etibarsız olub və ya vaxtı keçib.",
"email-confirm-error-message-already-validated": "E-poçt ünvanınız artıq təsdiqlənib.",
"email-confirm-sent": "Təsdiq e-poçtu göndərildi.",
"none": "Heç biri",
"notification-only": "Yalnız bildiriş",

View File

@@ -8,5 +8,7 @@
"log-in-with-facebook": "Facebook ilə daxil olun",
"continue-with-facebook": "Facebook ilə davam edin",
"sign-in-with-linkedin": "LinkedIn ilə daxil olun",
"sign-up-with-linkedin": "LinkedIn ilə qeydiyyatdan keç"
"sign-up-with-linkedin": "LinkedIn ilə qeydiyyatdan keç",
"sign-in-with-wordpress": "Sign in with WordPress",
"sign-up-with-wordpress": "Sign up with WordPress"
}

View File

@@ -105,6 +105,10 @@
"show-email": "E-poçtumu göstər",
"show-fullname": "Tam adımı göstərin",
"restrict-chats": "Yalnız izlədiyim istifadəçilərdən gələn söhbət mesajlarına icazə verin",
"disable-incoming-chats": "Disable incoming chat messages <a data-bs-toggle=\"tooltip\" href=\"#\" title=\"Admins and moderators can still send you messages\"><i class=\"fa-solid fa-circle-info\"></i></a>",
"chat-allow-list": "Allow chat messages from the following users",
"chat-deny-list": "Deny chat messages from the following users",
"chat-list-add-user": "Add user",
"digest-label": "Digest-ə abunə ol",
"digest-description": "Müəyyən edilmiş cədvələ uyğun olaraq bu forum üçün e-poçt yeniləmələrinə (yeni bildirişlər və mövzular) abunə olun",
"digest-off": "Söndür",

View File

@@ -14,5 +14,8 @@
"onboard.title": "Sizin fediverse pəncərəniz...",
"onboard.what": "Bu, yalnız bu forumdan kənarda tapılan məzmundan ibarət sizin fərdiləşdirilmiş kateqoriyanızdır. Bu səhifədə nəyinsə görünüb-göstərilməməsi onları izlədiyinizdən və ya həmin postun izlədiyiniz biri tərəfindən paylaşılıb-paylaşılmamasından asılıdır.",
"onboard.why": "Bu forumdan kənarda gedən çox şey var və bunların heç də hamısı maraqlarınıza uyğun deyil. Buna görə də insanları izləmək, kimdənsə daha çox görmək istədiyinizi bildirməyin ən yaxşı yoludur.",
"onboard.how": "Bu arada, bu forumun daha nələr haqqında bildiyini görmək üçün yuxarıdakı qısayol düymələrinə klikləyə və bəzi yeni məzmunlar kəşf etməyə başlaya bilərsiniz!"
"onboard.how": "Bu arada, bu forumun daha nələr haqqında bildiyini görmək üçün yuxarıdakı qısayol düymələrinə klikləyə və bəzi yeni məzmunlar kəşf etməyə başlaya bilərsiniz!",
"show-categories": "Show categories",
"hide-categories": "Hide categories"
}

View File

@@ -75,6 +75,7 @@
"graphs.page-views-registered": "Преглеждания на страниците от регистрирани потребители",
"graphs.page-views-guest": "Преглеждания на страниците от гости",
"graphs.page-views-bot": "Преглеждания на страниците от ботове",
"graphs.page-views-ap": "Преглеждания на страницата от ActivityPub",
"graphs.unique-visitors": "Уникални посетители",
"graphs.registered-users": "Регистрирани потребители",
"graphs.guest-users": "Гости",

View File

@@ -1,18 +1,22 @@
{
"manage-categories": "Управление на категориите",
"add-category": "Добавяне на категория",
"add-local-category": "Добавяне на локална категория",
"add-remote-category": "Добавяне на отдалечена категория",
"remove": "Премахване",
"rename": "Преименуване",
"jump-to": "Прехвърляне към…",
"settings": "Настройки на категорията",
"edit-category": "Редактиране на категорията",
"privileges": "Правомощия",
"back-to-categories": "Назад към категориите",
"id": "Идентификатор на категорията",
"name": "Име на категорията",
"handle": "Идентификатор на категорията",
"handle.help": "Идентификаторът на категорията се ползва за представяне на тази категория в други мрежи, подобно на потребителското име. Този идентификатор не трябва да съвпада със съществуващо потребителско име или потребителска група.",
"description": "Описание на категорията",
"federatedDescription": "Федерирано описание",
"federatedDescription.help": "Този текст ще бъде добавен към описанието на категорията, когато други уеб сайтове и приложения изискват информация за нея.",
"federatedDescription.default": "Това е категория във форума, съдържаща тематични дискусии. Може да започнете нова дискусия, като споменете този форум.",
"topic-template": "Шаблон за темите",
"topic-template.help": "Създайте шаблон за новите теми в тази категория.",
"bg-color": "Цвят на фона",
"text-color": "Цвят на текста",
"bg-image-size": "Размер на фоновото изображение",
@@ -103,6 +107,11 @@
"alert.create-success": "Категорията е създадена успешно!",
"alert.none-active": "Нямате активни категории.",
"alert.create": "Създаване на категория",
"alert.add": "Добавяне на категория",
"alert.add-help": "Отдалечена категория може да бъде добавена в списъка с категории, като посочите нейния идентификатор.<br /><br /><strong>Забележка</strong> отдалечената категория може да не отразява всички публикувани теми, освен ако поне един локален потребител не я следи/наблюдава.",
"alert.rename": "Преименуване на отдалечена категория",
"alert.rename-help": "Въведете новото име за тази категория. Оставете празно, за да върнете оригиналното име.",
"alert.confirm-remove": "Наистина ли искате да премахнете тази категория? Можете да я добавите отново по всяко време.",
"alert.confirm-purge": "<p class=\"lead\">Наистина ли искате да изтриете категорията „%1“?</p><h5><strong class=\"text-danger\">Внимание!</strong> Всички теми и публикации в тази категория ще бъдат изтрити!</h5> <p class=\"help-block\">Изтриването на категорията ще премахне всички теми и публикации, и ще изтрие категорията от базата данни. Ако искате да премахнете категорията <em>временно</em>, можете просто да я „изключите“.</p>",
"alert.purge-success": "Категорията е изтрита!",
"alert.copy-success": "Настройките са копирани!",

View File

@@ -18,6 +18,28 @@
"probe-timeout": "Време за изчакване на проверката (милисекунди)",
"probe-timeout-help": "(По подразбиране: 2000) Ако проверката не получи отговор в рамките на зададеното време, потребителят ще бъде изпратен директно на адреса на връзката. Задайте по-голямо число, ако уеб сайтовете отговарят по-бавно и искате да им дадете повече време.",
"rules": "Категоризиране",
"rules-intro": "Съдържанието открито чрез ActivityPub може да бъде категоризирано автоматично следвайки определени правила (например дума отбелязана с диез)",
"rules.modal.title": "Как работи това",
"rules.modal.instructions": "Цялото входящо съдържание се проверява спрямо правилата и ако има съвпадения те се преместват в избраната категория.<br /><br /><strong>Забележка</strong> Съдържанието, което вече е категоризирано (например в отдалечена категория) няма да преминава тези проверки.",
"rules.add": "Добавяне на ново правило",
"rules.help-hashtag": "Ще се търсят съвпадения с теми съдържащи тази дума с диез (не се прави разлика между главни и малки букви). Не въвеждайте знака <code>#</code>",
"rules.help-user": "Ще се търсят теми създадени от този потребител. Въведете псевдоним или пълен идентификатор (например <code>bob@example.org</code> или <code>https://example.org/users/bob</code>.",
"rules.type": "Тип",
"rules.value": "Стойност",
"rules.cid": "Категория",
"relays": "Препредавател",
"relays.intro": "Препредавателят подобрява отриването на съдържание за и от Вашият NodeBB. Абонирането за препредавател означава, че съдържанието получено от него ще бъде препредавано тук, а съдържанието публикувано тук, ще бъде излъчвано от него за останалите.",
"relays.warning": "Забележка: препредавателите могат да доставят огромно количество трафик, което може да увеличи разходите Ви за съхранение и обработка.",
"relays.litepub": "NodeBB използва стандарт за препредаване в стила на LitePub. Адресът, който въведете тук, трябва да завършва с <code>/actor</code>.",
"relays.add": "Добавяне на нов препредавател",
"relays.relay": "Препредавател",
"relays.state": "Състояние",
"relays.state-0": "В изчакване",
"relays.state-1": "Само приемане",
"relays.state-2": "Активен",
"server-filtering": "Филтриране",
"count": "Този NodeBB в момента знае за наличието на <strong>%1</strong> сървър(а)",
"server.filter-help": "Посочете сървърите, с които не искате Вашият NodeBB да осъществява връзка. Или можете вместо това да посочите конкретни сървъри, с които <em>разрешавате</em> връзката. И двете възможности са налични, но може да изберете само една от тях.",

View File

@@ -22,6 +22,7 @@
"reject-image-height": "Максимална височина на изображенията (в пиксели)",
"reject-image-height-help": "Изображенията, чиято височина е по-голяма от тази стойност, ще бъдат отхвърляни.",
"allow-topic-thumbnails": "Позволяване на потребителите да качват миниатюрни изображения за темите",
"show-post-uploads-as-thumbnails": "Показване на качените файлове в публикациите като миниатюрни изображения",
"topic-thumb-size": "Размер на миниатюрите за темите",
"allowed-file-extensions": "Разрешени файлови разширения",
"allowed-file-extensions-help": "Въведете файловите разширения, разделени със запетаи (пример: <code>pdf,xls,doc</code>). Ако списъкът е празен, всички файлови разширения ще бъдат разрешени.",

View File

@@ -64,6 +64,7 @@
"show-email": "Показване на е-пощата",
"show-fullname": "Показване на пълното име",
"restrict-chat": "Разрешаване на съобщенията само от потребители, които следвам",
"disable-incoming-chats": "Забраняване на входящите съобщения",
"outgoing-new-tab": "Отваряне на външните връзки в нов подпрозорец",
"topic-search": "Включване на търсенето в темите",
"update-url-with-post-index": "Обновяване на адресната лента с номера на публикацията по време на разглеждане на темите",

View File

@@ -7,6 +7,7 @@
"new-topic-button": "Нова тема",
"guest-login-post": "Впишете се, за да можете да публикувате",
"no-topics": "<strong>Все още няма теми в тази категория.</strong><br />Защо не създадете някоя?",
"no-followers": "Никой на този уеб сайт не следи или наблюдава тази категория. Започнете да следвате или наблюдавате тази категория, за да получавате известия за нея.",
"browsing": "разглежда",
"no-replies": "Няма отговори",
"no-new-posts": "Няма нови публикации.",

View File

@@ -3,6 +3,7 @@
"invalid-json": "Неправилен JSON",
"wrong-parameter-type": "За свойството `%1` се очакваше стойност от тип %3, но вместо това беше получено %2",
"required-parameters-missing": "Липсват задължителни параметри от това извикване към ППИ: %1",
"reserved-ip-address": "Мрежовите заявки до IP адреси от резервирани области не са позволени.",
"not-logged-in": "Изглежда не сте се вписали в системата.",
"account-locked": "Вашият акаунт беше заключен временно",
"search-requires-login": "Търсенето изисква регистриран акаунт! Моля, впишете се или се регистрирайте!",
@@ -67,6 +68,7 @@
"no-chat-room": "Стаята за разговори не съществува",
"no-privileges": "Нямате достатъчно права за това действие.",
"category-disabled": "Категорията е изключена",
"post-deleted": "Публикацията е изтрита",
"topic-locked": "Темата е заключена",
"post-edit-duration-expired": "Можете да редактирате публикациите си до %1 секунда/и, след като ги пуснете",
"post-edit-duration-expired-minutes": "Можете да редактирате публикациите си до %1 минута/и, след като ги пуснете",
@@ -153,6 +155,8 @@
"about-me-too-long": "Съжаляваме, но информацията за Вас трябва да съдържа не повече от %1 символ(а).",
"cant-chat-with-yourself": "Не можете да пишете съобщение на себе си!",
"chat-restricted": "Този потребител е ограничил съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.",
"chat-allow-list-user-already-added": "Този потребител вече е в списъка с разрешени",
"chat-deny-list-user-already-added": "Този потребител вече е в списъка със забранени",
"chat-user-blocked": "Бяхте блокиран(а) от този потребител.",
"chat-disabled": "Системата за разговори е изключена",
"too-many-messages": "Изпратили сте твърде много съобщения. Моля, изчакайте малко.",
@@ -233,6 +237,7 @@
"socket-reconnect-failed": "В момента сървърът е недостъпен. Натиснете тук, за да опитате отново, или опитайте пак по-късно.",
"invalid-plugin-id": "Грешен идентификатор на добавка",
"plugin-not-whitelisted": "Добавката не може да бъде инсталирана само добавки, одобрени от пакетния мениджър на NodeBB могат да бъдат инсталирани чрез ACP",
"cannot-toggle-system-plugin": "Не можете да превключите състоянието на системна добавка",
"plugin-installation-via-acp-disabled": "Инсталирането на добавки чрез ACP е изключено",
"plugins-set-in-configuration": "Не можете да променяте състоянието на добавката, тъй като то се определя по време на работата ѝ (чрез config.json, променливи на средата или аргументи при изпълнение). Вместо това може да промените конфигурацията.",
"theme-not-set-in-configuration": "Когато определяте активните добавки в конфигурацията, промяната на темите изисква да се добави новата тема към активните добавки, преди актуализирането ѝ в ACP",

View File

@@ -82,6 +82,7 @@
"downvoted": "С отрицателни гласове",
"views": "Прегл.",
"posters": "Участници",
"watching": "Наблюдаващи",
"reputation": "Репутация",
"lastpost": "Последна публикация",
"firstpost": "Първа публикация",

View File

@@ -48,6 +48,7 @@
"chat.add-user": "Добавяне на потребител",
"chat.notification-settings": "Настройки за известията",
"chat.default-notification-setting": "Стандартни настройки за известията",
"chat.join-leave-messages": "Съобщения за присъединяване/напускане",
"chat.notification-setting-room-default": "По подразбиране за стаята",
"chat.notification-setting-none": "Без известия",
"chat.notification-setting-at-mention-only": "Само @споменавания",
@@ -120,7 +121,7 @@
"bootbox.ok": "Добре",
"bootbox.cancel": "Отказ",
"bootbox.confirm": "Потвърждаване",
"bootbox.submit": "Публикуване",
"bootbox.submit": "Изпращане",
"bootbox.send": "Изпращане",
"cover.dragging-title": "Наместване на снимката",
"cover.dragging-message": "Преместете снимката на желаното положение и натиснете „Запазване“",

View File

@@ -75,7 +75,6 @@
"email-confirmed": "Е-пощата беше потвърдена",
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",
"email-confirm-error-message-already-validated": "Адресът на е-пощата Ви вече е проверен.",
"email-confirm-sent": "Изпратено е е-писмо за потвърждение.",
"none": "Нищо",
"notification-only": "Само известие",

View File

@@ -8,5 +8,7 @@
"log-in-with-facebook": "Вписване с Facebook",
"continue-with-facebook": "Продължаване с Facebook",
"sign-in-with-linkedin": "Вписване с LinkedIn",
"sign-up-with-linkedin": "Регистриране с LinkedIn"
"sign-up-with-linkedin": "Регистриране с LinkedIn",
"sign-in-with-wordpress": "Вписване с WordPress",
"sign-up-with-wordpress": "Регистриране с WordPress"
}

View File

@@ -105,6 +105,10 @@
"show-email": "Да се показва е-пощата ми",
"show-fullname": "Да се показва цялото ми име",
"restrict-chats": "Разрешаване на съобщенията само от потребители, които следвам",
"disable-incoming-chats": "Забраняване на входящите съобщения <a data-bs-toggle=\"tooltip\" href=\"#\" title=\"Admins and moderators can still send you messages\"><i class=\"fa-solid fa-circle-info\"></i></a>",
"chat-allow-list": "Разрешаване на съобщенията от следните потребители",
"chat-deny-list": "Забраняване на съобщенията от следните потребители",
"chat-list-add-user": "Добавяне на потребител",
"digest-label": "Абониране за резюмета",
"digest-description": "Абониране за новини по е-пощата относно този форум (нови известия и теми) според избрания график",
"digest-off": "Изключено",

View File

@@ -14,5 +14,8 @@
"onboard.title": "Вашият прозорец към федивселената…",
"onboard.what": "Това е Вашата персонализирана категория съставена само от съдържание извън този форум. Тук се появяват неща от хора, които следвате, както и такива споделени от тях.",
"onboard.why": "Много неща се случват извън този форум, и не всичко отговаря на Вашите интереси. Затова следването на конкретни хора е най-добрият начин да покажете, че искате да виждате повече от тях.",
"onboard.how": "Междувременно можете да използвате бутоните в горната част, за да видите до какво има достъп този форум. Така може да започнете да откривате ново съдържание!"
"onboard.how": "Междувременно можете да използвате бутоните в горната част, за да видите до какво има достъп този форум. Така може да започнете да откривате ново съдържание!",
"show-categories": "Показване на категориите",
"hide-categories": "Скриване на категориите"
}

View File

@@ -75,6 +75,7 @@
"graphs.page-views-registered": "Page Views Registered",
"graphs.page-views-guest": "Page Views Guest",
"graphs.page-views-bot": "Page Views Bot",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "Unique Visitors",
"graphs.registered-users": "Registered Users",
"graphs.guest-users": "Guest Users",

View File

@@ -1,18 +1,22 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"rename": "Rename",
"jump-to": "Jump to...",
"settings": "Category Settings",
"edit-category": "Edit Category",
"privileges": "Privileges",
"back-to-categories": "Back to categories",
"id": "Category ID",
"name": "Category Name",
"handle": "Category Handle",
"handle.help": "Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description": "Category Description",
"federatedDescription": "Federated Description",
"federatedDescription.help": "This text will be appended to the category description when queried by other websites/apps.",
"federatedDescription.default": "This is a forum category containing topical discussion. You can start new discussions by mentioning this category.",
"topic-template": "Topic Template",
"topic-template.help": "Define a template for new topics created in this category.",
"bg-color": "Background Colour",
"text-color": "Text Colour",
"bg-image-size": "Background Image Size",
@@ -103,6 +107,11 @@
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",
"alert.create": "Create a Category",
"alert.add": "Add a Category",
"alert.add-help": "Remote categories can be added to the categories listing by specifying their handle.<br /><br /><strong>Note</strong> — The remote category may not reflect all topics published unless at least one local user tracks/watches it.",
"alert.rename": "Rename a Remote Category",
"alert.rename-help": "Please enter a new name for this category. Leave blank to restore original name.",
"alert.confirm-remove": "Do you really want to remove this category? You can add it back at any time.",
"alert.confirm-purge": "<p class=\"lead\">Do you really want to purge this category \"%1\"?</p><h5><strong class=\"text-danger\">Warning!</strong> All topics and posts in this category will be purged!</h5> <p class=\"help-block\">Purging a category will remove all topics and posts, and delete the category from the database. If you want to remove a category <em>temporarily</em>, you'll want to \"disable\" the category instead.</p>",
"alert.purge-success": "Category purged!",
"alert.copy-success": "Settings Copied!",

View File

@@ -18,6 +18,28 @@
"probe-timeout": "Lookup Timeout (milliseconds)",
"probe-timeout-help": "(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"rules": "Categorization",
"rules-intro": "Content discovered via ActivityPub can be automatically categorized based on certain rules (e.g. hashtag)",
"rules.modal.title": "How it works",
"rules.modal.instructions": "Any incoming content is checked against these categorization rules, and matching content is automatically moved into the category of choice.<br /><br /><strong>N.B.</strong> Content that is already categorized (i.e. in a remote category) will not pass through these rules.",
"rules.add": "Add New Rule",
"rules.help-hashtag": "Topics containing this case-insensitive hashtag will match. Do not enter the <code>#</code> symbol",
"rules.help-user": "Topics created by the entered user will match. Enter a handle or full ID (e.g. <code>bob@example.org</code> or <code>https://example.org/users/bob</code>.",
"rules.type": "Type",
"rules.value": "Value",
"rules.cid": "Category",
"relays": "Relays",
"relays.intro": "A relay improves discovery of content to and from your NodeBB. Subscribing to a relay means content received by the relay is forwarded here, and content posted here is syndicated outward by the relay.",
"relays.warning": "Note: Relays can send larges amounts of traffic in, and may increase storage and processing costs.",
"relays.litepub": "NodeBB follows the LitePub-style relay standard. The URL you enter here should end with <code>/actor</code>.",
"relays.add": "Add New Relay",
"relays.relay": "Relay",
"relays.state": "State",
"relays.state-0": "Pending",
"relays.state-1": "Receiving only",
"relays.state-2": "Active",
"server-filtering": "Filtering",
"count": "This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help": "Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",

View File

@@ -22,6 +22,7 @@
"reject-image-height": "Maximum Image Height (in pixels)",
"reject-image-height-help": "Images taller than this value will be rejected.",
"allow-topic-thumbnails": "Allow users to upload topic thumbnails",
"show-post-uploads-as-thumbnails": "Show post uploads as thumbnails",
"topic-thumb-size": "Topic Thumb Size",
"allowed-file-extensions": "Allowed File Extensions",
"allowed-file-extensions-help": "Enter comma-separated list of file extensions here (e.g. <code>pdf,xls,doc</code>). An empty list means all extensions are allowed.",

View File

@@ -64,6 +64,7 @@
"show-email": "Show email",
"show-fullname": "Show fullname",
"restrict-chat": "Only allow chat messages from users I follow",
"disable-incoming-chats": "Disable incoming chat messages",
"outgoing-new-tab": "Open outgoing links in new tab",
"topic-search": "Enable In-Topic Searching",
"update-url-with-post-index": "Update url with post index while browsing topics",

View File

@@ -7,6 +7,7 @@
"new-topic-button": "নতুন টপিক",
"guest-login-post": "উত্তর দিতে লগিন করুন",
"no-topics": "<strong>এই বিভাগে কোন আলোচনা নেই! </strong><br /> আপনি চাইলে নতুন আলোচনা শুরু করতে পারেন।",
"no-followers": "Nobody on this website is tracking or watching this category. Track or watch this category in order to begin receiving updates.",
"browsing": "ব্রাউজিং",
"no-replies": "কোন রিপ্লাই নেই",
"no-new-posts": "নতুন কোন পোস্ট নাই",

View File

@@ -3,6 +3,7 @@
"invalid-json": "Invalid JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"reserved-ip-address": "Network requests to reserved IP ranges are not allowed.",
"not-logged-in": "আপনি লগিন করেননি",
"account-locked": "আপনার অ্যাকাউন্ট সাময়িকভাবে লক করা হয়েছে",
"search-requires-login": "Searching requires an account - please login or register.",
@@ -67,7 +68,8 @@
"no-chat-room": "Chat room does not exist",
"no-privileges": "এই কাজটির জন্য আপনার পর্যাপ্ত অধিকার নেই",
"category-disabled": "বিভাগটি নিষ্ক্রিয়",
"topic-locked": "টপিক বন্ধ",
"post-deleted": "Post deleted",
"topic-locked": "Topic locked",
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
@@ -153,6 +155,8 @@
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
"cant-chat-with-yourself": "আপনি নিজের সাথে চ্যাট করতে পারবেন না!",
"chat-restricted": "এই সদস্য তার বার্তালাপ সংরক্ষিত রেখেছেন। এই সদস্য আপনাকে ফলো করার পরই কেবলমাত্র আপনি তার সাথে চ্যাট করতে পারবেন",
"chat-allow-list-user-already-added": "This user is already in your allow list",
"chat-deny-list-user-already-added": "This user is already in your deny list",
"chat-user-blocked": "You have been blocked by this user.",
"chat-disabled": "Chat system disabled",
"too-many-messages": "You have sent too many messages, please wait awhile.",
@@ -233,6 +237,7 @@
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id": "Invalid plugin ID",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"cannot-toggle-system-plugin": "You cannot toggle the state of a system plugin",
"plugin-installation-via-acp-disabled": "Plugin installation via ACP is disabled",
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",

View File

@@ -82,6 +82,7 @@
"downvoted": "Downvoted",
"views": "দেখেছেন",
"posters": "Posters",
"watching": "Watching",
"reputation": "সন্মাননা",
"lastpost": "Last post",
"firstpost": "First post",

View File

@@ -48,6 +48,7 @@
"chat.add-user": "Add User",
"chat.notification-settings": "Notification Settings",
"chat.default-notification-setting": "Default Notification Setting",
"chat.join-leave-messages": "Join/Leave Messages",
"chat.notification-setting-room-default": "Room Default",
"chat.notification-setting-none": "No notifications",
"chat.notification-setting-at-mention-only": "@mention only",

View File

@@ -75,7 +75,6 @@
"email-confirmed": "ইমেইল নিশ্চিত করা হয়েছে",
"email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।",
"email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।",
"email-confirm-error-message-already-validated": "Your email address was already validated.",
"email-confirm-sent": "নিশ্চিতকরণ ইমেইল পাঠানো হয়েছে।",
"none": "None",
"notification-only": "Notification Only",

View File

@@ -8,5 +8,7 @@
"log-in-with-facebook": "Log in with Facebook",
"continue-with-facebook": "Continue with Facebook",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
"sign-up-with-linkedin": "Sign up with LinkedIn",
"sign-in-with-wordpress": "Sign in with WordPress",
"sign-up-with-wordpress": "Sign up with WordPress"
}

View File

@@ -105,6 +105,10 @@
"show-email": "আমার ইমেইল দেখাও",
"show-fullname": "আমার সম্পূর্ণ নাম দেখাও",
"restrict-chats": "আমি যাদের ফলো করি কেবলমাত্র তাদের থেকে বার্তা গ্রহন করা হোক",
"disable-incoming-chats": "Disable incoming chat messages <a data-bs-toggle=\"tooltip\" href=\"#\" title=\"Admins and moderators can still send you messages\"><i class=\"fa-solid fa-circle-info\"></i></a>",
"chat-allow-list": "Allow chat messages from the following users",
"chat-deny-list": "Deny chat messages from the following users",
"chat-list-add-user": "Add user",
"digest-label": "ডাইজেষ্টে সাবস্ক্রাইব করুন",
"digest-description": "শিডিউল অনূযায়ী এই ফোরামের ইমেইল আপডেটের জন্য সাবস্ক্রাইব করুন (নতুন নোটিফিকেশন এবং টপিকসমূহ )",
"digest-off": "বন্ধ",

View File

@@ -14,5 +14,8 @@
"onboard.title": "Your window to the fediverse...",
"onboard.what": "This is your personalized category made up of only content found outside of this forum. Whether something shows up in this page depends on whether you follow them, or whether that post was shared by someone you follow.",
"onboard.why": "There's a lot that goes on outside of this forum, and not all of it is relevant to your interests. That's why following people is the best way to signal that you want to see more from someone.",
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!"
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!",
"show-categories": "Show categories",
"hide-categories": "Hide categories"
}

View File

@@ -75,6 +75,7 @@
"graphs.page-views-registered": "Zobrazených stránek/registrovaní",
"graphs.page-views-guest": "Zobrazených stránek/hosté",
"graphs.page-views-bot": "Zobrazených stránek/bot",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "Jedineční návštěvníci",
"graphs.registered-users": "Registrovaní uživatelé",
"graphs.guest-users": "Guest Users",

View File

@@ -1,18 +1,22 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"rename": "Rename",
"jump-to": "Jump to...",
"settings": "Nastavení kategorie",
"edit-category": "Edit Category",
"privileges": "Oprávnění",
"back-to-categories": "Back to categories",
"id": "Category ID",
"name": "Název kategorie",
"handle": "Category Handle",
"handle.help": "Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description": "Popis kategorie",
"federatedDescription": "Federated Description",
"federatedDescription.help": "This text will be appended to the category description when queried by other websites/apps.",
"federatedDescription.default": "This is a forum category containing topical discussion. You can start new discussions by mentioning this category.",
"topic-template": "Topic Template",
"topic-template.help": "Define a template for new topics created in this category.",
"bg-color": "Barva pozadí",
"text-color": "Barva textu",
"bg-image-size": "Velikost obrázku pozadí",
@@ -103,6 +107,11 @@
"alert.create-success": "Kategorie byla úspěšně vytvořena.",
"alert.none-active": "Nemáte žádné aktivní kategorie.",
"alert.create": "Vytvořit kategorii",
"alert.add": "Add a Category",
"alert.add-help": "Remote categories can be added to the categories listing by specifying their handle.<br /><br /><strong>Note</strong> — The remote category may not reflect all topics published unless at least one local user tracks/watches it.",
"alert.rename": "Rename a Remote Category",
"alert.rename-help": "Please enter a new name for this category. Leave blank to restore original name.",
"alert.confirm-remove": "Do you really want to remove this category? You can add it back at any time.",
"alert.confirm-purge": "<p class=\"lead\">Opravdu chcete vyčistit tuto kategorii \"%1\"?</p><h5><strong class=\"text-danger\">Upozornění</strong>Všechny témata a příspěvky v této kategorii budou smazána.</h5><p class=\"help-block\">Smazání kategorie vyjme všechny témata a příspěvky a odstraní kategorii z databáze. Pokud chcete vyjmout kategorii <em>dočasně</em>, raději místo toho kategorii „zakažte”.</p>",
"alert.purge-success": "Kategorie byla vyčištěna.",
"alert.copy-success": "Nastavení bylo zkopírováno.",

View File

@@ -10,7 +10,7 @@
"section-manage": "Spravovat",
"manage/categories": "Kategorie",
"manage/privileges": "Oprávnění",
"manage/tags": "Značky",
"manage/tags": "Štítky",
"manage/users": "Uživatelé",
"manage/admins-mods": "Správci a moderátoři",
"manage/registration": "Registrační fronta",
@@ -35,7 +35,7 @@
"settings/post": "Posts",
"settings/chat": "Chats",
"settings/pagination": "Stránkování",
"settings/tags": "Značky",
"settings/tags": "Štítky",
"settings/notifications": "Oznámení",
"settings/api": "API Access",
"settings/activitypub": "Federation (ActivityPub)",

View File

@@ -18,6 +18,28 @@
"probe-timeout": "Lookup Timeout (milliseconds)",
"probe-timeout-help": "(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"rules": "Categorization",
"rules-intro": "Content discovered via ActivityPub can be automatically categorized based on certain rules (e.g. hashtag)",
"rules.modal.title": "How it works",
"rules.modal.instructions": "Any incoming content is checked against these categorization rules, and matching content is automatically moved into the category of choice.<br /><br /><strong>N.B.</strong> Content that is already categorized (i.e. in a remote category) will not pass through these rules.",
"rules.add": "Add New Rule",
"rules.help-hashtag": "Topics containing this case-insensitive hashtag will match. Do not enter the <code>#</code> symbol",
"rules.help-user": "Topics created by the entered user will match. Enter a handle or full ID (e.g. <code>bob@example.org</code> or <code>https://example.org/users/bob</code>.",
"rules.type": "Type",
"rules.value": "Value",
"rules.cid": "Category",
"relays": "Relays",
"relays.intro": "A relay improves discovery of content to and from your NodeBB. Subscribing to a relay means content received by the relay is forwarded here, and content posted here is syndicated outward by the relay.",
"relays.warning": "Note: Relays can send larges amounts of traffic in, and may increase storage and processing costs.",
"relays.litepub": "NodeBB follows the LitePub-style relay standard. The URL you enter here should end with <code>/actor</code>.",
"relays.add": "Add New Relay",
"relays.relay": "Relay",
"relays.state": "State",
"relays.state-0": "Pending",
"relays.state-1": "Receiving only",
"relays.state-2": "Active",
"server-filtering": "Filtering",
"count": "This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help": "Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",

View File

@@ -38,7 +38,7 @@
"sockets.settings": "WebSocket Settings",
"sockets.max-attempts": "Max Reconnection Attempts",
"sockets.default-placeholder": "Default: %1",
"sockets.default-placeholder": "Výchozí: %1",
"sockets.delay": "Reconnection Delay",
"compression.settings": "Compression Settings",

View File

@@ -4,11 +4,11 @@
"sorting.post-default": "Výchozí třídění příspěvků",
"sorting.oldest-to-newest": "Od nejstarších po nejnovější",
"sorting.newest-to-oldest": "Od nejnovějších po nejstarší",
"sorting.recently-replied": "Recently Replied",
"sorting.recently-replied": "Poslední příspěvky",
"sorting.recently-created": "Recently Created",
"sorting.most-votes": "Dle počtu hlasů",
"sorting.most-posts": "Dle počtu příspěvků",
"sorting.most-views": "Most Views",
"sorting.most-views": "Nejvíce zobrazení",
"sorting.topic-default": "Výchozí třídění tématu",
"length": "Délka příspěvku",
"post-queue": "Příspěvky ve frontě",

View File

@@ -22,6 +22,7 @@
"reject-image-height": "Maximální výška obrázku (v pixelech)",
"reject-image-height-help": "Vyšší obrázek než tato hodnota bude zamítnut.",
"allow-topic-thumbnails": "Povolit uživatelům nahrát miniatury témat",
"show-post-uploads-as-thumbnails": "Show post uploads as thumbnails",
"topic-thumb-size": "Velikost miniatury tématu",
"allowed-file-extensions": "Povolené přípony souborů",
"allowed-file-extensions-help": "Zadejte seznam přípon souborů oddělených čárkou (např.: <code>pdf, xls, doc</code>). Prázdný seznam znamená, že všechny přípony jsou povoleny.",

View File

@@ -64,6 +64,7 @@
"show-email": "Zobrazit e-mail",
"show-fullname": "Zobrazit celé jméno",
"restrict-chat": "Povolit chatové zprávy jen od uživatelů, které sleduji",
"disable-incoming-chats": "Disable incoming chat messages",
"outgoing-new-tab": "Otevřít odchozí odkazy v nové záložce",
"topic-search": "Povolit hledání v tématu",
"update-url-with-post-index": "Update url with post index while browsing topics",

View File

@@ -7,6 +7,7 @@
"new-topic-button": "Nové téma",
"guest-login-post": "Přihlásit se pro přispívání",
"no-topics": "<strong>V této kategorii zatím nejsou žádné příspěvky.</strong><br />Můžeš být první.",
"no-followers": "Nobody on this website is tracking or watching this category. Track or watch this category in order to begin receiving updates.",
"browsing": "prohlíží",
"no-replies": "Nikdo ještě neodpověděl",
"no-new-posts": "Žádné nové příspěvky",

View File

@@ -3,6 +3,7 @@
"invalid-json": "Neplatný JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"reserved-ip-address": "Network requests to reserved IP ranges are not allowed.",
"not-logged-in": "Zdá se, že nejste přihlášen/a",
"account-locked": "Váš účet byl dočasně uzamknut",
"search-requires-login": "Pro hledání je vyžadován účet přihlaste se nebo zaregistrujte.",
@@ -67,7 +68,8 @@
"no-chat-room": "Chat room does not exist",
"no-privileges": "Na tuto akci nemáte dostatečné oprávnění.",
"category-disabled": "Kategorie zakázána",
"topic-locked": "Téma uzamknuto",
"post-deleted": "Post deleted",
"topic-locked": "Topic locked",
"post-edit-duration-expired": "Je vám umožněno upravit příspěvky jen po %1 sekund/y od jeho vytvoření",
"post-edit-duration-expired-minutes": "Je vám umožněno upravit příspěvky jen po %1 minut/y od jeho vytvoření",
"post-edit-duration-expired-minutes-seconds": "Je vám umožněno upravit příspěvky jen po %1 minut/y a %2 sekund/y od jeho vytvoření",
@@ -153,6 +155,8 @@
"about-me-too-long": "Omlouváme se, ale \"O mně\" nesmí být delší než %1 znaků.",
"cant-chat-with-yourself": "Nemůžete konverzovat sami se sebou.",
"chat-restricted": "Tento uživatel má omezené konverzační zprávy. Nejdříve vás musí začít sledovat, než začnete spolu konverzovat",
"chat-allow-list-user-already-added": "This user is already in your allow list",
"chat-deny-list-user-already-added": "This user is already in your deny list",
"chat-user-blocked": "You have been blocked by this user.",
"chat-disabled": "Konverzační systém zakázán",
"too-many-messages": "Odeslal/a jste příliš mnoho zpráv, vyčkejte chvíli.",
@@ -233,6 +237,7 @@
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id": "Invalid plugin ID",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"cannot-toggle-system-plugin": "You cannot toggle the state of a system plugin",
"plugin-installation-via-acp-disabled": "Plugin installation via ACP is disabled",
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",

View File

@@ -37,7 +37,7 @@
"header.categories": "Kategorie",
"header.recent": "Nejnovější",
"header.unread": "Nepřečtené",
"header.tags": "Značky",
"header.tags": "Štítky",
"header.popular": "Populární",
"header.top": "Nejlepší",
"header.users": "Uživatelé",
@@ -82,6 +82,7 @@
"downvoted": "Nesouhlasů",
"views": "Zobrazení",
"posters": "Přispěvatelé",
"watching": "Watching",
"reputation": "Reputace",
"lastpost": "Poslední příspěvek",
"firstpost": "První příspěvek",
@@ -146,7 +147,7 @@
"copied": "Copied",
"user-search-prompt": "Pro hledání uživatelů, zde pište...",
"hidden": "Hidden",
"sort": "Sort",
"sort": "Řazení",
"actions": "Actions",
"rss-feed": "RSS Feed",
"skip-to-content": "Skip to content"

View File

@@ -16,8 +16,8 @@
"chat.user-typing-n": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> others are typing ...",
"chat.user-has-messaged-you": "%1 Vám napsal.",
"chat.replying-to": "Replying to %1",
"chat.see-all": "All chats",
"chat.mark-all-read": "Mark all read",
"chat.see-all": "Všechny konverzace",
"chat.mark-all-read": "Označit vše jako přečtené",
"chat.no-messages": "Vyberte příjemce k prohlédnutí historie zpráv.",
"chat.no-users-in-room": "Žádní uživatelé v místnosti.",
"chat.recent-chats": "Aktuální konverzace",
@@ -48,6 +48,7 @@
"chat.add-user": "Add User",
"chat.notification-settings": "Notification Settings",
"chat.default-notification-setting": "Default Notification Setting",
"chat.join-leave-messages": "Join/Leave Messages",
"chat.notification-setting-room-default": "Room Default",
"chat.notification-setting-none": "No notifications",
"chat.notification-setting-at-mention-only": "@mention only",
@@ -79,7 +80,7 @@
"composer.compose": "Napsat",
"composer.show-preview": "Ukázat náhled",
"composer.hide-preview": "Skrýt náhled",
"composer.help": "Help",
"composer.help": "Nápověda",
"composer.user-said-in": "%1 řekl v %2:",
"composer.user-said": "%1 řekl:",
"composer.discard": "Jste si jisti, že chcete zrušit tento příspěvek?",
@@ -88,23 +89,23 @@
"composer.uploading": "Nahrávám %1",
"composer.formatting.bold": "Tučné",
"composer.formatting.italic": "Kurzíva",
"composer.formatting.heading": "Heading",
"composer.formatting.heading1": "Heading 1",
"composer.formatting.heading2": "Heading 2",
"composer.formatting.heading3": "Heading 3",
"composer.formatting.heading4": "Heading 4",
"composer.formatting.heading5": "Heading 5",
"composer.formatting.heading6": "Heading 6",
"composer.formatting.heading": "Nadpis",
"composer.formatting.heading1": "Nadpis 1",
"composer.formatting.heading2": "Nadpis 2",
"composer.formatting.heading3": "Nadpis 3",
"composer.formatting.heading4": "Nadpis 4",
"composer.formatting.heading5": "Nadpis 5",
"composer.formatting.heading6": "Nadpis 6",
"composer.formatting.list": "Seznam",
"composer.formatting.strikethrough": "Přeškrtnutí",
"composer.formatting.code": "Kód",
"composer.formatting.link": "Odkaz",
"composer.formatting.picture": "Image Link",
"composer.formatting.picture": "Odkaz na obrázek",
"composer.upload-picture": "Nahrát obrázek",
"composer.upload-file": "Nahrát soubor",
"composer.zen-mode": "Režim Zem",
"composer.select-category": "Vyberte kategorii",
"composer.textarea.placeholder": "Enter your post content here, drag and drop images",
"composer.textarea.placeholder": "Sem vložte obsah příspěvku nebo přetáhněte obrázky",
"composer.post-queue-alert": "Hello👋!<br/>This forum uses a post queue system, since you are a new user your post will be hidden until it is approved by our moderation team.",
"composer.schedule-for": "Schedule topic for",
"composer.schedule-date": "Date",
@@ -120,7 +121,7 @@
"bootbox.ok": "OK",
"bootbox.cancel": "Zrušit",
"bootbox.confirm": "Potvrdit",
"bootbox.submit": "Submit",
"bootbox.submit": "Odeslat",
"bootbox.send": "Send",
"cover.dragging-title": "Umístění fotografie",
"cover.dragging-message": "Přesuňte fotku na požadovanou pozici a klikněte na „Uložit”",

View File

@@ -12,15 +12,15 @@
"you-have-unread-notifications": "Máte nepřečtená upozornění.",
"all": "Vše",
"topics": "Témata",
"tags": "Tags",
"categories": "Categories",
"tags": "Štítky",
"categories": "Kategorie",
"replies": "Odpovědi",
"chat": "Konverzace",
"group-chat": "Skupinová konverzace",
"public-chat": "Public Chats",
"public-chat": "Veřejné konverzace",
"follows": "Sledování",
"upvote": "Souhlasy",
"awards": "Awards",
"awards": "Odměny",
"new-flags": "Nové označení",
"my-flags": "Označení přiřazené mě",
"bans": "Blokace",
@@ -75,7 +75,6 @@
"email-confirmed": "E-mail potvrzen",
"email-confirmed-message": "Děkujeme za ověření vaší e-mailové adresy. Váš účet je nyní aktivní.",
"email-confirm-error-message": "Nastal problém s ověřením vaší e-mailové adresy. Kód je pravděpodobně neplatný nebo jeho platnost vypršela.",
"email-confirm-error-message-already-validated": "Your email address was already validated.",
"email-confirm-sent": "Ověřovací e-mail odeslán.",
"none": "Nic",
"notification-only": "Jen oznámení",
@@ -83,14 +82,14 @@
"notification-and-email": "Oznámení a e-mail",
"notificationType-upvote": "Jakmile někdo vyjádří souhlas s vaším příspěvkem",
"notificationType-new-topic": "Jakmile někdo koho sledujete vytvoří nové téma",
"notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow",
"notificationType-new-topic-in-category": "When a topic is posted in a category you are watching",
"notificationType-new-topic-with-tag": "Jakmile někdo vytvoří téma se štítkem, který sledujete",
"notificationType-new-topic-in-category": "Jakmile někdo vytvoří téma v kategorii, kterou sledujete",
"notificationType-new-reply": "Jakmile je přidán nový příspěvek v tématu, které sledujete",
"notificationType-post-edit": "Jakmile je upraven příspěvek v tématu, které sledujete",
"notificationType-follow": "Jakmile vás někdo začne sledovat",
"notificationType-new-chat": "Obdržíte-li novou konverzační zprávu",
"notificationType-new-group-chat": "Když obdržíte zprávu ve skupinové konverzaci",
"notificationType-new-public-chat": "When you receive a public group chat message",
"notificationType-new-public-chat": "Jakmile obdržíte zprávu ve veřejné konverzaci",
"notificationType-group-invite": "Obdržíte-li pozvání ke skupině",
"notificationType-group-leave": "Když uživatel opustí Vaši skupinu",
"notificationType-group-request-membership": "Jakmile někdo pošle žádost o připojení se do vaší skupiny",
@@ -98,7 +97,7 @@
"notificationType-post-queue": "Bude-li přidán nový příspěvek do fronty",
"notificationType-new-post-flag": "Bude-li příspěvek označen",
"notificationType-new-user-flag": "Bude-li uživatel označen",
"notificationType-new-reward": "When you earn a new reward",
"notificationType-new-reward": "Když získáte novou odměnu",
"activitypub.announce": "<strong>%1</strong> shared your post in <strong>%2</strong> to their followers.",
"activitypub.announce-dual": "<strong>%1</strong> and <strong>%2</strong> shared your post in <strong>%3</strong> to their followers.",
"activitypub.announce-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> shared your post in <strong>%4</strong> to their followers.",

View File

@@ -23,7 +23,7 @@
"users/most-flags": "Nejoznačovanější uživatelé",
"users/search": "Hledat uživatele",
"notifications": "Upozornění",
"tags": "Značky",
"tags": "Štítky",
"tag": "Témata označená &quot;%1&quot;",
"register": "Zaregistrovat účet",
"registration-complete": "Registrace dokončena",
@@ -49,7 +49,7 @@
"account/topics": "Příspěvky vytvořeny uživatelem %1",
"account/groups": "%1's skupiny",
"account/watched-categories": "%1's sledovaných kategorii",
"account/watched-tags": "%1's Watched Tags",
"account/watched-tags": "%1's Sledované štítky",
"account/bookmarks": "%1's zazáložkované příspěvky",
"account/settings": "Uživatelské nastavení",
"account/settings-of": "Changing settings of %1",

View File

@@ -21,9 +21,9 @@
"registration-added-to-queue": "Vaše registrace byla přidána do fronty. Obdržíte e-mail až ji správce schválí.",
"registration-queue-average-time": "Our average time for approving memberships is %1 hours %2 minutes.",
"registration-queue-auto-approve-time": "Your membership to this forum will be fully activated in up to %1 hours.",
"interstitial.intro": "We'd like some additional information in order to update your account&hellip;",
"interstitial.intro-new": "We'd like some additional information before we can create your account&hellip;",
"interstitial.errors-found": "Please review the entered information:",
"interstitial.intro": "Před vytvořením účtu vyžadujeme některé dodatečné informace.",
"interstitial.intro-new": "Před vytvořením účtu vyžadujeme některé dodatečné informace.",
"interstitial.errors-found": "Prosím zkontrolujte zadané údaje:",
"gdpr-agree-data": "Dávám souhlas se sběrem a zpracováním mých osobních údajů na této webové stránce.",
"gdpr-agree-email": "Dávám souhlas k dostávání e-mailových přehledů a oznámení z týkající se této webové stránky.",
"gdpr-consent-denied": "Musíte dát souhlas této stránce sbírat/zpracovávat informace o vaší činnosti a odesílat vám e-maily.",

View File

@@ -11,12 +11,12 @@
"in-categories": "In categories",
"in-users": "In users",
"in-tags": "In tags",
"categories": "Categories",
"categories": "Kategorie",
"all-categories": "All categories",
"categories-x": "Categories: %1",
"categories-watched-categories": "Categories: Watched categories",
"type-a-category": "Type a category",
"tags": "Tags",
"tags": "Štítky",
"tags-x": "Tags: %1",
"type-a-tag": "Type a tag",
"match-words": "Shodná slova",

View File

@@ -8,5 +8,7 @@
"log-in-with-facebook": "Log in with Facebook",
"continue-with-facebook": "Continue with Facebook",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
"sign-up-with-linkedin": "Sign up with LinkedIn",
"sign-in-with-wordpress": "Sign in with WordPress",
"sign-up-with-wordpress": "Sign up with WordPress"
}

View File

@@ -2,9 +2,9 @@
"all-tags": "All tags",
"no-tag-topics": "Není zde žádné téma s tímto označením.",
"no-tags-found": "No tags found",
"tags": "Označení",
"tags": "Štítky",
"enter-tags-here": "Enter tags, %1 - %2 characters.",
"enter-tags-here-short": "Zadejte označení…",
"enter-tags-here-short": "Zadejte štítky…",
"no-tags": "Zatím tu není žádné označení.",
"select-tags": "Select Tags",
"tag-whitelist": "Tag Whitelist",

View File

@@ -5,7 +5,7 @@
"expand": "Expand",
"sidebar-toggle": "Sidebar Toggle",
"login-register-to-search": "Login or register to search.",
"settings.title": "Theme settings",
"settings.title": "Nastavení motivu",
"settings.enableQuickReply": "Enable quick reply",
"settings.enableBreadcrumbs": "Show breadcrumbs in Category and Topic pages",
"settings.enableBreadcrumbs.why": "Breadcrumbs are visible in most pages for ease-of-navigation. The base design of the category and topic pages has alternative means to link back to parent pages, but the breadcrumb can be toggled off to reduce clutter.",

View File

@@ -1,5 +1,5 @@
{
"settings.title": "Theme settings",
"settings.title": "Nastavení motivu",
"settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)",
"settings.mobile-menu-side": "Switch which side each mobile menu is on",
"settings.autoHidingNavbar": "Automatically hide the navbar on scroll",

View File

@@ -136,7 +136,7 @@
"bookmark": "Záložka",
"bookmarks": "Záložky",
"bookmarks.has-no-bookmarks": "Ještě jste nezazáložkoval žádný příspěvek.",
"copy-permalink": "Copy Permalink",
"copy-permalink": "Zkopírovat odkaz",
"go-to-original": "View Original Post",
"loading-more-posts": "Načítání více příspěvků",
"move-topic": "Přesunout téma",
@@ -165,7 +165,7 @@
"manage-editors-instruction": "Manage the users who can edit this post below.",
"composer.title-placeholder": "Zadejte název tématu…",
"composer.handle-placeholder": "Enter your name/handle here",
"composer.hide": "Hide",
"composer.hide": "Skrýt",
"composer.discard": "Zrušit",
"composer.submit": "Odeslat",
"composer.additional-options": "Additional Options",
@@ -188,11 +188,11 @@
"sort-by": "Seřadit dle",
"oldest-to-newest": "Od nejstarších po nejnovější",
"newest-to-oldest": "Od nejnovějších po nejstarší",
"recently-replied": "Recently Replied",
"recently-created": "Recently Created",
"recently-replied": "Poslední příspěvky",
"recently-created": "Nedávno vytvořené",
"most-votes": "S nejvíce hlasy",
"most-posts": "S nejvíce příspěvky",
"most-views": "Most Views",
"most-views": "Nejvíce zobrazení",
"stale.title": "Raději vytvořit nové téma?",
"stale.warning": "Reagujete na starší téma. Nechcete raději vytvořit nové téma a na původní v něm odkázat?",
"stale.create": "Vytvořit nové téma",

View File

@@ -3,7 +3,7 @@
"no-unread-topics": "Nejsou zde žádné nepřečtené témata.",
"load-more": "Načíst další",
"mark-as-read": "Označit jako přečtené",
"mark-as-unread": "Mark as Unread",
"mark-as-unread": "Označ jako nepřečtené",
"selected": "Vybrané",
"all": "Vše",
"all-categories": "Všechny kategorie",

View File

@@ -39,7 +39,7 @@
"reputation": "Reputace",
"bookmarks": "Záložky",
"watched-categories": "Sledované kategorie",
"watched-tags": "Watched tags",
"watched-tags": "Sledované štítky",
"change-all": "Změnit vše",
"watched": "Sledován",
"ignored": "Ignorován",
@@ -100,11 +100,15 @@
"remove-cover-picture-confirm": "Jste si jist/a, že chcete smazat obrázek?",
"crop-picture": "Oříznout obrázek",
"upload-cropped-picture": "Oříznout a nahrát",
"avatar-background-colour": "Avatar background colour",
"avatar-background-colour": "Barva pozadí",
"settings": "Nastavení",
"show-email": "Zobrazovat můj e-mail",
"show-fullname": "Zobrazovat celé jméno",
"restrict-chats": "Povolit konverzační zprávy pouze od uživatelů, které sleduji.",
"disable-incoming-chats": "Disable incoming chat messages <a data-bs-toggle=\"tooltip\" href=\"#\" title=\"Admins and moderators can still send you messages\"><i class=\"fa-solid fa-circle-info\"></i></a>",
"chat-allow-list": "Allow chat messages from the following users",
"chat-deny-list": "Deny chat messages from the following users",
"chat-list-add-user": "Add user",
"digest-label": "Odebírat přehled",
"digest-description": "Přihlásit se k odběru e-mailových aktualizací pro toto fórum (nová oznámení a témata), dle stanoveného plánu",
"digest-off": "Vypnuto",
@@ -130,8 +134,8 @@
"paginate-description": "Stránkovat témata a příspěvky místo použití nekonečného posunování",
"topics-per-page": "Témat na stránce",
"posts-per-page": "Příspěvků na stránce",
"category-topic-sort": "Category topic sort",
"topic-post-sort": "Topic post sort",
"category-topic-sort": "Řazení podle kategorie",
"topic-post-sort": "Řazení příspěvků v tématu",
"max-items-per-page": "Maximum %1",
"acp-language": "Jazyk stránky správce",
"notifications": "Oznámení",
@@ -158,8 +162,8 @@
"order-group-down": "Order group down",
"no-group-title": "Žádný nadpis skupiny",
"select-skin": "Vybrat vzhled",
"default": "Default (%1)",
"no-skin": "No Skin",
"default": "Výchozí (%1)",
"no-skin": "žádný vzhled",
"select-homepage": "Vybrat domovskou stránku",
"homepage": "Domovská stránka",
"homepage-description": "Vyberte stránku, která má být domovskou stránkou fóra nebo vyberte „Nic” a bude použita výchozí domovská stránka.",

View File

@@ -21,6 +21,6 @@
"popular-topics": "Oblíbená témata",
"unread-topics": "Nepřečtená témata",
"categories": "Kategorie",
"tags": "Značky",
"tags": "Štítky",
"no-users-found": "Nebyly nalezeny žádní uživatelé."
}

View File

@@ -2,7 +2,7 @@
"name": "World",
"popular": "Popular topics",
"recent": "All topics",
"help": "Help",
"help": "Nápověda",
"help.title": "What is this page?",
"help.intro": "Welcome to your corner of the fediverse.",
@@ -14,5 +14,8 @@
"onboard.title": "Your window to the fediverse...",
"onboard.what": "This is your personalized category made up of only content found outside of this forum. Whether something shows up in this page depends on whether you follow them, or whether that post was shared by someone you follow.",
"onboard.why": "There's a lot that goes on outside of this forum, and not all of it is relevant to your interests. That's why following people is the best way to signal that you want to see more from someone.",
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!"
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!",
"show-categories": "Show categories",
"hide-categories": "Hide categories"
}

View File

@@ -75,6 +75,7 @@
"graphs.page-views-registered": "Page Views Registered",
"graphs.page-views-guest": "Page Views Guest",
"graphs.page-views-bot": "Page Views Bot",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "Unique Visitors",
"graphs.registered-users": "Registered Users",
"graphs.guest-users": "Guest Users",

View File

@@ -1,18 +1,22 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"rename": "Rename",
"jump-to": "Jump to...",
"settings": "Category Settings",
"edit-category": "Edit Category",
"privileges": "Privileges",
"back-to-categories": "Back to categories",
"id": "Category ID",
"name": "Category Name",
"handle": "Category Handle",
"handle.help": "Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description": "Category Description",
"federatedDescription": "Federated Description",
"federatedDescription.help": "This text will be appended to the category description when queried by other websites/apps.",
"federatedDescription.default": "This is a forum category containing topical discussion. You can start new discussions by mentioning this category.",
"topic-template": "Topic Template",
"topic-template.help": "Define a template for new topics created in this category.",
"bg-color": "Background Colour",
"text-color": "Text Colour",
"bg-image-size": "Background Image Size",
@@ -103,6 +107,11 @@
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",
"alert.create": "Create a Category",
"alert.add": "Add a Category",
"alert.add-help": "Remote categories can be added to the categories listing by specifying their handle.<br /><br /><strong>Note</strong> — The remote category may not reflect all topics published unless at least one local user tracks/watches it.",
"alert.rename": "Rename a Remote Category",
"alert.rename-help": "Please enter a new name for this category. Leave blank to restore original name.",
"alert.confirm-remove": "Do you really want to remove this category? You can add it back at any time.",
"alert.confirm-purge": "<p class=\"lead\">Do you really want to purge this category \"%1\"?</p><h5><strong class=\"text-danger\">Warning!</strong> All topics and posts in this category will be purged!</h5> <p class=\"help-block\">Purging a category will remove all topics and posts, and delete the category from the database. If you want to remove a category <em>temporarily</em>, you'll want to \"disable\" the category instead.</p>",
"alert.purge-success": "Category purged!",
"alert.copy-success": "Settings Copied!",

View File

@@ -18,6 +18,28 @@
"probe-timeout": "Opslag Ventetid (millisekunder)",
"probe-timeout-help": "(Udgangspunkt: 2000) Hvis opslagsforespørgslen ikke modtager et svar inden for den angivne tidsramme, vil vil brugeren blive sendt til linket direkte i stedet for. Justér dette tal højere, hvis sider responderer langsomt og du gerne vil give dem ekstra tid.",
"rules": "Categorization",
"rules-intro": "Content discovered via ActivityPub can be automatically categorized based on certain rules (e.g. hashtag)",
"rules.modal.title": "How it works",
"rules.modal.instructions": "Any incoming content is checked against these categorization rules, and matching content is automatically moved into the category of choice.<br /><br /><strong>N.B.</strong> Content that is already categorized (i.e. in a remote category) will not pass through these rules.",
"rules.add": "Add New Rule",
"rules.help-hashtag": "Topics containing this case-insensitive hashtag will match. Do not enter the <code>#</code> symbol",
"rules.help-user": "Topics created by the entered user will match. Enter a handle or full ID (e.g. <code>bob@example.org</code> or <code>https://example.org/users/bob</code>.",
"rules.type": "Type",
"rules.value": "Value",
"rules.cid": "Category",
"relays": "Relays",
"relays.intro": "A relay improves discovery of content to and from your NodeBB. Subscribing to a relay means content received by the relay is forwarded here, and content posted here is syndicated outward by the relay.",
"relays.warning": "Note: Relays can send larges amounts of traffic in, and may increase storage and processing costs.",
"relays.litepub": "NodeBB follows the LitePub-style relay standard. The URL you enter here should end with <code>/actor</code>.",
"relays.add": "Add New Relay",
"relays.relay": "Relay",
"relays.state": "State",
"relays.state-0": "Pending",
"relays.state-1": "Receiving only",
"relays.state-2": "Active",
"server-filtering": "Filtrering",
"count": "Denne NodeBB instans er lige nu bevidst om <strong>%1</strong> server(e)",
"server.filter-help": "Specificér servere, som du gerne vil stoppe fra at føderere med din NodeBB instans. Alternativt, kan du vælge at selektivt <em>tillade</em> føderation med udvalgte servere i stedet. Begge muligheder er understøttet, men man kan kun vælge en metode ad gangen.",

View File

@@ -22,6 +22,7 @@
"reject-image-height": "Maximum Image Height (in pixels)",
"reject-image-height-help": "Images taller than this value will be rejected.",
"allow-topic-thumbnails": "Allow users to upload topic thumbnails",
"show-post-uploads-as-thumbnails": "Show post uploads as thumbnails",
"topic-thumb-size": "Topic Thumb Size",
"allowed-file-extensions": "Allowed File Extensions",
"allowed-file-extensions-help": "Enter comma-separated list of file extensions here (e.g. <code>pdf,xls,doc</code>). An empty list means all extensions are allowed.",

View File

@@ -64,6 +64,7 @@
"show-email": "Show email",
"show-fullname": "Show fullname",
"restrict-chat": "Only allow chat messages from users I follow",
"disable-incoming-chats": "Disable incoming chat messages",
"outgoing-new-tab": "Open outgoing links in new tab",
"topic-search": "Enable In-Topic Searching",
"update-url-with-post-index": "Update url with post index while browsing topics",

View File

@@ -7,6 +7,7 @@
"new-topic-button": "Ny tråd",
"guest-login-post": "Log ind",
"no-topics": "<strong>Der er ikke nogen nye tråde i denne kategori.</strong><br /> Hvorfor prøver du ikke at lave et?",
"no-followers": "Nobody on this website is tracking or watching this category. Track or watch this category in order to begin receiving updates.",
"browsing": "browse",
"no-replies": "Ingen har svaret",
"no-new-posts": "Ingen nye indlæg",

View File

@@ -3,6 +3,7 @@
"invalid-json": "Invalid JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"reserved-ip-address": "Network requests to reserved IP ranges are not allowed.",
"not-logged-in": "Det ser ikke ud til at du er logget ind.",
"account-locked": "Din konto er blevet blokeret midlertidigt.",
"search-requires-login": "Du skal have en konto for at søge - log venligst ind eller registrer dig.",
@@ -67,7 +68,8 @@
"no-chat-room": "Chat room does not exist",
"no-privileges": "Du har ikke nok rettigheder til at udføre denne handling",
"category-disabled": "Kategorien er deaktiveret",
"topic-locked": "Tråden er låst",
"post-deleted": "Post deleted",
"topic-locked": "Topic locked",
"post-edit-duration-expired": "Du kan kun redigere indlæg i %1 sekund(er) efter indlæg",
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
@@ -153,6 +155,8 @@
"about-me-too-long": "Beklager, men din om mig side kan ikke være længere end %1 karakter(er).",
"cant-chat-with-yourself": "Du kan ikke chatte med dig selv!",
"chat-restricted": "Denne bruger har spæret adgangen til chat beskeder. Brugeren må følge dig før du kan chatte med ham/hende",
"chat-allow-list-user-already-added": "This user is already in your allow list",
"chat-deny-list-user-already-added": "This user is already in your deny list",
"chat-user-blocked": "You have been blocked by this user.",
"chat-disabled": "Chat system er deaktiveret",
"too-many-messages": "Du har sendt for mange beskeder, vent venligt lidt.",
@@ -233,6 +237,7 @@
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id": "Invalid plugin ID",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"cannot-toggle-system-plugin": "You cannot toggle the state of a system plugin",
"plugin-installation-via-acp-disabled": "Plugin installation via ACP is disabled",
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",

View File

@@ -82,6 +82,7 @@
"downvoted": "Syntes ikke godt om",
"views": "Visninger",
"posters": "Posters",
"watching": "Watching",
"reputation": "Omdømme",
"lastpost": "Last post",
"firstpost": "First post",

Some files were not shown because too many files have changed in this diff Show More