From 1d54143cb627673e85b3363f0b0b9994f7545682 Mon Sep 17 00:00:00 2001 From: Silberengel Date: Tue, 3 Feb 2026 16:50:21 +0100 Subject: [PATCH] bug-fixes --- .../content/MarkdownRenderer.svelte | 20 +- src/lib/modules/comments/CommentForm.svelte | 13 +- src/lib/modules/comments/CommentThread.svelte | 110 +++++-- src/lib/modules/feed/ThreadDrawer.svelte | 34 +-- src/lib/modules/profiles/ProfilePage.svelte | 23 +- src/lib/modules/threads/ThreadView.svelte | 269 +++++------------- 6 files changed, 221 insertions(+), 248 deletions(-) diff --git a/src/lib/components/content/MarkdownRenderer.svelte b/src/lib/components/content/MarkdownRenderer.svelte index 101c7ec..206b625 100644 --- a/src/lib/components/content/MarkdownRenderer.svelte +++ b/src/lib/components/content/MarkdownRenderer.svelte @@ -213,10 +213,14 @@ } // Replace placeholder - it will be in a tag after markdown parsing - const codePlaceholder = `${placeholder.replace(/`/g, '')}`; - finalHtml = finalHtml.replace(new RegExp(codePlaceholder.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), replacement); + // The placeholder is like `NIP21PLACEHOLDER0`, which becomes NIP21PLACEHOLDER0 + const placeholderText = placeholder.replace(/`/g, ''); // Remove backticks + const codePlaceholder = `${placeholderText}`; + // Escape special regex characters + const escapedCodePlaceholder = codePlaceholder.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + finalHtml = finalHtml.replace(new RegExp(escapedCodePlaceholder, 'g'), replacement); // Also try without code tag (in case markdown didn't process it) - const escapedPlaceholder = placeholder.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const escapedPlaceholder = placeholderText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); finalHtml = finalHtml.replace(new RegExp(escapedPlaceholder, 'g'), replacement); } @@ -301,8 +305,14 @@ } } - // Escape placeholder for regex replacement - const escapedPlaceholder = placeholder.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + // Replace placeholder - it will be in a tag after markdown parsing + const placeholderText = placeholder.replace(/`/g, ''); // Remove backticks + const codePlaceholder = `${placeholderText}`; + // Escape special regex characters + const escapedCodePlaceholder = codePlaceholder.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + finalHtml = finalHtml.replace(new RegExp(escapedCodePlaceholder, 'g'), replacement); + // Also try without code tag (in case markdown didn't process it) + const escapedPlaceholder = placeholderText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); finalHtml = finalHtml.replace(new RegExp(escapedPlaceholder, 'g'), replacement); } diff --git a/src/lib/modules/comments/CommentForm.svelte b/src/lib/modules/comments/CommentForm.svelte index df2ff22..3361df3 100644 --- a/src/lib/modules/comments/CommentForm.svelte +++ b/src/lib/modules/comments/CommentForm.svelte @@ -134,11 +134,11 @@ >
-