Merge branch 'bootstrap5' of https://github.com/NodeBB/NodeBB into bootstrap5

This commit is contained in:
Barış Soner Uşaklı
2022-09-12 17:14:58 -04:00
19 changed files with 146 additions and 57 deletions

View File

@@ -1,15 +1,113 @@
#### v2.5.2 (2022-09-04)
##### Chores
* incrementing version number - v2.5.1 (ce3aa950)
* update changelog for v2.5.1 (2b2fd4f3)
##### 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
* incrementing version number - v2.5.0 (01d276cb)
* update changelog for v2.5.0 (1076285d)
##### 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
* 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)
* **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
* incrementing version number - v2.4.4 (d5525c87)
* update changelog for v2.4.4 (77e492b8)
* 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
@@ -22,11 +120,6 @@
* incrementing version number - v2.4.3 (9c647c6c)
* update changelog for v2.4.3 (06da15a5)
* 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
@@ -38,10 +131,6 @@
* incrementing version number - v2.4.2 (3aa7b855)
* update changelog for v2.4.2 (ba7a3466)
* 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
@@ -53,9 +142,6 @@
* incrementing version number - v2.4.1 (60cbd148)
* update changelog for v2.4.1 (4b6baabb)
* incrementing version number - v2.4.0 (4834cde3)
* incrementing version number - v2.3.1 (d2425942)
* incrementing version number - v2.3.0 (046ea120)
##### Documentation Changes
@@ -80,8 +166,6 @@
* update docker/setup-buildx-action action to v2 (371ac032)
* incrementing version number - v2.4.0 (4834cde3)
* update changelog for v2.4.0 (c4714ff7)
* incrementing version number - v2.3.1 (d2425942)
* incrementing version number - v2.3.0 (046ea120)
##### Bug Fixes
@@ -99,7 +183,6 @@
* opt-out of dependabot, due to conflicts with renovate (70d60289)
* incrementing version number - v2.3.1 (d2425942)
* update changelog for v2.3.1 (2f487175)
* incrementing version number - v2.3.0 (046ea120)
* **i18n:**
* fallback strings for new resources: nodebb.admin-settings-email (cdaa8f21)
* fallback strings for new resources: nodebb.admin-settings-email (3e56c547)

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "2.4.5",
"version": "2.5.2",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -89,7 +89,7 @@
"multiparty": "4.2.3",
"nconf": "0.12.0",
"nodebb-plugin-2factor": "5.0.2",
"nodebb-plugin-composer-default": "9.1.0",
"nodebb-plugin-composer-default": "9.2.0",
"nodebb-plugin-dbsearch": "5.1.5",
"nodebb-plugin-emoji": "4.0.4",
"nodebb-plugin-emoji-android": "3.0.0",
@@ -131,12 +131,13 @@
"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",
"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",

View File

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

View File

@@ -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 <strong></strong> dans le forum",
"search.keep-typing": "Continuez de taper pour afficher les résultats…",

View File

@@ -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 &quot;Custom Service&quot; and enter the details below.",
"smtp-transport.gmail-warning1": "If you are using GMail as your email provider, you will have to generate an &quot;App Password&quot; in order for NodeBB to authenticate successfully. You can generate one at the <a href=\"https://myaccount.google.com/apppasswords\">App Passwords <i class=\"fa fa-external-link\"></i></a> page.",
"smtp-transport.gmail-warning2": "For more information about this workaround, <a href=\"https://nodemailer.com/usage/using-gmail/\">please consult this NodeMailer article <i class=\"fa fa-external-link\"></i></a> on the issue. An alternative would be to utilise a third-party emailer plugin such as SendGrid, Mailgun, etc. <a href=\"../extend/plugins\">Browse available plugins here</a>.",
"smtp-transport.auto-enable-toast": "It looks like you&apos;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 &quot;Service personnalisé&quot; 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 &quot;mot de passe d'application&quot; afin que NodeBB s'authentifie avec succès. Vous pouvez en générer un sur la <a href=\"https://myaccount.google.com/apppasswords\">page Mots de passe <i class=\"fa fa-external-link\"></i>.",
"smtp-transport.gmail-warning2": "Pour plus d'informations sur cette solution de contournement, <a href=\"https://nodemailer.com/usage/using-gmail/\">veuillez consulter cet article de NodeMailer <i class=\"fa fa-external-link\"></i></a>sur le problème. Une alternative serait d'utiliser un plug-in tiers d'e-mail tel que SendGrid, Mailgun, etc. <a href=\"../extend/plugins\">Parcourez les plug-ins disponibles ici</a>.",
"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é",

