From 866a8003fec625b9afb9dd4cf40b371a0e0243fb Mon Sep 17 00:00:00 2001 From: Kibi Kelburton Date: Tue, 28 Jul 2026 16:26:26 +0200 Subject: [PATCH] fix comment quoting --- public/s/js/comments.js | 7 ++++--- public/s/js/sidebar-activity.js | 7 ++++--- public/s/js/user_comments.js | 7 ++++++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/public/s/js/comments.js b/public/s/js/comments.js index e25af9d..d25eae4 100644 --- a/public/s/js/comments.js +++ b/public/s/js/comments.js @@ -1784,10 +1784,11 @@ class CommentSystem { if (trimmed.startsWith('>') && !trimmed.match(/^>>\d+/)) { const quoteContent = line.substring(line.indexOf('>') + 1); const quoteEmojis = window.f0ckSession?.quote_emojis === true; + const escapedQuote = quoteContent.replace(/>/g, '>'); const renderedContent = quoteEmojis - ? quoteContent.replace(/:([a-z0-9_]+):/g, (m, n) => this.renderEmoji(m, n)) - : quoteContent; - return `>${renderedContent.replace(/>/g, '>')}`; + ? escapedQuote.replace(/:([a-z0-9_]+):/g, (m, n) => this.renderEmoji(m, n)) + : escapedQuote; + return `>${renderedContent}`; } // 2. Per-line limit to prevent marked.parse recursion on single giant lines diff --git a/public/s/js/sidebar-activity.js b/public/s/js/sidebar-activity.js index 5e192d3..cab51fa 100644 --- a/public/s/js/sidebar-activity.js +++ b/public/s/js/sidebar-activity.js @@ -268,10 +268,11 @@ // Manual greentext handling — apply emoji if the user preference allows it const quoteContent = line.substring(line.indexOf('>') + 1); const quoteEmojis = window.f0ckSession?.quote_emojis === true; + const escapedQuote = quoteContent.replace(/>/g, '>'); const rendered = quoteEmojis - ? quoteContent.replace(/:([a-z0-9_]+):/g, (m, n) => renderEmoji(m, n)) - : quoteContent; - return `>${rendered.replace(/>/g, '>')}`; + ? escapedQuote.replace(/:([a-z0-9_]+):/g, (m, n) => renderEmoji(m, n)) + : escapedQuote; + return `>${rendered}`; } // Per-line limit to prevent marked.parse recursion on single giant lines diff --git a/public/s/js/user_comments.js b/public/s/js/user_comments.js index 8a9eb31..588f76f 100644 --- a/public/s/js/user_comments.js +++ b/public/s/js/user_comments.js @@ -306,7 +306,12 @@ if (!window.UserCommentSystem) { const trimmed = line.trimStart(); if (trimmed.startsWith('>') && !trimmed.match(/^>>\d+/)) { const quoteContent = line.substring(line.indexOf('>') + 1); - return `>${quoteContent.replace(/>/g, '>')}`; + const quoteEmojis = window.f0ckSession?.quote_emojis === true; + const escapedQuote = quoteContent.replace(/>/g, '>'); + const rendered = quoteEmojis + ? escapedQuote.replace(/:([a-z0-9_]+):/g, (m, n) => this.renderEmoji(m, n)) + : escapedQuote; + return `>${rendered}`; } // Per-line limit