← Commit history
v0.1.8: sweep orphaned 'Adom is driving' badges on bridge startup (in-memory idle timers are lost on restart, so a pre-restart badge would linger forever)
5 files changed
+21−7
bridge/BRIDGE_VERSION+1−1@@ -1 +1 @@-0.1.7+0.1.8
bridge/bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "native-browser", "displayName": "Adom Native Browser (Chrome + Edge)",- "version": "0.1.7",+ "version": "0.1.8", "expectedExtensionVersion": "0.1.2", "description": "Drives the user's REAL signed-in Chrome/Edge via an installed extension (native-messaging transport). Mirrors the puppeteer bridge's verb surface as nbrowser_* but runs inside the actual logged-in profile, so cookies/SSO/saved-logins/captcha human-trust all work. The bridge binds an ephemeral loopback port (PORTS.md compliant) and writes a discovery file; the native-messaging host pumps stdio <-> this bridge; the extension never touches a TCP port.", "homepage": "https://wiki.adom.inc/adom/adom-browser-extension",
bridge/package.json+1−1@@ -1,6 +1,6 @@ { "name": "adom-native-browser-bridge",- "version": "0.1.7",+ "version": "0.1.8", "private": true, "description": "adom-desktop bridge for the Adom native-browser extension (Chrome + Edge)", "main": "server.js",
bridge/server.js+14@@ -1545,3 +1545,17 @@ function startHttp(p) { }); } startHttp(argPort());++// On startup, clear any ORPHANED "Adom is driving" overlays a PREVIOUS bridge instance left on Chrome+// windows. The badge idle-expiry timers are in-memory, so a bridge restart (redeploy/crash) LOSES them+// while the OS overlay persists — so without this sweep, a badge applied before a restart would linger+// forever (exactly the "personal profile still badged, nothing driving it" bug). Active driving re-applies+// the badge on its next verb (touchBadge), so the only cost is a brief gap on a currently-driven window.+async function sweepBadgesOnStartup(attempt = 0) {+ try {+ const list = await chromeWindowsDetailed();+ if (list && list.length) { for (const w of list) taskbar(w.hwnd, { overlay: { badge: 'none' } }).catch(() => {}); return; }+ } catch {}+ if (attempt < 4) setTimeout(() => sweepBadgesOnStartup(attempt + 1), 3000); // AD connection may not be ready at boot+}+setTimeout(() => sweepBadgesOnStartup(), 4000);
native-browser-bridge-manifest.json+4−4@@ -1,8 +1,8 @@ { "manifest_version": 1,- "version": "0.1.7",- "url": "https://wiki.adom.inc/download/adom/adom-browser-extension/0.1.7/native-browser-bridge-v0.1.7.bin",- "sha256": "807e82f9886b4168b99b408573c8567077059de367ac0a2cab8d815609247954",- "size": 56780,+ "version": "0.1.8",+ "url": "https://wiki.adom.inc/download/adom/adom-browser-extension/0.1.8/native-browser-bridge-v0.1.8.bin",+ "sha256": "1ed081a1136b767e6136ec478fdcc0df5a4bc1c1916e46af631cd0d68b6f3350",+ "size": 57125, "released_at": "2026-07-14T00:00:00Z" }