← Commit history

native-browser v0.0.34: unknown-version != stale; (host hello-replay ships with host)

John Lauer ·9d09c3816b ·4mo ago ·parent 0cc83b4
5 files changed +15−11
bridge/BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.0.33\ No newline at end of file+0.0.34\ No newline at end of file
bridge/bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "native-browser",   "displayName": "Adom Native Browser (Chrome + Edge)",-  "version": "0.0.33",+  "version": "0.0.34",   "expectedExtensionVersion": "0.0.18",   "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.0.33",+  "version": "0.0.34",   "private": true,   "description": "adom-desktop bridge for the Adom native-browser extension (Chrome + Edge)",   "main": "server.js",
bridge/server.js+8−4
@@ -751,10 +751,13 @@ function dispatch(verb, args) {       // yet". Flag it here (loudly, with the fix) instead of letting the agent trip over it mid-task.       const extensionVersions = {};       const staleProfiles = [];+      const unidentifiedProfiles = [];   // connected but hasn't (re)sent its hello yet - version not yet known       for (const [k, c] of live) {-        const v = c.version || 'unknown';-        extensionVersions[k] = v;-        if (EXPECTED_EXT && (!c.version || cmpVer(c.version, EXPECTED_EXT) < 0)) staleProfiles.push(k);+        if (!c.version) { extensionVersions[k] = 'unknown'; unidentifiedProfiles.push(k); continue; }+        extensionVersions[k] = c.version;+        // ONLY a KNOWN version below expected is "stale". An unknown version (fresh reconnect, pre-hello,+        // e.g. right after a bridge restart) is NOT assumed stale - that would cry wolf on every restart.+        if (EXPECTED_EXT && cmpVer(c.version, EXPECTED_EXT) < 0) staleProfiles.push(k);       }       const extensionStale = staleProfiles.length > 0;       const staleDetail = staleProfiles.map((k) => `${k} has ${extensionVersions[k]}`).join(', ');@@ -766,8 +769,9 @@ function dispatch(verb, args) {         profiles: live.map(([k]) => k),         extensionVersions,                      // { "chrome:you@x": "0.0.18", ... } as reported in each hello         expectedExtensionVersion: EXPECTED_EXT, // what THIS bridge release ships against (null = not checked)-        extensionStale,                         // true if any connected profile runs an older build than expected+        extensionStale,                         // true if any connected profile runs a KNOWN older build than expected         staleProfiles,                          // the profile keys that are behind (pass one to nbrowser_dev_reload)+        unidentifiedProfiles,                   // connected but pre-hello (version unknown yet); resolves on next hello         chromeInstalled: !!chExe,               // is native Google Chrome present on the box?         chromeInstallPhase: chExe ? 'ready' : chromeState.phase,  // idle|installing|awaiting_uac|ready|failed         _hint: extensionStale
native-browser-bridge-manifest.json+4−4
@@ -1,8 +1,8 @@ {   "manifest_version": 1,-  "version": "0.0.33",-  "url": "native-browser-bridge-v0.0.33.bin",-  "sha256": "80f9c9301a5efcda8cbae6a386776ac5555546d7cfff131f93f9f72bbdaec543",-  "size": 41033,+  "version": "0.0.34",+  "url": "native-browser-bridge-v0.0.34.bin",+  "sha256": "e886ae1e711f28e942bb1eb061ec98753087b667592c19f7b06c37974ca511e8",+  "size": 41208,   "released_at": "2026-07-06T00:00:00Z" }\ No newline at end of file