Name Last commit message Last updated
extension The stale-injection accumulation bug: evaluateOnNewDocument scripts from every prior bridge process persist on long-lived pages and run oldest-first, so the plain boolean guard let the oldest floaty win forever, which is why John kept seeing the big hover zone after reloads that faithfully re-ran ancient code. The floaty guard is now versioned with the bridge version: the newest module tears down any elder host and rebuilds, so a reload always lands the current behavior 9h ago
extension-annotate A dedicated pen button joins the browser toolbar (John: show the pen inline with the extension icons). Chrome permits exactly one action button per extension and no inline toolbars, so the pen is its own tiny third extension, Adom Annotate: one family tile (teal rounded tile, dark-teal pencil mark), pinned first so pen, pup, and identity read as one inline Adom toolbar. The click fires annotate via an instantly self-closing popup on the popup rail, the one extension surface proven reliable under load-extension here, resolving the window by tab URL like every other user path 5h ago
extension-identity The stale-injection accumulation bug: evaluateOnNewDocument scripts from every prior bridge process persist on long-lived pages and run oldest-first, so the plain boolean guard let the oldest floaty win forever, which is why John kept seeing the big hover zone after reloads that faithfully re-ran ancient code. The floaty guard is now versioned with the bridge version: the newest module tears down any elder host and rebuilds, so a reload always lands the current behavior 9h ago
icons The stale-injection accumulation bug: evaluateOnNewDocument scripts from every prior bridge process persist on long-lived pages and run oldest-first, so the plain boolean guard let the oldest floaty win forever, which is why John kept seeing the big hover zone after reloads that faithfully re-ran ancient code. The floaty guard is now versioned with the bridge version: the newest module tears down any elder host and rebuilds, so a reload always lands the current behavior 9h ago
adom-icon.svg v1.1.0: cold-start self-heal (auto-install Chrome for Testing + browser_readiness/browser_prewarm + truthful status chip); extract to standalone src/ bridge repo with manifest + ownership docs 1mo ago
adom-pup-browser.svg 1.8.74: browser-inlay identity icon (adom-pup-browser.ico, new filename per cache rule) 23d ago
adom-pup-browser2.svg 1.8.75: minimal line-art browser identity icon, no white (adom-pup-browser2.ico) 23d ago
adom-pup-browser3.svg 1.8.76: glyph tucked into corner, clear gap from leaves (adom-pup-browser3.ico) 23d ago
adom-pup-wiki-authed.svg v1.9.17: use the Adom design-system green token for the signed-in indicator instead of an ad-hoc Tailwind green 22d ago
BRIDGE_VERSION The dashboard err chip stops counting its own plumbing (John saw a red 10 err chip on a healthy dashboard after the window reopen). Both sources were self-inflicted 404s on the dashboard page: the badge preview endpoint now answers a transparent pixel while a freshly opened window has no composed overlay yet, and the bridge answers Chromes automatic favicon.ico probe with a redirect to the dashboard icon instead of a 404. The chip now only fires on real page errors 4h ago
bridge.json The dashboard err chip stops counting its own plumbing (John saw a red 10 err chip on a healthy dashboard after the window reopen). Both sources were self-inflicted 404s on the dashboard page: the badge preview endpoint now answers a transparent pixel while a freshly opened window has no composed overlay yet, and the bridge answers Chromes automatic favicon.ico probe with a redirect to the dashboard icon instead of a 404. The chip now only fires on real page errors 4h ago
chrome.js The PowerShell deletion on ab 2.0.16 native verbs, closing the ab64 commitment: z-order, foreground reads, user-idle, window enumeration by pid and class, hwnd owner validation, parent-pid checks, send-to-back, lower-by-pid, and the taskbar attention clear are all precompiled-Rust ab calls now (roughly 20ms each versus 300ms runtime-compiled PowerShell spawns), the EnumWindows resolver and its temp-file EBUSY class are gone, the zero-caller osMinimizeToBackground and osBackgroundWatchdog are deleted, the synchronous PowerShell runner itself is deleted with zero callers remaining, internal identifiers adCommand and adPayload renamed to abCommand and abPayload, and the user-foreground doctrine got the fix John's question exposed: an ever-user-raised window stays hands-off for as long as it remains OS-foreground with no ten-minute clock, the recency window only applies once the user has left. Five scripts remain by design: the focus-raise dance x3 (works today, wishlisted for a native raise verb), base-icon extraction, and the credential import scan, all async-only 1d ago
credential_vault.js Credential import goes LIVE against AD 1.9.220's desktop_decrypt_browser_credentials. Vault (credential_vault.js) now identity-tagged: keep BOTH on a (host,username) conflict from different source accounts, newest-wins within an identity, getCredentialForUrl picks by preferred identity then most-recently-used; passwords in keytar under per-entry composite accounts, index never holds a password (offline-tested). Dashboard Import button calls the decrypt helper LOCALLY (bridge->AD direct API, never relay), handles consent_declined/elevation_declined/relay_forbidden/helper_missing, merges rows, drops plaintext, returns counts only. 6d ago
favicon.svg v1.1.0: cold-start self-heal (auto-install Chrome for Testing + browser_readiness/browser_prewarm + truthful status chip); extract to standalone src/ bridge repo with manifest + ownership docs 1mo ago
package-lock.json Fix debugger-pause freeze: every pup tab now skips ALL debugger pauses (Debugger.setSkipAllPauses+resume) so a page's 'debugger;' statement or a stray breakpoint can never freeze the window and its 3D viewer (John's wiki viewer locked up behind a 'Debugger paused in another tab' banner). Fix overlay-paint spam: dedup desktop_taskbar — only paint when the composed icon+tooltip+target actually changed since the last paint, instead of re-sending identical overlays every few seconds and flooding AD's activity log. Enforcer now treats a genuinely no-favicon page's generic glyph as final after 3 upgrade attempts (retried on navigation) rather than re-composing it every 10s forever. 3d ago
package.json The 'NOT foregrounded by Adom' caption now stays silent when JOHN raised the window (John: 'i tend to click the taskbar icon to bring the window to the foreground, then you show this message. i only want to see it if it was some other reason'). YES pup can differentiate: a taskbar click is recent USER INPUT the OS records (GetLastInputInfo); a JavaScript/Chrome self-raise has none. The no-fault watch now checks time-since-last-input before captioning - if input happened within the last 1.5s, it assumes the user raised it and stays silent; only a raise with NO recent input (genuinely not the user) gets the caption. Errs toward silence (a JS raise coinciding with the user typing elsewhere is also suppressed - the polite direction), so the caption never fires on his click while still catching real non-user raises. Setting kept ON with its description updated. 7d ago
pup-cat-app.svg v1.9.39: grow the inner window 30 percent while keeping glyph margins, fix stroke weight 21d ago
pup-cat-default.svg Restore full src/ HEAD to the unified 1.9.87 tree (Kyle's 1.9.85 base + puppeteer 24.43.1 bump). The 1.9.86 subset-push had left git HEAD with Windows-only server.js and missing recorder-icon.ico + mac icons; this makes HEAD match the shipped 1.9.87 zip exactly. 17d ago
pup-cat-mixed.svg v1.9.39: grow the inner window 30 percent while keeping glyph margins, fix stroke weight 21d ago
pup-cat-web.svg v1.9.39: grow the inner window 30 percent while keeping glyph margins, fix stroke weight 21d ago
pup-cat-wiki-in.svg v1.9.39: grow the inner window 30 percent while keeping glyph margins, fix stroke weight 21d ago
pup-cat-wiki.svg v1.9.39: grow the inner window 30 percent while keeping glyph margins, fix stroke weight 21d ago
recorder-icon-256.png The stale-injection accumulation bug: evaluateOnNewDocument scripts from every prior bridge process persist on long-lived pages and run oldest-first, so the plain boolean guard let the oldest floaty win forever, which is why John kept seeing the big hover zone after reloads that faithfully re-ran ancient code. The floaty guard is now versioned with the bridge version: the newest module tears down any elder host and rebuilds, so a reload always lands the current behavior 9h ago
recorder-icon.ico v1.9.75: verified-AD-base resolver (HD-hosting env fix) + recorder icons in the release zip 17d ago
recorder-icon.svg v1.1.0: cold-start self-heal (auto-install Chrome for Testing + browser_readiness/browser_prewarm + truthful status chip); extract to standalone src/ bridge repo with manifest + ownership docs 1mo ago
recorder.html Close out wiki discussion 557 (startup hang after an ab cycle with orphaned Chrome windows): timeout-cap every hangable await in session recovery (CDP version probe 5s, puppeteer.connect 15s, browser.pages 10s, window.name evaluate 3s) so one wedged or orphaned Chrome window costs seconds instead of wedging the whole recovery pass, and sweep the remaining Adom Desktop and AD naming out of user-facing errors, hints, tooltips, dashboard copy, welcome and recorder pages to the canonical ab, Bridge, adom-bridge-cli names, leaving frozen code identifiers untouched 1d ago
server.js The dashboard err chip stops counting its own plumbing (John saw a red 10 err chip on a healthy dashboard after the window reopen). Both sources were self-inflicted 404s on the dashboard page: the badge preview endpoint now answers a transparent pixel while a freshly opened window has no composed overlay yet, and the bridge answers Chromes automatic favicon.ico probe with a redirect to the dashboard icon instead of a 404. The chip now only fires on real page errors 4h ago
welcome.html Close out wiki discussion 557 (startup hang after an ab cycle with orphaned Chrome windows): timeout-cap every hangable await in session recovery (CDP version probe 5s, puppeteer.connect 15s, browser.pages 10s, window.name evaluate 3s) so one wedged or orphaned Chrome window costs seconds instead of wedging the whole recovery pass, and sweep the remaining Adom Desktop and AD naming out of user-facing errors, hints, tooltips, dashboard copy, welcome and recorder pages to the canonical ab, Bridge, adom-bridge-cli names, leaving frozen code identifiers untouched 1d ago