← Commit history
v0.16.53 (insiders): nb-bridge#55: the password page is brought to the front before driving it - Chrome builds a page's accessibility tree lazily, so in a background window only browser chrome is exposed and the export control looked 'renamed again' when it was simply never rendered
6 files changed
+13−5
bin/nb-dashboard+1−1@@ -20,7 +20,7 @@ const { execFile, spawn } = require('child_process'); const fs = require('fs'); const crypto = require('crypto'); -const VERSION = '0.16.52'; // keep in lockstep with package.json (pkg version)+const VERSION = '0.16.53'; // keep in lockstep with package.json (pkg version) // SEND TO AI IS UN-PARKED (John: "yeah, we are re-enabling the send to ai. it seems to be good now"). // The ah build thread certified the crash family dead on the gate-fixed build and the delivery leg is // proven end to end. The park const is DELETED rather than flipped, so no dead branch can resurrect it.
bridge/BRIDGE_VERSION+1−1@@ -1 +1 @@-0.16.52+0.16.53
bridge/bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "native-browser", "displayName": "Adom Native Browser",- "version": "0.16.52",+ "version": "0.16.53", "expectedExtensionVersion": "0.2.22", "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.16.52",+ "version": "0.16.53", "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+8@@ -3206,6 +3206,14 @@ async function exportSavedLogins(opts) { // Chrome 156 renamed this: the ROW is titled "Export passwords" but the clickable control is // "Download file" (first real run on AdomLapper, nb-bridge#55). Try the button labels first, then the // older row-as-button wording, so this survives either.+ // THE PAGE MUST BE VISIBLE TO BE DRIVEN. Chrome builds a page's accessibility tree lazily: in a+ // background window only browser chrome (tabs, toolbar) appears, which made this report "renamed+ // again" twice while the page was simply never exposed (measured 2026-10-29). nb opens in the+ // background everywhere else on principle; here the user is about to be asked to authenticate, so+ // showing them the page they are authenticating for is the honest thing, and the caption says why.+ await exportSay(`${brand}'s password page is open: it will ask you to confirm it is you, then where to save. Adom handles the rest.`);+ await abCommand(null, 'desktop_bring_to_front', { hwnd, reason: 'nb-bridge#55: the export page must be visible for the browser to expose it, and the user is about to authenticate' }).catch(() => {});+ await _sleep(900); // WAIT for the control, do not guess a delay: a freshly opened window has only browser chrome in the // accessibility tree for the first seconds, and a fixed sleep made this fail as "renamed again" when // the page simply had not rendered yet (measured 2026-10-29).
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "nb-bridge",- "version": "0.16.52",+ "version": "0.16.53", "type": "app", "title": "NB - Native Browser Bridge", "description": "This package installs the SKILLS into your container so your AI knows how to drive your real signed-in Chrome and Edge; Bridge loads the bridge runtime itself from the release zip.",