From e7206741180ecdd777bebc48dcf395a8fa36786c Mon Sep 17 00:00:00 2001 From: Ariyo Israel Gbemisola Date: Fri, 5 Jun 2026 13:01:41 -0400 Subject: [PATCH] fix: handle failed embed fetches and falsy cached() returns - embed.js: add error handler to get().then() so a failed :include fetch calls next('') instead of silently stalling page rendering - core/util/core.js: use instead of in cached() so functions that legitimately return falsy values ('' or 0) have their results stored and reused correctly --- src/core/render/embed.js | 2 +- src/core/util/core.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/render/embed.js b/src/core/render/embed.js index 08d6c6b9a8..ed57609753 100644 --- a/src/core/render/embed.js +++ b/src/core/render/embed.js @@ -82,7 +82,7 @@ function walkFetchEmbed({ embedTokens, compile, fetch }, cb) { }; if (token.embed.url) { - get(token.embed.url).then(next); + get(token.embed.url).then(next, _err => next('')); } else { next(token.embed.html); } diff --git a/src/core/util/core.js b/src/core/util/core.js index fc61809422..65f7edefbb 100644 --- a/src/core/util/core.js +++ b/src/core/util/core.js @@ -11,7 +11,7 @@ export function cached(fn) { return function (str) { const key = isPrimitive(str) ? str : JSON.stringify(str); const hit = cache[key]; - return hit || (cache[key] = fn(str)); + return hit !== undefined ? hit : (cache[key] = fn(str)); }; }