← Commit history
0.2.5: cascade uses ab's real {hive,key} registry args (a joined path silently no-ops)
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" }