Skip to content

Add automation-friendly browser launch defaults - #74

Merged
konard merged 7 commits into
mainfrom
issue-70-2777eb370ebe
Aug 2, 2026
Merged

Add automation-friendly browser launch defaults#74
konard merged 7 commits into
mainfrom
issue-70-2777eb370ebe

Conversation

@konard

@konard konard commented Aug 2, 2026

Copy link
Copy Markdown
Member

Summary

  • apply the same automation-friendly Chromium defaults in JavaScript, Python, and Rust, including --password-store=basic, first-run suppression, and the existing crash/infobar protections
  • use the full defaults when launching an installed Chrome, Edge, Brave, or Chromium while keeping CDP on loopback with a dedicated, protected profile and --headless=new when requested
  • add extraArgs / extra_args / Rust extra-argument builders and per-default opt-outs without breaking the existing args APIs
  • document every default and its reason, the Chrome 136+ dedicated-profile requirement, and why attach-only connect APIs cannot retrofit flags onto an existing process
  • add minor-release metadata for all three packages

Root cause and reproduction

The shared launch argument lists did not include --password-store=basic, so a fresh Chrome-family profile could invoke the operating-system credential backend. The installed-browser launch helpers also hard-coded only the two first-run flags, and none of the language APIs resolved additive arguments together with per-default opt-outs.

Before this change, inspecting the default arguments produced by launchBrowser / launch_browser or buildRealBrowserArgs / build_real_browser_args showed that --password-store=basic was absent. The new unit regressions assert that it is present by default, custom arguments retain append order, individual defaults (including the password-store flag itself) can be omitted, and managed CDP/profile arguments remain protected.

connectBrowser / connect_browser attaches to an already-running process and therefore cannot alter its command line. The documentation now makes that boundary explicit and points callers to the real-browser launch helper or equivalent external flags.

Verification

  • JavaScript: 502 unit tests; ESLint; Prettier; duplication check; changeset status; API docs
  • Python: 268 tests with coverage; Ruff check/format; mypy; wheel and sdist build; Twine validation
  • Rust: all-feature tests and doctests with warnings denied; rustfmt; Clippy; API docs; optimized release build; package listing; file-size check
  • Final working tree is clean and current origin/main is included

Fixes #70

Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: #70
@konard konard self-assigned this Aug 2, 2026
@konard konard changed the title [WIP] Automation-friendly launch defaults out of the box (incl. --password-store=[REDACTED] no surprise OS password dialogs) Add automation-friendly browser launch defaults Aug 2, 2026
@konard
konard marked this pull request as ready for review August 2, 2026 06:28
@konard

konard commented Aug 2, 2026

Copy link
Copy Markdown
Member Author

Working session summary

Implemented and finalized PR #74.

  • Added `--password-store=[REDACTED] and consistent automation defaults across JavaScript, Python, and Rust.
  • Added extra arguments and per-default opt-outs.
  • Preserved protected loopback CDP and dedicated profiles; headless real-browser launches use --headless=new.
  • Documented defaults, rationale, and attach-only connectBrowser limitations.
  • Added regression tests and release metadata.
  • Local suites passed: 502 JavaScript tests, 268 Python tests, full Rust tests/lint/package checks.
  • Fresh CI passed on Linux, macOS, and Windows for commit 444fd36.
  • PR is ready for review, mergeable, and clean.

💰 Cost estimation:

  • Model: GPT-5.6 Sol
  • Provider: OpenAI
  • Public pricing estimate: $16.635621

📊 Context and tokens usage:

  • 319.7K / 200K (160%) input tokens, 53.8K / 128K (42%) output tokens

Total: (319.7K + 11.0M cached) input tokens, 53.8K output tokens, $16.635621 cost


This summary was automatically extracted from the AI working session output.

@konard

konard commented Aug 2, 2026

Copy link
Copy Markdown
Member Author

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Model: GPT-5.6 Sol
  • Provider: OpenAI
  • Public pricing estimate: $16.635621

📊 Context and tokens usage:

  • 319.7K / 200K (160%) input tokens, 53.8K / 128K (42%) output tokens

Total: (319.7K + 11.0M cached) input tokens, 53.8K output tokens, $16.635621 cost

🤖 Models used:

  • Tool: OpenAI Codex
  • Requested: gpt-5.6-sol
  • Thinking level: xhigh (~31999 tokens)
  • Model: GPT 5.6 Sol (gpt-5.6-sol)

📎 Log file uploaded as Gist (4402KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard
konard merged commit 912d65a into main Aug 2, 2026
29 checks passed
@konard

konard commented Aug 2, 2026

Copy link
Copy Markdown
Member Author

🎉 Auto-merged

This pull request has been automatically merged by hive-mind.

  • All CI checks have passed

Auto-merged by hive-mind with --auto-merge flag

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Automation-friendly launch defaults out of the box (incl. --password-store=basic; no surprise OS password dialogs)

1 participant