app
Adom Screensaver
Public Made by Adomby adom
Turn your laptop into an always-on vibe coding server: branded screensaver + native keep-awake (no PowerToys) + honest, hardware-aware power management.
← Commit history
0.7.6: self-healing heroes (manifest carries remote wiki URL; billboard streams it if the local cache file is missing instead of a blank card)
3 files changed
+63−42
dist/win/billboard.html+8−2@@ -445,16 +445,22 @@ function dropSlide(slug){ const i = slides.findIndex(s=>s.slug===slug); if(i>=0) function mediaEl(s){ const src = /^https?:/i.test(s.media) ? s.media : HOST + encodeURIComponent(s.media);+ // SELF-HEAL: the manifest carries `s.src` = the remote wiki hero URL. If the LOCAL cached file is missing or+ // broken (pruned, never finished downloading, disk wipe), don't show a blank card -- swap to the remote URL+ // and stream the hero straight from the wiki. Only if BOTH fail do we drop the slide. (The next fetch also+ // re-downloads the missing file, so this is belt-and-suspenders: stream now, repopulate the cache later.)+ const remote = s.src && /^https?:/i.test(s.src) ? s.src : "";+ function fallback(el){ if (remote && el.src !== remote){ el.src = remote; return true; } return false; } if (s.kind === "video"){ const v = document.createElement("video"); v.src = src; v.muted = true; v.defaultMuted = true; v.volume = 0; v.loop = true; v.autoplay = true; v.setAttribute("playsinline",""); v.preload = "auto"; v.addEventListener("canplay", ()=>{ try{ v.play(); }catch(e){} });- v.onerror = ()=>{ dropSlide(s.slug); };+ v.onerror = ()=>{ if (!fallback(v)) dropSlide(s.slug); }; return v; } const img = document.createElement("img"); img.src = src; // <img> renders svg + raster- img.onerror = ()=>{ img.style.display="none"; dropSlide(s.slug); };+ img.onerror = ()=>{ if (!fallback(img)){ img.style.display="none"; dropSlide(s.slug); } }; return img; } function buildSlide(s, i){
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-screensaver",- "version": "0.7.5",+ "version": "0.7.6", "description": "Vibe-coding screensaver, fades up a live billboard of the latest Adom Wiki drops (truly cached to disk; plays webm silently, renders SVG) with a power-aware nerd-stats splash, while signed native keep-awake holds the machine so Claude Code + /remote-control threads survive. Win+Shift+L to launch.", "type": "app", "keywords": [
page.json+54−39@@ -1,53 +1,68 @@ {- "slug": "adom-screensaver",- "version": "0.7.5",- "description": "Vibe-coding screensaver, fades up a live billboard of the latest Adom Wiki drops (truly cached to disk; plays webm silently, renders SVG) with a power-aware nerd-stats splash, while signed native keep-awake holds the machine so Claude Code + /remote-control threads survive. Win+Shift+L to launch.",+ "schema_version": 1, "type": "app",- "keywords": [- "screensaver",- "keep-awake",- "vibe-coding",- "webview2",- "billboard",- "wiki",- "remote-control",- "windows"- ],- "scripts": {- "install": "./install.sh",- "uninstall": "./uninstall.sh"+ "slug": "adom-screensaver",+ "title": "Adom Screensaver",+ "brief": "Turn your laptop into an always-on vibe coding server: branded screensaver + native keep-awake (no PowerToys) + honest, hardware-aware power management.",+ "version": "0.7.6",+ "install": {+ "binary_name": "adom-screensaver",+ "install_dir": "",+ "install_hint": "",+ "version_cmd": ""+ },+ "author": {+ "id": "6738b00a4dc87b8adbb0a5a3",+ "name": "John Lauer",+ "email": "[email protected]" },- "dependencies": {},- "files": [- "SKILL.md",- "dist/win/**",- "skills/**",- "install.sh",- "uninstall.sh",- "page.json",- "screenshots/**"- ],- "org_name": "adom",- "visibility": "public",- "bundled": true, "tags": [ "screensaver", "keep-awake",- "vibe-coding",- "windows",- "billboard",+ "vibe-coding-server",+ "powertoys-free", "remote-control",- "webview2"+ "power",+ "windows",+ "asus-rog" ],- "title": "Adom Screensaver",- "org": "adom",- "author": {- "name": "John Lauer",- "email": "[email protected]"+ "license": "proprietary",+ "visibility": {+ "public": true }, "hero": { "type": "image", "path": "screenshots/hero-v3.png" },- "updated_at": "2026-06-22T16:10:15.550Z"+ "sample_prompts": [+ "set up the Adom vibe coding server screensaver on my laptop",+ "keep my laptop awake without PowerToys",+ "make my screen turn off but keep the machine awake",+ "change the screensaver idle timeout to 1 minute",+ "show me the Adom screensaver"+ ],+ "discovery_triggers": [+ "vibe coding server",+ "keep my laptop awake",+ "keep laptop awake",+ "stay awake without powertoys",+ "replace powertoys",+ "keep awake no powertoys",+ "screen off but stay awake",+ "turn off display but keep running",+ "keep claude threads running while away",+ "keep remote control alive",+ "adom screensaver",+ "laptop screensaver",+ "screensaver that keeps machine awake",+ "screensaver status card"+ ],+ "discovery_pitch": "Turn your laptop into an always-on vibe coding server: a branded Adom screensaver, native keep-awake without PowerToys, and honest hardware-aware backlight-off that keeps your Claude/Remote Control threads alive while you're away.",+ "metadata": {+ "platform": "windows"+ },+ "created_at": "2026-06-04T21:55:44.401Z",+ "updated_at": "2026-06-10T15:22:04.850Z",+ "skills": [],+ "org_name": null }