From 55df683aa29cd3e1421870d7aacc4aa1acd83271 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Fri, 21 Jan 2022 18:20:50 +0000 Subject: [PATCH 001/135] chore: update changelog for v1.19.1 --- CHANGELOG.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 912eb3b51e..9a5a08358a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,62 @@ +#### v1.19.1 (2022-01-21) + +##### Chores + +* **deps:** + * bump compare-versions from 4.1.2 to 4.1.3 in /install (#10154) (4a5182e4) + * update dependency lint-staged to v12.2.2 (f090de36) + * update dependency @commitlint/cli to v16.1.0 (44d81a95) + * update dependency lint-staged to v12.2.1 (857ac480) + * update dependency @commitlint/cli to v16.0.3 (9c63d076) + * update dependency lint-staged to v12.2.0 (1a0c117d) + * update dependency eslint to v8.7.0 (8abaf3f6) + * update dependency mocha to v9.1.4 (f5ad173b) +* up persona (89871d71) +* add test.sh to gitignore (d7796f0b) +* delete test script (250274c7) +* remove unused lang key #10180 (2fe91e36) +* incrementing version number - v1.19.0 (18b0a29f) +* update changelog for v1.19.0 (c8f1bc53) +* **i18n:** + * fallback strings for new resources: nodebb.admin-settings-user (78cd6de7) + * fallback strings for new resources: nodebb.user (3ec9197c) + * fallback strings for new resources: nodebb.email (354aa1a5) + +##### New Features + +* revert label js change (1c80adf1) +* hide all categories link on flags filters (e9d0db28) +* nicer error handling for bad jwt in unsubscribe template (31ea2266) + +##### Bug Fixes + +* **deps:** + * update dependency jquery-ui to v1.13.1 (#10186) (55b3a355) + * update dependency multiparty to v4.2.3 (#10188) (7fa2ba70) + * update dependency nodebb-theme-persona to v11.3.15 (#10155) (e03d4747) + * update dependency mongodb to v4.3.1 (#10178) (693ca1f1) + * update dependency nodebb-plugin-composer-default to v7.0.18 (#10164) (2c75cce6) +* urls used when recent/unread/popular/top is used as the homepage (28359665) +* mark unread button showing the selected category (fdfafb44) +* catch exceptions from sendNotifications (c1ec2047) +* multiple cid filter on flags page (3e8cb732) +* post indices if there is a blocked user in topic (f9279b63) +* dont add duplicate link backs (3b72ff87) +* #10175, fix topic linkbacks duplicating on post edit (b06c6329) +* #10173, don't show optional message if email is required (d1eb21c5) +* #10172, fix postqueue accept/reject notification text (6a75ed50) +* #10167, fix regression prevent guest post (4799efc7) +* CSRF handler to go back to saving in session (#10159) (e9ee843b) +* #10158, fix extra padding (03f5cbcc) + +##### Refactors + +* add method to error messages (c9fabb0e) + +##### Tests + +* add failing guest csrf test (#10169) (10949184) + #### v1.19.0 (2022-01-13) ##### Breaking Changes From 7f450268f6a16dccbb962d2b28d06a505c8c9a92 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Fri, 21 Jan 2022 18:20:49 +0000 Subject: [PATCH 002/135] chore: incrementing version number - v1.19.1 (cherry picked from commit 04ce24e661a03136a6d71582a32cbca04da1ba2f) Signed-off-by: Misty (Bot) --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index dc92e4a6fe..0a7faddce1 100644 --- a/install/package.json +++ b/install/package.json @@ -2,7 +2,7 @@ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", - "version": "1.19.0", + "version": "1.19.1", "homepage": "http://www.nodebb.org", "repository": { "type": "git", From 5d3900dcd464f262a51f60b19a73311a62fe01fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Jan 2022 04:26:03 +0000 Subject: [PATCH 003/135] chore(deps): bump helmet from 4.6.0 to 5.0.1 in /install Bumps [helmet](https://github.com/helmetjs/helmet) from 4.6.0 to 5.0.1. - [Release notes](https://github.com/helmetjs/helmet/releases) - [Changelog](https://github.com/helmetjs/helmet/blob/main/CHANGELOG.md) - [Commits](https://github.com/helmetjs/helmet/compare/v4.6.0...v5.0.1) --- updated-dependencies: - dependency-name: helmet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 0a7faddce1..43da1cab91 100644 --- a/install/package.json +++ b/install/package.json @@ -60,7 +60,7 @@ "express-session": "1.17.2", "express-useragent": "1.0.15", "graceful-fs": "4.2.9", - "helmet": "4.6.0", + "helmet": "5.0.1", "html-to-text": "8.1.0", "ipaddr.js": "2.0.1", "jquery": "3.6.0", From d91aeea3c36ad7c3e0f9bba2b6bff8b76ef8b207 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 21 Jan 2022 16:47:26 -0500 Subject: [PATCH 004/135] feat: add ACP toggles for COEP and CORP headers --- install/data/defaults.json | 2 ++ .../en-GB/admin/settings/advanced.json | 3 +++ src/views/admin/settings/advanced.tpl | 16 +++++++++++++ src/webserver.js | 23 ++++++++++++++----- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/install/data/defaults.json b/install/data/defaults.json index 6bf502abe1..b18c3dd9a7 100644 --- a/install/data/defaults.json +++ b/install/data/defaults.json @@ -146,6 +146,8 @@ "dailyDigestFreq": "off", "digestHour": 17, "passwordExpiryDays": 0, + "cross-origin-embedder-policy": 1, + "cross-origin-resource-policy": "same-origin", "hsts-maxage": 31536000, "hsts-subdomains": 0, "hsts-preload": 0, diff --git a/public/language/en-GB/admin/settings/advanced.json b/public/language/en-GB/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/en-GB/admin/settings/advanced.json +++ b/public/language/en-GB/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/src/views/admin/settings/advanced.tpl b/src/views/admin/settings/advanced.tpl index b64a631f74..6f997604e6 100644 --- a/src/views/admin/settings/advanced.tpl +++ b/src/views/admin/settings/advanced.tpl @@ -66,6 +66,22 @@
+
+ +
+

[[admin/settings/advanced:headers.coep-help]]

