app
Adom Bridge
Public Made by Adomby adom
Adom Bridge unleashes your AI onto your full PC: full power, full safety. The AI breaks out of the container it runs in and onto your real machine, managing and running your entire laptop as you: launch apps, move files, drive any window, control KiCad, Fusion 360 or your real signed-in browser. Works with any AI, cloud or local (Claude Desktop, Claude Code, Codex), no Hydrogen required. Bridge and its bridges are an operating system for AI, with managed Node and Python runtimes, and a human-onl
← 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
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); }