← Commit history

Remove --disable-blink-features=AutomationControlled — kills the yellow 'unsupported command-line flag: Stability and security will suffer' infobar John spotted on his Gmail window. Chain of causation, owned: 1.9.129 removed --test-type (ChromeDriver's hush-everything flag) to bring back the Save-Password bubble, which un-hushed this warning bar; the other two warning-triggering flags were removed in the same release, leaving AutomationControlled as the lone banner cause on every window since. It is also functionally redundant: that blink feature only activates via --enable-automation, which pup strips and never passes — navigator.webdriver reads false with the flag present (verified live pre-removal) and must read false after too, which the post-ship proof checks along with a clean top-of-window screenshot.

John Lauer ·bead4000db ·3mo ago ·parent db2d6b7
4 files changed +12−7
adom-bridge-puppeteer-manifest.json+4−4
@@ -1,10 +1,10 @@ {   "manifest_version": 1,   "name": "puppeteer",-  "version": "1.9.158",-  "url": "https://wiki.adom.inc/download/adom/adom-desktop-puppeteer-bridge/1.9.158/adom-bridge-puppeteer-v1.9.158.zip",-  "sha256": "bcda0daf7018c39fa640c739168e4fd309d92b61e4384fa72c4cbb12574c9b0b",-  "size": 402033,+  "version": "1.9.159",+  "url": "https://wiki.adom.inc/download/adom/adom-desktop-puppeteer-bridge/1.9.159/adom-bridge-puppeteer-v1.9.159.zip",+  "sha256": "9a1d273f8ef558aecfb8aeacad49eec1c88cb1abdf6076df1d796cd2a81f954e",+  "size": 402233,   "verbPrefixes": [     "browser_",     "desktop_recorder_",
src/BRIDGE_VERSION+1−1
@@ -1 +1 @@-1.9.158+1.9.159
src/bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "puppeteer",   "displayName": "Puppeteer (Chrome for Testing + Native)",-  "version": "1.9.158",+  "version": "1.9.159",   "description": "Drives a browser ALREADY on the machine \u2014 installed Chrome, else Microsoft Edge (every Windows PC ships with Edge) \u2014 launched with a FRESH isolated profile, so the common case has NO ~150 MB Chrome-for-Testing download and it never touches the user's real tabs/logins. Binds its local server to LOOPBACK (127.0.0.1) only, so no Windows Firewall 'allow Node through the firewall' prompt ever pops. Chrome for Testing is fetched only as a LAST RESORT if the machine has no Chromium browser at all. SPAWN-VERIFIED fallback: pup tries each detected browser (Chrome \u2192 Edge \u2192 CfT) and actually launches it, falling through to the next if one won't start (and handling browsers like Edge that relaunch onto another PID), so a corrupt/partial install never hard-fails an open. The browser that launches is cached as the default (persisted across restarts) so it isn't re-probed each time. On spawn the bridge SELF-WARMS: detects browsers + disk, and only if the box has no Chrome/Edge and no cached CfT does it background-fetch CfT so the first open is instant. browser_use pins a specific browser (chrome | edge | cft | auto); {browser:'chrome',install:true} downloads & installs REAL Google Chrome (user-scoped, no admin) on an Edge-only box. browser_readiness (READ-ONLY) reports which browser will be used + the full candidate list + the default + free disk. Every failure returns a specific errorCode + _hint (chrome_install_no_disk, chrome_download_network, chrome_install_permission, chrome_stable_not_detected, \u2026). Launches with FULL browser permissions by default for full debug (strictPermissions:true opts out). Headful automation: open/close windows+tabs, navigate, screenshot, eval JS, record. pup is a GENERIC, non-profile browser only \u2014 every session is a fresh isolated Chrome/Edge process, never the user's real signed-in browser; profile defaults to sessionId. To drive the user's REAL Chrome/Edge (their profile, cookies, SSO), use the Adom browser EXTENSION's nbrowser_* verbs \u2014 a separate bridge, not pup's job. macOS (v1.9.74+): full parity with mac-native mechanics \u2014 background-by-default is the app-level hide (windows stay drivable/screenshottable while hidden), raise/lower map to unhide+activate/hide, browser_alert_window posts a native toast whose click focuses the window, browser_use {browser:'chrome',install:true} installs Chrome from the official dmg, and taskbar identity/badging remains Windows-only.",   "homepage": "https://wiki.adom.inc/adom/adom-desktop",   "author": "Adom Inc.",
src/server.js+6−1
@@ -4856,7 +4856,12 @@ async function getOrLaunchBrowser(profileName, { freshProfile = false, strictPer       // --enable-automation (stripped via ignoreDefaultArgs; never pass it). With the       // unsupported flags gone from default launches (v1.9.129) there is no warning bar       // left to hush, so --test-type is only added on the insecureDev opt-in above.-      '--disable-blink-features=AutomationControlled',+      // v1.9.159 (John saw the yellow bar): --disable-blink-features=AutomationControlled REMOVED.+      // It was the LAST warning-triggering flag after 1.9.129 (whose --test-type removal un-hushed+      // the 'unsupported command-line flag' infobar), so every window wore the banner. It is also+      // redundant: the AutomationControlled blink feature only activates via --enable-automation,+      // which pup strips (ignoreDefaultArgs) and never passes — navigator.webdriver is false+      // without it (verified live before removal).       // Tab recording uses CDP Page.startScreencast piped to ffmpeg — see       // tabRecordStartImpl below. CDP screencast is scoped to a specific       // page target at the protocol level, so cross-tab/cross-Chrome