From 9f82590f231ecab383fa9f91345f9cf4a185338a Mon Sep 17 00:00:00 2001 From: Victor <156220764+victhorbi@users.noreply.github.com> Date: Mon, 2 Mar 2026 12:00:44 +0100 Subject: [PATCH 1/4] Update discourse.ts urlencode was only applied to "topicName" causing an issue. Final URL was partially urlencoded, which is wrong. Removed urlencoding hence unnecessary. --- apps/frontend/src/utils/discourse.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/src/utils/discourse.ts b/apps/frontend/src/utils/discourse.ts index 52f0d959..a03d1ba7 100644 --- a/apps/frontend/src/utils/discourse.ts +++ b/apps/frontend/src/utils/discourse.ts @@ -25,7 +25,7 @@ export const validateDiscourseTopicExists = async (topicName: string, delay: num return; } - const url = `${discourseBaseUrl}${encodeURIComponent(topicName)}`; + const url = `${discourseBaseUrl}${topicName}`; const response = await fetch(url, { method: "HEAD", From c4a3685960892edd1abccb99f6aafb9c78e2f8c7 Mon Sep 17 00:00:00 2001 From: Victor <156220764+victhorbi@users.noreply.github.com> Date: Mon, 2 Mar 2026 18:45:53 +0100 Subject: [PATCH 2/4] Update discourse.ts as suggested by Copilot --- apps/frontend/src/utils/discourse.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/frontend/src/utils/discourse.ts b/apps/frontend/src/utils/discourse.ts index a03d1ba7..3f1639ed 100644 --- a/apps/frontend/src/utils/discourse.ts +++ b/apps/frontend/src/utils/discourse.ts @@ -12,7 +12,7 @@ export const getDiscourseTopicUrl = (url: string): string => { return url.replace(discourseBaseUrl, "").replace(/^\//, ""); }; -export const validateDiscourseTopicExists = async (topicName: string, delay: number = 500): Promise => { +export const validateDiscourseTopicExists = async (topic: string, delay: number = 500): Promise => { return new Promise(resolve => { if (debounceTimer) { clearTimeout(debounceTimer); @@ -25,7 +25,7 @@ export const validateDiscourseTopicExists = async (topicName: string, delay: num return; } - const url = `${discourseBaseUrl}${topicName}`; + const url = getFullDiscourseUrl(topicName); const response = await fetch(url, { method: "HEAD", From afebe968ac04b10595e320ad35b578c4d1712dd8 Mon Sep 17 00:00:00 2001 From: Victor <156220764+victhorbi@users.noreply.github.com> Date: Mon, 2 Mar 2026 18:46:25 +0100 Subject: [PATCH 3/4] Update discourse.ts --- apps/frontend/src/utils/discourse.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/src/utils/discourse.ts b/apps/frontend/src/utils/discourse.ts index 3f1639ed..7f641f9d 100644 --- a/apps/frontend/src/utils/discourse.ts +++ b/apps/frontend/src/utils/discourse.ts @@ -25,7 +25,7 @@ export const validateDiscourseTopicExists = async (topic: string, delay: number return; } - const url = getFullDiscourseUrl(topicName); + const url = getFullDiscourseUrl(topic); const response = await fetch(url, { method: "HEAD", From b3ec36d871fcdcf26f56aaa5057c2b9ccce5e27c Mon Sep 17 00:00:00 2001 From: Victor <156220764+victhorbi@users.noreply.github.com> Date: Mon, 2 Mar 2026 19:00:30 +0100 Subject: [PATCH 4/4] Update discourse.ts --- apps/frontend/src/utils/discourse.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/src/utils/discourse.ts b/apps/frontend/src/utils/discourse.ts index 7f641f9d..cd5b54a1 100644 --- a/apps/frontend/src/utils/discourse.ts +++ b/apps/frontend/src/utils/discourse.ts @@ -20,7 +20,7 @@ export const validateDiscourseTopicExists = async (topic: string, delay: number debounceTimer = window.setTimeout(async () => { try { - if (!topicName.trim()) { + if (!topic.trim()) { resolve(false); return; }