From 79327e6cace72c280e00b2fdc03fec7d93714b9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 7 Oct 2025 17:34:55 -0400 Subject: [PATCH 1/4] chore: up harmony --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 9f957c9ae5..3fcc3f33ef 100644 --- a/install/package.json +++ b/install/package.json @@ -106,7 +106,7 @@ "nodebb-plugin-spam-be-gone": "2.3.2", "nodebb-plugin-web-push": "0.7.5", "nodebb-rewards-essentials": "1.0.2", - "nodebb-theme-harmony": "2.1.20", + "nodebb-theme-harmony": "2.1.21", "nodebb-theme-lavender": "7.1.19", "nodebb-theme-peace": "2.2.48", "nodebb-theme-persona": "14.1.14", From 623cec9d910c03dd67c94db3ce45bf334dafd869 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 8 Oct 2025 11:07:43 -0400 Subject: [PATCH 2/4] fix: logic error in image mime type checking --- src/activitypub/mocks.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/activitypub/mocks.js b/src/activitypub/mocks.js index a88fed09dc..1e04fb99ab 100644 --- a/src/activitypub/mocks.js +++ b/src/activitypub/mocks.js @@ -104,7 +104,7 @@ Mocks._normalize = async (object) => { if (image) { const parsed = new URL(image); const type = mime.getType(parsed.pathname); - if (!type || type.startsWith('image/')) { + if (!type || !type.startsWith('image/')) { activitypub.helpers.log(`[activitypub/mocks.post] Received image not identified as image due to MIME type: ${image}`); image = null; } From b309a672a8f102265f430112c8321089ee518cd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 10 Oct 2025 12:19:58 -0400 Subject: [PATCH 3/4] chore: up persona --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 3fcc3f33ef..6e48066aed 100644 --- a/install/package.json +++ b/install/package.json @@ -109,7 +109,7 @@ "nodebb-theme-harmony": "2.1.21", "nodebb-theme-lavender": "7.1.19", "nodebb-theme-peace": "2.2.48", - "nodebb-theme-persona": "14.1.14", + "nodebb-theme-persona": "14.1.15", "nodebb-widget-essentials": "7.0.40", "nodemailer": "7.0.6", "nprogress": "0.2.0", From 499c50a485eb6db4b8600f253846591caa909a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 13 Oct 2025 13:45:11 -0400 Subject: [PATCH 4/4] fix: #13705, don't cover link if preview is opening up --- public/src/client/topic.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/public/src/client/topic.js b/public/src/client/topic.js index cce6f1f99a..5ee1f91f60 100644 --- a/public/src/client/topic.js +++ b/public/src/client/topic.js @@ -358,7 +358,6 @@ define('forum/topic', [ const postContent = link.parents('[component="topic"]').find('[component="post/content"]').first(); const postRect = postContent.offset(); const postWidth = postContent.width(); - const linkRect = link.offset(); const { top } = link.get(0).getBoundingClientRect(); const dropup = top > window.innerHeight / 2; tooltip.on('mouseenter', function () { @@ -366,11 +365,16 @@ define('forum/topic', [ }); tooltip.one('mouseleave', destroyTooltip); $(window).off('click', onClickOutside).one('click', onClickOutside); - tooltip.css({ - top: dropup ? linkRect.top - tooltip.outerHeight() : linkRect.top + 30, + const css = { left: postRect.left, width: postWidth, - }); + }; + if (dropup) { + css.bottom = window.innerHeight - top - window.scrollY + 5; + } else { + css.top = top + window.scrollY + 30; + } + tooltip.css(css); } }