verb battery: stage the set_file_input sample under Downloads; nb now refuses uploads from hidden home folders such as…
v0.16.62 (insiders): nb-bridge#55 plan step 1: a preflight that refuses a doomed export instead of flailing. nbrowser_e…
v0.16.44 (insiders): nb-bridge#55: nbrowser_export_saved_logins hands a local tool every login saved in the user's brow…
v0.16.43 (insiders): nb-bridge#54: nbrowser_export_site_session carries ONE site's live session out of the user's real…
battery: the profile_required probe uses a fresh, never-pinned session each run
battery: re-pin every session it uses at teardown, so a stale pin from a prior run cannot fail the next one with profil…
v0.16.42 (insiders): a session-scoped tab list no longer widens to the whole profile when that session's window is gone…
battery: a refusal carries no ok field; assert on errorCode + hint instead
v0.16.41 (insiders): the extensions-gallery refusal is translated too (it arrived as raw Chrome text in the battery), a…
v0.16.40 (insiders): macOS is no longer hard-blocked (nb-bridge#51): platforms.macos is supported+experimental, and ins…
v0.16.39 (insiders): the profile_required refusal runs only for a REGISTERED open, so a call with no sessionId still ge…
v0.16.38 (insiders): nb-bridge#52: a minimized open is enforced after the window exists (Chrome ignored the create-time…
v0.16.36 (insiders): nb-bridge#53: the profile_required guard now runs BEFORE the session pin is written, so an unnamed…
v0.16.35 (insiders): nb-bridge#53: an open with no profile is refused when several signed-in identities are connected (…
v0.16.32 (insiders): nbe tally (nb-bridge#50): nbrowser_readiness now reports which browsers are on the machine, every…
v0.16.31 (insiders): nbrowser_state {screenshot:true} and nbrowser_demo deliver their screenshot as a file too (fullPat…
v0.16.28 (insiders): screenshots reply ab's delivery contract (nb-bridge#49): the PNG is written on the desktop and the…
battery: the default target must never be pup's own browser
battery: profile discovery prefers a signed-in live profile over an id key
v0.16.24 (insiders): A profile with no signed-in account connects under an id key (edge:p_...); nbrowser_wake_profile a…
v0.16.15 (insiders): The nbe's browser toolbar icon is now a setting (toolbarIcon auto|on|off, default auto = Chrome's…
0.16.2: sw.js (nbrowser_scroll route), battery + policy for the #41 verbs, ship.sh push list, skills
nb 0.5.0: persisted user settings + nbrowser_settings (overlayBadge, taskbarActivity progress|flash|off, flashMode); ov…
battery: poll-based back/forward assertions (fixed sample raced slower boxes)
battery: abort when profile discovery cannot enumerate the target (relay blip made it guess the wrong profile)
nb 0.4.12: wake_profile escalates to a minimized window when windowless wake fails (Chromium never starts load-unpacked…
battery: re-anchor dialog test on the harness; detect relay-drop in the CLI error path (was grading fake FAILs)
nb 0.4.11 / nbe 0.2.8: dialog pre-answer arming (Chrome cancels dialogs under a debugger; the hold-open design was impo…
battery: handle_dialog via the deterministic manual-arming path (kills the auto-dismiss race)
nb 0.4.10 / nbe 0.2.7: per-tab last-dialog memory immune to foreign events drains; battery dialog retry
nb 0.4.7: register a host on first DATA not on connect (kills pending-N churn from port probers); battery guard matches…
0.4.0 + nbe 0.2.4: #21 dialogs auto-answered (page can never wedge) + policy:manual; #20 root-caused - finder ignored o…
0.3.0: nbrowser_state + nbrowser_demo (issue #22: own your window identity, no title-guessing)
testing-the-bridge: the daily 82-check verb battery (found 3 real bugs on day one)
0.2.6: pending-* pins never stick + close_window forgets registration (battery finding: poisoned sessionIds)
verb battery: fixture page + runner + battery-parity gate