From 7bb37f129d1d5af38ec805624ace9f18bf16a654 Mon Sep 17 00:00:00 2001 From: ceruleandeep Date: Sun, 22 Dec 2024 08:43:35 +1100 Subject: [PATCH] fix: move cache-busting to server side --- public/scripts/extensions/expressions/index.js | 2 -- src/endpoints/sprites.js | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/public/scripts/extensions/expressions/index.js b/public/scripts/extensions/expressions/index.js index e31807893..21e0d6df2 100644 --- a/public/scripts/extensions/expressions/index.js +++ b/public/scripts/extensions/expressions/index.js @@ -1283,8 +1283,6 @@ async function drawSpritesList(character, labels, sprites) { * @returns {Promise} Rendered list item template */ async function getListItem(item, imageSrc, textClass, isCustom) { - const isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1; - imageSrc = isFirefox ? `${imageSrc}?t=${Date.now()}` : imageSrc; return renderExtensionTemplateAsync(MODULE_NAME, 'list-item', { item, imageSrc, textClass, isCustom }); } diff --git a/src/endpoints/sprites.js b/src/endpoints/sprites.js index 733b12478..6a2e5e6b9 100644 --- a/src/endpoints/sprites.js +++ b/src/endpoints/sprites.js @@ -124,9 +124,10 @@ router.get('/get', jsonParser, function (request, response) { }) .map((file) => { const pathToSprite = path.join(spritesPath, file); + const mtime = fs.statSync(pathToSprite).mtime?.toISOString().replace(/[^0-9]/g, '').slice(0, 14); return { label: path.parse(pathToSprite).name.toLowerCase(), - path: `/characters/${name}/${file}`, + path: `/characters/${name}/${file}` + (mtime ? `?t=${mtime}` : ''), }; }); }