Compare commits

..

506 Commits

Author SHA1 Message Date
Misty Release Bot
30ba8e8247 chore: incrementing version number - v4.5.2 2025-09-29 14:04:07 +00: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
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
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
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
Julian Lam
f9edb13f62 fix: missing actor assertion on 1b12 announced upboat 2025-09-19 14:43:04 -04:00
Julian Lam
d1f5060f11 fix(deps): bump 2factor to 7.6.0 2025-09-18 13:33:16 -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
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
b66c30a2a7 fix: handle cases where incoming ap object tag can be a non-array 2025-09-15 14:10:02 -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
Barış Soner Uşaklı
405d2172ac chore: up persona 2025-09-15 09:32:05 -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ı
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
Barış Soner Uşaklı
f9ddbebacc fix: remove .auth call 2025-09-12 11:33:53 -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
Julian Lam
953c051c2e fix: perform Link header check on note assertion only when skipChecks is falsy 2025-09-10 14:59:13 -04:00
Barış Soner Uşaklı
0311b98ed7 feat: add topic templates per category, closes #13649 2025-09-10 09:46:39 -04:00
Julian Lam
527f27af29 fix: make auto-categorization logic case-insensitive 2025-09-08 12:00:32 -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
Barış Soner Uşaklı
290a9395c0 fix: pass object to.auth 2025-09-06 13:47:46 -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
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
e6996846ac fix: use existing id if checkHeader returns false 2025-09-04 11:20:17 -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
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
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
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
680 changed files with 10829 additions and 2745 deletions

View File

@@ -16,14 +16,28 @@ 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
- os: ubuntu-24.04-arm
platforms: linux/arm/v7
required: false
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@v5
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -34,24 +48,11 @@ 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 }}
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}.x
type=raw,value=latest,enable={{is_default_branch}}
type=ref,event=branch,enable=${{ github.event.repository.default_branch != github.ref }}
type=raw,value=${{ env.CURRENT_DATE_NST }}
flavor: |
latest=true
images: ${{ env.IMAGE }}
- name: Cache node_modules
id: cache-node-modules
@@ -61,12 +62,73 @@ jobs:
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: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.meta.outputs.tags }}
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@v4
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@v4
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}}
type=semver,pattern={{major}}.x
type=raw,value=latest,enable={{is_default_branch}}
type=ref,event=branch,enable=${{ github.event.repository.default_branch != github.ref }}
type=raw,value=${{ env.CURRENT_DATE_NST }}
flavor: |
latest=true
- 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

@@ -63,7 +63,7 @@ jobs:
- 5432:5432
redis:
image: 'redis:8.0.1'
image: 'redis:8.2.1'
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
@@ -81,7 +81,7 @@ jobs:
- 27017:27017
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- run: cp install/package.json package.json

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

View File

