← Commit history

v0.16.38 (insiders): nb-bridge#52: a minimized open is enforced after the window exists (Chrome ignored the create-time state on Windows), extension 0.2.17

John Lauer ·6321ca0e12 ·27d ago ·parent 0843be1
8 files changed +11−8
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.37';           // keep in lockstep with package.json (pkg version)+const VERSION = '0.16.38';           // 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.37\ No newline at end of file+0.16.38\ No newline at end of file
bridge/bridge.json+2−2
@@ -2,8 +2,8 @@   "manifest_version": 1,   "name": "native-browser",   "displayName": "Adom Native Browser",-  "version": "0.16.37",-  "expectedExtensionVersion": "0.2.16",+  "version": "0.16.38",+  "expectedExtensionVersion": "0.2.17",   "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",   "author": "Adom Inc.",
bridge/package.json+1−1
@@ -1,6 +1,6 @@ {   "name": "adom-native-browser-bridge",-  "version": "0.16.37",+  "version": "0.16.38",   "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",
extension/manifest.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 3,   "name": "Adom Native Browser Extension",   "short_name": "Adom",-  "version": "0.2.16",+  "version": "0.2.17",   "description": "Layer 2 of Adom Native Browser (nb): lets your Adom AI drive your real, signed-in Chrome or Edge, using your own logins.",   "minimum_chrome_version": "116",   "background": {
extension/src/native.js+3
@@ -537,6 +537,9 @@ export async function openWindow(args = {}) {   const wantMin = String(args.state || '').toLowerCase() === 'minimized';   if (wantMin) { for (const k of ['left', 'top', 'width', 'height']) delete createArgs[k]; createArgs.state = 'minimized'; }   const win = await chrome.windows.create(createArgs);+  // Measured on Windows 2026-10-14: a window created with state:"minimized" still came up normal, so+  // minimize it again once it exists (that always holds). Cheap, and it makes the promise true.+  if (wantMin) { try { await chrome.windows.update(win.id, { state: 'minimized' }); } catch {} }   const sid = args.sessionId;   sessionWindows.set(sid, win.id);   sessionMeta.set(sid, { thread: args.thread, purpose: args.purpose, profile: args.profile || null, createdAt: Date.now() });
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "nb-bridge",-  "version": "0.16.37",+  "version": "0.16.38",   "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.",
tools/verb-battery.mjs+1−1
@@ -88,7 +88,7 @@ const T = {     const o = call('nbrowser_open_window', { sessionId: sid, thread: THREAD, purpose: 'battery: minimized open', profile: PROFILE, url: HARNESS, state: 'minimized' });     // nbrowser_window_state is a SETTER (no args = fullscreen), so read the state from the window list.     const lw = o.ok === true ? call('nbrowser_list_windows', { profile: PROFILE }) : {};-    const st = { state: ((lw.windows || []).find((w) => w.sessionId === sid) || {}).state };+    const st = { state: ((lw.sessions || lw.windows || []).find((w) => String(w.windowId) === String(o.windowId)) || {}).state };     const ev = o.ok === true ? call('nbrowser_eval', { sessionId: sid, expression: '1+1' }) : {};     if (o.ok === true) call('nbrowser_close_window', { sessionId: sid });     return A(o.ok === true && String(st.state || '').toLowerCase() === 'minimized' && (ev.result === 2 || ev.ok === true), `opened minimized (state:${st.state}) and still drivable`, JSON.stringify({ o: String(o.error || o.ok), st: st.state, ev: ev.result }).slice(0, 200));