← Commit history

demo: stepShot evidence thumbnails were rendering broken - addShot double-prefixed an already-complete data: URL (kicad's stepShot.image), so every evidence frame silently failed to load

John Lauer ·13e673ce5f ·2mo ago ·parent 9284b6b
1 file changed +9−1
web-control-demo.html+9−1
@@ -338,7 +338,15 @@ for (const w of mine) {     if (card._numberEvidence) { card._seq = (card._seq || 0) + 1; label = card._seq + ". " + label; }     var wrap = document.createElement("div");     var cap = document.createElement("div"); cap.className = "cap"; cap.textContent = label;-    var img = document.createElement("img"); img.src = "data:image/png;base64," + b64;+    // A bridge may hand us a BARE base64 payload OR an already-complete data:+    // URL - kicad's stepShot.image is the latter. Prefixing a data: URL again+    // yields "data:image/png;base64,data:image/png;base64,..." which renders as+    // a silently BROKEN image, so the failure reads as a bad screenshot from the+    // bridge rather than the string bug it actually is. Normalize here, at the+    // one sink every card feeds, instead of at each call site.+    var img = document.createElement("img");+    var src = String(b64 || "");+    img.src = /^data:/i.test(src) ? src : "data:image/png;base64," + src;     wrap.appendChild(cap); wrap.appendChild(img); box.appendChild(wrap);   }