@@ -1,3 +1,749 @@
#### v4.5.1 (2025-09-04)
##### Chores
* up dbsearch (c07e81d2)
* incrementing version number - v4.5.0 (f05c5d06)
* update changelog for v4.5.0 (86d03b1e)
* incrementing version number - v4.4.6 (074043ad)
* incrementing version number - v4.4.5 (6f106923)
* incrementing version number - v4.4.4 (d323af44)
* incrementing version number - v4.4.3 (d354c2eb)
* incrementing version number - v4.4.2 (55c510ae)
* incrementing version number - v4.4.1 (5ae79b4e)
* incrementing version number - v4.4.0 (0a75eee3)
* incrementing version number - v4.3.2 (b92b5d80)
* incrementing version number - v4.3.1 (308e6b9f)
* incrementing version number - v4.3.0 (bff291db)
* incrementing version number - v4.2.2 (17fecc24)
* incrementing version number - v4.2.1 (852a270c)
* incrementing version number - v4.2.0 (87581958)
* incrementing version number - v4.1.1 (b2afbb16)
* incrementing version number - v4.1.0 (36c80850)
* incrementing version number - v4.0.6 (4a52fb2e)
* incrementing version number - v4.0.5 (1792a62b)
* incrementing version number - v4.0.4 (b1125cce)
* incrementing version number - v4.0.3 (2b65c735)
* incrementing version number - v4.0.2 (73fe5fcf)
* incrementing version number - v4.0.1 (a461b758)
* incrementing version number - v4.0.0 (c1eaee45)
##### New Features
* use _variables.scss overrides from acp in custom skins and bootswatch skins as well (0c48e0e9)
##### Bug Fixes
* remove unused dependency (8d7e3537)
* remove test for 1b12 announce on topic move (as this no longer occurs) (9221d34f)
* use existing id if checkHeader returns false (e6996846)
* regression that caused Piefed (or potentially others) content to be dropped on receipt (86d9016f)
* remove faulty code that tried to announce a remote object but couldn't as the ID was not a number (7adfe39e)
#### v4.5.0 (2025-09-03)
##### Chores
* **deps:**
* pin dependency @stylistic/eslint-plugin to 5.3.1 (#13634) (4ade6007)
* update dependency sass-embedded to v1.91.0 (#13614) (e504ee34)
* update dependency @eslint/js to v9.34.0 (#13612) (dfc558cd)
* update redis docker tag to v8.2.1 (#13603) (02228c04)
* update dependency lint-staged to v16.1.5 (#13585) (f4f7953a)
* update postgres docker tag to v17.6 (#13599) (62d15a0e)
* update dependency @eslint/js to v9.33.0 (#13589) (bfdf47b6)
* update actions/checkout action to v5 (#13590) (311bbefa)
* update dependency sass-embedded to v1.90.0 (#13581) (c8694333)
* update dependency lint-staged to v16.1.4 (#13575) (34ecdf20)
* update redis docker tag to v8.2.0 (#13577) (25bc9ba0)
* update dependency @eslint/js to v9.31.0 (#13545) (97a5d543)
* update redis docker tag to v8.0.3 (#13539) (1b80910e)
* update dependency @eslint/js to v9.30.1 (#13524) (6d7df13f)
* update dependency @eslint/js to v9.30.0 (#13519) (15ea1233)
* update dependency smtp-server to v3.14.0 (#13515) (a41d2c0b)
* update dependency mocha to v11.7.1 (#13509) (bbacd8f6)
* update dependency mocha to v11.7.0 (#13502) (0a0dd1c1)
* update dependency @eslint/js to v9.29.0 (#13491) (2046ca72)
* update dependency lint-staged to v16.1.2 (#13492) (d6ba7930)
* update dependency sass-embedded to v1.89.2 (#13482) (f5651787)
* update dependency mocha to v11.6.0 (#13479) (9b4082dc)
* update dependency smtp-server to v3.13.8 (#13464) (d239125f)
* update redis docker tag to v8.0.2 (#13465) (166aaa7a)
* update dependency @eslint/js to v9.28.0 (#13469) (b3170c9c)
* update dependency sass-embedded to v1.89.1 (#13463) (32f13162)
* update dependency lint-staged to v16.1.0 (#13449) (6efe3fdd)
* update dependency mocha to v11.5.0 (#13442) (c1846475)
* update dependency smtp-server to v3.13.7 (#13437) (136e8814)
* update dependency sass-embedded to v1.89.0 (#13425) (aa977282)
* update dependency mocha to v11.4.0 (#13435) (5d017710)
* update dependency mocha to v11.3.0 (#13426) (650eeac9)
* update dependency @eslint/js to v9.27.0 (#13429) (475b0704)
* **i18n:**
* fallback strings for new resources: nodebb.admin-settings-activitypub (cb00fb3b)
* fallback strings for new resources: nodebb.admin-manage-categories, nodebb.admin-settings-activitypub (40bda8fc)
* fallback strings for new resources: nodebb.social (eeabc990)
* fallback strings for new resources: nodebb.admin-dashboard (5d16fdc9)
* fallback strings for new resources: nodebb.admin-development-info (59c1ce85)
* fallback strings for new resources: nodebb.admin-development-info (5b54e926)
* fallback strings for new resources: nodebb.modules (f5aca114)
* fallback strings for new resources: nodebb.error (efb14ead)
* fallback strings for new resources: nodebb.error (e1eb76fe)
* enable dbsearch on new installs (567f453b)
* up peace (fdd0152e)
* up harmony (6d60f945)
* use fontsource-utils/scss to get rid of deprecation warning (44c0413c)
* up eslibt (e68deaac)
* up widget essentials (e7b47995)
* incrementing version number - v4.4.6 (074043ad)
* update changelog for v4.4.6 (3895a059)
* incrementing version number - v4.4.5 (6f106923)
* up eslint (637373e3)
* up dbsearch (dae81b76)
* up eslint-plugin (18d6e5e1)
* up eslint (c056bf56)
* remove logs (0315e369)
* incrementing version number - v4.4.4 (d323af44)
* incrementing version number - v4.4.3 (d354c2eb)
* up eslint (536ae9d6)
* incrementing version number - v4.4.2 (55c510ae)
* eslint config (0d595008)
* incrementing version number - v4.4.1 (5ae79b4e)
* incrementing version number - v4.4.0 (0a75eee3)
* incrementing version number - v4.3.2 (b92b5d80)
* incrementing version number - v4.3.1 (308e6b9f)
* incrementing version number - v4.3.0 (bff291db)
* incrementing version number - v4.2.2 (17fecc24)
* incrementing version number - v4.2.1 (852a270c)
* incrementing version number - v4.2.0 (87581958)
* incrementing version number - v4.1.1 (b2afbb16)
* incrementing version number - v4.1.0 (36c80850)
* incrementing version number - v4.0.6 (4a52fb2e)
* incrementing version number - v4.0.5 (1792a62b)
* incrementing version number - v4.0.4 (b1125cce)
* incrementing version number - v4.0.3 (2b65c735)
* incrementing version number - v4.0.2 (73fe5fcf)
* incrementing version number - v4.0.1 (a461b758)
* incrementing version number - v4.0.0 (c1eaee45)
##### Continuous Integration
* use native arm runners for building docker images (#13627) (931b7345)
##### Documentation Changes
* add missing routes to openapi schema (0f44034e)
* openapi typo (560cc2eb)
* update openapi schema for relays and rules (a9a12a9f)
* openapi schema fixes for auto-categorization commits (c0248ca5)
##### New Features
* use sbd to more intelligently put together a sub-500 character summary based on existing sentences in post content (35641f37)
* add sbd dependency to improve title generation (and for summary generation, later) (82686322)
* send local posts out to established relays (aa26dfb3)
* relay handshake logic, handle Follow/Accept, send back Accept. (f4d1df7c)
* adding and removing relays from AP settings page in ACP (1e0fb20d)
* apply auto-categorization logic (165af50d)
* ability to add/remove auto-categorization rules for incoming federated content (bdcf28a3)
* re-jigger 'add category' button to allow addition of remote category to main index (75639c86)
* add Urdu localisation, thank you! (8c6992f5)
* add wordpress (82037dee)
* add wordpress (c10656ec)
* only mark notifications read that match current filter (9d39ed51)
* closes #13578, increase uniquevisitors (e1423636)
* add new brite skin from bootswatch (e851a523)
* add filter:post.getDiffs (97d4994a)
* add filter:post.getDiffs (90a65129)
* add expose-gc flag to loader (bba18e31)
* add ap pageviews analytics (559a2d23)
* add heap snapshot (f88329db)
* add option to toggle chat join/leave message (92a3859f)
* add protection mechanism to request lib so that network requests to reserved IP ranges throw an error (9d3b8c3a)
##### Bug Fixes
* **deps:**
* update dependency satori to v0.18.2 (#13628) (2dc39f1e)
* update dependency ace-builds to v1.43.3 (#13633) (7adabd60)
* update dependency nodemailer to v7.0.6 (#13630) (07b9cd16)
* update dependency mongodb to v6.19.0 (#13619) (6d856545)
* update dependency sass to v1.91.0 (#13615) (08ea56bd)
* update dependency bootstrap to v5.3.8 (#13618) (29a7402f)
* update dependency nodebb-theme-harmony to v2.1.17 (#13607) (2f4cf26c)
* update dependency nodebb-theme-peace to v2.2.47 (#13608) (8af76f3c)
* update dependency redis to v5.8.2 (#13606) (138c6753)
* update dependency webpack to v5.101.3 (#13602) (996740bd)
* update dependency webpack to v5.101.2 (#13598) (90bddccb)
* update dependency nodebb-widget-essentials to v7.0.40 (#13597) (f5b0444b)
* update dependency tough-cookie to v6 (#13600) (ceb65d13)
* update dependency esbuild to v0.25.9 (#13593) (9ef4cfa2)
* update dependency redis to v5.8.1 (#13594) (0f72b8cd)
* update dependency webpack to v5.101.1 (#13588) (c67aa43f)
* update dependency sass to v1.90.0 (#13582) (abf7dd74)
* update dependency fs-extra to v11.3.1 (#13579) (5ce556d4)
* update dependency redis to v5.8.0 (#13580) (3c3e4486)
* update dependency redis to v5.7.0 (#13570) (27d60a19)
* update dependency cron to v4.3.3 (#13573) (0b4efa14)
* update dependency satori to v0.16.2 (#13569) (70d3a29c)
* update dependency webpack to v5.101.0 (#13567) (6fc8dfa9)
* update dependency satori to v0.16.1 (#13560) (2d1a5fea)
* update dependency redis to v5.6.1 (#13564) (1262aee8)
* update dependency mongodb to v6.18.0 (#13563) (8e9d3843)
* update dependency esbuild to v0.25.8 (#13559) (6a732e36)
* update dependency esbuild to v0.25.7 (#13557) (1697e36f)
* update dependency express-session to v1.18.2 (#13554) (0eb0a67a)
* update dependency morgan to v1.10.1 (#13555) (0e457f15)
* update dependency multer to v2.0.2 (#13556) (35ca0e3b)
* update dependency compression to v1.8.1 (#13553) (12b9f4c7)
* update dependency ace-builds to v1.43.2 (#13548) (57564190)
* update dependency webpack to v5.100.2 (#13549) (0b398bba)
* update dependency webpack to v5.100.1 (#13544) (d8c26bec)
* update dependency cron to v4.3.2 (#13546) (e838bb26)
* update dependency nodebb-theme-peace to v2.2.46 (#13542) (e4f56e83)
* update dependency webpack to v5.100.0 (#13541) (4a5a4fe6)
* update dependency redis to v5.6.0 (#13540) (a6cb933b)
* update dependency esbuild to v0.25.6 (#13538) (8960fdb3)
* update dependency nodemailer to v7.0.5 (#13537) (c6f4148b)
* update dependency nodebb-theme-peace to v2.2.45 (#13529) (991f518e)
* update dependency nodebb-plugin-web-push to v0.7.5 (#13523) (ceae2aa1)
* update dependency ace-builds to v1.43.1 (#13525) (aba2ddad)
* update dependency nodemailer to v7.0.4 (#13522) (f1fbea7b)
* update dependency pg to v8.16.3 (#13517) (fd82919e)
* update dependency workerpool to v9.3.3 (#13518) (655a3bd3)
* update dependency pg-cursor to v2.15.3 (#13516) (6e5083c2)
* update dependency pg to v8.16.2 (#13505) (d2f0944e)
* update dependency nodebb-theme-peace to v2.2.44 (#13514) (59090931)
* update dependency nodebb-theme-harmony to v2.1.16 (#13513) (4be2e82b)
* update dependency bootswatch to v5.3.7 (#13510) (1eefaf5c)
* update dependency pg-cursor to v2.15.2 (#13506) (10f7b49b)
* update dependency ace-builds to v1.43.0 (#13507) (e360f649)
* update dependency pg-cursor to v2.15.1 (#13504) (3b364ba1)
* update dependency pg to v8.16.1 (#13503) (819e2805)
* update dependency bootstrap to v5.3.7 (#13499) (e84fc739)
* update dependency connect-redis to v9 (#13497) (d3faff36)
* update dependency chart.js to v4.5.0 (#13495) (f36a5ac8)
* update dependency postcss to v8.5.6 (#13494) (703fcbbf)
* update dependency postcss to v8.5.5 (#13490) (c101d0d5)
* update dependency sass to v1.89.2 (#13487) (442c6e71)
* update dependency nodebb-plugin-emoji to v6.0.3 (#13486) (efcbbf29)
* update dependency serve-favicon to v2.5.1 (#13488) (d2a7eecb)
* update dependency @fontsource/inter to v5.2.6 (#13477) (c04bd7cc)
* update dependency satori to v0.15.2 (#13481) (78ebe298)
* update dependency satori to v0.14.0 (#13476) (29afcd36)
* update dependency workerpool to v9.3.2 (#13452) (6b33b1f4)
* update dependency satori to v0.13.2 (#13468) (44d1a17b)
* update dependency postcss to v8.5.4 (#13453) (1c432925)
* update dependency multer to v2.0.1 (#13466) (d0060e5d)
* update dependency sass to v1.89.1 (#13467) (602417d0)
* update dependency ace-builds to v1.42.0 (#13470) (c363b84e)
* update dependency mongodb to v6.17.0 (#13471) (a3cc99a2)
* update dependency cron to v4.3.1 (#13457) (3694f655)
* update dependency validator to v13.15.15 (#13451) (36f0cf25)
* update dependency esbuild to v0.25.5 (#13447) (6a5bbe92)
* update dependency nodebb-plugin-dbsearch to v6.2.18 (#13445) (3ca6a9bc)
* update dependency bootbox to v6.0.4 (#13443) (e3a7fb5c)
* update dependency diff to v8.0.2 (#13440) (76a624b9)
* update dependency commander to v14 (#13434) (1d624aad)
* update dependency webpack to v5.99.9 (#13438) (314a4ff0)
* update dependency connect-redis to v8.1.0 (#13433) (ee8e223f)
* update dependency nodebb-plugin-dbsearch to v6.2.17 (#13432) (42f16da5)
* update dependency sass to v1.89.0 (#13427) (2417a79b)
* display proper id if lock fails (19aa8a71)
* closes #13624, update post fields before schedule code (9d4a9b83)
* #13622, WordPress blog URLs not asserting properly (4ef605b1)
* closes #13625, fix utils.params so it works with relative_paths (a0e78ff8)
* remove webfinger error log (a0be4a28)
* urlencoded param in openapi spec example (5f7085f3)
* re-ordering dependencies because raisins (cbdc90a4)
* missed a tab character (788301a5)
* random hotkeys adding dependencies to my project smh (771b8dcb)
* parseAndTranslate bug (40973ca7)
* internationalize relay states (6576468e)
* minor fixes for yukimochi/Activity-Relay compatibility (28b63891)
* inbox.announce to not reject activities from relays (b1dbb19c)
* handle webfinger responses with subject missing scheme (4967492f)
* closes #13501 (bf279d71)
* closes #13620 (027d6f30)
* rare crash if queued item is no longer in db but id is in post:queue (e79dfeb7)
* jquery selector on post edit (f5ad7862)
* relative paths in openapi schema (a771b17f)
* add missing routes to write.yaml (e8401472)
* only process unique slugs (312df523)
* remove special-case logic that added a requested object to a topic if its defined context didn't actually contain it (70d7e329)
* return null if field is falsy (09898b94)
* mark-all read notifications button (c16f9d64)
* catch exceptions in assertPayload, closes #13611 (9bdf24f0)
* add missing files (057e3b79)
* add missing file to ur language folder (ecab347b)
* regression caused by cc6fd49c4d2ddc6970ea23011dece5ba91517ec0 (06c38247)
* protocol-relative URLs being accidentally munged, #13592 (cc6fd49c)
* cache lookup error when doing loopback calls (67389639)
* image handling when image url received is not a path with an extension (b4ff7906)
* readd retry items (c6889f08)
* set noindex tag on remote profiles as well (fe160160)
* duplicate canonical link header (c8ad0867)
* add rel canonical to remote user profiles (8ce5498f)
* ap queue id to use payload.type payload.id (a8bf4ea0)
* clearTimeout if item is evicted from cache (0997fbfa)
* sometimes summary is null/undefined (65364bfa)
* don't translate text on admin logs page (f6ed7ec2)
* change the client side reloginTimer to match setting (c43c3533)
* redis connect host/port (eac3d0a0)
* closes #13558, override/extend json opts from config.json (25c24298)
* add missing cache name (3f520c33)
* add missing ap pageview middleware (01f2effc)
* set to empty string if undefined (0ef98ec4)
* make clickable element anchor (dbed2db9)
* for attribute, remove upload trigger when click inputs (329f98d5)
* check topic and thumbs (72fec565)
* closes #13526, dont send multiple emails when user is invited (5a5ca8a5)
* pubsub on node-redis (f7f70468)
* typo (2280ea88)
* ensure check returns false if no addresses are looked up, fix bug where cached value got changed accidentally (6478532b)
* wrap cached returns for dns lookups in nextTick (010113a9)
* #13459, unread indicators for remote categories (6411c197)
* further guard against DNS rebinding attack (a8e613e1)
* undefined check, allow plugins to append to allow list (70c04f0c)
* simplify dns to use .lookup instead of .resolve4 and .resolve6, automatically allow requests to own hostname (df360216)
* return 200 for non-implemented activities instead of 501 (fcb3bfbc)
* remove null categories (28c021a0)
* patch ap .probe() so that it does not execute on requests for its own resources (a80edfa1)
* bring back auto-categorization if group and object are same-origin, handle Peertube putting channel names in `attributedTo` (8f933459)
##### Other Changes
* fix comma dangle (d4bf5f0c)
* fix lint issue (5dfd2413)
* remove unused url (076cc9e8)
##### Refactors
* revert, don't need to pass relative_path (f67265da)
* leaner utils.params for relative path (648c4543)
* remove invalid queued items (b73ee309)
* braces (f83d2536)
* add missing awaits (5ee1fd02)
* category listing logic to allow remote categories to be added, disabled, and re-arranged in main forum index (cb0b6092)
* show code/stack when dep check fails (f8733e06)
* dont del if cache disabled (bc40d79c)
* remove old arg (8305a742)
* if user.delete fails in actor prune (d5f6d158)
* use promise.all (472df3aa)
* use promise.all (6eab44a0)
* move ap retry queue from lru cache to db (#13568) (b3a4a128)
* log uid that failed (de71cc63)
* change default teaser to last-post (8ba230a2)
* copy session/headers when building req (e4a0160e)
* show both days and hours (1d7c32a5)
* add missing cache name (272008bb)
* another missing cache name (0fdde132)
* add names to caches, add max to request cache (a08551a5)
* closes #13547, process user uploads via batch (1ad97ac1)
* move post uploads to post hash (#13533) (24e7cf4a)
* parallel socket.io adapter (0b9bfc1c)
* use strings for cids (57a5de26)
##### Reverts
* remove heapdump (e74996fb)
##### Tests
* delete commented-out test (70bbed93)
* add timeout to ap.helpers.query (8f7411c3)
* more logs (8e160fe0)
* add more logs (f703a94b)
* add more logs (681ce8bf)
* debug timeout (029da6c5)
* more logs for failing test (79c6e72c)
* catch error in failing test (69a6c150)
* sharp invalid png (1ea10eff)
* latest sharp (3cdf28bd)
* add logs for test that's timing out (15155809)
* use protocol of test runner (04815497)
* fix notification tests (f8a0a7e1)
* one more fix (95f6688c)
* fix spec (7393bdd4)
* fix openapi (1071ac0c)
* fix meta test (1776bd1d)
* test fixes for default teaser change (8eedb38a)
* add openapi spec (020e0ad1)
* try timeout again (27aab921)
* disable timeout (930ff21f)
* psql fix (85e2d7d3)
* one more test fix (22d1972f)
* fix test, add joinLeaveMessages to newRoom (7acd63c2)
* increase timeout (fa31ba05)
* on more (1a85fafb)
* testing timeout on failing test (82c8034c)
* remove ci env (39d243b0)
* add a null field test (1fc91d5e)
#### v4.4.6 (2025-08-06)
##### Chores
* incrementing version number - v4.4.5 (6f106923)
* update changelog for v4.4.5 (de05dad2)
* incrementing version number - v4.4.4 (d323af44)
* incrementing version number - v4.4.3 (d354c2eb)
* incrementing version number - v4.4.2 (55c510ae)
* incrementing version number - v4.4.1 (5ae79b4e)
* incrementing version number - v4.4.0 (0a75eee3)
* incrementing version number - v4.3.2 (b92b5d80)
* incrementing version number - v4.3.1 (308e6b9f)
* incrementing version number - v4.3.0 (bff291db)
* incrementing version number - v4.2.2 (17fecc24)
* incrementing version number - v4.2.1 (852a270c)
* incrementing version number - v4.2.0 (87581958)
* incrementing version number - v4.1.1 (b2afbb16)
* incrementing version number - v4.1.0 (36c80850)
* incrementing version number - v4.0.6 (4a52fb2e)
* incrementing version number - v4.0.5 (1792a62b)
* incrementing version number - v4.0.4 (b1125cce)
* incrementing version number - v4.0.3 (2b65c735)
* incrementing version number - v4.0.2 (73fe5fcf)
* incrementing version number - v4.0.1 (a461b758)
* incrementing version number - v4.0.0 (c1eaee45)
##### New Features
* add new brite skin from bootswatch (567ed875)
##### Bug Fixes
* pass max-memory expose-gc as process args (d5f57af3)
#### v4.4.5 (2025-07-31)
##### Chores
* **config:** migrate config renovate.json (#13565) (5a864150)
* incrementing version number - v4.4.4 (d323af44)
* update changelog for v4.4.4 (7b14e267)
* incrementing version number - v4.4.3 (d354c2eb)
* incrementing version number - v4.4.2 (55c510ae)
* incrementing version number - v4.4.1 (5ae79b4e)
* incrementing version number - v4.4.0 (0a75eee3)
* incrementing version number - v4.3.2 (b92b5d80)
* incrementing version number - v4.3.1 (308e6b9f)
* incrementing version number - v4.3.0 (bff291db)
* incrementing version number - v4.2.2 (17fecc24)
* incrementing version number - v4.2.1 (852a270c)
* incrementing version number - v4.2.0 (87581958)
* incrementing version number - v4.1.1 (b2afbb16)
* incrementing version number - v4.1.0 (36c80850)
* incrementing version number - v4.0.6 (4a52fb2e)
* incrementing version number - v4.0.5 (1792a62b)
* incrementing version number - v4.0.4 (b1125cce)
* incrementing version number - v4.0.3 (2b65c735)
* incrementing version number - v4.0.2 (73fe5fcf)
* incrementing version number - v4.0.1 (a461b758)
* incrementing version number - v4.0.0 (c1eaee45)
##### New Features
* add filter:post.getDiffs (bbb9a460)
##### Bug Fixes
* clearTimeout if item is evicted from cache (5f696176)
* use sharp to convert svg to png, closes #13534 (b74c7898)
* use filename to check for svg, tempPath doesn't always have extension (5bcf078a)
* apply sanitizeSvg to regular uploads and uploads from manage uploads acp page (a8f4c5e6)
##### Refactors
* use promise.all (7c00e814)
##### Tests
* one more fix (5f5a6972)
* fix spec (3b609316)
* fix openapi (c7c83e0e)
* increase timeout of failing test (fe9b49e3)
#### v4.4.4 (2025-06-18)
##### Chores
* incrementing version number - v4.4.3 (d354c2eb)
* update changelog for v4.4.3 (0c9297f8)
* incrementing version number - v4.4.2 (55c510ae)
* incrementing version number - v4.4.1 (5ae79b4e)
* incrementing version number - v4.4.0 (0a75eee3)
* incrementing version number - v4.3.2 (b92b5d80)
* incrementing version number - v4.3.1 (308e6b9f)
* incrementing version number - v4.3.0 (bff291db)
* incrementing version number - v4.2.2 (17fecc24)
* incrementing version number - v4.2.1 (852a270c)
* incrementing version number - v4.2.0 (87581958)
* incrementing version number - v4.1.1 (b2afbb16)
* incrementing version number - v4.1.0 (36c80850)
* incrementing version number - v4.0.6 (4a52fb2e)
* incrementing version number - v4.0.5 (1792a62b)
* incrementing version number - v4.0.4 (b1125cce)
* incrementing version number - v4.0.3 (2b65c735)
* incrementing version number - v4.0.2 (73fe5fcf)
* incrementing version number - v4.0.1 (a461b758)
* incrementing version number - v4.0.0 (c1eaee45)
##### New Features
* link to post in preview timestamp (8c69c6a0)
* Add live reload functionality with Grunt watch and Socket.IO (#13489) (84d99a0f)
* closes #13484, post preview changes (14e30c4b)
##### Bug Fixes
* sanitize svg when uploading site-logo, default avatar and og:image (da2597f8)
* Revise package hash check in Docker entrypoint.sh (#13483) (6c5b2268)
* more edge cases (32faaba0)
* #13484, clear tooltip if cursor leaves link (0ebb31fe)
##### Other Changes
* fix lint (8ab034d8)
##### Refactors
* send single message (dc37789b)
#### v4.4.3 (2025-06-09)
##### Chores
* up composer (5f51dfc4)
* incrementing version number - v4.4.2 (55c510ae)
* update changelog for v4.4.2 (6d40a211)
* incrementing version number - v4.4.1 (5ae79b4e)
* incrementing version number - v4.4.0 (0a75eee3)
* incrementing version number - v4.3.2 (b92b5d80)
* incrementing version number - v4.3.1 (308e6b9f)
* incrementing version number - v4.3.0 (bff291db)
* incrementing version number - v4.2.2 (17fecc24)
* incrementing version number - v4.2.1 (852a270c)
* incrementing version number - v4.2.0 (87581958)
* incrementing version number - v4.1.1 (b2afbb16)
* incrementing version number - v4.1.0 (36c80850)
* incrementing version number - v4.0.6 (4a52fb2e)
* incrementing version number - v4.0.5 (1792a62b)
* incrementing version number - v4.0.4 (b1125cce)
* incrementing version number - v4.0.3 (2b65c735)
* incrementing version number - v4.0.2 (73fe5fcf)
* incrementing version number - v4.0.1 (a461b758)
* incrementing version number - v4.0.0 (c1eaee45)
##### Bug Fixes
* escape, query params (b02eb57d)
* closes #13475, don't store escaped username (806e54bf)
#### v4.4.2 (2025-06-02)
##### Chores
* up eslint stylistic (fd2ae726)
* up dbsearch (e2de0ec2)
* up dbsearch (30aa0fe6)
* up harmony (99234b3f)
* up harmony (a16bc738)
* incrementing version number - v4.4.1 (5ae79b4e)
* update changelog for v4.4.1 (a686cf20)
* incrementing version number - v4.4.0 (0a75eee3)
* incrementing version number - v4.3.2 (b92b5d80)
* incrementing version number - v4.3.1 (308e6b9f)
* incrementing version number - v4.3.0 (bff291db)
* incrementing version number - v4.2.2 (17fecc24)
* incrementing version number - v4.2.1 (852a270c)
* incrementing version number - v4.2.0 (87581958)
* incrementing version number - v4.1.1 (b2afbb16)
* incrementing version number - v4.1.0 (36c80850)
* incrementing version number - v4.0.6 (4a52fb2e)
* incrementing version number - v4.0.5 (1792a62b)
* incrementing version number - v4.0.4 (b1125cce)
* incrementing version number - v4.0.3 (2b65c735)
* incrementing version number - v4.0.2 (73fe5fcf)
* incrementing version number - v4.0.1 (a461b758)
* incrementing version number - v4.0.0 (c1eaee45)
##### New Features
* add action:post-queue.save (ebb88c12)
* restrict access to ap.probe method to registered users, add rate limiting protection (e70e990a)
##### Bug Fixes
* return 200 for non-implemented activities instead of 501 (524a1e8b)
* closes #13458, check if plugin is system (b1022566)
* add try..catch around topics.post in note assertion logic (cc927026)
* don't throw on unknown post on Undo(Like) (83a55f6a)
* add try..catch wrapper around Announce(Like) call to internal method so as to not return a 500 — just drop the Like activity (629eec7b)
* browser title translation (390f6428)
* allow guests to load topic tools if they have privilege to view them (78de8c6d)
* closes #13454, align dropdowns to opposite side on rtl (72417d82)
* send actor in undo(follow) (49b5268e)
* missed handling zset on ap unfollow (b20a6ed0)
* additional tests for remote privileges, enforcing privileges for remote edits and deletes (a888b868)
##### Tests
* fix groups:find webfinger test (0c1a6183)
#### v4.4.1 (2025-05-16)
##### Chores
* up themes (61a63851)
* incrementing version number - v4.4.0 (0a75eee3)
* update changelog for v4.4.0 (09cc91d5)
* incrementing version number - v4.3.2 (b92b5d80)
* incrementing version number - v4.3.1 (308e6b9f)
* incrementing version number - v4.3.0 (bff291db)
* incrementing version number - v4.2.2 (17fecc24)
* incrementing version number - v4.2.1 (852a270c)
* incrementing version number - v4.2.0 (87581958)
* incrementing version number - v4.1.1 (b2afbb16)
* incrementing version number - v4.1.0 (36c80850)
* incrementing version number - v4.0.6 (4a52fb2e)
* incrementing version number - v4.0.5 (1792a62b)
* incrementing version number - v4.0.4 (b1125cce)
* incrementing version number - v4.0.3 (2b65c735)
* incrementing version number - v4.0.2 (73fe5fcf)
* incrementing version number - v4.0.1 (a461b758)
* incrementing version number - v4.0.0 (c1eaee45)
##### New Features
* save width and height values into post attachment (3674fa57)
* use local date string for digest subject (3d96afb2)
##### Bug Fixes
* openapi schema to handle additional `attachments` field in postsobject (ce5ef1ab)
* group edit url (0a574d72)
* add attachments to getpostsummaries call in search, #13324 (8f9f3771)
* bring back auto-categorization if group and object are same-origin, handle Peertube putting channel names in `attributedTo` (a460a550)
* #13419, handle remote content with mediaType text/markdown (45a11d45)
##### Refactors
* create date once per digest.send (6c3e2a8e)
##### Tests
* fix tests to account for a460a55064e1280f36a0021e0510c7c557251030 (948bfe46)
#### v4.4.0 (2025-05-14)
##### Breaking Changes
* removal of deprecated privilege hooks (8ea377a4)
* removal of `filter:flags.getFilters` (547fb482)
* removal of `filter:user.verify.code` (7e25946c)
* removal of `filter:post.purge` (df5c1a93)
* removal of `filter:post.purge` (c84b72fb)
* removal of `filter:router.page` (9d8061ea)
* removal of `filter:email.send` (b73a8d3e)
##### Chores
* **deps:**
* update redis docker tag to v8.0.1 (#13415) (fbe97b4e)
* update redis docker tag to v8 (#13387) (1df7313c)
* update postgres docker tag to v17.5 (#13398) (d319b0aa)
* update dependency sass-embedded to v1.88.0 (#13402) (694c79bc)
* update dependency lint-staged to v16 (#13404) (9d877481)
* update commitlint monorepo to v19.8.1 (#13394) (7a7a4f0a)
* update dependency lint-staged to v15.5.2 (#13383) (96dc5c89)
* update dependency @eslint/js to v9.26.0 (#13371) (450ce3b8)
* update dependency mocha to v11.2.2 (#13366) (e958010f)
* incrementing version number - v4.3.2 (b92b5d80)
* update changelog for v4.3.2 (0aa9c187)
* incrementing version number - v4.3.1 (308e6b9f)
* remove unused require (15b6a2c1)
* incrementing version number - v4.3.0 (bff291db)
* incrementing version number - v4.2.2 (17fecc24)
* incrementing version number - v4.2.1 (852a270c)
* incrementing version number - v4.2.0 (87581958)
* incrementing version number - v4.1.1 (b2afbb16)
* incrementing version number - v4.1.0 (36c80850)
* incrementing version number - v4.0.6 (4a52fb2e)
* incrementing version number - v4.0.5 (1792a62b)
* incrementing version number - v4.0.4 (b1125cce)
* incrementing version number - v4.0.3 (2b65c735)
* incrementing version number - v4.0.2 (73fe5fcf)
* incrementing version number - v4.0.1 (a461b758)
* incrementing version number - v4.0.0 (c1eaee45)
##### Documentation Changes
* remove since-removed `labels` property from api (860ac895)
##### Bug Fixes
* adjust Peertube-specific handling to shove mp4 into post attachments, #13324 (799b08db)
* #13081, don't add mention when you are replying to yourself (d5865613)
* add `announces` to postdataobject schema (0f576a42)
* #13375, plus additional tests (fe13c755)
* missing awaits, more comprehensive 1b12 tests (5802c7dd)
* another case (6bfe4e62)
* handle missing orderedItems property in followers route (e042201f)
* missing await (651ebaaf)
* handle missing orderedItems (53bb0bbc)
* extra `orderedItems` property in generated paginated OrderedCollection, #13153 (f83b1fbf)
* #13153, follower and following collections to use generateCollection helper (a2de7aae)
* #13374, updates to posts.edit to handle remote content updates better (b4338489)
* leftover `handle` var (625ce96f)
* AP inbox update handling for non-note objects (f8d012c8)
* 1b12 creates being dropped (9f80d10d)
* update AP api (un)follow ids to be url encoded id instead of handle (7cf61ab0)
* **deps:**
* update dependency diff to v8 (#13409) (919d62ab)
* update dependency sanitize-html to v2.17.0 (#13418) (3e18af1e)
* update dependency satori to v0.13.1 (#13408) (f176d6b2)
* update dependency pg-cursor to v2.15.0 (#13414) (7320a858)
* update dependency nodebb-plugin-markdown to v13.2.1 (#13416) (84b8ecc7)
* update dependency semver to v7.7.2 (#13410) (366651d6)
* update dependency pg to v8.16.0 (#13411) (0825c569)
* update dependency nodebb-plugin-mentions to v4.7.6 (#13417) (383a7ce5)
* update dependency lru-cache to v11 (#12685) (23374fd7)
* update dependency rimraf to v6 (#12686) (6a4ffe02)
* update dependency bootswatch to v5.3.6 (#13400) (7a7cf830)
* update dependency csrf-sync to v4.2.1 (#13401) (ecce9998)
* update dependency sass to v1.88.0 (#13403) (7ffba218)
* update dependency nodemailer to v7.0.3 (#13395) (af3afba0)
* update dependency nodemailer to v7 (#13381) (0b4d403c)
* update dependency csrf-sync to v4.2.0 (#13364) (4f0f67a4)
* update dependency webpack to v5.99.8 (#13390) (c7a164ae)
* update dependency bootstrap to v5.3.6 (#13384) (e6a19612)
* update dependency esbuild to v0.25.4 (#13385) (b6f4de5b)
* update dependency @fontsource/poppins to v5.2.6 (#13376) (e2a8cf98)
* update dependency nodebb-plugin-mentions to v4.7.5 (#13386) (2c0aba02)
* update dependency nodebb-widget-essentials to v7.0.38 (#13380) (7f757615)
* update dependency nodebb-theme-persona to v14.1.11 (#13379) (954aa541)
* update dependency nodebb-theme-peace to v2.2.42 (#13378) (2aa0bfc5)
* update dependency nodebb-theme-harmony to v2.1.12 (#13377) (72b3a215)
* update dependency ace-builds to v1.41.0 (#13372) (4b78710b)
* bump markdown (f3bd8590)
##### Other Changes
* //github.com/NodeBB/NodeBB/issues/13367 (39953ee1)
##### Refactors
* use a single until (1b0b1da6)
* Helpers.generateCollection so that total count and a bound function can be passed in, #13153 (7f59238d)
##### Tests
* a few additional tests for announce handling (61f6806b)
* fix regression from 5802c7ddd9506a4e296f6dbdf2d9a32621c7f4ef (5b118904)
* fix broken test due to adjusted note assertion relation logic (9dc91f11)
* update filter:router.page tests to response:router.page (a819d39c)
* adjustment for now-removed labels property (52df41b9)
#### v4.3.2 (2025-05-12)
##### Chores

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

@@ -40,7 +40,7 @@ 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 20 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 3.6 or greater **or** Redis, version 2.8.9 or greater
* 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

@@ -14,7 +14,7 @@ services:
- ./install/docker/setup.json:/usr/src/app/setup.json
postgres:
image: postgres:17.5-alpine
image: postgres:17.6-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb
@@ -24,7 +24,7 @@ services:
- postgres-data:/var/lib/postgresql/data
redis:
image: redis:8.0.1-alpine
image: redis:8.2.1-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:8.0.1-alpine
image: redis:8.2.1-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:8.0.1-alpine
image: redis:8.2.1-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.5-alpine
image: postgres:17.6-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb

View File

@@ -5,7 +5,7 @@ import publicConfig from 'eslint-config-nodebb/public';
import commonRules from 'eslint-config-nodebb/common';
import { defineConfig } from 'eslint/config';
import stylisticJs from '@stylistic/eslint-plugin-js'
import stylisticJs from '@stylistic/eslint-plugin'
import js from '@eslint/js';
import globals from 'globals';

View File

@@ -76,7 +76,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.4.0",
"version": "4.5.2",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",
@@ -29,51 +29,50 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"@fontsource/inter": "5.2.5",
"@fontsource-utils/scss": "0.2.1",
"@fontsource/inter": "5.2.6",
"@fontsource/poppins": "5.2.6",
"@fortawesome/fontawesome-free": "6.7.2",
"@isaacs/ttlcache": "1.4.1",
"@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.41.0",
"ace-builds": "1.43.3",
"archiver": "7.0.1",
"async": "3.2.6",
"autoprefixer": "10.4.21",
"bcryptjs": "3.0.2",
"benchpressjs": "2.5.5",
"body-parser": "2.2.0",
"bootbox": "6.0.3",
"bootstrap": "5.3.6",
"bootswatch": "5.3.6",
"bootbox": "6.0.4",
"bootstrap": "5.3.8",
"bootswatch": "5.3.7",
"chalk": "4.1.2",
"chart.js": "4.4.9",
"chart.js": "4.5.0",
"cli-graph": "3.2.2",
"clipboard": "2.0.11",
"commander": "13.1.0",
"commander": "14.0.0",
"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-pg-simple": "10.0.0",
"connect-redis": "8.0.3",
"connect-redis": "9.0.0",
"cookie-parser": "1.4.7",
"cron": "4.3.0",
"cron": "4.3.3",
"cropperjs": "1.6.2",
"csrf-sync": "4.2.1",
"daemon": "1.1.0",
"diff": "8.0.1",
"esbuild": "0.25.4",
"diff": "8.0.2",
"esbuild": "0.25.9",
"express": "4.21.2",
"express-session": "1.18.1",
"express-session": "1.18.2",
"express-useragent": "1.0.15",
"fetch-cookie": "3.1.0",
"file-loader": "6.2.0",
"fs-extra": "11.3.0",
"fs-extra": "11.3.1",
"graceful-fs": "4.2.11",
"helmet": "7.2.0",
"html-to-text": "9.0.5",
@@ -92,47 +91,48 @@
"lru-cache": "11.1.0",
"mime": "3.0.0",
"mkdirp": "3.0.1",
"mongodb": "6.16.0",
"morgan": "1.10.0",
"mongodb": "6.19.0",
"morgan": "1.10.1",
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"multer": "2.0.2",
"nconf": "0.13.0",
"nodebb-plugin-2factor": "7.5.10",
"nodebb-plugin-composer-default": "10.2.50",
"nodebb-plugin-dbsearch": "6.2.16",
"nodebb-plugin-emoji": "6.0.2",
"nodebb-plugin-2factor": "7.6.0",
"nodebb-plugin-composer-default": "10.3.1",
"nodebb-plugin-dbsearch": "6.3.2",
"nodebb-plugin-emoji": "6.0.3",
"nodebb-plugin-emoji-android": "4.1.1",
"nodebb-plugin-markdown": "13.2.1",
"nodebb-plugin-mentions": "4.7.6",
"nodebb-plugin-spam-be-gone": "2.3.2",
"nodebb-plugin-web-push": "0.7.4",
"nodebb-plugin-web-push": "0.7.5",
"nodebb-rewards-essentials": "1.0.2",
"nodebb-theme-harmony": "2.1.12",
"nodebb-theme-harmony": "2.1.19",
"nodebb-theme-lavender": "7.1.19",
"nodebb-theme-peace": "2.2.42",
"nodebb-theme-persona": "14.1.11",
"nodebb-widget-essentials": "7.0.38",
"nodemailer": "7.0.3",
"nodebb-theme-peace": "2.2.48",
"nodebb-theme-persona": "14.1.14",
"nodebb-widget-essentials": "7.0.40",
"nodemailer": "7.0.6",
"nprogress": "0.2.0",
"passport": "0.7.0",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "8.16.0",
"pg-cursor": "2.15.0",
"postcss": "8.5.3",
"pg": "8.16.3",
"pg-cursor": "2.15.3",
"postcss": "8.5.6",
"postcss-clean": "1.2.0",
"progress-webpack-plugin": "1.0.16",
"prompt": "1.3.0",
"ioredis": "5.6.1",
"redis": "5.8.2",
"rimraf": "6.0.1",
"rss": "1.2.2",
"rtlcss": "4.3.0",
"sanitize-html": "2.17.0",
"sass": "1.88.0",
"satori": "0.13.1",
"sass": "1.91.0",
"satori": "0.18.2",
"sbd": "^1.0.19",
"semver": "7.7.2",
"serve-favicon": "2.5.0",
"sharp": "0.32.6",
"serve-favicon": "2.5.1",
"sharp": "0.34.3",
"sitemap": "8.0.0",
"socket.io": "4.8.1",
"socket.io-client": "4.8.1",
@@ -145,12 +145,13 @@
"timeago": "1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "0.5.1",
"tough-cookie": "5.1.2",
"validator": "13.15.0",
"webpack": "5.99.8",
"tough-cookie": "6.0.0",
"undici": "^7.10.0",
"validator": "13.15.15",
"webpack": "5.101.3",
"webpack-merge": "6.0.1",
"winston": "3.17.0",
"workerpool": "9.2.0",
"workerpool": "9.3.3",
"xml": "1.0.1",
"xregexp": "5.1.2",
"yargs": "17.7.2",
@@ -161,23 +162,23 @@
"@commitlint/cli": "19.8.1",
"@commitlint/config-angular": "19.8.1",
"coveralls": "3.1.1",
"@eslint/js": "9.26.0",
"@stylistic/eslint-plugin-js": "4.2.0",
"eslint-config-nodebb": "1.1.4",
"eslint-plugin-import": "2.31.0",
"@eslint/js": "9.34.0",
"@stylistic/eslint-plugin": "5.3.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.1.0",
"lint-staged": "16.0.0",
"mocha": "11.2.2",
"lint-staged": "16.1.5",
"mocha": "11.7.1",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
"nyc": "17.1.0",
"smtp-server": "3.13.6"
"smtp-server": "3.14.0"
},
"optionalDependencies": {
"sass-embedded": "1.88.0"
"sass-embedded": "1.91.0"
},
"resolutions": {
"*/jquery": "3.7.1"

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,11 +1,15 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"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.",
@@ -103,6 +107,8 @@
"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.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,27 @@
"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.modal.values-multiple": "To match multiple values, separate entries with a comma (e.g. <code>one,two,three</code>)",
"rules.add": "Add New Rule",
"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

@@ -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": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل",
@@ -236,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

@@ -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

@@ -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

@@ -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,11 +1,15 @@
{
"manage-categories": "Kateqoriyaları idarə et",
"add-category": "Kateqoriya əlavə et",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"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.",
@@ -103,6 +107,8 @@
"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.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,27 @@
"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.modal.values-multiple": "To match multiple values, separate entries with a comma (e.g. <code>one,two,three</code>)",
"rules.add": "Add New Rule",
"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

@@ -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.",
@@ -236,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

@@ -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

@@ -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

@@ -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,11 +1,15 @@
{
"manage-categories": "Управление на категориите",
"add-category": "Добавяне на категория",
"add-local-category": "Добавяне на локална категория",
"add-remote-category": "Добавяне на отдалечена категория",
"remove": "Премахване",
"jump-to": "Прехвърляне към…",
"settings": "Настройки на категорията",
"edit-category": "Редактиране на категорията",
"privileges": "Правомощия",
"back-to-categories": "Назад към категориите",
"id": "Идентификатор на категорията",
"name": "Име на категорията",
"handle": "Идентификатор на категорията",
"handle.help": "Идентификаторът на категорията се ползва за представяне на тази категория в други мрежи, подобно на потребителското име. Този идентификатор не трябва да съвпада със съществуващо потребителско име или потребителска група.",
@@ -103,6 +107,8 @@
"alert.create-success": "Категорията е създадена успешно!",
"alert.none-active": "Нямате активни категории.",
"alert.create": "Създаване на категория",
"alert.add": "Добавяне на категория",
"alert.add-help": "Отдалечена категория може да бъде добавена в списъка с категории, като посочите нейния идентификатор.<br /><br /><strong>Забележка</strong> отдалечената категория може да не отразява всички публикувани теми, освен ако поне един локален потребител не я следи/наблюдава.",
"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,27 @@
"probe-timeout": "Време за изчакване на проверката (милисекунди)",
"probe-timeout-help": "(По подразбиране: 2000) Ако проверката не получи отговор в рамките на зададеното време, потребителят ще бъде изпратен директно на адреса на връзката. Задайте по-голямо число, ако уеб сайтовете отговарят по-бавно и искате да им дадете повече време.",
"rules": "Категоризиране",
"rules-intro": "Съдържанието открито чрез ActivityPub може да бъде категоризирано автоматично следвайки определени правила (например дума отбелязана с диез)",
"rules.modal.title": "Как работи това",
"rules.modal.instructions": "Цялото входящо съдържание се проверява спрямо правилата и ако има съвпадения те се преместват в избраната категория.<br /><br /><strong>Забележка</strong> Съдържанието, което вече е категоризирано (например в отдалечена категория) няма да преминава тези проверки.",
"rules.modal.values-multiple": "Ако искате да се проверяват няколко стойности, разделете ги със запетая (пример: <code>едно,две,три</code>)",
"rules.add": "Добавяне на ново правило",
"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

@@ -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": "Търсенето изисква регистриран акаунт! Моля, впишете се или се регистрирайте!",
@@ -236,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

@@ -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

@@ -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

@@ -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,11 +1,15 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"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.",
@@ -103,6 +107,8 @@
"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.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,27 @@
"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.modal.values-multiple": "To match multiple values, separate entries with a comma (e.g. <code>one,two,three</code>)",
"rules.add": "Add New Rule",
"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

@@ -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.",
@@ -236,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

@@ -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

@@ -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

@@ -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,11 +1,15 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"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.",
@@ -103,6 +107,8 @@
"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.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,27 @@
"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.modal.values-multiple": "To match multiple values, separate entries with a comma (e.g. <code>one,two,three</code>)",
"rules.add": "Add New Rule",
"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

@@ -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.",
@@ -236,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é",
@@ -147,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",
@@ -82,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",
@@ -97,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,7 +100,7 @@
"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",
@@ -134,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í",
@@ -162,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.",

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,11 +1,15 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"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.",
@@ -103,6 +107,8 @@
"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.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,27 @@
"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.modal.values-multiple": "To match multiple values, separate entries with a comma (e.g. <code>one,two,three</code>)",
"rules.add": "Add New Rule",
"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

@@ -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.",
@@ -236,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

@@ -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

@@ -8,5 +8,7 @@
"log-in-with-facebook": "Log ind med Facebook",
"continue-with-facebook": "Fortsæt med Facebook",
"sign-in-with-linkedin": "Log ind med LinkedIn",
"sign-up-with-linkedin": "Meld dig ind med LinkedIn"
"sign-up-with-linkedin": "Meld dig ind med LinkedIn",
"sign-in-with-wordpress": "Sign in with WordPress",
"sign-up-with-wordpress": "Sign up with WordPress"
}

View File

@@ -75,6 +75,7 @@
"graphs.page-views-registered": "Registrierte Seitenaufrufe",
"graphs.page-views-guest": "Seitenaufrufe von Gästen",
"graphs.page-views-bot": "Seitenaufrufe von Bots",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "Verschiedene Besucher",
"graphs.registered-users": "Registrierte Benutzer",
"graphs.guest-users": "Gast-Benutzer",

View File

@@ -1,11 +1,15 @@
{
"manage-categories": "Kategorien verwalten",
"add-category": "Kategorie hinzufügen",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"jump-to": "Springen zu...",
"settings": "Kategorieeinstellungen",
"edit-category": "Kategorie bearbeiten",
"privileges": "Berechtigungen",
"back-to-categories": "Zurück zu Kategorien",
"id": "Category ID",
"name": "Kategoriename",
"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.",
@@ -103,6 +107,8 @@
"alert.create-success": "Kategorie erfolgreich erstellt!",
"alert.none-active": "Du hast keine aktiven Kategorien.",
"alert.create": "Erstelle eine Kategorie",
"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.confirm-purge": "<p class=\"lead\">Möchtest du die Kategorie \"%1\" wirklich löschen?</p><h5><strong class=\"text-danger\">Warnung!</strong> Alle Themen und Beiträge in dieser Kategorie werden gelöscht!</h5> <p class=\"help-block\">Löschen einer Kategorie wird alle Themen und Beiträge zu entfernen, und die Kategorie aus der Datenbank löschen. Falls du eine Kategorie <em>temporär</em> entfernen möchstest, dann kannst du sie stattdessen \"deaktivieren\".",
"alert.purge-success": "Kategorie gelöscht!",
"alert.copy-success": "Einstellungen kopiert!",

View File

@@ -1,26 +1,47 @@
{
"intro-lead": "Was ist Föderation?",
"intro-body": "NodeBB is able to communicate with other NodeBB instances that support it. This is achieved through a protocol called <a href=\"https://activitypub.rocks/\">ActivityPub</a>. If enabled, NodeBB will also be able to communicate with other apps and websites that use ActivityPub (e.g. Mastodon, Peertube, etc.)",
"intro-body": "NodeBB kann mit anderen NodeBB-Instanzen kommunizieren, die dies unterstützen. Dies geschieht über ein Protokoll namens <a href=\"https://activitypub.rocks/\">ActivityPub</a>. Wenn es aktiviert ist, kann NodeBB auch mit anderen Apps und Websites kommunizieren, die ActivityPub verwenden (z. B. Mastodon, Peertube usw.).",
"general": "Allgemein",
"pruning": "Inhaltsbereinigung",
"content-pruning": "Days to keep remote content",
"content-pruning-help": "Note that remote content that has received engagement (a reply or a upvote/downvote) will be preserved. (0 for disabled)",
"user-pruning": "Days to cache remote user accounts",
"user-pruning-help": "Remote user accounts will only be pruned if they have no posts. Otherwise they will be re-retrieved. (0 for disabled)",
"content-pruning": "Tage, an denen der Remote-Inhalt aufbewahrt werden soll.",
"content-pruning-help": "Inhalte von extern, die Interaktionen bekommen haben (z. B. eine Antwort oder ein Upvote/Downvote), bleiben erhalten. (0 = deaktiviert)",
"user-pruning": "Tage, um externe Benutzerkonten zwischenzuspeichern",
"user-pruning-help": "Externe Benutzerkonten werden nur gelöscht, wenn sie keine Beiträge haben. Andernfalls werden sie erneut abgerufen. (0 = deaktiviert)",
"enabled": "Föderation aktivieren",
"enabled-help": "If enabled, will allow this NodeBB will be able to communicate with all Activitypub-enabled clients on the wider fediverse.",
"allowLoopback": "Allow loopback processing",
"allowLoopback-help": "Useful for debugging purposes only. You should probably leave this disabled.",
"enabled-help": "Wenn aktiviert, kann dieses NodeBB mit allen ActivityPub-fähigen Clients im weiteren Fediverse kommunizieren.",
"allowLoopback": "Loopback-Verarbeitung erlauben",
"allowLoopback-help": "Nur für Debugging-Zwecke nützlich. Sollte am besten deaktiviert bleiben.",
"probe": "In App öffnen",
"probe-enabled": "Try to open ActivityPub-enabled resources in NodeBB",
"probe-enabled-help": "If enabled, NodeBB will check every external link for an ActivityPub equivalent, and load it in NodeBB instead.",
"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.",
"probe-enabled": "Versuchen, ActivityPub-fähige Ressourcen in NodeBB zu öffnen",
"probe-enabled-help": "Wenn aktiviert, überprüft NodeBB jeden externen Link auf ein ActivityPubquivalent und lädt diesen stattdessen in NodeBB.",
"probe-timeout": "Lookup-Timeout (Millisekunden)",
"probe-timeout-help": "(Standard: 2000) Wenn die Lookup-Anfrage innerhalb des festgelegten Zeitraums keine Antwort erhält, wird der Nutzer stattdessen direkt zum Link weitergeleitet. Erhöhe diesen Wert, wenn Seiten langsam reagieren und du mehr Zeit einräumen möchtest.",
"rules": "Kategorisierung",
"rules-intro": "Über ActivityPub entdeckte Inhalte können automatisch anhand bestimmter Regeln (z. B. Hashtags) kategorisiert werden.",
"rules.modal.title": "Wie es funktioniert",
"rules.modal.instructions": "Eingehende Inhalte werden mit diesen Kategorisierungsregeln abgeglichen, und passende Inhalte werden automatisch in die gewünschte Kategorie verschoben. Hinweis: Inhalte, die bereits kategorisiert sind (z. B. in einer externen Kategorie), durchlaufen diese Regeln nicht.",
"rules.modal.values-multiple": "Um mehrere Werte abzugleichen, Einträge mit einem Komma trennen (z. B. <code>eins,zwei,drei</code>).",
"rules.add": "Neue Regel hinzufügen",
"rules.type": "Typ",
"rules.value": "Wert",
"rules.cid": "Kategorie",
"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": "Filterung",
"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.",
"server.filter-help-hostname": "Enter just the instance hostname below (e.g. <code>example.org</code>), separated by line breaks.",
"server.filter-allow-list": "Use this as an Allow List instead"
"count": "Dieses NodeBB kennt derzeit <strong>%1</strong> Server",
"server.filter-help": "Gib die Server an, die du von der Föderation mit deinem NodeBB ausschließen möchtest. Alternativ kannst du auch festlegen, dass die Föderation nur mit bestimmten Servern <em>erlaubt</em> ist. Beide Optionen werden unterstützt, schließen sich jedoch gegenseitig aus.",
"server.filter-help-hostname": "Gib unten nur den Instanz-Hostnamen ein (z. B. <code>example.org</code>), jeweils durch Zeilenumbrüche getrennt.",
"server.filter-allow-list": "Stattdessen als Allow-Liste verwenden"
}

View File

@@ -3,6 +3,7 @@
"invalid-json": "Ungültiges JSON",
"wrong-parameter-type": "Für die Eigenschaft „%1“ wurde ein Wert vom Typ %3 erwartet, aber stattdessen wurde %2 empfangen",
"required-parameters-missing": "Bei diesem API-Aufruf fehlten erforderliche Parameter: %1",
"reserved-ip-address": "Netzwerkanfragen an reservierte IP-Bereiche sind nicht erlaubt.",
"not-logged-in": "Du bist nicht angemeldet.",
"account-locked": "Dein Konto wurde vorübergehend gesperrt.",
"search-requires-login": "Die Suche erfordert ein Konto, bitte einloggen oder registrieren.",
@@ -67,8 +68,8 @@
"no-chat-room": "Der Chatroom existiert nicht",
"no-privileges": "Du verfügst nicht über ausreichende Berechtigungen, um die Aktion durchzuführen.",
"category-disabled": "Kategorie ist deaktiviert",
"post-deleted": "Post deleted",
"topic-locked": "Topic locked",
"post-deleted": "Beitrag gelöscht",
"topic-locked": "Thema gesperrt",
"post-edit-duration-expired": "Entschuldigung, du darfst Beiträge nur %1 Sekunde(n) nach dem Veröffentlichen editieren.",
"post-edit-duration-expired-minutes": "Du darfst Beiträge lediglich innerhalb von %1 Minuten/n nach dem Erstellen editieren",
"post-edit-duration-expired-minutes-seconds": "Du darfst Beiträge lediglich innerhalb von %1 Minuten/n und %2 Sekunden nach dem Erstellen editieren",
@@ -154,9 +155,9 @@
"about-me-too-long": "Entschuldigung, dein \"über mich\" kann nicht länger als %1 Zeichen sein.",
"cant-chat-with-yourself": "Du kannst nicht mit dir selber chatten!",
"chat-restricted": "Dieser Benutzer hat seine Chatfunktion eingeschränkt. Du kannst nur mit diesem Benutzer chatten, wenn er dir folgt.",
"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-allow-list-user-already-added": "Dieser Benutzer befindet sich bereits in deiner Allow-Liste.",
"chat-deny-list-user-already-added": "Dieser Benutzer befindet sich bereits in deiner Deny-Liste.",
"chat-user-blocked": "Du wurdest von diesem Benutzer blockiert.",
"chat-disabled": "Das Chatsystem deaktiviert",
"too-many-messages": "Du hast zu viele Nachrichten versandt, bitte warte eine Weile.",
"invalid-chat-message": "Ungültige Nachricht",
@@ -171,7 +172,7 @@
"cant-add-users-to-chat-room": "Kann Benutzer nicht zu Chatroom hinzufügen",
"cant-remove-users-from-chat-room": "Kann Benutzer nicht aus Chatroom entfernen.",
"chat-room-name-too-long": "Der Name des Chat-Raums ist zu lang. Die Namen dürfen nicht länger als %1 Zeichen sein.",
"remote-chat-received-too-long": "You received a chat message from %1, but it was too long and was rejected.",
"remote-chat-received-too-long": "Du hast eine Chat-Nachricht von %1 erhalten, aber sie war zu lang und wurde abgelehnt.",
"already-voting-for-this-post": "Du hast diesen Beitrag bereits bewertet.",
"reputation-system-disabled": "Das Reputationssystem ist deaktiviert.",
"downvoting-disabled": "Downvotes sind deaktiviert.",
@@ -185,20 +186,20 @@
"not-enough-reputation-min-rep-signature": "Du benötigst %1 Reputation, um eine Signatur hinzuzufügen",
"not-enough-reputation-min-rep-profile-picture": "Du benötigst %1 Ruf, um ein Profilbild hinzuzufügen",
"not-enough-reputation-min-rep-cover-picture": "Du benötigst %1 Ruf, um ein Titelbild hinzuzufügen",
"not-enough-reputation-custom-field": "You need %1 reputation for %2",
"custom-user-field-value-too-long": "Custom field value too long, %1",
"custom-user-field-select-value-invalid": "Custom field selected option is invalid, %1",
"custom-user-field-invalid-text": "Custom field text is invalid, %1",
"custom-user-field-invalid-link": "Custom field link is invalid, %1",
"custom-user-field-invalid-number": "Custom field number is invalid, %1",
"custom-user-field-invalid-date": "Custom field date is invalid, %1",
"invalid-custom-user-field": "Invalid custom user field, \"%1\" is already used by NodeBB",
"not-enough-reputation-custom-field": "Du benötigst %1 Reputation für %2",
"custom-user-field-value-too-long": "Benutzerdefiniertes Feld zu lang, %1",
"custom-user-field-select-value-invalid": "Die ausgewählte Option im benutzerdefinierten Feld ist ungültig, %1",
"custom-user-field-invalid-text": "Der Text im benutzerdefinierten Feld ist ungültig, %1",
"custom-user-field-invalid-link": "Der Link im benutzerdefinierten Feld ist ungültig, %1",
"custom-user-field-invalid-number": "Die Zahl im benutzerdefinierten Feld ist ungültig, %1",
"custom-user-field-invalid-date": "Das Datum im benutzerdefinierten Feld ist ungültig, %1",
"invalid-custom-user-field": "Ungültiges benutzerdefiniertes Feld, %1 wird bereits von NodeBB verwendet",
"post-already-flagged": "Du hast diesen Beitrag bereits gemeldet",
"user-already-flagged": "Du hast diesen Benutzer bereits gemeldet",
"post-flagged-too-many-times": "Dieser Beitrag wurde bereits von anderen Benutzern gemeldet",
"user-flagged-too-many-times": "Dieser Benutzer wurde bereits von anderen Benutzern gemeldet",
"too-many-post-flags-per-day": "You can only flag %1 post(s) per day",
"too-many-user-flags-per-day": "You can only flag %1 user(s) per day",
"too-many-post-flags-per-day": "Du kannst pro Tag nur %1 Beitrag/Beiträge melden",
"too-many-user-flags-per-day": "Du kannst pro Tag nur %1 Benutzer melden",
"cant-flag-privileged": "Sie dürfen die Profile oder Inhalte von privilegierten Benutzern (Moderatoren/Globalmoderatoren/Admins) nicht kennzeichnen.",
"cant-locate-flag-report": "Meldung-Report kann nicht gefunden werden",
"self-vote": "Du kannst deine eigenen Beiträge nicht bewerten",
@@ -234,13 +235,14 @@
"already-unblocked": "Dieser Nutzer ist bereits entsperrt",
"no-connection": "Es scheint als gäbe es ein Problem mit deiner Internetverbindung",
"socket-reconnect-failed": "Der Server kann zurzeit nicht erreicht werden. Klicken Sie hier, um es erneut zu versuchen, oder versuchen Sie es später erneut",
"invalid-plugin-id": "Invalid plugin ID",
"invalid-plugin-id": "Ungültige Plugin-ID",
"plugin-not-whitelisted": "Plugin kann nicht installiert werden &ndash; nur Plugins, die vom NodeBB Package Manager in die Whitelist aufgenommen wurden, können über den ACP installiert werden",
"plugin-installation-via-acp-disabled": "Plugin installation via ACP is disabled",
"cannot-toggle-system-plugin": "Du kannst den Status eines System-Plugins nicht umschalten",
"plugin-installation-via-acp-disabled": "Die Plugin-Installation über das ACP ist deaktiviert",
"plugins-set-in-configuration": "Du darfst den Status der Plugins nicht ändern, da sie zur Laufzeit definiert werden (config.json, Umgebungsvariablen oder Terminalargumente). Bitte ändere stattdessen die Konfiguration.",
"theme-not-set-in-configuration": "Wenn in der Konfiguration aktive Plugins definiert werden, muss bei einem Themenwechsel das neue Thema zur Liste der aktiven Plugins hinzugefügt werden, bevor es im ACP aktualisiert wird.",
"topic-event-unrecognized": "Themenereignis „%1“ nicht erkannt",
"category.handle-taken": "Category handle is already taken, please choose another.",
"category.handle-taken": "Kategorie-Handle ist bereits vergeben, bitte wähle ein anderes.",
"cant-set-child-as-parent": "Untergeordnete Kategorie kann nicht als übergeordnete Kategorie festgelegt werden",
"cant-set-self-as-parent": "Die aktuelle Kategorie kann nicht als übergeordnete Kategorie festgelegt werden",
"api.master-token-no-uid": "Ein Master-Token wurde ohne eine entsprechende `_uid` im Anfrage-Body empfangen",
@@ -254,11 +256,11 @@
"api.501": "Die Route, die Sie anrufen möchten, ist noch nicht implementiert. Bitte versuchen Sie es morgen erneut",
"api.503": "Die Route, die Sie anrufen möchten, ist derzeit aufgrund einer Serverkonfiguration nicht verfügbar",
"api.reauth-required": "Die angeforderte Ressource erfordert eine (Re-)Authentifizierung.",
"activitypub.not-enabled": "Federation is not enabled on this server",
"activitypub.invalid-id": "Unable to resolve the input id, likely as it is malformed.",
"activitypub.get-failed": "Unable to retrieve the specified resource.",
"activitypub.pubKey-not-found": "Unable to resolve public key, so payload verification cannot take place.",
"activitypub.origin-mismatch": "The received object's origin does not match the sender's origin",
"activitypub.actor-mismatch": "The received activity is being carried out by an actor that is different from expected.",
"activitypub.not-implemented": "The request was denied because it or an aspect of it is not implemented by the recipient server"
"activitypub.not-enabled": "Die Föderation ist auf diesem Server nicht aktiviert",
"activitypub.invalid-id": "Die Eingabe-ID kann nicht aufgelöst werden, wahrscheinlich weil sie fehlerhaft ist.",
"activitypub.get-failed": "Die angegebene Ressource kann nicht abgerufen werden.",
"activitypub.pubKey-not-found": "Der öffentliche Schlüssel kann nicht aufgelöst werden, daher ist eine Überprüfung des Payloads nicht möglich.",
"activitypub.origin-mismatch": "Der Ursprung des empfangenen Objekts stimmt nicht mit dem Ursprung des Absenders überein",
"activitypub.actor-mismatch": "Die empfangene Aktivität wird von einem anderen Akteur ausgeführt als erwartet",
"activitypub.not-implemented": "Die Anfrage wurde abgelehnt, weil sie oder ein Teil davon vom empfangenden Server nicht implementiert ist"
}

View File

@@ -48,6 +48,7 @@
"chat.add-user": "Benutzer hinzufügen",
"chat.notification-settings": "Benachrichtigungseinstellungen",
"chat.default-notification-setting": "Standardeinstellung für die Benachrichtigung",
"chat.join-leave-messages": "Join/Leave Messages",
"chat.notification-setting-room-default": "Raum Standard",
"chat.notification-setting-none": "Keine Benachrichtigungen",
"chat.notification-setting-at-mention-only": "@nur Erwähnung",

View File

@@ -8,5 +8,7 @@
"log-in-with-facebook": "Mit Facebook anmelden",
"continue-with-facebook": "Mit Facebook fortsetzen",
"sign-in-with-linkedin": "Mit LinkedIn anmelden",
"sign-up-with-linkedin": "Mit LinkedIn registrieren"
"sign-up-with-linkedin": "Mit LinkedIn registrieren",
"sign-in-with-wordpress": "Sign in with WordPress",
"sign-up-with-wordpress": "Sign up with WordPress"
}

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,11 +1,15 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"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.",
@@ -103,6 +107,8 @@
"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.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,27 @@
"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.modal.values-multiple": "To match multiple values, separate entries with a comma (e.g. <code>one,two,three</code>)",
"rules.add": "Add New Rule",
"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

@@ -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.",
@@ -236,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

@@ -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

@@ -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

@@ -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,11 +1,15 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"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.",
@@ -13,6 +17,8 @@
"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 +109,8 @@
"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.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,27 @@
"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.modal.values-multiple": "To match multiple values, separate entries with a comma (e.g. <code>one,two,three</code>)",
"rules.add": "Add New Rule",
"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

@@ -4,6 +4,8 @@
"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": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"search-requires-login": "Searching requires an account - please login or register.",
@@ -271,6 +273,7 @@
"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

@@ -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

@@ -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

@@ -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,11 +1,15 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"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.",
@@ -103,6 +107,8 @@
"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.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,27 @@
"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.modal.values-multiple": "To match multiple values, separate entries with a comma (e.g. <code>one,two,three</code>)",
"rules.add": "Add New Rule",
"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

@@ -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": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"search-requires-login": "Searching requires an account - please login or register.",
@@ -236,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

@@ -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

@@ -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

@@ -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,11 +1,15 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"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.",
@@ -103,6 +107,8 @@
"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.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,27 @@
"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.modal.values-multiple": "To match multiple values, separate entries with a comma (e.g. <code>one,two,three</code>)",
"rules.add": "Add New Rule",
"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

@@ -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": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"search-requires-login": "Searching requires an account - please login or register.",
@@ -236,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

@@ -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

@@ -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

@@ -75,6 +75,7 @@
"graphs.page-views-registered": "Vistas de la página registradas",
"graphs.page-views-guest": "Vistas de la página visitantes",
"graphs.page-views-bot": "Vistas de la página Bot",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "Visitantes Unicos",
"graphs.registered-users": "Usuarios Registrados",
"graphs.guest-users": "Guest Users",

View File

@@ -1,11 +1,15 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"jump-to": "Jump to...",
"settings": "Configuración de Categoría",
"edit-category": "Edit Category",
"privileges": "Privilegios",
"back-to-categories": "Back to categories",
"id": "Category ID",
"name": "Nombre de Categoría",
"handle": "Identificador de categoría ",
"handle.help": "Tu identificador de categoría está siendo utilizado como representación de esta categoría a través de otras redes, similar al nombre de usuario. El identificador de la categoría no puede ser igual a un nombre de usuario o usuario de grupo existente.",
@@ -103,6 +107,8 @@
"alert.create-success": "¡Categoría creada con éxito!",
"alert.none-active": "No tienes categorías activas.",
"alert.create": "Crear una Categoría",
"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.confirm-purge": "<p class=\"lead\">¿Realmente quieres purgar esta categoría\"%1\"?</p><h5><strong class=\"text-danger\">¡Cuidado!</strong> ¡Todos los temas y respuestas en esta categoría serán purgados!</h5> <p class=\"help-block\">Purgar una categoría eliminará todos los temas y respuestas, y borrará la categoría de la base de datos. Si quieres eliminar una categoría <em>temporalmente</em>, deberías \"desactivar\" esa categoría en su lugar.</p>",
"alert.purge-success": "¡Categoría purgada!",
"alert.copy-success": "¡Configuración Copiada!",

View File

@@ -1,28 +1,28 @@
{
"title": "Manage Custom User Fields",
"create-field": "Create Field",
"edit-field": "Edit Field",
"manage-custom-fields": "Manage Custom Fields",
"type-of-input": "Type of input",
"key": "Key",
"name": "Name",
"icon": "Icon",
"type": "Type",
"min-rep": "Minimum Reputation",
"input-type-text": "Input (Text)",
"input-type-link": "Input (Link)",
"input-type-number": "Input (Number)",
"input-type-date": "Input (Date)",
"input-type-select": "Select",
"input-type-select-multi": "Select Multiple",
"select-options": "Options",
"title": "Gestionar campos personalizados del usuario",
"create-field": "Crear campo",
"edit-field": "Editar campo",
"manage-custom-fields": "Gestionar campos personalizados",
"type-of-input": "Tipo de campo",
"key": "Clave",
"name": "Nombre",
"icon": "Icono",
"type": "Tipo",
"min-rep": "Reputación mínima",
"input-type-text": "Campo (Texto)",
"input-type-link": "Campo (Link)",
"input-type-number": "Campo (Número)",
"input-type-date": "Campo (Fecha)",
"input-type-select": "Selector",
"input-type-select-multi": "Selector múltiple",
"select-options": "Opciones",
"select-options-help": "Add one option per line for the select element",
"minimum-reputation": "Minimum reputation",
"minimum-reputation": "Reputación mínima",
"minimum-reputation-help": "If a user has less than this value they won't be able to use this field",
"delete-field-confirm-x": "Do you really want to delete custom field \"%1\"?",
"custom-fields-saved": "Custom fields saved",
"visibility": "Visibility",
"visibility-all": "Everyone can see the field",
"visibility-loggedin": "Only logged in users can see the field",
"custom-fields-saved": "Campos personalizados guardados",
"visibility": "Visibilidad",
"visibility-all": "Todo el mundo puede ver este campo",
"visibility-loggedin": "Solo usuarios logeados pueden ver este campo",
"visibility-privileged": "Only privileged users like admins & moderators can see the field"
}

View File

@@ -18,6 +18,27 @@
"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.modal.values-multiple": "To match multiple values, separate entries with a comma (e.g. <code>one,two,three</code>)",
"rules.add": "Add New Rule",
"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.",

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