From 58b2f10ee9542631d67e8768b10ad9f7a05043f8 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Tue, 11 Oct 2022 17:07:16 +0000 Subject: [PATCH 1/5] chore: incrementing version number - v2.5.5 --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 1570bb958c..a5ee0c35ff 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.4", + "version": "2.5.5", "homepage": "http://www.nodebb.org", "repository": { "type": "git", From e7d0040d178543539ab490dc32d4bda6f1a79d9d Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Tue, 11 Oct 2022 17:07:16 +0000 Subject: [PATCH 2/5] chore: update changelog for v2.5.5 --- CHANGELOG.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c332c62342..0c361fc2c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,23 @@ +#### v2.5.5 (2022-10-11) + +##### Chores + +* up plugins (b91ef6dd) +* incrementing version number - v2.5.4 (e83260ca) +* update changelog for v2.5.4 (aabf073c) +* incrementing version number - v2.5.3 (7e922936) +* incrementing version number - v2.5.2 (babcd17e) +* incrementing version number - v2.5.1 (ce3aa950) +* 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) + #### v2.5.4 (2022-10-11) ##### Chores From e35b0a869fc18fb6ed28e968cd2840d1d58955f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 11 Oct 2022 20:30:54 -0400 Subject: [PATCH 3/5] fix: https://github.com/NodeBB/NodeBB/issues/10525 --- src/install.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/install.js b/src/install.js index 97e981d071..ba0f13e7be 100644 --- a/src/install.js +++ b/src/install.js @@ -342,6 +342,14 @@ async function createAdmin() { try { User.isPasswordValid(results.password); } catch (err) { + const [namespace, key] = err.message.slice(2, -2).split(':', 2); + if (namespace && key && err.message.startsWith('[[') && err.message.endsWith(']]')) { + const lang = require(path.join(__dirname, `../public/language/en-GB/${namespace}`)); + if (lang && lang[key]) { + err.message = lang[key]; + } + } + winston.warn(`Password error, please try again. ${err.message}`); return await retryPassword(results); } From b879b6a0c2b35cb76cf4d559c00a3f456cb74c53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 12 Oct 2022 10:02:45 -0400 Subject: [PATCH 4/5] fix: use admin:groups priv for groups (#10960) --- src/api/groups.js | 6 +++--- src/socket.io/groups.js | 22 ++++++++++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/api/groups.js b/src/api/groups.js index 36f11471d2..9e6aa30d0b 100644 --- a/src/api/groups.js +++ b/src/api/groups.js @@ -215,14 +215,14 @@ async function isOwner(caller, groupName) { if (typeof groupName !== 'string') { throw new Error('[[error:invalid-group-name]]'); } - const [isAdmin, isGlobalModerator, isOwner, group] = await Promise.all([ - user.isAdministrator(caller.uid), + const [hasAdminPrivilege, isGlobalModerator, isOwner, group] = await Promise.all([ + privileges.admin.can('admin:groups', caller.uid), user.isGlobalModerator(caller.uid), groups.ownership.isOwner(caller.uid, groupName), groups.getGroupData(groupName), ]); - const check = isOwner || isAdmin || (isGlobalModerator && !group.system); + const check = isOwner || hasAdminPrivilege || (isGlobalModerator && !group.system); if (!check) { throw new Error('[[error:no-privileges]]'); } diff --git a/src/socket.io/groups.js b/src/socket.io/groups.js index 7e7c93d859..3b6f30a38d 100644 --- a/src/socket.io/groups.js +++ b/src/socket.io/groups.js @@ -42,13 +42,15 @@ async function isOwner(socket, data) { throw new Error('[[error:invalid-group-name]]'); } const results = await utils.promiseParallel({ - isAdmin: await user.isAdministrator(socket.uid), - isGlobalModerator: await user.isGlobalModerator(socket.uid), - isOwner: await groups.ownership.isOwner(socket.uid, data.groupName), - group: await groups.getGroupData(data.groupName), + hasAdminPrivilege: privileges.admin.can('admin:groups', socket.uid), + isGlobalModerator: user.isGlobalModerator(socket.uid), + isOwner: groups.ownership.isOwner(socket.uid, data.groupName), + group: groups.getGroupData(data.groupName), }); - const isOwner = results.isOwner || results.isAdmin || (results.isGlobalModerator && !results.group.system); + const isOwner = results.isOwner || + results.hasAdminPrivilege || + (results.isGlobalModerator && !results.group.system); if (!isOwner) { throw new Error('[[error:no-privileges]]'); } @@ -220,15 +222,15 @@ SocketGroups.loadMoreMembers = async (socket, data) => { }; async function canSearchMembers(uid, groupName) { - const [isHidden, isMember, isAdmin, isGlobalMod, viewGroups] = await Promise.all([ + const [isHidden, isMember, hasAdminPrivilege, isGlobalMod, viewGroups] = await Promise.all([ groups.isHidden(groupName), groups.isMember(uid, groupName), - user.isAdministrator(uid), + privileges.admin.can('admin:groups', uid), user.isGlobalModerator(uid), privileges.global.can('view:groups', uid), ]); - if (!viewGroups || (isHidden && !isMember && !isAdmin && !isGlobalMod)) { + if (!viewGroups || (isHidden && !isMember && !hasAdminPrivilege && !isGlobalMod)) { throw new Error('[[error:no-privileges]]'); } } @@ -268,11 +270,11 @@ async function canModifyGroup(uid, groupName) { const results = await utils.promiseParallel({ isOwner: groups.ownership.isOwner(uid, groupName), system: groups.getGroupField(groupName, 'system'), - isAdmin: user.isAdministrator(uid), + hasAdminPrivilege: privileges.admin.can('admin:groups', uid), isGlobalMod: user.isGlobalModerator(uid), }); - if (!(results.isOwner || results.isAdmin || (results.isGlobalMod && !results.system))) { + if (!(results.isOwner || results.hasAdminPrivilege || (results.isGlobalMod && !results.system))) { throw new Error('[[error:no-privileges]]'); } } From 67efaeb4b8e03417dfc3b575f19249f18f4cb3d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 13 Oct 2022 10:09:23 -0400 Subject: [PATCH 5/5] fix active plugins (#10964) --- src/meta/build.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/meta/build.js b/src/meta/build.js index 0647cc7e0d..5f272387b3 100644 --- a/src/meta/build.js +++ b/src/meta/build.js @@ -201,7 +201,7 @@ exports.webpack = async function (options) { const util = require('util'); const plugins = require('../plugins/data'); - const activePlugins = await plugins.getActive(); + const activePlugins = (await plugins.getActive()).map(p => p.id); if (!activePlugins.includes('nodebb-plugin-composer-default')) { activePlugins.push('nodebb-plugin-composer-default'); }