From 19207325288ff3501f6c9654cb38e12d92ce696a Mon Sep 17 00:00:00 2001 From: Opliko Date: Tue, 30 Aug 2022 16:52:57 +0300 Subject: [PATCH 01/24] feat: remove visibilityjs (#10870) * feat: remove visibilityjs * fix: actually remove require * style: add a newline * style: forgot a semicolon * style: accidently removed trailing newline * fix: move property declaration to its actual previous place --- install/package.json | 1 - public/src/app.js | 11 +++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/install/package.json b/install/package.json index c18583fddf..79e284308a 100644 --- a/install/package.json +++ b/install/package.json @@ -134,7 +134,6 @@ "toobusy-js": "0.5.1", "uglify-es": "3.3.9", "validator": "13.7.0", - "visibilityjs": "2.0.2", "webpack": "5.74.0", "webpack-merge": "5.8.0", "winston": "3.8.1", diff --git a/public/src/app.js b/public/src/app.js index b81bc59cc4..c116765a6b 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -9,7 +9,6 @@ require('jquery-form'); window.utils = require('./utils'); require('timeago'); -const Visibility = require('visibilityjs'); const Benchpress = require('benchpressjs'); Benchpress.setGlobal('config', config); @@ -19,7 +18,11 @@ require('./ajaxify'); app = window.app || {}; -app.isFocused = true; +Object.defineProperty(app, 'isFocused', { + get() { + return document.visibilityState === 'visible'; + } +}); app.currentRoom = null; app.widgets = {}; app.flags = {}; @@ -95,10 +98,6 @@ if (document.readyState === 'loading') { app.newTopic(); }); - Visibility.change(function (event, state) { - app.isFocused = state === 'visible'; - }); - registerServiceWorker(); require([ From 4b0a786dfb9916d6571bd83dabde2a87898a9397 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Thu, 1 Sep 2022 09:08:51 +0000 Subject: [PATCH 02/24] Latest translations and fallbacks --- public/language/fr/admin/advanced/cache.json | 6 +++--- public/language/fr/admin/menu.json | 2 +- public/language/fr/admin/settings/email.json | 8 ++++---- public/language/fr/admin/settings/post.json | 2 +- public/language/fr/admin/settings/reputation.json | 8 ++++---- public/language/fr/admin/settings/uploads.json | 2 +- public/language/fr/error.json | 4 ++-- public/language/fr/user.json | 2 +- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/public/language/fr/admin/advanced/cache.json b/public/language/fr/admin/advanced/cache.json index 6dd4647282..130034e50e 100644 --- a/public/language/fr/admin/advanced/cache.json +++ b/public/language/fr/admin/advanced/cache.json @@ -1,8 +1,8 @@ { "post-cache": "Cache des messages", - "group-cache": "Group Cache", - "local-cache": "Local Cache", - "object-cache": "Object Cache", + "group-cache": "Cache de groupe", + "local-cache": "Cache Local", + "object-cache": "Cache d'objets", "percent-full": "Plein à %1%", "post-cache-size": "Taille du cache des messages", "items-in-cache": "Objets en cache" diff --git a/public/language/fr/admin/menu.json b/public/language/fr/admin/menu.json index e5f477dc00..c24c461f4e 100644 --- a/public/language/fr/admin/menu.json +++ b/public/language/fr/admin/menu.json @@ -76,7 +76,7 @@ "logout": "Déconnexion ", "view-forum": "Voir le forum", - "search.placeholder": "Search settings", + "search.placeholder": "Paramètres de recherche", "search.no-results": "Aucun résultat…", "search.search-forum": "Rechercher dans le forum", "search.keep-typing": "Continuez de taper pour afficher les résultats…", diff --git a/public/language/fr/admin/settings/email.json b/public/language/fr/admin/settings/email.json index 9ec14a9f3f..3d3a4b8f4f 100644 --- a/public/language/fr/admin/settings/email.json +++ b/public/language/fr/admin/settings/email.json @@ -10,10 +10,10 @@ "smtp-transport-help": "Vous pouvez sélectionner depuis une liste de services ou entrer un service personnalisé.", "smtp-transport.service": "Sélectionner un service", "smtp-transport.service-custom": "Service personnalisé", - "smtp-transport.service-help": "Select a service name above in order to use the known information about it. Alternatively, select "Custom Service" and enter the details below.", - "smtp-transport.gmail-warning1": "If you are using GMail as your email provider, you will have to generate an "App Password" in order for NodeBB to authenticate successfully. You can generate one at the App Passwords page.", - "smtp-transport.gmail-warning2": "For more information about this workaround, please consult this NodeMailer article on the issue. An alternative would be to utilise a third-party emailer plugin such as SendGrid, Mailgun, etc. Browse available plugins here.", - "smtp-transport.auto-enable-toast": "It looks like you're configuring an SMTP transport. We enabled the \"SMTP Transport\" option for you.", + "smtp-transport.service-help": "Sélectionnez un nom de service ci-dessus afin d'utiliser les informations connues à son sujet. Vous pouvez également sélectionner "Service personnalisé" et entrez les détails ci-dessous.", + "smtp-transport.gmail-warning1": "Si vous utilisez GMail comme fournisseur de messagerie, vous devrez générer un "mot de passe d'application" afin que NodeBB s'authentifie avec succès. Vous pouvez en générer un sur la page Mots de passe .", + "smtp-transport.gmail-warning2": "Pour plus d'informations sur cette solution de contournement, veuillez consulter cet article de NodeMailer sur le problème. Une alternative serait d'utiliser un plug-in tiers d'e-mail tel que SendGrid, Mailgun, etc. Parcourez les plug-ins disponibles ici.", + "smtp-transport.auto-enable-toast": "Il semble que vous configuriez un serveur SMTP. Nous avons activé l'option \" SMTP\" pour vous.", "smtp-transport.host": "Host SMTP", "smtp-transport.port": "Port SMTP", "smtp-transport.security": "Accès sécurisé", diff --git a/public/language/fr/admin/settings/post.json b/public/language/fr/admin/settings/post.json index f69070d3e5..9546189788 100644 --- a/public/language/fr/admin/settings/post.json +++ b/public/language/fr/admin/settings/post.json @@ -51,7 +51,7 @@ "signature.disable": "Désactiver les signatures", "signature.no-links": "Désactiver les liens en signature", "signature.no-images": "Désactiver les images en signature ", - "signature.hide-duplicates": "Hide duplicate signatures in topics", + "signature.hide-duplicates": "Masquer les signatures en double dans les sujets", "signature.max-length": "Longueur maximum des signatures", "composer": "Paramètres Composer", "composer-help": "Les réglages suivants permettent de choisir les fonctionnalités et/ou l'apparence du composeur de message affiché\n\t\t\t\ttaux utilisateurs quand ils créent de nouveaux sujets ou répondent à des sujets existants.", diff --git a/public/language/fr/admin/settings/reputation.json b/public/language/fr/admin/settings/reputation.json index c8e5adbc54..a888590efc 100644 --- a/public/language/fr/admin/settings/reputation.json +++ b/public/language/fr/admin/settings/reputation.json @@ -24,8 +24,8 @@ "flags.limit-per-target-help": "Lorsqu'un message ou un utilisateur a été signalé plusieurs fois, chaque indicateur supplémentaire est considéré comme un \"rapport\". et ajouté au signalement d'origine. Définissez cette option sur un nombre autre que zéro pour limiter le nombre de rapports qu'un signalement peut admettre.", "flags.auto-flag-on-downvote-threshold": "Nombre de votes négatifs pour les signalements (0 pour désactiver, par défaut : 0)", "flags.auto-resolve-on-ban": "Résoudre automatiquement tous les tickets d'un utilisateur lorsqu'il est banni", - "flags.action-on-resolve": "Do the following when a flag is resolved", - "flags.action-on-reject": "Do the following when a flag is rejected", - "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action-on-resolve": "Procédez comme suit lorsqu'un signalement est résolu", + "flags.action-on-reject": "Procédez comme suit lorsqu'un signalement est rejeté", + "flags.action.nothing": "Ne rien faire", + "flags.action.rescind": "Annuler la notification envoyée aux modérateurs/administrateurs" } \ No newline at end of file diff --git a/public/language/fr/admin/settings/uploads.json b/public/language/fr/admin/settings/uploads.json index 03fb1d47c1..86384a3acc 100644 --- a/public/language/fr/admin/settings/uploads.json +++ b/public/language/fr/admin/settings/uploads.json @@ -5,7 +5,7 @@ "strip-exif-data": "Supprimer les données EXIF", "preserve-orphaned-uploads": "Conserver les fichiers téléchargés après la suppression d'une publication.", "orphanExpiryDays": "Jours pour garder les fichiers orphelins", - "orphanExpiryDays-help": "After this many days, orphaned uploads will be deleted from the file system.
Set 0 or leave blank to disable.", + "orphanExpiryDays-help": "Les téléchargements orphelins seront supprimés du système de fichiers après ce délai :
Changer 0 Laissez vide pour désactiver.", "private-extensions": "Rendre privé des extensions de fichier.", "private-uploads-extensions-help": "Renseignez ici une liste d'extensions de fichiers séparées par des virgules pour les rendre privées (par exemple : pdf, xls, doc). Une liste vide signifie que tous les fichiers sont privés.", "resize-image-width-threshold": "Redimensionner les images si elles sont plus larges que la largeur spécifiée", diff --git a/public/language/fr/error.json b/public/language/fr/error.json index 6c8ad20a24..ba75c58a9e 100644 --- a/public/language/fr/error.json +++ b/public/language/fr/error.json @@ -205,8 +205,8 @@ "no-connection": "Il semble y avoir un problème avec votre connexion Internet", "socket-reconnect-failed": "Serveur inaccessible pour le moment. Cliquez ici pour réessayer ou réessayez plus tard", "plugin-not-whitelisted": "Impossible d'installer le plug-in – seuls les plugins mis en liste blanche dans le gestionnaire de packages NodeBB peuvent être installés via l'ACP", - "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", + "plugins-set-in-configuration": "Vous n'êtes pas autorisé à modifier l'état des plugins car ils sont définis au moment de l'exécution (config.json, variables d'environnement ou arguments de terminal), veuillez plutôt modifier la configuration.", + "theme-not-set-in-configuration": "Lors de la définition des plugins actifs, le changement de thèmes nécessite d'ajouter le nouveau thème à la liste des plugins actifs avant de le mettre à jour dans l'ACP", "topic-event-unrecognized": "Événement du sujet '%1' non reconnu", "cant-set-child-as-parent": "Cette catégorie ne peut être une catégorie principale", "cant-set-self-as-parent": "Ne peut être définie comme catégorie principale", diff --git a/public/language/fr/user.json b/public/language/fr/user.json index 8ad069194c..bdede19408 100644 --- a/public/language/fr/user.json +++ b/public/language/fr/user.json @@ -195,5 +195,5 @@ "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.", - "emailUpdate.password-challenge": "Please enter your password in order to verify account ownership." + "emailUpdate.password-challenge": "Veuillez entrer votre mot de passe pour confirmer la propriété du compte." } \ No newline at end of file From c3e19005f6b18bfee734c9c17be3e7377d3e4208 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Thu, 1 Sep 2022 16:14:06 +0000 Subject: [PATCH 03/24] chore: incrementing version number - v2.5.0 --- install/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/package.json b/install/package.json index 79e284308a..0fa776a76a 100644 --- a/install/package.json +++ b/install/package.json @@ -2,7 +2,7 @@ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", - "version": "2.4.5", + "version": "2.5.0", "homepage": "http://www.nodebb.org", "repository": { "type": "git", @@ -184,4 +184,4 @@ "url": "https://github.com/barisusakli" } ] -} +} \ No newline at end of file From 1076285dc9b1138e4499261ff00400c0447b0d08 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Thu, 1 Sep 2022 16:14:07 +0000 Subject: [PATCH 04/24] chore: update changelog for v2.5.0 --- CHANGELOG.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 425a480f12..f4a6960aae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,84 @@ +#### v2.5.0 (2022-09-01) + +##### Breaking Changes + +* reduce nodebb.min.js size by around 800kb (b7addffc) + +##### Chores + +* **i18n:** + * fallback strings for new resources: nodebb.admin-settings-reputation (e20433ec) + * fallback strings for new resources: nodebb.admin-settings-post (fcbbb4d6) + * fallback strings for new resources: nodebb.admin-advanced-cache (90fc50e1) +* move @textcomplete and its modules to composer-default (3cbb7a3d) +* remove client-side js file for tpl that no longer exists (bc2ea860) +* incrementing version number - v2.4.5 (dd3e1a28) +* update changelog for v2.4.5 (d505cc47) +* incrementing version number - v2.4.4 (d5525c87) +* incrementing version number - v2.4.3 (9c647c6c) +* incrementing version number - v2.4.2 (3aa7b855) +* update changelog for v2.4.1 (20a661e1) +* incrementing version number - v2.4.1 (fecf31bd) +* incrementing version number - v2.4.1 (60cbd148) +* incrementing version number - v2.4.0 (4834cde3) +* incrementing version number - v2.3.1 (d2425942) +* incrementing version number - v2.3.0 (046ea120) +* **deps:** + * update dependency eslint to v8.22.0 (#10835) (8fce68d3) + * update mongo docker tag to v3.7 (8afaed22) + * update docker/setup-qemu-action action to v2 (4aecf399) + * update redis docker tag to v2.8.23 (#10811) (269382e0) + * update redis docker tag to v2.8.23 (#10811) (59fd0efe) + +##### Documentation Changes + +* **openapi:** v3 spec for new user export routes (70652ad4) + +##### New Features + +* remove visibilityjs (#10870) (19207325) +* introduce ACP defined option to rescind notif or do nothing on flag resolve/reject (15b1561f) +* allow v3 api to handle 202 and 204 response codes as well. (0cda5aa3) +* don't show signatures again in pagination mode in same topic (0a6900fc) +* setting to show signatures only once in topics, closes #10071 (aba420a3) +* add event type to topic event component (bcb94ede) +* allow plugins to add to admin cache list (#10833) (a9bbb586) + +##### Bug Fixes + +* **deps:** + * update dependency compare-versions to v4.1.4 (884d4075) + * update dependency mongodb to v4.9.0 (e51004e2) + * update dependency lru-cache to v7.14.0 (d8a52f81) + * bump composer-default to v9 (81f8d84f) + * remove textcomplete in favour of @textcomplete/core (same package, just refactored) (b7bcc367) + * update dependency nodebb-theme-persona to v12.1.1 (#10838) (444b4d57) + * update dependency ace-builds to v1.9.5 (4c44d125) + * update dependency lru-cache to v7.13.2 (4ddc0c7a) + * update dependency nodemailer to v6.7.8 (dd385184) + * pin dependency @isaacs/ttlcache to 1.2.0 (150a7488) + * update dependency nodebb-plugin-composer-default to v8.0.1 (#10819) (9a7dd3a3) + * update dependency nodebb-plugin-composer-default to v8.0.1 (#10819) (69c87c2c) +* empty thread tools container on open (a088eb19) +* add dropup handler to thread tools menu, updated how post tools menu adds dropup handler (c1936e87) +* empty thread tools container on open (df36d967) +* add dropup handler to thread tools menu, updated how post tools menu adds dropup handler (3dd3cd82) +* removing duplicate session rerolling code (as it is in passport@^0.6 now) (65b3996a) +* don't crash if post is undefined (e06e526e) +* return at least one in sizeCalculation (#10832) (3975fa2e) + +##### Refactors + +* remove console.log (a2d0cd16) +* move export generation logic to v3 controller, GET/HEAD routes for exports (d0570518) +* use group.slug on acp group urls closes #8277 (14c79763) + +##### Tests + +* have some build tests not pollute build folder (7c5a915d) +* User.hidePrivateData (b424ba46) +* passport0.6 (#10638) (33458701) + #### v2.4.5 (2022-08-22) ##### Chores From 61d1e9e0d44cd7742eaacdca0bf01c1efe6530b7 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 2 Sep 2022 11:18:10 -0400 Subject: [PATCH 05/24] fix(deps): temporarily add back old textcomplete dependencies so emoji plugin can import them Revert this commit once the emoji plugin is patched so it refers to the newer textcomplete module --- install/package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install/package.json b/install/package.json index 0fa776a76a..2792344528 100644 --- a/install/package.json +++ b/install/package.json @@ -129,6 +129,8 @@ "sortablejs": "1.15.0", "spdx-license-list": "6.6.0", "spider-detector": "2.0.0", + "textcomplete": "0.18.2", + "textcomplete.contenteditable": "0.1.1", "timeago": "1.6.7", "tinycon": "0.6.8", "toobusy-js": "0.5.1", From 67cb70352f994d8fab3477f0d753e0dd588bab70 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 2 Sep 2022 12:30:55 -0400 Subject: [PATCH 06/24] fix: missing escape on ACP category backgroundImage property --- src/categories/data.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/categories/data.js b/src/categories/data.js index d50e7e1a0b..4568d4850d 100644 --- a/src/categories/data.js +++ b/src/categories/data.js @@ -86,7 +86,7 @@ function modifyCategory(category, fields) { db.parseIntFields(category, intFields, fields); - const escapeFields = ['name', 'color', 'bgColor', 'imageClass', 'class', 'link']; + const escapeFields = ['name', 'color', 'bgColor', 'backgroundImage', 'imageClass', 'class', 'link']; escapeFields.forEach((field) => { if (category.hasOwnProperty(field)) { category[field] = validator.escape(String(category[field] || '')); From 2bf475299d0fdffce154979862ddba99cb56b0b5 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Fri, 2 Sep 2022 19:14:01 +0000 Subject: [PATCH 07/24] chore: incrementing version number - v2.5.1 --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 2792344528..016c871122 100644 --- a/install/package.json +++ b/install/package.json @@ -2,7 +2,7 @@ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", - "version": "2.5.0", + "version": "2.5.1", "homepage": "http://www.nodebb.org", "repository": { "type": "git", From 2b2fd4f34aef7a4a613c537ab6aaa7fdd92767c2 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Fri, 2 Sep 2022 19:14:02 +0000 Subject: [PATCH 08/24] chore: update changelog for v2.5.1 --- CHANGELOG.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4a6960aae..7d715d5795 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,23 @@ +#### v2.5.1 (2022-09-02) + +##### Chores + +* incrementing version number - v2.5.0 (01d276cb) +* update changelog for v2.5.0 (1076285d) +* incrementing version number - v2.4.5 (dd3e1a28) +* incrementing version number - v2.4.4 (d5525c87) +* incrementing version number - v2.4.3 (9c647c6c) +* incrementing version number - v2.4.2 (3aa7b855) +* incrementing version number - v2.4.1 (60cbd148) +* incrementing version number - v2.4.0 (4834cde3) +* incrementing version number - v2.3.1 (d2425942) +* incrementing version number - v2.3.0 (046ea120) + +##### Bug Fixes + +* missing escape on ACP category backgroundImage property (67cb7035) +* **deps:** temporarily add back old textcomplete dependencies so emoji plugin can import them (61d1e9e0) + #### v2.5.0 (2022-09-01) ##### Breaking Changes From 665f36b707c879472ef4158093dd335809fddb0f Mon Sep 17 00:00:00 2001 From: Opliko Date: Sat, 3 Sep 2022 15:58:04 +0300 Subject: [PATCH 09/24] feat: add quiet to action:settings.set Makes it possible to ignore quiet updates without abusing the `filter` hook --- src/meta/settings.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/meta/settings.js b/src/meta/settings.js index 1207d13734..213b61be11 100644 --- a/src/meta/settings.js +++ b/src/meta/settings.js @@ -95,6 +95,7 @@ Settings.set = async function (hash, values, quiet) { plugins.hooks.fire('action:settings.set', { plugin: hash, settings: { ...values, ...sortedListData }, // Add back sorted list data to values hash + quiet, }); pubsub.publish(`action:settings.set.${hash}`, values); From bdfacb8903e0d20f5c25d4a3e2afd4ab0edd3ebb Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Sun, 4 Sep 2022 09:24:00 +0000 Subject: [PATCH 10/24] Latest translations and fallbacks --- public/language/sr/error.json | 4 ++-- public/language/sr/user.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/language/sr/error.json b/public/language/sr/error.json index 0e27c0d5c0..ad5e181e66 100644 --- a/public/language/sr/error.json +++ b/public/language/sr/error.json @@ -205,8 +205,8 @@ "no-connection": "Изгледа да постоји проблем са вашом интернет везом", "socket-reconnect-failed": "Тренутно није могуће приступити серверу. Кликните овде да бисте покушали поново или покушајте поново касније", "plugin-not-whitelisted": "Инсталација додатне компоненте &ndash није могућа; преко ACP-а могу се инсталирати само додатне компоненте које је на белој листи ставио NodeBB Package Manager", - "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", + "plugins-set-in-configuration": "Није вам дозвољено да мењате стање додатне компоненте онако како је дефинисано у време извршавања (config.json, променљиве окружења или аргументи терминала), уместо тога измените конфигурацију.", + "theme-not-set-in-configuration": "Приликом дефинисања активних додатних компоненти у конфигурацији, промена тема захтева додавање нове теме на листу активних додатних компоненти пре ажурирања у ACP", "topic-event-unrecognized": "Догађај из теме „%1“ није препознат", "cant-set-child-as-parent": "Није могуће поставити подређену категорију као надређену", "cant-set-self-as-parent": "Није могуће поставити себе као надређену категорију", diff --git a/public/language/sr/user.json b/public/language/sr/user.json index b30dc871fa..6c2bca7c1f 100644 --- a/public/language/sr/user.json +++ b/public/language/sr/user.json @@ -195,5 +195,5 @@ "emailUpdate.optional": "Ово поље је опционо. Нисте обавезни да наведете своју адресу е-поште, али без ваљане е-поште нећете моћи да вратите свој налог или да се пријавите помоћу своје е-поште.", "emailUpdate.required": "Ово поље је обавезно.", "emailUpdate.change-instructions": "На унету адресу е-поште биће послата потврдна порука са јединственом везом. Приступ тој вези потврдиће ваше власништво над адресом е-поште и она ће постати активна на вашем налогу. У било ком тренутку можете да ажурирате своју е-пошту на страници налога.", - "emailUpdate.password-challenge": "Please enter your password in order to verify account ownership." + "emailUpdate.password-challenge": "Унесите лозинку да бисте потврдили власништво над налогом." } \ No newline at end of file From f6f37dc1cd06a1f3e96456b41217946115f768f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sun, 4 Sep 2022 10:11:52 -0400 Subject: [PATCH 11/24] fix: registration regression, closes #10875 --- public/src/client/register.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/src/client/register.js b/public/src/client/register.js index 7bad263b0a..3178ee8359 100644 --- a/public/src/client/register.js +++ b/public/src/client/register.js @@ -2,7 +2,7 @@ define('forum/register', [ - 'translator', 'slugify', 'api', 'bootbox', 'forum/login', 'jquery-form', 'zxcvbn', + 'translator', 'slugify', 'api', 'bootbox', 'forum/login', 'zxcvbn', 'jquery-form', ], function (translator, slugify, api, bootbox, Login, zxcvbn) { const Register = {}; let validationError = false; From 1dc79d76a04cb015bc17d469a8ee30a59ff1da27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sun, 4 Sep 2022 10:32:22 -0400 Subject: [PATCH 12/24] test: disable nbbpm test temporarily --- test/controllers-admin.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/controllers-admin.js b/test/controllers-admin.js index 48137ddd81..347d8d27c6 100644 --- a/test/controllers-admin.js +++ b/test/controllers-admin.js @@ -241,18 +241,18 @@ describe('Admin Controllers', () => { 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); - assert(body.hasOwnProperty('installed')); - assert(body.hasOwnProperty('upgradeCount')); - assert(body.hasOwnProperty('download')); - assert(body.hasOwnProperty('incompatible')); - done(); - }); - }); + // TODO: renable after nbbpm is fixed + // 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); + // assert(body.hasOwnProperty('installed')); + // assert(body.hasOwnProperty('upgradeCount')); + // assert(body.hasOwnProperty('download')); + // assert(body.hasOwnProperty('incompatible')); + // done(); + // }); + // }); it('should load /admin/manage/users', (done) => { request(`${nconf.get('url')}/api/admin/manage/users`, { jar: jar, json: true }, (err, res, body) => { From b45e24139092af6c3d50851a31452b9d28953fdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sun, 4 Sep 2022 10:36:57 -0400 Subject: [PATCH 13/24] lint: fix lint error --- test/controllers-admin.js | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/test/controllers-admin.js b/test/controllers-admin.js index 347d8d27c6..15dff752d7 100644 --- a/test/controllers-admin.js +++ b/test/controllers-admin.js @@ -241,19 +241,20 @@ describe('Admin Controllers', () => { done(); }); }); - // TODO: renable after nbbpm is fixed - // 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); - // assert(body.hasOwnProperty('installed')); - // assert(body.hasOwnProperty('upgradeCount')); - // assert(body.hasOwnProperty('download')); - // assert(body.hasOwnProperty('incompatible')); - // done(); - // }); - // }); - + /* + TODO: renable after nbbpm is fixed + 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); + assert(body.hasOwnProperty('installed')); + assert(body.hasOwnProperty('upgradeCount')); + assert(body.hasOwnProperty('download')); + assert(body.hasOwnProperty('incompatible')); + done(); + }); + }); + */ it('should load /admin/manage/users', (done) => { request(`${nconf.get('url')}/api/admin/manage/users`, { jar: jar, json: true }, (err, res, body) => { assert.ifError(err); From e351fbe89c722d9035c473fdaa471f9f31b24324 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Sun, 4 Sep 2022 14:56:55 +0000 Subject: [PATCH 14/24] chore: incrementing version number - v2.5.2 --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 016c871122..14a7e80dfb 100644 --- a/install/package.json +++ b/install/package.json @@ -2,7 +2,7 @@ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", - "version": "2.5.1", + "version": "2.5.2", "homepage": "http://www.nodebb.org", "repository": { "type": "git", From 84b6a7c7911e263b5edf4313f495e868882aa16f Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Sun, 4 Sep 2022 14:57:02 +0000 Subject: [PATCH 15/24] chore: update changelog for v2.5.2 --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d715d5795..8750e54acb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ +#### v2.5.2 (2022-09-04) + +##### Chores + +* incrementing version number - v2.5.1 (ce3aa950) +* update changelog for v2.5.1 (2b2fd4f3) +* incrementing version number - v2.5.0 (01d276cb) +* incrementing version number - v2.4.5 (dd3e1a28) +* incrementing version number - v2.4.4 (d5525c87) +* incrementing version number - v2.4.3 (9c647c6c) +* incrementing version number - v2.4.2 (3aa7b855) +* incrementing version number - v2.4.1 (60cbd148) +* incrementing version number - v2.4.0 (4834cde3) +* incrementing version number - v2.3.1 (d2425942) +* incrementing version number - v2.3.0 (046ea120) + +##### Bug Fixes + +* registration regression, closes #10875 (f6f37dc1) + +##### Other Changes + +* fix lint error (b45e2413) + +##### Tests + +* disable nbbpm test temporarily (1dc79d76) + #### v2.5.1 (2022-09-02) ##### Chores From b392450c36a5498a031c5c46d8898b713fe22fdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sun, 4 Sep 2022 12:00:27 -0400 Subject: [PATCH 16/24] perf: disable trending plugins, too slow due to nbbpm --- src/controllers/admin/plugins.js | 3 ++- src/views/admin/extend/plugins.tpl | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/controllers/admin/plugins.js b/src/controllers/admin/plugins.js index a0b7457f01..e96cdf3cae 100644 --- a/src/controllers/admin/plugins.js +++ b/src/controllers/admin/plugins.js @@ -11,7 +11,8 @@ pluginsController.get = async function (req, res) { const [compatible, all, trending] = await Promise.all([ getCompatiblePlugins(), getAllPlugins(), - plugins.listTrending(), + Promise.resolve([]), + //plugins.listTrending(), ]); const compatiblePkgNames = compatible.map(pkgData => pkgData.name); diff --git a/src/views/admin/extend/plugins.tpl b/src/views/admin/extend/plugins.tpl index 57a871ec3a..3c784a4e7d 100644 --- a/src/views/admin/extend/plugins.tpl +++ b/src/views/admin/extend/plugins.tpl @@ -3,7 +3,7 @@ {{{ end }}}