View File

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

View File

@@ -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 reje",
"flags.action.nothing": "Ne rien faire",
"flags.action.rescind": "Annuler la notification envoyée aux modérateurs/administrateurs"
}

View File

@@ -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.<br />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 : <br /> 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 : <code>pdf, xls, doc</code>). 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",

View File

@@ -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 &ndash; 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",

View File

@@ -195,5 +195,5 @@
"emailUpdate.optional": "<strong>Ce champ est facultatif</strong>. 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": "<strong>Ce champ est requis</strong>.",
"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."
}

View File

@@ -113,7 +113,7 @@
"bookmark": "הוספה למועדפים",
"bookmarks": "מועדפים",
"bookmarks.has_no_bookmarks": "לא צירפתם פוסט למועדפים עדיין",
"copy-permalink": "העתקת קישור ישיר",
"copy-permalink": "העתקת קישור פוסט",
"loading_more_posts": "טוען פוסטים נוספים",
"move_topic": "העברת נושא",
"move_topics": "העברת נושאים",

View File

@@ -92,8 +92,8 @@
"show_email": "הצג את כתובת האימייל שלי",
"show_fullname": "הצג את שמי המלא",
"restrict_chats": "אשר הודעות צ'אט ממשתמשים שאני עוקב אחריהם בלבד",
"digest_label": "הרשם לקבלת תקציר",
"digest_description": ירשם לקבלת עדכונים בדואר אלקטרוני מפורום זה (הודעות ונושאים חדשים) בהתאם ללוח זמנים מוגדר מראש",
"digest_label": "הרשמה לקבלת תקציר",
"digest_description": "הרשמה לקבלת עדכונים בדואר אלקטרוני מפורום זה (הודעות ונושאים חדשים) בהתאם ללוח זמנים מוגדר מראש",
"digest_off": "כבוי",
"digest_daily": "יומי",
"digest_weekly": "שבועי",
@@ -109,10 +109,10 @@
"has_no_upvoted_posts": "המשתמש טרם הצביע בעד פוסטים כלשהם.",
"has_no_downvoted_posts": "המשתמש טרם הצביע נגד פוסטים כלשהם.",
"has_no_controversial_posts": "למשתמש זה אין עדיין פוסטים עם הצבעה למטה.",
"has_no_blocks": "לא חסמת אף משתמש.",
"has_no_blocks": "לא חסמתם אף משתמש.",
"email_hidden": "כתובת אימייל מוסתרת",
"hidden": "מוסתר",
"paginate_description": "הצג נושאים ופוסטים בעמודים במקום כרשימת גלילה אין-סופית",
"paginate_description": "הצגת נושאים ופוסטים בעמודים במקום כרשימת גלילה אין-סופית",
"topics_per_page": "כמות נושאים בעמוד",
"posts_per_page": "כמות פוסטים בעמוד",
"max_items_per_page": "מקסימום %1",

View File

@@ -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": "Није могуће поставити себе као надређену категорију",

View File

@@ -195,5 +195,5 @@
"emailUpdate.optional": "<strong>Ово поље је опционо</strong>. Нисте обавезни да наведете своју адресу е-поште, али без ваљане е-поште нећете моћи да вратите свој налог или да се пријавите помоћу своје е-поште.",
"emailUpdate.required": "<strong>Ово поље је обавезно</strong>.",
"emailUpdate.change-instructions": "На унету адресу е-поште биће послата потврдна порука са јединственом везом. Приступ тој вези потврдиће ваше власништво над адресом е-поште и она ће постати активна на вашем налогу. У било ком тренутку можете да ажурирате своју е-пошту на страници налога.",
"emailUpdate.password-challenge": "Please enter your password in order to verify account ownership."
"emailUpdate.password-challenge": "Унесите лозинку да бисте потврдили власништво над налогом."
}

View File

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

View File

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

View File

@@ -101,6 +101,11 @@ define('messages', ['bootbox', 'translator', 'storage', 'alerts', 'hooks'], func
params.delete('register');
}
if (params.has('lang') && params.get('lang') === config.defaultLang) {
console.info(`The "lang" parameter was passed in to set the language to "${params.get('lang')}", but that is already the forum default language.`);
params.delete('lang');
}
const qs = params.toString();
ajaxify.updateHistory(ajaxify.currentPage + (qs ? `?${qs}` : '') + document.location.hash, true);
}

View File

@@ -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] || ''));

View File

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