← Commit history

Publish 0.13.1

John Lauer ·c702f1d07d ·3mo ago ·parent 57e29fd
7 files changed +21−10
Cargo.lock+1−1
@@ -10,7 +10,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"  [[package]] name = "adom-shotlog"-version = "0.13.0"+version = "0.13.1" dependencies = [  "axum",  "base64",
Cargo.toml+1−1
@@ -1,6 +1,6 @@ [package] name = "adom-shotlog"-version = "0.13.0"+version = "0.13.1" edition = "2021" description = "Screenshot log viewer and CLI for Adom" license = "MIT"
VERSION+1−1
@@ -1 +1 @@-0.13.0+0.13.1
bin/adom-shotlog
⋯ 1 unchanged line ⋯
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-shotlog",-  "version": "0.13.0",+  "version": "0.13.1",   "type": "app",   "title": "Adom Shotlog",   "description": "See the shots your AI never showed you, and know it actually SAW them. adom-shotlog streams every screenshot the AI gathers into a live gallery (webview/pup/browser/phone), reports whether a human is really watching and on which surface, and ingests Adom Desktop child-window arrays via --meta.",
page.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-shotlog",-  "version": "0.13.0",+  "version": "0.13.1",   "type": "app",   "title": "Adom Shotlog",   "description": "See the shots your AI never showed you, and know it actually SAW them. adom-shotlog streams every screenshot the AI gathers into a live gallery (webview/pup/browser/phone), reports whether a human is really watching and on which surface, and ingests Adom Desktop child-window arrays via --meta.",
src/html/index.html+16−5
@@ -94,6 +94,7 @@ header {   .subject-meta { display: none; }   .actions { gap: 5px; }   #canvasBtn span { display: none; } /* actions go icon-only when tight (canonical: icon-buttons) */+  #canvasBtn.busy span { display: inline; } /* progress text ALWAYS visible while switching */ } /* Header action buttons + LED (adom-app-header). These were the raw-<button>    ugliness: clean pills, subtle until hover, icon+label capable. */@@ -108,6 +109,10 @@ header { .hdr-btn:disabled { opacity: .55; cursor: default; transform: none; } .hdr-btn svg { width: 13px; height: 13px; flex-shrink: 0; } .hdr-btn.icon-only { padding: 0; width: 26px; justify-content: center; }+/* Busy spinner for in-flight actions (canvas switch). */+@keyframes hdr-spin { to { transform: rotate(360deg); } }+.hdr-btn.busy svg.spin { animation: hdr-spin .8s linear infinite; }+.hdr-btn.busy { color: var(--accent-bright); border-color: rgba(0,184,176,.55); } /* Canvas toggle: the primary affordance, tinted with the accent. */ .hdr-btn.accent { color: var(--accent); border-color: rgba(0,184,176,.35); } .hdr-btn.accent:hover { background: rgba(0,184,176,.12); color: var(--accent-bright); border-color: rgba(0,184,176,.6); }@@ -611,8 +616,9 @@ header {       : '<div class="tt-title">Show in webview</div>'+         '<div class="tt-p">The slim panel docked in Hydrogen. Closes this pup tab.</div>'+         '<div class="tt-prompt"><span class="lbl">say to your AI</span>show me shotlog in webview</div>';-    const busy=(t)=>{ btn.disabled=true; btn.innerHTML='<span>'+esc(t)+'</span>'; };-    const restore=()=>{ render(); btn.disabled=false; };+    const SPINNER='<svg class="spin" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round"><path d="M21 12a9 9 0 1 1-6.2-8.56"/></svg>';+    const busy=(t)=>{ btn.disabled=true; btn.classList.add('busy'); btn.innerHTML=SPINNER+'<span>'+esc(t)+'</span>'; };+    const restore=()=>{ btn.classList.remove('busy'); render(); btn.disabled=false; };     const dest = toPup ? 'pup' : 'webview';     const src  = toPup ? 'webview' : 'pup'; @@ -631,11 +637,16 @@ header {       btn.disabled=true;       let opened=false;       try{-        // Stage 0: availability (pup needs Adom Desktop).+        showToast(toPup?'Opening the pup window…':'Opening the webview panel…', 3500);+        // Stage 0: availability (pup needs Adom Desktop). `?simulate=no-pup` in+        // the viewer URL demos the not-installed path without touching anything.         if(toPup){           busy('checking pup…');-          const chk=await fetch('api/canvas-check').then(r=>r.json());-          if(!chk.available){ showToast(chk.hint||'pup is not available on this machine yet.', 9000); restore(); return; }+          const sim=new URLSearchParams(location.search).get('simulate');+          const chk = sim==='no-pup'+            ? {available:false, hint:'(simulated) pup needs Adom Desktop. Install it on your computer from wiki.adom.inc/adom/adom-desktop - the pup bridge is a default bridge that auto-installs right after it.'}+            : await fetch('api/canvas-check').then(r=>r.json());+          if(!chk.available){ showToast(chk.hint||'pup is not available on this machine yet.', 12000); restore(); return; }         }         const baseline=await surfaceCount();         if(baseline<0){ showToast('cannot reach the shotlog broker - switch aborted, nothing changed.', 7000); restore(); return; }