+
+ + +
+
diff --git a/src/webserver.js b/src/webserver.js index c5f4aefa86..a4364ea317 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -184,16 +184,21 @@ function setupExpressApp(app) { } function setupHelmet(app) { + /** + * The only reason why these middlewares are all explicitly spelled out is because + * helmet.contentSecurityPolicy() is too restrictive and breaks plugins. + * + * It should be implemented in the future... 🔜 + */ + if (meta.config['cross-origin-embedder-policy']) { + app.use(helmet.crossOriginEmbedderPolicy()); + } + app.use(helmet.crossOriginOpenerPolicy()); + app.use(helmet.crossOriginResourcePolicy({ policy: meta.config['cross-origin-resource-policy'] })); app.use(helmet.dnsPrefetchControl()); app.use(helmet.expectCt()); app.use(helmet.frameguard()); app.use(helmet.hidePoweredBy()); - app.use(helmet.ieNoOpen()); - app.use(helmet.noSniff()); - app.use(helmet.permittedCrossDomainPolicies()); - app.use(helmet.xssFilter()); - - app.use(helmet.referrerPolicy({ policy: 'strict-origin-when-cross-origin' })); if (meta.config['hsts-enabled']) { app.use(helmet.hsts({ maxAge: meta.config['hsts-maxage'], @@ -201,6 +206,12 @@ function setupHelmet(app) { preload: !!meta.config['hsts-preload'], })); } + app.use(helmet.ieNoOpen()); + app.use(helmet.noSniff()); + app.use(helmet.originAgentCluster()); + app.use(helmet.permittedCrossDomainPolicies()); + app.use(helmet.referrerPolicy({ policy: 'strict-origin-when-cross-origin' })); + app.use(helmet.xssFilter()); } From 2ec4e31f7cdc85f4d8b892f945ce1be91819800c Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Fri, 21 Jan 2022 21:48:39 +0000 Subject: [PATCH 005/135] chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced --- public/language/ar/admin/settings/advanced.json | 3 +++ public/language/bg/admin/settings/advanced.json | 3 +++ public/language/bn/admin/settings/advanced.json | 3 +++ public/language/cs/admin/settings/advanced.json | 3 +++ public/language/da/admin/settings/advanced.json | 3 +++ public/language/de/admin/settings/advanced.json | 3 +++ public/language/el/admin/settings/advanced.json | 3 +++ public/language/en-US/admin/settings/advanced.json | 3 +++ public/language/en-x-pirate/admin/settings/advanced.json | 3 +++ public/language/es/admin/settings/advanced.json | 3 +++ public/language/et/admin/settings/advanced.json | 3 +++ public/language/fa-IR/admin/settings/advanced.json | 3 +++ public/language/fi/admin/settings/advanced.json | 3 +++ public/language/fr/admin/settings/advanced.json | 3 +++ public/language/gl/admin/settings/advanced.json | 3 +++ public/language/he/admin/settings/advanced.json | 3 +++ public/language/hr/admin/settings/advanced.json | 3 +++ public/language/hu/admin/settings/advanced.json | 3 +++ public/language/id/admin/settings/advanced.json | 3 +++ public/language/it/admin/settings/advanced.json | 3 +++ public/language/ja/admin/settings/advanced.json | 3 +++ public/language/ko/admin/settings/advanced.json | 3 +++ public/language/lt/admin/settings/advanced.json | 3 +++ public/language/lv/admin/settings/advanced.json | 3 +++ public/language/ms/admin/settings/advanced.json | 3 +++ public/language/nb/admin/settings/advanced.json | 3 +++ public/language/nl/admin/settings/advanced.json | 3 +++ public/language/pl/admin/settings/advanced.json | 3 +++ public/language/pt-BR/admin/settings/advanced.json | 3 +++ public/language/pt-PT/admin/settings/advanced.json | 3 +++ public/language/ro/admin/settings/advanced.json | 3 +++ public/language/ru/admin/settings/advanced.json | 3 +++ public/language/rw/admin/settings/advanced.json | 3 +++ public/language/sc/admin/settings/advanced.json | 3 +++ public/language/sk/admin/settings/advanced.json | 3 +++ public/language/sl/admin/settings/advanced.json | 3 +++ public/language/sr/admin/settings/advanced.json | 3 +++ public/language/sv/admin/settings/advanced.json | 3 +++ public/language/th/admin/settings/advanced.json | 3 +++ public/language/tr/admin/settings/advanced.json | 3 +++ public/language/uk/admin/settings/advanced.json | 3 +++ public/language/vi/admin/settings/advanced.json | 3 +++ public/language/zh-CN/admin/settings/advanced.json | 3 +++ public/language/zh-TW/admin/settings/advanced.json | 3 +++ 44 files changed, 132 insertions(+) diff --git a/public/language/ar/admin/settings/advanced.json b/public/language/ar/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/ar/admin/settings/advanced.json +++ b/public/language/ar/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/bg/admin/settings/advanced.json b/public/language/bg/admin/settings/advanced.json index 03f075ade7..4e8a4c0a16 100644 --- a/public/language/bg/admin/settings/advanced.json +++ b/public/language/bg/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Удостоверителни данни за разрешаване на управлението на достъпа", "headers.acam": "Методи за разрешаване на управлението на достъпа", "headers.acah": "Заглавки за разрешаване на управлението на достъпа", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Стриктна транспортна сигурност", "hsts.enabled": "Включване на HSTS (препоръчително)", "hsts.maxAge": "Максимална възраст на HSTS", diff --git a/public/language/bn/admin/settings/advanced.json b/public/language/bn/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/bn/admin/settings/advanced.json +++ b/public/language/bn/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/cs/admin/settings/advanced.json b/public/language/cs/admin/settings/advanced.json index b9dafadf1e..5d55bdfc23 100644 --- a/public/language/cs/admin/settings/advanced.json +++ b/public/language/cs/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Přísné zabezpečení přenosu", "hsts.enabled": "Povolit HSTS (doporučeno)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/da/admin/settings/advanced.json b/public/language/da/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/da/admin/settings/advanced.json +++ b/public/language/da/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/de/admin/settings/advanced.json b/public/language/de/admin/settings/advanced.json index 3dbfb99e11..48930e5cf7 100644 --- a/public/language/de/admin/settings/advanced.json +++ b/public/language/de/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "HSTS Aktivieren (empfohlen)", "hsts.maxAge": "HSTS Maximales Alter", diff --git a/public/language/el/admin/settings/advanced.json b/public/language/el/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/el/admin/settings/advanced.json +++ b/public/language/el/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/en-US/admin/settings/advanced.json b/public/language/en-US/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/en-US/admin/settings/advanced.json +++ b/public/language/en-US/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/en-x-pirate/admin/settings/advanced.json b/public/language/en-x-pirate/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/en-x-pirate/admin/settings/advanced.json +++ b/public/language/en-x-pirate/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/es/admin/settings/advanced.json b/public/language/es/admin/settings/advanced.json index 76157e1a98..b93a737502 100644 --- a/public/language/es/admin/settings/advanced.json +++ b/public/language/es/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Credenciales-Control-Permitir-Acceso", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Seguridad estricta del transporte", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/et/admin/settings/advanced.json b/public/language/et/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/et/admin/settings/advanced.json +++ b/public/language/et/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/fa-IR/admin/settings/advanced.json b/public/language/fa-IR/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/fa-IR/admin/settings/advanced.json +++ b/public/language/fa-IR/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/fi/admin/settings/advanced.json b/public/language/fi/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/fi/admin/settings/advanced.json +++ b/public/language/fi/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/fr/admin/settings/advanced.json b/public/language/fr/admin/settings/advanced.json index 15f35e18d2..c8afdcf08e 100644 --- a/public/language/fr/admin/settings/advanced.json +++ b/public/language/fr/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "\nAccess-Control-Allow-Methods", "headers.acah": "\nAccess-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Activer HSTS (recommandé)", "hsts.maxAge": "HSTS Age Max", diff --git a/public/language/gl/admin/settings/advanced.json b/public/language/gl/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/gl/admin/settings/advanced.json +++ b/public/language/gl/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/he/admin/settings/advanced.json b/public/language/he/admin/settings/advanced.json index 621a94adb3..86f3267f11 100644 --- a/public/language/he/admin/settings/advanced.json +++ b/public/language/he/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "אתרים אשר אל בקשות אליהם, יתווספו גם נתוני כניסה כגוןCookie וכו'. ( Access-Control-Allow-Credentials)", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/hr/admin/settings/advanced.json b/public/language/hr/admin/settings/advanced.json index a858fa246c..e13ff8510a 100644 --- a/public/language/hr/admin/settings/advanced.json +++ b/public/language/hr/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/hu/admin/settings/advanced.json b/public/language/hu/admin/settings/advanced.json index 186004f19a..fb5d7cf04c 100644 --- a/public/language/hu/admin/settings/advanced.json +++ b/public/language/hu/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Szigorú HTTP biztonság (HSTS)", "hsts.enabled": "Szigorú HTTP biztonság (HSTS) bekapcsolása (ajánlott)", "hsts.maxAge": "HSTS maximális kora", diff --git a/public/language/id/admin/settings/advanced.json b/public/language/id/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/id/admin/settings/advanced.json +++ b/public/language/id/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/it/admin/settings/advanced.json b/public/language/it/admin/settings/advanced.json index 4013084551..56a95b8df7 100644 --- a/public/language/it/admin/settings/advanced.json +++ b/public/language/it/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Rigorosa sicurezza trasporto", "hsts.enabled": "Abilita HSTS (consigliato)", "hsts.maxAge": "Età massima HSTS", diff --git a/public/language/ja/admin/settings/advanced.json b/public/language/ja/admin/settings/advanced.json index 27a8d9dcb3..76d0219cdd 100644 --- a/public/language/ja/admin/settings/advanced.json +++ b/public/language/ja/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "アクセス-制御-有効-メソッド", "headers.acah": "アクセス-制御-有効-ヘッダー", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/ko/admin/settings/advanced.json b/public/language/ko/admin/settings/advanced.json index 2e63ddbd98..4a54688c8e 100644 --- a/public/language/ko/admin/settings/advanced.json +++ b/public/language/ko/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "HSTS 활성화 (권장)", "hsts.maxAge": "HSTS 유효 기간", diff --git a/public/language/lt/admin/settings/advanced.json b/public/language/lt/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/lt/admin/settings/advanced.json +++ b/public/language/lt/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/lv/admin/settings/advanced.json b/public/language/lv/admin/settings/advanced.json index fc83094e81..8f05539cfa 100644 --- a/public/language/lv/admin/settings/advanced.json +++ b/public/language/lv/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "HTTP Strict Transport Security (HSTS)", "hsts.enabled": "Iespējots HSTS (ieteicams)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/ms/admin/settings/advanced.json b/public/language/ms/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/ms/admin/settings/advanced.json +++ b/public/language/ms/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/nb/admin/settings/advanced.json b/public/language/nb/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/nb/admin/settings/advanced.json +++ b/public/language/nb/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/nl/admin/settings/advanced.json b/public/language/nl/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/nl/admin/settings/advanced.json +++ b/public/language/nl/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/pl/admin/settings/advanced.json b/public/language/pl/admin/settings/advanced.json index 62e71081ec..357e05cecf 100644 --- a/public/language/pl/admin/settings/advanced.json +++ b/public/language/pl/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Kontrola-Dostępu-Zezwól- Dane Logowania", "headers.acam": "Kontrola-Dostępu-Zezwól-Metody", "headers.acah": "Kontrola-Dostępu-Zezwól-Nagłówki", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Włączony HSTS (zalecane)", "hsts.maxAge": "Maksymalny wiek HSTS", diff --git a/public/language/pt-BR/admin/settings/advanced.json b/public/language/pt-BR/admin/settings/advanced.json index 6439ba1147..a8afd3dbc6 100644 --- a/public/language/pt-BR/admin/settings/advanced.json +++ b/public/language/pt-BR/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Habilitar HSTS (recomendado)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/pt-PT/admin/settings/advanced.json b/public/language/pt-PT/admin/settings/advanced.json index 13097b327c..c07f0a201c 100644 --- a/public/language/pt-PT/admin/settings/advanced.json +++ b/public/language/pt-PT/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/ro/admin/settings/advanced.json b/public/language/ro/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/ro/admin/settings/advanced.json +++ b/public/language/ro/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/ru/admin/settings/advanced.json b/public/language/ru/admin/settings/advanced.json index 41fde5b0ad..d0603fafd1 100644 --- a/public/language/ru/admin/settings/advanced.json +++ b/public/language/ru/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Строгая политика безопасности транспортного уровня", "hsts.enabled": "Включить HSTS (рекомендуется)", "hsts.maxAge": "Срок действия заголовка HSTS", diff --git a/public/language/rw/admin/settings/advanced.json b/public/language/rw/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/rw/admin/settings/advanced.json +++ b/public/language/rw/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/sc/admin/settings/advanced.json b/public/language/sc/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/sc/admin/settings/advanced.json +++ b/public/language/sc/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/sk/admin/settings/advanced.json b/public/language/sk/admin/settings/advanced.json index d695107ed4..06ce4a6331 100644 --- a/public/language/sk/admin/settings/advanced.json +++ b/public/language/sk/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Prísne zabezpečenie prenosu", "hsts.enabled": "Povoliť HSTS (odporúčané)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/sl/admin/settings/advanced.json b/public/language/sl/admin/settings/advanced.json index 1ccc1a4752..58d93e5b7c 100644 --- a/public/language/sl/admin/settings/advanced.json +++ b/public/language/sl/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Omogočen HSTS (priporočeno)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/sr/admin/settings/advanced.json b/public/language/sr/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/sr/admin/settings/advanced.json +++ b/public/language/sr/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/sv/admin/settings/advanced.json b/public/language/sv/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/sv/admin/settings/advanced.json +++ b/public/language/sv/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/th/admin/settings/advanced.json b/public/language/th/admin/settings/advanced.json index ce0782be9e..ddf000be64 100644 --- a/public/language/th/admin/settings/advanced.json +++ b/public/language/th/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/tr/admin/settings/advanced.json b/public/language/tr/admin/settings/advanced.json index d8432101d4..7a14c1900a 100644 --- a/public/language/tr/admin/settings/advanced.json +++ b/public/language/tr/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Erişim-Kontrolü-KimlikBilgileri-İzni", "headers.acam": "Erişim-Kontrolü-Yöntem-İzni", "headers.acah": "Erişim-Kontrolü-Başlık-İzni", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "STS", "hsts.enabled": "HSTS'yi etkinleştir (önerilir)", "hsts.maxAge": "HSTS Maksimum Yaş", diff --git a/public/language/uk/admin/settings/advanced.json b/public/language/uk/admin/settings/advanced.json index 00698ca565..3a40be753f 100644 --- a/public/language/uk/admin/settings/advanced.json +++ b/public/language/uk/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Доступ-Контроль-Дозвіл-Права", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Enabled HSTS (recommended)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/vi/admin/settings/advanced.json b/public/language/vi/admin/settings/advanced.json index 304f58d8fc..a02062f37f 100644 --- a/public/language/vi/admin/settings/advanced.json +++ b/public/language/vi/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Bảo Vệ Truyền Tải Nghiêm Ngặt", "hsts.enabled": "Đã bật HSTS (đề nghị)", "hsts.maxAge": "HSTS Tuổi Tối Đa", diff --git a/public/language/zh-CN/admin/settings/advanced.json b/public/language/zh-CN/admin/settings/advanced.json index 689ac24327..8b418f7d84 100644 --- a/public/language/zh-CN/admin/settings/advanced.json +++ b/public/language/zh-CN/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "严格安全传输(HSTS)", "hsts.enabled": "启用HSTS(推荐)", "hsts.maxAge": "HSTS Max Age", diff --git a/public/language/zh-TW/admin/settings/advanced.json b/public/language/zh-TW/admin/settings/advanced.json index a13c583948..1deb97b0f7 100644 --- a/public/language/zh-TW/admin/settings/advanced.json +++ b/public/language/zh-TW/admin/settings/advanced.json @@ -15,6 +15,9 @@ "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", + "headers.coep": "Cross-Origin-Embedder-Policy", + "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "嚴格安全傳輸", "hsts.enabled": "啟用HSTS(推薦)", "hsts.maxAge": "HSTS Max Age", From 1b80be5392f7f0c62f77159d659f8fe9650d1216 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Sat, 22 Jan 2022 09:05:39 +0000 Subject: [PATCH 006/135] Latest translations and fallbacks --- public/language/fr/admin/settings/advanced.json | 2 +- public/language/fr/user.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/language/fr/admin/settings/advanced.json b/public/language/fr/admin/settings/advanced.json index c8afdcf08e..e367f59727 100644 --- a/public/language/fr/admin/settings/advanced.json +++ b/public/language/fr/admin/settings/advanced.json @@ -16,7 +16,7 @@ "headers.acam": "\nAccess-Control-Allow-Methods", "headers.acah": "\nAccess-Control-Allow-Headers", "headers.coep": "Cross-Origin-Embedder-Policy", - "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.coep-help": "Lorsqu'il est activé (par défaut), définira l'en-tête sur require-corp", "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Strict Transport Security", "hsts.enabled": "Activer HSTS (recommandé)", diff --git a/public/language/fr/user.json b/public/language/fr/user.json index 6d461d486c..7540c0da6a 100644 --- a/public/language/fr/user.json +++ b/public/language/fr/user.json @@ -184,7 +184,7 @@ "consent.export_posts": "Exporter vos messages (.csv)", "consent.export-posts-success": "Exportation des messages, vous recevrez une notification lorsqu'elle sera terminée.", "emailUpdate.intro": "Veuillez renseigner votre adresse mails. Ce forum utilise votre adresse mail pour suivre l'activité et les notifications programmés, ainsi que pour la récupération de compte en cas de perte de mot de passe.", - "emailUpdate.optional": "This field is optional. You are not obligated to provide your email address, but without a validated email you will not be able to recover your account or login with your email.", - "emailUpdate.required": "This field is required.", + "emailUpdate.optional": "Ce champ est facultatif. Vous n'êtes pas obligé de fournir votre adresse e-mail, mais sans e-mail validé, vous ne pourrez pas récupérer votre compte ou vous connecter avec votre e-mail.", + "emailUpdate.required": "Ce champ est requis.", "emailUpdate.change-instructions": "Un mail de confirmation sera envoyé à l'adresse mail saisie avec un lien unique. L'accès à ce lien confirmera votre propriété de mail et elle deviendra active sur votre compte. À tout moment, vous pouvez mettre à jour votre mail enregistré depuis la page de votre compte." } \ No newline at end of file From 3c63651fee0da7bd8a2174c0b6103e8ca0ee916e Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Sun, 23 Jan 2022 09:05:41 +0000 Subject: [PATCH 007/135] Latest translations and fallbacks --- public/language/bg/admin/settings/advanced.json | 10 +++++----- public/language/vi/admin/settings/advanced.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/public/language/bg/admin/settings/advanced.json b/public/language/bg/admin/settings/advanced.json index 4e8a4c0a16..4a4baa8bc8 100644 --- a/public/language/bg/admin/settings/advanced.json +++ b/public/language/bg/admin/settings/advanced.json @@ -8,15 +8,15 @@ "headers.csp-frame-ancestors": "Задайте заглавката „Content-Security-Policy frame-ancestors“ за да поставите NodeBB „iFrame“", "headers.csp-frame-ancestors-help": "„none“ (нищо), „self“ (себе си – по подразбиране) или списък от позволени адреси.", "headers.powered-by": "Персонализиране на заглавната част „Захранван от“, която се изпраща от NodeBB", - "headers.acao": "Произход за разрешаване на управлението на достъпа", - "headers.acao-regex": "Регулярен израз за произхода за разрешаване на управлението на достъпа", + "headers.acao": "Access-Control-Allow-Origin", + "headers.acao-regex": "Регулярен израз за „Access-Control-Allow-Origin“", "headers.acao-help": "За да забраните достъпа до всички уеб сайтове, оставете празно", "headers.acao-regex-help": "Въведете регулярен израз за съвпадение с динамичните произходи. За да забраните достъпа на всички уеб сайтове, оставете това празно.", - "headers.acac": "Удостоверителни данни за разрешаване на управлението на достъпа", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Методи за разрешаване на управлението на достъпа", - "headers.acah": "Заглавки за разрешаване на управлението на достъпа", + "headers.acah": "Access-Control-Allow-Headers", "headers.coep": "Cross-Origin-Embedder-Policy", - "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.coep-help": "Когато е включено (по подразбиране), стойността на заглавката ще бъде require-corp", "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Стриктна транспортна сигурност", "hsts.enabled": "Включване на HSTS (препоръчително)", diff --git a/public/language/vi/admin/settings/advanced.json b/public/language/vi/admin/settings/advanced.json index a02062f37f..6d3740e6d9 100644 --- a/public/language/vi/admin/settings/advanced.json +++ b/public/language/vi/admin/settings/advanced.json @@ -16,7 +16,7 @@ "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "headers.coep": "Cross-Origin-Embedder-Policy", - "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.coep-help": "Khi được bật (mặc định), sẽ đặt tiêu đề thành require-corp", "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Bảo Vệ Truyền Tải Nghiêm Ngặt", "hsts.enabled": "Đã bật HSTS (đề nghị)", From 7060837b82722c247c50c688dc32e6798f98c8fc Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 23 Jan 2022 12:02:09 +0000 Subject: [PATCH 008/135] chore(deps): update dependency lint-staged to v12.3.0 --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 43da1cab91..01cb019bed 100644 --- a/install/package.json +++ b/install/package.json @@ -153,7 +153,7 @@ "grunt-contrib-watch": "1.1.0", "husky": "7.0.4", "jsdom": "19.0.0", - "lint-staged": "12.2.2", + "lint-staged": "12.3.0", "mocha": "9.1.4", "mocha-lcov-reporter": "1.3.0", "mockdate": "3.0.5", From ac244af3387b6c83ca2e12a20f57e92e807967f9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 23 Jan 2022 14:55:33 +0000 Subject: [PATCH 009/135] chore(deps): update dependency lint-staged to v12.3.1 --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 01cb019bed..7eb7cc9f22 100644 --- a/install/package.json +++ b/install/package.json @@ -153,7 +153,7 @@ "grunt-contrib-watch": "1.1.0", "husky": "7.0.4", "jsdom": "19.0.0", - "lint-staged": "12.3.0", + "lint-staged": "12.3.1", "mocha": "9.1.4", "mocha-lcov-reporter": "1.3.0", "mockdate": "3.0.5", From 1f037bf692cc20fb5b2a8ad3cd2c860779ee2032 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jan 2022 05:22:34 +0000 Subject: [PATCH 010/135] chore(deps): bump helmet from 5.0.1 to 5.0.2 in /install Bumps [helmet](https://github.com/helmetjs/helmet) from 5.0.1 to 5.0.2. - [Release notes](https://github.com/helmetjs/helmet/releases) - [Changelog](https://github.com/helmetjs/helmet/blob/main/CHANGELOG.md) - [Commits](https://github.com/helmetjs/helmet/compare/v5.0.1...v5.0.2) --- updated-dependencies: - dependency-name: helmet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 7eb7cc9f22..4227e79227 100644 --- a/install/package.json +++ b/install/package.json @@ -60,7 +60,7 @@ "express-session": "1.17.2", "express-useragent": "1.0.15", "graceful-fs": "4.2.9", - "helmet": "5.0.1", + "helmet": "5.0.2", "html-to-text": "8.1.0", "ipaddr.js": "2.0.1", "jquery": "3.6.0", From 05e2b3541ba8c06907d2e17b71b90170db8c1720 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 24 Jan 2022 12:03:26 +0000 Subject: [PATCH 011/135] chore(deps): update dependency mocha to v9.2.0 --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 4227e79227..fcbacf708b 100644 --- a/install/package.json +++ b/install/package.json @@ -154,7 +154,7 @@ "husky": "7.0.4", "jsdom": "19.0.0", "lint-staged": "12.3.1", - "mocha": "9.1.4", + "mocha": "9.2.0", "mocha-lcov-reporter": "1.3.0", "mockdate": "3.0.5", "nyc": "15.1.0", From 94da502629bfd277b38b2a5498ffdd813638d0fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 24 Jan 2022 16:41:25 -0500 Subject: [PATCH 012/135] fix: if no group label is selected, select no group title option dont save groupTitle: "['null']" if nothing is selected --- public/src/client/account/edit.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/src/client/account/edit.js b/public/src/client/account/edit.js index 6ef927d48c..f907e84e63 100644 --- a/public/src/client/account/edit.js +++ b/public/src/client/account/edit.js @@ -25,6 +25,10 @@ define('forum/account/edit', [ }); }); + if (ajaxify.data.groupTitleArray.length === 1 && ajaxify.data.groupTitleArray[0] === '') { + $('#groupTitle option[value=""]').attr('selected', true); + } + handleImageChange(); handleAccountDelete(); handleEmailConfirm(); @@ -36,6 +40,7 @@ define('forum/account/edit', [ function updateProfile() { const userData = $('form[component="profile/edit/form"]').serializeObject(); userData.uid = ajaxify.data.uid; + userData.groupTitle = userData.groupTitle || ''; userData.groupTitle = JSON.stringify( Array.isArray(userData.groupTitle) ? userData.groupTitle : [userData.groupTitle] ); From 3e30b6cd23ebcaf38b4b78283a1daefc08b339d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 24 Jan 2022 18:06:02 -0500 Subject: [PATCH 013/135] chore: up persona --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index fcbacf708b..8fe018fcea 100644 --- a/install/package.json +++ b/install/package.json @@ -94,7 +94,7 @@ "nodebb-plugin-spam-be-gone": "0.7.12", "nodebb-rewards-essentials": "0.2.1", "nodebb-theme-lavender": "5.3.2", - "nodebb-theme-persona": "11.3.18", + "nodebb-theme-persona": "11.3.19", "nodebb-theme-slick": "1.4.23", "nodebb-theme-vanilla": "12.1.16", "nodebb-widget-essentials": "5.0.4", From c159efc7cd25dd16f9cc0bd1496bd1d234bfe57a Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Tue, 25 Jan 2022 09:05:51 +0000 Subject: [PATCH 014/135] Latest translations and fallbacks --- public/language/it/admin/settings/advanced.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/language/it/admin/settings/advanced.json b/public/language/it/admin/settings/advanced.json index 56a95b8df7..fc83d9c165 100644 --- a/public/language/it/admin/settings/advanced.json +++ b/public/language/it/admin/settings/advanced.json @@ -16,7 +16,7 @@ "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "headers.coep": "Cross-Origin-Embedder-Policy", - "headers.coep-help": "When enabled (default), will set the header to require-corp", + "headers.coep-help": "Se abilitato (impostazione predefinita), imposterà l'intestazione su require-corp", "headers.corp": "Cross-Origin-Resource-Policy", "hsts": "Rigorosa sicurezza trasporto", "hsts.enabled": "Abilita HSTS (consigliato)", From 4467299e42827a4fbc6e109005b8b4be18266b7b Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 25 Jan 2022 09:46:28 -0500 Subject: [PATCH 015/135] fix: update defaults for corp and coep to be more permissive, for now, to be reverted for v1.20.0 --- install/data/defaults.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/data/defaults.json b/install/data/defaults.json index b18c3dd9a7..56987f0b58 100644 --- a/install/data/defaults.json +++ b/install/data/defaults.json @@ -146,8 +146,8 @@ "dailyDigestFreq": "off", "digestHour": 17, "passwordExpiryDays": 0, - "cross-origin-embedder-policy": 1, - "cross-origin-resource-policy": "same-origin", + "cross-origin-embedder-policy": 0, + "cross-origin-resource-policy": "cross-origin", "hsts-maxage": 31536000, "hsts-subdomains": 0, "hsts-preload": 0, From df8c8ad8e4fa3ed18a99b8715c39131ca01a28c0 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 25 Jan 2022 09:50:09 -0500 Subject: [PATCH 016/135] fix: actually, CORP is ok --- install/data/defaults.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/data/defaults.json b/install/data/defaults.json index 56987f0b58..11c24c2706 100644 --- a/install/data/defaults.json +++ b/install/data/defaults.json @@ -147,7 +147,7 @@ "digestHour": 17, "passwordExpiryDays": 0, "cross-origin-embedder-policy": 0, - "cross-origin-resource-policy": "cross-origin", + "cross-origin-resource-policy": "same-origin", "hsts-maxage": 31536000, "hsts-subdomains": 0, "hsts-preload": 0, From 92a249c94764383045d589b449da8b9bc14e37f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 25 Jan 2022 13:20:50 -0500 Subject: [PATCH 017/135] fix: #10197, fix relative path urls for dashboard pages --- public/src/admin/modules/dashboard-line-graph.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/src/admin/modules/dashboard-line-graph.js b/public/src/admin/modules/dashboard-line-graph.js index 38f75e62cc..1e11b82e5b 100644 --- a/public/src/admin/modules/dashboard-line-graph.js +++ b/public/src/admin/modules/dashboard-line-graph.js @@ -182,7 +182,8 @@ define('admin/modules/dashboard-line-graph', ['Chart', 'translator', 'benchpress count: amount, }); apiEl.attr('href', `${config.relative_path}/api/v3/admin/analytics/${ajaxify.data.set}?${newHref}`); - ajaxify.updateHistory(`${ajaxify.data.url.slice(1)}?${newHref}`, true); + const url = ajaxify.removeRelativePath(ajaxify.data.url.slice(1)); + ajaxify.updateHistory(`${url}?${newHref}`, true); hooks.fire('action:admin.dashboard.updateGraph', { graph: Graph._current, }); From dc6e629d596375db6f316a108e569b92ae3493cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 25 Jan 2022 18:01:35 -0500 Subject: [PATCH 018/135] fix: https://github.com/julianlam/nodebb-plugin-mentions/issues/170 --- public/src/client/topic/postTools.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/public/src/client/topic/postTools.js b/public/src/client/topic/postTools.js index a09cf9f06d..4c26de8cf6 100644 --- a/public/src/client/topic/postTools.js +++ b/public/src/client/topic/postTools.js @@ -11,7 +11,8 @@ define('forum/topic/postTools', [ 'bootbox', 'alerts', 'hooks', -], function (share, navigator, components, translator, votes, api, bootbox, alerts, hooks) { + 'slugify', +], function (share, navigator, components, translator, votes, api, bootbox, alerts, hooks, slugify) { const PostTools = {}; let staleReplyAnyway = false; @@ -374,7 +375,7 @@ define('forum/topic/postTools', [ } if (post.length) { - slug = post.attr('data-userslug'); + slug = slugify(post.attr('data-username'), true); if (!slug) { if (post.attr('data-uid') !== '0') { slug = '[[global:former_user]]'; From 814cb66bedfc5e778491d17f238b09d52d84b3b0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 26 Jan 2022 19:03:51 +0000 Subject: [PATCH 019/135] chore(deps): update dependency lint-staged to v12.3.2 --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 8fe018fcea..275d652d86 100644 --- a/install/package.json +++ b/install/package.json @@ -153,7 +153,7 @@ "grunt-contrib-watch": "1.1.0", "husky": "7.0.4", "jsdom": "19.0.0", - "lint-staged": "12.3.1", + "lint-staged": "12.3.2", "mocha": "9.2.0", "mocha-lcov-reporter": "1.3.0", "mockdate": "3.0.5", From 63d54098ba2ef9102d3343ad838585c3876b19b1 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Thu, 27 Jan 2022 09:06:09 +0000 Subject: [PATCH 020/135] Latest translations and fallbacks --- public/language/de/admin/dashboard.json | 10 +++++----- public/language/de/admin/development/info.json | 10 +++++----- public/language/de/admin/manage/privileges.json | 6 +++--- public/language/de/admin/manage/users.json | 6 +++--- public/language/de/admin/menu.json | 12 ++++++------ public/language/de/tags.json | 2 +- 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/public/language/de/admin/dashboard.json b/public/language/de/admin/dashboard.json index 5b4bcf4bf5..97906ea076 100644 --- a/public/language/de/admin/dashboard.json +++ b/public/language/de/admin/dashboard.json @@ -56,8 +56,8 @@ "active-users.total": "Gesamt", "active-users.connections": "Verbindungen", - "guest-registered-users": "Guest vs Registered Users", - "guest": "Guest", + "guest-registered-users": "Gast vs. registrierte Benutzer", + "guest": "Gast", "registered": "Registriert", "user-presence": "Benutzerpräsenz", @@ -68,7 +68,7 @@ "unread": "Ungelesen", "high-presence-topics": "Meist besuchte Themen", - "popular-searches": "Popular Searches", + "popular-searches": "Beliebte Suchanfragen", "graphs.page-views": "Seitenaufrufe", "graphs.page-views-registered": "Registrierte Seitenaufrufe", @@ -76,14 +76,14 @@ "graphs.page-views-bot": "Seitenaufrufe von Bots", "graphs.unique-visitors": "Verschiedene Besucher", "graphs.registered-users": "Registrierte Benutzer", - "graphs.guest-users": "Guest Users", + "graphs.guest-users": "Gast-Benutzer", "last-restarted-by": "Zuletzt Neugestartet von: ", "no-users-browsing": "Keine aktiven Benutzer", "back-to-dashboard": "Zurück zur Übersicht", "details.no-users": "Keine Benutzer sind im gewählten Zeitraum beigetreten", "details.no-topics": "Keine Themen wurden im gewählten Zeitraum beigetreten", - "details.no-searches": "No searches have been made yet", + "details.no-searches": "Es wurden noch keine Suchen durchgeführt", "details.no-logins": "Keine Logins wurden im gewählten Zeitraum festgestellt", "details.logins-static": "NodeBB speichert Sitzungsdaten nur für %1 Tage, deshalb zeigt die untere Tabelle nur die neuesten, aktiven Sitzungen", "details.logins-login-time": "Anmelde Zeit" diff --git a/public/language/de/admin/development/info.json b/public/language/de/admin/development/info.json index c0b65f6781..082f1b212c 100644 --- a/public/language/de/admin/development/info.json +++ b/public/language/de/admin/development/info.json @@ -8,11 +8,11 @@ "nodejs": "Node.js Version", "online": "Online", "git": "git", - "process-memory": "process memory", - "system-memory": "system memory", - "used-memory-process": "Used memory by process", - "used-memory-os": "Used system memory", - "total-memory-os": "Total system memory", + "process-memory": "Prozess-Speicher", + "system-memory": "System-Speicher", + "used-memory-process": "Verwendeter Prozess-Speicher", + "used-memory-os": "Verwendeter System-Speicher", + "total-memory-os": "Gesamter System-Speicher", "load": "Systemlast", "cpu-usage": "CPU Benutzung", "uptime": "Uptime", diff --git a/public/language/de/admin/manage/privileges.json b/public/language/de/admin/manage/privileges.json index 818fc0bfce..777cb8404f 100644 --- a/public/language/de/admin/manage/privileges.json +++ b/public/language/de/admin/manage/privileges.json @@ -52,9 +52,9 @@ "alert.confirm-discard": "Bist du sicher, dass du die Änderungen an den Rechten verwerfen möchtest?", "alert.discarded": "Änderungen an Rechten verworfen", "alert.confirm-copyToAll": "Bist Du dir sicher, dass Du die Rechte von %1 auf alle Kategorien anwenden möchtest?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", + "alert.confirm-copyToAllGroup": "Bist Du dir sicher, dass Du diesen Gruppen-Satz %1 auf alle Kategorien anwenden möchtest?", + "alert.confirm-copyToChildren": "Bist Du dir sicher, dass Du diesen Satz von %1 auf alle (untergeordneten) Kategorien anwenden möchtest?", + "alert.confirm-copyToChildrenGroup": "Bist Du dir sicher, dass Du den Gruppen-Satz von %1 auf alle (untergeordneten) Kategorien anwenden möchten?", "alert.no-undo": "Dieser Vorgang kann nicht rückgängig gemacht werden.", "alert.admin-warning": "Administratoren erhalten implizit alle Berechtigungen", "alert.copyPrivilegesFrom-title": "Wähle eine Kategorie aus, aus der kopiert werden soll", diff --git a/public/language/de/admin/manage/users.json b/public/language/de/admin/manage/users.json index d426fdedfe..ec5fe6807a 100644 --- a/public/language/de/admin/manage/users.json +++ b/public/language/de/admin/manage/users.json @@ -93,8 +93,8 @@ "alerts.confirm-delete": "Warning!

Do you really want to delete user(s)?

This action is not reversible! Only the user account will be deleted, their posts and topics will remain.

", "alerts.delete-success": "Benutzer gelöscht!", "alerts.confirm-delete-content": "Warning!

Do you really want to delete these user(s) content?

This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.

", - "alerts.delete-content-success": "User(s) Content Deleted!", - "alerts.confirm-purge": "Warning!

Do you really want to delete user(s) and their content?

This action is not reversible! All user data and content will be erased!

", + "alerts.delete-content-success": "Beiträge des/der Nutzer(s) gelöscht!", + "alerts.confirm-purge": "Warnung!

Bist du sicher, dass Du den/die Nutzer und deren Beiträge löschen möchtest?

Diese Aktion kann nicht rückgängig gemacht werden! Alle Nutzerdaten und Beiträge werden dabei gelöscht!

", "alerts.create": "Nutzer Erstellen", "alerts.button-create": "Erstellen", "alerts.button-cancel": "Abbrechen", @@ -104,7 +104,7 @@ "alerts.prompt-email": "E-Mails:", "alerts.email-sent-to": "Eine Einladungsemail wurde an %1 gesendet", - "alerts.x-users-found": "%1 user(s) found, (%2 seconds)", + "alerts.x-users-found": "%1 Benutzer gefunden, (%2 Sekunden)", "export-users-started": "Der Export von Benutzern als CSV kann eine Weile dauern. Sie erhalten eine Benachrichtigung, wenn es abgeschlossen ist.", "export-users-completed": "Benutzer wurden als CSV exportiert, klicken Sie hier, um sie herunterzuladen." } \ No newline at end of file diff --git a/public/language/de/admin/menu.json b/public/language/de/admin/menu.json index ec21748e22..22374645f0 100644 --- a/public/language/de/admin/menu.json +++ b/public/language/de/admin/menu.json @@ -1,10 +1,10 @@ { "section-dashboard": "Dashboards", - "dashboard/overview": "Overview", - "dashboard/logins": "Logins", - "dashboard/users": "Users", - "dashboard/topics": "Topics", - "dashboard/searches": "Searches", + "dashboard/overview": "Übersicht", + "dashboard/logins": "Anmeldungen", + "dashboard/users": "Benutzer", + "dashboard/topics": "Themen", + "dashboard/searches": "Suchen", "section-general": "Allgemein", "section-manage": "Verwalten", @@ -76,7 +76,7 @@ "logout": "Abmelden", "view-forum": "Forum anzeigen", - "search.placeholder": "Press "/" to search for settings", + "search.placeholder": "Drücke "/" um nach Einstellungen zu suchen", "search.no-results": "Keine Ergebnisse...", "search.search-forum": "Suche im Forum nach ", "search.keep-typing": "Gib mehr ein, um die Ergebnisse zu sehen...", diff --git a/public/language/de/tags.json b/public/language/de/tags.json index a2b6225376..b4f3f56d71 100644 --- a/public/language/de/tags.json +++ b/public/language/de/tags.json @@ -4,5 +4,5 @@ "enter_tags_here": "Hier Schlagworte eingeben. Jeweils %1 bis %2 Zeichen.", "enter_tags_here_short": "Schlagworte eingeben...", "no_tags": "Es gibt noch keine Schlagworte.", - "select_tags": "Schlagwort auswählen" + "select_tags": "Schlagworte auswählen" } \ No newline at end of file From e1e1d5223ea2b3455efb0b91288344705d0850f6 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 27 Jan 2022 13:23:46 -0500 Subject: [PATCH 021/135] feat: push the theme name into body class --- src/middleware/helpers.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/middleware/helpers.js b/src/middleware/helpers.js index bbf766895f..b4b6fdb188 100644 --- a/src/middleware/helpers.js +++ b/src/middleware/helpers.js @@ -4,6 +4,8 @@ const winston = require('winston'); const validator = require('validator'); const slugify = require('../slugify'); +const meta = require('../meta'); + const helpers = module.exports; helpers.try = function (middleware) { @@ -54,6 +56,8 @@ helpers.buildBodyClass = function (req, res, templateData = {}) { parts.push(`page-status-${res.statusCode}`); + parts.push(`theme-${meta.config['theme:id'].split('-')[2]}`); + if (req.loggedIn) { parts.push('user-loggedin'); } else { From 2a89ad8288317c66a9d818233d9f9c8f8a3a9824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 27 Jan 2022 16:00:01 -0500 Subject: [PATCH 022/135] fix: use escaped group names in invite modal --- src/controllers/write/users.js | 4 ++-- src/groups/user.js | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/controllers/write/users.js b/src/controllers/write/users.js index 5edad764fe..3ab37025ca 100644 --- a/src/controllers/write/users.js +++ b/src/controllers/write/users.js @@ -200,7 +200,7 @@ Users.invite = async (req, res) => { return helpers.formatApiResponse(403, res, new Error('[[error:no-privileges]]')); } - const inviteGroups = await groups.getUserInviteGroups(req.uid); + const inviteGroups = (await groups.getUserInviteGroups(req.uid)).map(group => group.name); const cannotInvite = groupsToJoin.some(group => !inviteGroups.includes(group)); if (groupsToJoin.length > 0 && cannotInvite) { return helpers.formatApiResponse(403, res, new Error('[[error:no-privileges]]')); @@ -231,7 +231,7 @@ Users.getInviteGroups = async function (req, res) { } const userInviteGroups = await groups.getUserInviteGroups(req.params.uid); - return helpers.formatApiResponse(200, res, userInviteGroups); + return helpers.formatApiResponse(200, res, userInviteGroups.map(group => group.displayName)); }; Users.listEmails = async (req, res) => { diff --git a/src/groups/user.js b/src/groups/user.js index 5255adff1a..4238296a37 100644 --- a/src/groups/user.js +++ b/src/groups/user.js @@ -37,7 +37,10 @@ module.exports = function (Groups) { allGroups = allGroups.filter(group => !Groups.ephemeralGroups.includes(group.name)); const publicGroups = allGroups.filter(group => group.hidden === 0 && group.system === 0 && group.private === 0); - const adminModGroups = [{ name: 'administrators' }, { name: 'Global Moderators' }]; + const adminModGroups = [ + { name: 'administrators', displayName: 'administrators' }, + { name: 'Global Moderators', displayName: 'Global Moderators' }, + ]; // Private (but not hidden) const privateGroups = allGroups.filter(group => group.hidden === 0 && group.system === 0 && group.private === 1); @@ -58,7 +61,6 @@ module.exports = function (Groups) { } return inviteGroups - .concat(publicGroups) - .map(group => group.name); + .concat(publicGroups); }; }; From 578145acd64f72e96fbd00056bc1e736c482dd34 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 27 Jan 2022 21:09:40 -0500 Subject: [PATCH 023/135] fix: bug where page wouldn't complete loading if data.scripts was emptied --- public/src/ajaxify.js | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/public/src/ajaxify.js b/public/src/ajaxify.js index 6181af8357..04bcb6949e 100644 --- a/public/src/ajaxify.js +++ b/public/src/ajaxify.js @@ -344,7 +344,7 @@ ajaxify = window.ajaxify || {}; // Require and parse modules let outstanding = data.scripts.length; - data.scripts.map(function (script) { + const scripts = data.scripts.map(function (script) { if (typeof script === 'function') { return function (next) { script(); @@ -369,14 +369,20 @@ ajaxify = window.ajaxify || {}; }; } return null; - }).filter(Boolean).forEach(function (fn) { - fn(function () { - outstanding -= 1; - if (outstanding === 0) { - callback(); - } + }).filter(Boolean); + + if (scripts.length) { + scripts.forEach(function (fn) { + fn(function () { + outstanding -= 1; + if (outstanding === 0) { + callback(); + } + }); }); - }); + } else { + callback(); + } }); }; From 89b559a2a3c0de343fe1115d26537df68d8d45a8 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 28 Jan 2022 10:07:54 -0500 Subject: [PATCH 024/135] refactor: sorted-list .get() to be async fn + plugin hook `filter:settings.sorted-list.load` to allow modification of params prior to template parsing --- public/src/modules/settings/sorted-list.js | 57 ++++++++++++---------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/public/src/modules/settings/sorted-list.js b/public/src/modules/settings/sorted-list.js index 367999161e..dba5da9bc0 100644 --- a/public/src/modules/settings/sorted-list.js +++ b/public/src/modules/settings/sorted-list.js @@ -26,41 +26,44 @@ define('settings/sorted-list', [ values[key].push(formData); }); }, - get: function ($container, hash) { - const $list = $container.find('[data-type="list"]'); - const key = $container.attr('data-sorted-list'); - const formTpl = $container.attr('data-form-template'); + get: async ($container, hash) => { + const { listEl, key, formTpl, formValues } = await hooks.fire('filter:settings.sorted-list.load', { + listEl: $container.find('[data-type="list"]'), + key: $container.attr('data-sorted-list'), + formTpl: $container.attr('data-form-template'), + formValues: {}, + }); - benchpress.render(formTpl, {}).then(function (formHtml) { - const addBtn = $('[data-sorted-list="' + key + '"] [data-type="add"]'); + const formHtml = await benchpress.render(formTpl, formValues); - addBtn.on('click', function () { - const modal = bootbox.confirm(formHtml, function (save) { - if (save) { - SortedList.addItem(modal.find('form').children(), $container); - } - }); + const addBtn = $('[data-sorted-list="' + key + '"] [data-type="add"]'); + + addBtn.on('click', function () { + const modal = bootbox.confirm(formHtml, function (save) { + if (save) { + SortedList.addItem(modal.find('form').children(), $container); + } }); + }); - const call = $container.parents('form').attr('data-socket-get'); - const list = ajaxify.data[call ? hash : 'settings'][key]; + const call = $container.parents('form').attr('data-socket-get'); + const list = ajaxify.data[call ? hash : 'settings'][key]; - if (Array.isArray(list) && typeof list[0] !== 'string') { - list.forEach(function (item) { - const itemUUID = utils.generateUUID(); - const form = $(formHtml).deserialize(item); - form.attr('data-sorted-list-uuid', itemUUID); - form.attr('data-sorted-list-object', key); - $('#content').append(form.hide()); + if (Array.isArray(list) && typeof list[0] !== 'string') { + list.forEach(function (item) { + const itemUUID = utils.generateUUID(); + const form = $(formHtml).deserialize(item); + form.attr('data-sorted-list-uuid', itemUUID); + form.attr('data-sorted-list-object', key); + $('#content').append(form.hide()); - parse($container, itemUUID, item).then(() => { - hooks.fire('action:settings.sorted-list.loaded', { element: $list.get(0) }); - }); + parse($container, itemUUID, item).then(() => { + hooks.fire('action:settings.sorted-list.loaded', { element: listEl.get(0) }); }); - } - }); + }); + } - $list.sortable().addClass('pointer'); + listEl.sortable().addClass('pointer'); }, addItem: function ($formElements, $target) { const key = $target.attr('data-sorted-list'); From c6164e487d64ce95fc4550a0ab084c87430f3bd6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 28 Jan 2022 14:21:28 -0500 Subject: [PATCH 025/135] fix(deps): update dependency clipboard to v2.0.9 (#10203) Co-authored-by: Renovate Bot --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 275d652d86..fb04b0237c 100644 --- a/install/package.json +++ b/install/package.json @@ -40,7 +40,7 @@ "bootstrap": "3.4.1", "chart.js": "2.9.4", "cli-graph": "3.2.2", - "clipboard": "2.0.8", + "clipboard": "2.0.9", "colors": "1.4.0", "commander": "7.2.0", "compare-versions": "4.1.3", From a7f142bebba85e89c3e2745f9ce96f49b81903ed Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 28 Jan 2022 14:21:38 -0500 Subject: [PATCH 026/135] fix(deps): update dependency winston to v3.5.0 (#10202) Co-authored-by: Renovate Bot --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index fb04b0237c..db3f03dbfb 100644 --- a/install/package.json +++ b/install/package.json @@ -135,7 +135,7 @@ "uglify-es": "3.3.9", "validator": "13.7.0", "visibilityjs": "2.0.2", - "winston": "3.4.0", + "winston": "3.5.0", "xml": "1.0.1", "xregexp": "5.1.0", "yargs": "17.3.1", From c50f6512a9b23678c580c8a447de7931018eea2b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 28 Jan 2022 14:21:45 -0500 Subject: [PATCH 027/135] fix(deps): update dependency ace-builds to v1.4.14 (#10200) Co-authored-by: Renovate Bot --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index db3f03dbfb..bb8bb1cf6e 100644 --- a/install/package.json +++ b/install/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@adactive/bootstrap-tagsinput": "0.8.2", - "ace-builds": "1.4.13", + "ace-builds": "1.4.14", "archiver": "5.3.0", "async": "3.2.3", "autoprefixer": "10.4.2", From 2db54e67c3cf64b9c0ae9fd3b12e67b3590c3d2a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 28 Jan 2022 14:22:19 -0500 Subject: [PATCH 028/135] chore(deps): bump nodebb-theme-persona in /install (#10199) Bumps [nodebb-theme-persona](https://github.com/NodeBB/nodebb-theme-persona) from 11.3.19 to 11.3.20. - [Release notes](https://github.com/NodeBB/nodebb-theme-persona/releases) - [Commits](https://github.com/NodeBB/nodebb-theme-persona/compare/v11.3.19...v11.3.20) --- updated-dependencies: - dependency-name: nodebb-theme-persona dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index bb8bb1cf6e..6e4b63aede 100644 --- a/install/package.json +++ b/install/package.json @@ -94,7 +94,7 @@ "nodebb-plugin-spam-be-gone": "0.7.12", "nodebb-rewards-essentials": "0.2.1", "nodebb-theme-lavender": "5.3.2", - "nodebb-theme-persona": "11.3.19", + "nodebb-theme-persona": "11.3.20", "nodebb-theme-slick": "1.4.23", "nodebb-theme-vanilla": "12.1.16", "nodebb-widget-essentials": "5.0.4", From a214f9a61b3aa411d2d26ceac5eb56d2bab8b8ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 28 Jan 2022 14:40:57 -0500 Subject: [PATCH 029/135] test: up acp plugin page timeout --- test/controllers-admin.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/controllers-admin.js b/test/controllers-admin.js index f503131a95..246538b3c8 100644 --- a/test/controllers-admin.js +++ b/test/controllers-admin.js @@ -243,6 +243,7 @@ describe('Admin Controllers', () => { }); it('should load /admin/extend/plugins', (done) => { + this.timeout(50000); request(`${nconf.get('url')}/api/admin/extend/plugins`, { jar: jar, json: true }, (err, res, body) => { assert.ifError(err); assert(body.hasOwnProperty('installed')); From 680e36da6725c22460b8e02f5aea6e1976e8be73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 28 Jan 2022 14:58:32 -0500 Subject: [PATCH 030/135] test: fix derp --- test/controllers-admin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/controllers-admin.js b/test/controllers-admin.js index 246538b3c8..91e687d801 100644 --- a/test/controllers-admin.js +++ b/test/controllers-admin.js @@ -242,7 +242,7 @@ describe('Admin Controllers', () => { }); }); - it('should load /admin/extend/plugins', (done) => { + it('should load /admin/extend/plugins', function (done) { this.timeout(50000); request(`${nconf.get('url')}/api/admin/extend/plugins`, { jar: jar, json: true }, (err, res, body) => { assert.ifError(err); From f0e32ff182c08c679a569a7dc7f821848d3ebbba Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 28 Jan 2022 15:01:55 -0500 Subject: [PATCH 031/135] refactor: emailer.send and emailer.sendToEmail returns Boolean based on message being successfully sent Note that of course this doesn't mean the message was _delivered_, just sent off. This will stop issues where emailer errors crash NodeBB --- src/emailer.js | 18 ++++++++++++------ test/emailer.js | 10 ++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/emailer.js b/src/emailer.js index 754b794c05..7b63d3cceb 100644 --- a/src/emailer.js +++ b/src/emailer.js @@ -230,7 +230,7 @@ Emailer.send = async (template, uid, params) => { if (process.env.NODE_ENV === 'development') { winston.warn(`uid : ${uid} has no email, not sending "${template}" email.`); } - return; + return false; } const allowedTpls = ['verify-email', 'welcome', 'registration_accepted', 'reset', 'reset_notify']; @@ -238,7 +238,7 @@ Emailer.send = async (template, uid, params) => { if (process.env.NODE_ENV === 'development') { winston.warn(`uid : ${uid} (${userData.email}) has not confirmed email, not sending "${template}" email.`); } - return; + return false; } const userSettings = await User.getSettings(uid); // Combined passed-in payload with default values @@ -254,9 +254,10 @@ Emailer.send = async (template, uid, params) => { }); if (result.cancel) { - return; + return false; } - await Emailer.sendToEmail(template, userData.email, userSettings.userLang, params); + + return Emailer.sendToEmail(template, userData.email, userSettings.userLang, params); }; Emailer.sendToEmail = async (template, email, language, params) => { @@ -331,13 +332,17 @@ Emailer.sendToEmail = async (template, email, language, params) => { } else { await Emailer.sendViaFallback(data); } + + return true; } catch (err) { if (err.code === 'ENOENT' && usingFallback) { Emailer.fallbackNotFound = true; - throw new Error('[[error:sendmail-not-found]]'); + winston.error(`[emailer/sendToEmail] ${await translator.translate('[[error:sendmail-not-found]]')}`); } else { - throw err; + winston.error(`[emailer/sendToEmail] ${err.message || err.code || 'Unknown error while sending email.'}`); } + + return false; } }; @@ -352,6 +357,7 @@ Emailer.sendViaFallback = async (data) => { winston.verbose(`[emailer] Sending email to uid ${data.uid} (${data.to})`); await Emailer.fallbackTransport.sendMail(data); + return true; }; Emailer.renderAndTranslate = async (template, params, lang) => { diff --git a/test/emailer.js b/test/emailer.js index ea19af58f4..190c6fd388 100644 --- a/test/emailer.js +++ b/test/emailer.js @@ -45,7 +45,7 @@ describe('emailer', () => { // TODO: test sendmail here at some point - it('plugin hook should work', (done) => { + it('plugin hook should work', async () => { const error = new Error(); Plugins.hooks.register('emailer-test', { @@ -59,12 +59,10 @@ describe('emailer', () => { }, }); - Emailer.sendToEmail(template, email, language, params, (err) => { - assert.equal(err, error); + const success = await Emailer.sendToEmail(template, email, language, params); + assert.strictEqual(success, false); - Plugins.hooks.unregister('emailer-test', 'filter:email.send'); - done(); - }); + Plugins.hooks.unregister('emailer-test', 'filter:email.send'); }); it('should build custom template on config change', (done) => { From ea27eaf166b4e26fc64f318b6e3df2bf7c3bbaab Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 28 Jan 2022 15:02:21 -0500 Subject: [PATCH 032/135] feat: no more sending emails to banned users, + feature flag --- install/data/defaults.json | 1 + .../language/en-GB/admin/settings/email.json | 3 +- src/emailer.js | 11 ++++- src/views/admin/settings/email.tpl | 7 ++++ test/emailer.js | 40 +++++++++++++++++++ 5 files changed, 60 insertions(+), 2 deletions(-) diff --git a/install/data/defaults.json b/install/data/defaults.json index 11c24c2706..2eb0a15bb1 100644 --- a/install/data/defaults.json +++ b/install/data/defaults.json @@ -141,6 +141,7 @@ "sendValidationEmail": 1, "includeUnverifiedEmails": 0, "emailPrompt": 1, + "sendEmailToBanned": 0, "requireEmailAddress": 0, "inviteExpiration": 7, "dailyDigestFreq": "off", diff --git a/public/language/en-GB/admin/settings/email.json b/public/language/en-GB/admin/settings/email.json index 17c60daf69..8f5cdf0f95 100644 --- a/public/language/en-GB/admin/settings/email.json +++ b/public/language/en-GB/admin/settings/email.json @@ -43,5 +43,6 @@ "include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails", "include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). Enable this setting at your own risk – sending emails to unverified addresses may be a violation of regional anti-spam laws.", "prompt": "Prompt users to enter or confirm their emails", - "prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen." + "prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.", + "sendEmailToBanned": "Send emails to users even if they have been banned" } diff --git a/src/emailer.js b/src/emailer.js index 7b63d3cceb..c196658b1f 100644 --- a/src/emailer.js +++ b/src/emailer.js @@ -218,7 +218,8 @@ Emailer.send = async (template, uid, params) => { throw Error('[emailer] App not ready!'); } - let userData = await User.getUserFields(uid, ['email', 'username', 'email:confirmed']); + let userData = await User.getUserFields(uid, ['email', 'username', 'email:confirmed', 'banned']); + userData.banned = true; // 'welcome' and 'verify-email' explicitly used passed-in email address if (['welcome', 'verify-email'].includes(template)) { @@ -226,6 +227,14 @@ Emailer.send = async (template, uid, params) => { } ({ template, userData, params } = await Plugins.hooks.fire('filter:email.prepare', { template, uid, userData, params })); + + if (!meta.config.sendEmailToBanned && template !== 'banned') { + if (userData.banned) { + winston.warn(`[emailer/send] User ${userData.username} (uid: ${uid}) is banned; not sending email due to system config.`); + return false; + } + } + if (!userData || !userData.email) { if (process.env.NODE_ENV === 'development') { winston.warn(`uid : ${uid} has no email, not sending "${template}" email.`); diff --git a/src/views/admin/settings/email.tpl b/src/views/admin/settings/email.tpl index e5b3fab134..d4ef6a52a7 100644 --- a/src/views/admin/settings/email.tpl +++ b/src/views/admin/settings/email.tpl @@ -51,6 +51,13 @@

[[admin/settings/email:prompt-help]]

+
+ +
+