← Commit history

0.2.5: cascade uses ab's real {hive,key} registry args (a joined path silently no-ops)

John Lauer ·744ed9a288 ·2mo ago ·parent a204c33
5 files changed +14−12
bridge/BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.2.4+0.2.5
bridge/bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "native-browser",   "displayName": "Adom Native Browser",-  "version": "0.2.4",+  "version": "0.2.5",   "expectedExtensionVersion": "0.2.0",   "description": "Drives the user's REAL signed-in Chrome/Edge, in two layers. Layer 1 (nb) needs NOTHING installed and works on any machine: nbrowser_open_os_window (open a URL in the user's real profile, background+flashing, the OAuth/consent path), nbrowser_os_windows, nbrowser_profiles, nbrowser_wake_profile, nbrowser_force_close. Layer 2 (nbe, the Adom Native Browser Extension) unlocks the rest: CDP driving (navigate/click/read/screenshot) inside their logged-in profile. The bridge binds an ephemeral loopback port and the native-messaging host pumps stdio <-> bridge.",   "homepage": "https://wiki.adom.inc/adom/nb-bridge",
bridge/package.json+1−1
@@ -1,6 +1,6 @@ {   "name": "adom-native-browser-bridge",-  "version": "0.2.4",+  "version": "0.2.5",   "private": true,   "description": "Native-browser bridge for Bridge (ab): layer 1 (nb) plus layer 2 via nbe, the Adom Native Browser Extension (Chrome + Edge).",   "main": "server.js",
bridge/server.js+6−4
@@ -1830,12 +1830,14 @@ function dispatch(verb, args) {       (async () => {         const removed = [], failed = [];         const HOST = 'inc.adom.native_browser';+        // ab's registry verbs take {hive, key} - NOT a single joined path (verified against `commands`,+        // 2026-08-14; a joined {path:...} is rejected bad_args and would have failed SILENTLY here).         for (const vendor of ['Google\\Chrome', 'Microsoft\\Edge']) {-          const key = `HKCU\\Software\\${vendor}\\NativeMessagingHosts\\${HOST}`;+          const key = `Software\\${vendor}\\NativeMessagingHosts\\${HOST}`;           try {-            const r = await abCommand(null, 'registry_delete', { path: key, reason: 'nb bridge uninstall cascade: removing our own native-messaging host registration so the browser stops dialing a deleted binary' });-            (r && r.success !== false ? removed : failed).push(key);-          } catch { failed.push(key); }+            const r = await abCommand(null, 'registry_delete', { hive: 'HKCU', key, reason: 'nb bridge uninstall cascade: removing our own native-messaging host registration so the browser stops dialing a deleted binary' });+            (r && r.success !== false ? removed : failed).push(`HKCU\\${key}`);+          } catch { failed.push(`HKCU\\${key}`); }         }         for (const p of [path.join(os.homedir(), '.adom', 'bridges', BRIDGE), ACT_FILE, ICON_DIR]) {           try { fs.rmSync(p, { recursive: true, force: true }); removed.push(p); } catch { failed.push(p); }
native-browser-bridge-manifest.json+5−5
@@ -1,8 +1,8 @@ {   "manifest_version": 1,-  "version": "0.2.4",-  "url": "https://wiki.adom.inc/download/adom/nb-bridge/0.2.4/native-browser-bridge-v0.2.4.zip",-  "sha256": "a29d759c0d4127da8ce60a45248d8860dafbe58ad30ab0b5957094e11834347c",-  "size": 102936,-  "released_at": "2026-08-14T09:50:34Z"+  "version": "0.2.5",+  "url": "https://wiki.adom.inc/download/adom/nb-bridge/0.2.5/native-browser-bridge-v0.2.5.zip",+  "sha256": "a25b81f9395ca5303bd83d8ac4792fe15eebbc2b9ac52e5ca77f0e15deb2072c",+  "size": 103075,+  "released_at": "2026-08-14T09:51:41Z" }