From 889baf23cac77c60d6019ecee9de7c1e36374829 Mon Sep 17 00:00:00 2001 From: nmemmert Date: Wed, 26 Aug 2026 08:23:59 -0400 Subject: [PATCH] Fix server sanitizer to allow books/recommended placements and linkUrl/linkLabel fields; v1.1.38 - Add 'books' and 'recommended' to the placement whitelist in sanitizeCustomLinks - Allow items with no url when placement is books/recommended (they use amazonUrl) - Preserve linkUrl and linkLabel through sanitizeCustomBlocks Co-Authored-By: Claude Sonnet 4.6 --- server/helpers.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/helpers.js b/server/helpers.js index 434ea2a..cc47921 100644 --- a/server/helpers.js +++ b/server/helpers.js @@ -167,6 +167,8 @@ function sanitizeCustomLinks(value) { || item?.placement === 'resources' || item?.placement === 'otherSites' || item?.placement === 'externalSites' + || item?.placement === 'books' + || item?.placement === 'recommended' ? item.placement : 'footer' @@ -184,7 +186,7 @@ function sanitizeCustomLinks(value) { placement, } }) - .filter(item => item.label && item.url) + .filter(item => item.label && (item.url || item.amazonUrl || item.placement === 'books' || item.placement === 'recommended')) } function sanitizeCustomBlocks(value) { @@ -198,6 +200,8 @@ function sanitizeCustomBlocks(value) { page: item?.page === 'homepage' || item?.page === 'start-here' || item?.page === 'episodes' || item?.page === 'downloads' || item?.page === 'about' || item?.page === 'contact' || item?.page === 'questions' ? item.page : 'downloads', + linkUrl: sanitizeUrl(item.linkUrl), + linkLabel: typeof item.linkLabel === 'string' ? item.linkLabel.trim().slice(0, 120) : '', })) .filter(item => item.heading || item.body) }