From 487d9f73205502397a6feb80f71903fdd99e5699 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sun, 26 Jan 2025 10:57:22 -0500 Subject: [PATCH 1/8] fix: #13086 move rateLimit check so it doesn't get triggered if there were errors --- src/api/chats.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/api/chats.js b/src/api/chats.js index 703fae2606..e1538c4426 100644 --- a/src/api/chats.js +++ b/src/api/chats.js @@ -109,9 +109,6 @@ chatsAPI.sortPublicRooms = async (caller, { roomIds, scores }) => { chatsAPI.get = async (caller, { uid, roomId }) => await messaging.loadRoom(caller.uid, { uid, roomId }); chatsAPI.post = async (caller, data) => { - if (await rateLimitExceeded(caller, 'lastChatMessageTime')) { - throw new Error('[[error:too-many-messages]]'); - } if (!data || !data.roomId || !caller.uid) { throw new Error('[[error:invalid-data]]'); } @@ -122,7 +119,13 @@ chatsAPI.post = async (caller, data) => { })); await messaging.canMessageRoom(caller.uid, data.roomId); - const message = await messaging.sendMessage({ + await messaging.checkContent(data.message); + + if (await rateLimitExceeded(caller, 'lastChatMessageTime')) { + throw new Error('[[error:too-many-messages]]'); + } + + const message = await messaging.addMessage({ uid: caller.uid, roomId: data.roomId, content: data.message, From 822bff62f50c11a185626cacfe28c0c21d660211 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 27 Jan 2025 14:09:42 -0500 Subject: [PATCH 2/8] fix: #13090, update themes fix selector --- install/package.json | 4 ++-- public/src/modules/search.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/install/package.json b/install/package.json index 63e88eb676..4f00acd45f 100644 --- a/install/package.json +++ b/install/package.json @@ -110,8 +110,8 @@ "nodebb-rewards-essentials": "1.0.0", "nodebb-theme-harmony": "2.0.5", "nodebb-theme-lavender": "7.1.17", - "nodebb-theme-peace": "2.2.34", - "nodebb-theme-persona": "14.0.3", + "nodebb-theme-peace": "2.2.35", + "nodebb-theme-persona": "14.0.4", "nodebb-widget-essentials": "7.0.32", "nodemailer": "6.9.16", "nprogress": "0.2.0", diff --git a/public/src/modules/search.js b/public/src/modules/search.js index 26727c7906..43e45899a8 100644 --- a/public/src/modules/search.js +++ b/public/src/modules/search.js @@ -327,7 +327,7 @@ define('search', [ }); }); - $('.search-result-text').find('img:not(.not-responsive)').addClass('img-fluid'); + $('.search-results .content').find('img:not(.not-responsive)').addClass('img-fluid'); }; return Search; From 8644565a932fbacff150b435605444d19aa103d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 27 Jan 2025 14:11:17 -0500 Subject: [PATCH 3/8] fix: #13088, up dbsearch --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 4f00acd45f..028bfe83be 100644 --- a/install/package.json +++ b/install/package.json @@ -100,7 +100,7 @@ "nconf": "0.12.1", "nodebb-plugin-2factor": "7.5.8", "nodebb-plugin-composer-default": "10.2.44", - "nodebb-plugin-dbsearch": "6.2.5", + "nodebb-plugin-dbsearch": "6.2.6", "nodebb-plugin-emoji": "6.0.1", "nodebb-plugin-emoji-android": "4.1.1", "nodebb-plugin-markdown": "13.0.0", From 88fa455316e32e30ec78cb721fdb1ec0c332a7c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 27 Jan 2025 14:21:55 -0500 Subject: [PATCH 4/8] chore: up dbsearch --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 028bfe83be..e20dd76300 100644 --- a/install/package.json +++ b/install/package.json @@ -100,7 +100,7 @@ "nconf": "0.12.1", "nodebb-plugin-2factor": "7.5.8", "nodebb-plugin-composer-default": "10.2.44", - "nodebb-plugin-dbsearch": "6.2.6", + "nodebb-plugin-dbsearch": "6.2.7", "nodebb-plugin-emoji": "6.0.1", "nodebb-plugin-emoji-android": "4.1.1", "nodebb-plugin-markdown": "13.0.0", From 2f5b4b29f09faf46a06314c70a1c50fe260dec51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 28 Jan 2025 09:56:34 -0500 Subject: [PATCH 5/8] feat: use text-danger if chat over limit closes #13093 --- public/src/client/chats/messages.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/public/src/client/chats/messages.js b/public/src/client/chats/messages.js index d82dff71c3..c2fdd4ecad 100644 --- a/public/src/client/chats/messages.js +++ b/public/src/client/chats/messages.js @@ -50,7 +50,10 @@ define('forum/chats/messages', [ messages.updateRemainingLength = function (parent) { const element = parent.find('[component="chat/input"]'); parent.find('[component="chat/message/length"]').text(element.val().length); - parent.find('[component="chat/message/remaining"]').text(config.maximumChatMessageLength - element.val().length); + const remainingLength = config.maximumChatMessageLength - element.val().length + parent.find('[component="chat/message/remaining"]').text(remainingLength) + .toggleClass('fw-bold text-danger', remainingLength < 0) + .toggleClass('text-muted', remainingLength >= 0); hooks.fire('action:chat.updateRemainingLength', { parent: parent, }); From 8b38cb3accb3de368938ddad819f64cb70700ac9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 28 Jan 2025 09:58:29 -0500 Subject: [PATCH 6/8] lint: missing ; --- public/src/client/chats/messages.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/src/client/chats/messages.js b/public/src/client/chats/messages.js index c2fdd4ecad..d351a263f9 100644 --- a/public/src/client/chats/messages.js +++ b/public/src/client/chats/messages.js @@ -50,7 +50,7 @@ define('forum/chats/messages', [ messages.updateRemainingLength = function (parent) { const element = parent.find('[component="chat/input"]'); parent.find('[component="chat/message/length"]').text(element.val().length); - const remainingLength = config.maximumChatMessageLength - element.val().length + const remainingLength = config.maximumChatMessageLength - element.val().length; parent.find('[component="chat/message/remaining"]').text(remainingLength) .toggleClass('fw-bold text-danger', remainingLength < 0) .toggleClass('text-muted', remainingLength >= 0); From 4c66eed9e7c2729fd12daa176d6e5bc681f7581d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 28 Jan 2025 11:26:18 -0500 Subject: [PATCH 7/8] fix: closes #13091, dont show world category on user categories page --- src/controllers/accounts/categories.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/controllers/accounts/categories.js b/src/controllers/accounts/categories.js index 04222c1468..c73c282c95 100644 --- a/src/controllers/accounts/categories.js +++ b/src/controllers/accounts/categories.js @@ -15,12 +15,12 @@ categoriesController.get = async function (req, res) { user.getCategoryWatchState(res.locals.uid), categories.buildForSelect(res.locals.uid, 'find', ['descriptionParsed', 'depth', 'slug']), ]); - - const pageCount = Math.max(1, Math.ceil(allCategoriesData.length / meta.config.categoriesPerPage)); + const watchCategories = allCategoriesData.filter(c => c && c.cid !== -1); + const pageCount = Math.max(1, Math.ceil(watchCategories.length / meta.config.categoriesPerPage)); const page = Math.min(parseInt(req.query.page, 10) || 1, pageCount); const start = Math.max(0, (page - 1) * meta.config.categoriesPerPage); const stop = start + meta.config.categoriesPerPage - 1; - const categoriesData = allCategoriesData.slice(start, stop + 1); + const categoriesData = watchCategories.slice(start, stop + 1); categoriesData.forEach((category) => { From 4ba01d18d6caac7c693c78cf65ba4f11641c85a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 28 Jan 2025 19:59:12 -0500 Subject: [PATCH 8/8] =?UTF-8?q?refactor:=20=F0=9F=A4=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/topics/sorted.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/topics/sorted.js b/src/topics/sorted.js index f423bd1c2a..07a6215218 100644 --- a/src/topics/sorted.js +++ b/src/topics/sorted.js @@ -243,8 +243,7 @@ module.exports = function (Topics) { } async function filterTids(tids, params) { - const { filter } = params; - const { uid } = params; + const { filter, uid } = params; if (filter === 'new') { tids = await Topics.filterNewTids(tids, uid);