From 68b23ee1904e39dc91db5e4a9200effc3961e518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Kr=C3=BChlmann?= Date: Mon, 5 Jan 2026 17:53:35 +0100 Subject: [PATCH] Fix missing asset preview for static images --- src/main/resources/static/js/admin.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/resources/static/js/admin.js b/src/main/resources/static/js/admin.js index 1092ed9..c9f099a 100644 --- a/src/main/resources/static/js/admin.js +++ b/src/main/resources/static/js/admin.js @@ -944,6 +944,10 @@ function isGifAsset(asset) { return asset?.mediaType?.toLowerCase() === "image/gif"; } +function getCachedSource(element) { + return element?.dataset?.sourceUrl || element?.src || null; +} + function isDrawable(element) { if (!element) { return false; @@ -1070,10 +1074,11 @@ function autoStartAudio(asset) { function ensureMedia(asset) { const cached = mediaCache.get(asset.id); - if (cached && cached.src !== asset.url) { + const cachedSource = getCachedSource(cached); + if (cached && cachedSource !== asset.url) { clearMedia(asset.id); } - if (cached && cached.src === asset.url) { + if (cached && cachedSource === asset.url) { applyMediaSettings(cached, asset); return cached; } @@ -1097,6 +1102,7 @@ function ensureMedia(asset) { } const element = isVideoAsset(asset) ? document.createElement("video") : new Image(); + element.dataset.sourceUrl = asset.url; element.crossOrigin = "anonymous"; if (isVideoElement(element)) { element.loop = true;