From 926a9704c00480f62aacdc83130e2151ff427570 Mon Sep 17 00:00:00 2001 From: Lawrence Ling <5894666+Lawrr@users.noreply.github.com> Date: Fri, 1 Mar 2024 21:46:22 +1100 Subject: [PATCH] Fix uri encoding for preview image --- web/js/betterCombos.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/web/js/betterCombos.js b/web/js/betterCombos.js index 1d2e17e..a3e080b 100644 --- a/web/js/betterCombos.js +++ b/web/js/betterCombos.js @@ -71,6 +71,13 @@ app.registerExtension({ } }); + function encodeRFC3986URIComponent(str) { + return encodeURIComponent(str).replace( + /[!'()*]/g, + (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`, + ); + } + // After an element is created for an item, add an image if it has one contextMenuHook["addItem"].push(function (el, menu, [name, value, options]) { if (el && isCustomItem(value) && value?.image && !value.submenu) { @@ -78,7 +85,7 @@ app.registerExtension({ $el("div.pysssss-combo-image", { parent: el, style: { - backgroundImage: `url(/pysssss/view/${encodeURIComponent(value.image)})`, + backgroundImage: `url(/pysssss/view/${encodeRFC3986URIComponent(value.image)})`, }, }); }