From a34bbeacd5b82e2a9db4f637951d01216d9efddb Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Thu, 18 May 2023 22:28:23 +0000 Subject: [PATCH 01/14] chore: incrementing version number - v3.1.4 --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index ca0c847cf2..7e18187892 100644 --- a/install/package.json +++ b/install/package.json @@ -2,7 +2,7 @@ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", - "version": "3.1.3", + "version": "3.1.4", "homepage": "https://www.nodebb.org", "repository": { "type": "git", From 633dc2ded8cf0f891e073dfd0ac89131c5b13fbd Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Thu, 18 May 2023 22:28:23 +0000 Subject: [PATCH 02/14] chore: update changelog for v3.1.4 --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ce6513dac..02d351b80d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,32 @@ +#### v3.1.4 (2023-05-18) + +##### Chores + +* up markdown (51bf5e95) +* incrementing version number - v3.1.3 (3b4e9d3f) +* update changelog for v3.1.3 (9924fde6) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) + +##### Bug Fixes + +* textarea on error (469aa551) +* closes #11613, closes #11614 (d8d486a6) +* closes #11612 (8f6a68ca) +* #11572 (2910cb2b) + +##### Other Changes + +* //github.com/NodeBB/NodeBB/issues/11612 (24bd9d4e) + +##### Refactors + +* remove unused require (05b58c70) +* remove log (ca2be0e8) + #### v3.1.3 (2023-05-15) ##### Chores From 97ff1f1109caeba8dbf75b3f6b2981dca15a42af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 18 May 2023 21:16:47 -0400 Subject: [PATCH 03/14] chore: up themes --- install/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/package.json b/install/package.json index 7e18187892..49e9d94fd2 100644 --- a/install/package.json +++ b/install/package.json @@ -102,8 +102,8 @@ "nodebb-rewards-essentials": "0.2.3", "nodebb-theme-harmony": "1.0.24", "nodebb-theme-lavender": "7.0.9", - "nodebb-theme-peace": "2.0.22", - "nodebb-theme-persona": "13.0.65", + "nodebb-theme-peace": "2.0.25", + "nodebb-theme-persona": "13.0.7", "nodebb-widget-essentials": "7.0.12", "nodemailer": "6.9.1", "nprogress": "0.2.0", From 74174414ec7a531190bf4c0c5b834410b1df9b3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 18 May 2023 22:28:06 -0400 Subject: [PATCH 04/14] chore: fix persona --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 49e9d94fd2..04991202da 100644 --- a/install/package.json +++ b/install/package.json @@ -103,7 +103,7 @@ "nodebb-theme-harmony": "1.0.24", "nodebb-theme-lavender": "7.0.9", "nodebb-theme-peace": "2.0.25", - "nodebb-theme-persona": "13.0.7", + "nodebb-theme-persona": "13.0.67", "nodebb-widget-essentials": "7.0.12", "nodemailer": "6.9.1", "nprogress": "0.2.0", From 8cb6ebb90b828d64254cadf2361f33ca555b7ae0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sat, 20 May 2023 21:58:36 -0400 Subject: [PATCH 05/14] fix: logins dashboard user images --- src/views/admin/dashboard/logins.tpl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/views/admin/dashboard/logins.tpl b/src/views/admin/dashboard/logins.tpl index 5f135991f6..c3bdf2fd92 100644 --- a/src/views/admin/dashboard/logins.tpl +++ b/src/views/admin/dashboard/logins.tpl @@ -22,8 +22,9 @@ {{{ end }}} {{{ each sessions }}} - - {buildAvatar(./user, "sm", true)} {../username} + + {buildAvatar(./user, "18px", true)} + {./user.username} {function.userAgentIcons} {../browser} {../version} on {../platform} From 82e26829c5d4fadde705b854ef1a8f37c22ffd23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 22 May 2023 09:03:17 -0400 Subject: [PATCH 06/14] fix: closes #11620, fix copy code when line numbers are enabled --- public/src/client/topic.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/public/src/client/topic.js b/public/src/client/topic.js index a0b9aba183..da5ecae1b0 100644 --- a/public/src/client/topic.js +++ b/public/src/client/topic.js @@ -226,7 +226,14 @@ define('forum/topic', [ const btn = $(trigger); btn.find('i').removeClass('fa-copy').addClass('fa-check'); setTimeout(() => btn.find('i').removeClass('fa-check').addClass('fa-copy'), 2000); - return btn.parent().find('code').text(); + const codeEl = btn.parent().find('code'); + if (codeEl.attr('data-lines')) { + let codeText = ''; + codeEl.find('.hljs-ln-code[data-line-number]') + .each((index, el) => { codeText += $(el).text() + '\n'; }); + return codeText; + } + return codeEl.text(); }, }); From 24ebb1536b39e6b22132bb9c80acf818a88b2958 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 23 May 2023 16:41:26 -0400 Subject: [PATCH 07/14] test: remove socket.io test --- test/socket.io.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/test/socket.io.js b/test/socket.io.js index 4e2292d4e5..b7fcaff935 100644 --- a/test/socket.io.js +++ b/test/socket.io.js @@ -107,14 +107,6 @@ describe('socket.io', () => { }); }); - it('should return error for invalid eventName type', (done) => { - const eventName = ['topics.loadMoreTags']; - io.emit(eventName, (err) => { - assert.strictEqual(err.message, `[[error:invalid-event, object]]`); - done(); - }); - }); - it('should get installed themes', (done) => { const themes = ['nodebb-theme-persona']; io.emit('admin.themes.getInstalled', (err, data) => { From 3256fb30e711685183aa4b589982a347b51b0824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 25 May 2023 09:12:02 -0400 Subject: [PATCH 08/14] fix: rimraf usage in user image delete https://github.com/isaacs/rimraf/issues/275#issuecomment-1562402287 --- src/user/delete.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/user/delete.js b/src/user/delete.js index 7bf076e7e7..938e109acf 100644 --- a/src/user/delete.js +++ b/src/user/delete.js @@ -208,9 +208,6 @@ module.exports = function (User) { async function deleteImages(uid) { const folder = path.join(nconf.get('upload_path'), 'profile'); - await Promise.all([ - rimraf(path.join(folder, `${uid}-profilecover*`), { glob: true }), - rimraf(path.join(folder, `${uid}-profileavatar*`), { glob: true }), - ]); + await rimraf(`${uid}-profile{avatar,cover}*`, { glob: { cwd: folder } }); } }; From 67f44a3212953b8432c9c68d6c4347da7e27e545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sat, 27 May 2023 16:46:04 -0400 Subject: [PATCH 09/14] feat: add back support for req.body._csrf used in login.tpl etc for noscript login --- src/middleware/csrf.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/middleware/csrf.js b/src/middleware/csrf.js index be5b0761fe..cf85e2a0b4 100644 --- a/src/middleware/csrf.js +++ b/src/middleware/csrf.js @@ -12,7 +12,9 @@ const { return req.headers['x-csrf-token']; } else if (req.body && req.body.csrf_token) { return req.body.csrf_token; - } else if (req.query) { + } else if (req.body && req.body._csrf) { + return req.body._csrf; + } else if (req.query && req.query._csrf) { return req.query._csrf; } }, From 0c4870ec1280a9ae2d1f7432aa531e3659afbc54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sat, 27 May 2023 18:12:25 -0400 Subject: [PATCH 10/14] refactor: change welcome headers to be smaller --- install/data/welcome.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/data/welcome.md b/install/data/welcome.md index 86b61b63fd..8a6eb5e9f8 100644 --- a/install/data/welcome.md +++ b/install/data/welcome.md @@ -1,9 +1,9 @@ -# Welcome to your brand new NodeBB forum! +### Welcome to your brand new NodeBB forum! This is what a topic and post looks like. As an administrator, you can edit the post\'s title and content. To customise your forum, go to the [Administrator Control Panel](../../admin). You can modify all aspects of your forum there, including installation of third-party plugins. -## Additional Resources +#### Additional Resources * [NodeBB Documentation](https://docs.nodebb.org) * [Community Support Forum](https://community.nodebb.org) From 6aae88d5dd48d46d5943f94bd5226224b37d07f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 29 May 2023 19:32:20 -0400 Subject: [PATCH 11/14] use bs5 classes for toggle --- public/src/client/topic/posts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/src/client/topic/posts.js b/public/src/client/topic/posts.js index 0ca7493536..e0c09cb96e 100644 --- a/public/src/client/topic/posts.js +++ b/public/src/client/topic/posts.js @@ -440,7 +440,7 @@ define('forum/topic/posts', [ blockquotes.each(function () { const $this = $(this); if ($this.find(':hidden:not(br)').length && !$this.find('.toggle').length) { - $this.append(''); + $this.append(''); } }); }; From b73f307abe68838ae158ae13ae3d7d3a79fe0f31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sat, 3 Jun 2023 11:14:39 -0400 Subject: [PATCH 12/14] fix: filter null nav items --- src/navigation/admin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/navigation/admin.js b/src/navigation/admin.js index a620defa3e..df8241c8ba 100644 --- a/src/navigation/admin.js +++ b/src/navigation/admin.js @@ -65,7 +65,7 @@ admin.get = async function () { } const ids = await db.getSortedSetRange('navigation:enabled', 0, -1); const data = await db.getObjects(ids.map(id => `navigation:enabled:${id}`)); - cache = data.map((item) => { + cache = data.filter(Boolean).map((item) => { if (item.hasOwnProperty('groups')) { try { item.groups = JSON.parse(item.groups); From c5cd76e798c8bdadaa4288861e59193515066137 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 9 Jun 2023 12:44:06 -0400 Subject: [PATCH 13/14] fix: don't update edit data if edited timestamp is not available --- public/src/client/topic/events.js | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/public/src/client/topic/events.js b/public/src/client/topic/events.js index 7b78bb4b58..60aacd6cf9 100644 --- a/public/src/client/topic/events.js +++ b/public/src/client/topic/events.js @@ -142,19 +142,21 @@ define('forum/topic/events', [ posts.addBlockquoteEllipses(editedPostEl.parent()); editedPostEl.fadeIn(250); - const editData = { - editor: data.editor, - editedISO: utils.toISOString(data.post.edited), - }; + if (data.post.edited) { + const editData = { + editor: data.editor, + editedISO: utils.toISOString(data.post.edited), + }; - app.parseAndTranslate('partials/topic/post-editor', editData, function (html) { - editorEl.replaceWith(html); - postContainer.find('[component="post/edit-indicator"]') - .removeClass('hidden') - .translateAttr('title', `[[global:edited-timestamp, ${editData.editedISO}]]`); - postContainer.find('[component="post/editor"] .timeago').timeago(); - hooks.fire('action:posts.edited', data); - }); + app.parseAndTranslate('partials/topic/post-editor', editData, function (html) { + editorEl.replaceWith(html); + postContainer.find('[component="post/edit-indicator"]') + .removeClass('hidden') + .translateAttr('title', `[[global:edited-timestamp, ${editData.editedISO}]]`); + postContainer.find('[component="post/editor"] .timeago').timeago(); + hooks.fire('action:posts.edited', data); + }); + } }); } else { hooks.fire('action:posts.edited', data); From 1d1639d46f15c5a9c84d3ccfc7a334244c28039a Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 13 Jun 2023 11:55:13 -0400 Subject: [PATCH 14/14] fix: improper neutralization of user input in image wrapping code --- public/src/client/topic/images.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/src/client/topic/images.js b/public/src/client/topic/images.js index 8778053821..c4c30319d8 100644 --- a/public/src/client/topic/images.js +++ b/public/src/client/topic/images.js @@ -26,8 +26,9 @@ define('forum/topic/images', [], function () { const srcExt = src.split('.').slice(1).pop(); const altFilename = alt.split('/').pop(); const altExt = altFilename.split('.').slice(1).pop(); + imageEl.wrap(''); } };