Skip to content

Launch and connect to installed browsers across all languages - #72

Merged
konard merged 7 commits into
mainfrom
issue-68-710e9903a1a4
Aug 2, 2026
Merged

Launch and connect to installed browsers across all languages#72
konard merged 7 commits into
mainfrom
issue-68-710e9903a1a4

Conversation

@konard

@konard konard commented Aug 2, 2026

Copy link
Copy Markdown
Member

Summary

  • expose the proposed launchRealBrowser(...) JavaScript name while preserving launchAndConnectRealBrowser(...) as a compatible alias
  • add launch_real_browser(...) to Python and Rust, including installed Chrome/Edge/Brave/Chromium discovery on Linux, macOS, and Windows
  • launch CDP on loopback with a dedicated non-default profile, protect managed launch arguments, support cookie seeding, and clean up failed processes
  • return the same browser/page handles as the existing launch APIs plus process and endpoint metadata
  • document the cross-language lifecycle and add JavaScript, Python, and Rust release metadata

Root cause and reproduction

Issue #66 added CDP attachment in every language and a descriptive JavaScript launch-and-connect helper, but the proposed launchRealBrowser(...) API name did not exist. Python and Rust could attach to an externally launched browser but had no matching installed-browser discovery, spawn, readiness, and attach lifecycle.

Before this change, importing launchRealBrowser in JavaScript or launch_real_browser in Python failed, and equivalent Rust code did not compile. The regression tests cover those public imports as well as the lifecycle orchestration.

A real installed Chrome smoke run also exposed a Rust readiness bug: Chrome returned a complete /json/version response while keeping the HTTP connection open, but the initial probe waited for EOF and timed out. The probe now recognizes the complete JSON body immediately, with a local keep-alive regression server proving the behavior.

Verification

  • JavaScript: 498 tests; ESLint; Prettier; duplication check; changeset validation
  • Python: 264 tests with coverage; Ruff lint/format; mypy; file-size check; wheel/sdist build and Twine validation
  • Rust: 156 unit tests, 2 public API integration tests, and 6 doc tests; rustfmt; Clippy across all targets/features; file-size check; docs; release build; crate package listing
  • real installed Chrome smoke tests: JavaScript Playwright and Puppeteer, Python Playwright, and Rust Chromiumoxide
  • platform discovery assertions cover Linux, macOS, and Windows paths; smoke tests use isolated profiles and exercise cookie seeding/Browser Commander page operations

This is a non-visual API change, so screenshots are not applicable.

Closes #68

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

Issue: #68
@konard konard self-assigned this Aug 2, 2026
@konard konard changed the title [WIP] Drive the real installed browser (Chrome/Edge/Brave), authenticated, via CDP launch-and-connect Launch and connect to installed browsers across all languages Aug 2, 2026
@konard
konard marked this pull request as ready for review August 2, 2026 05:45
@konard

konard commented Aug 2, 2026

Copy link
Copy Markdown
Member Author

Working session summary

Implemented and marked PR #72 ready for review.

  • Added installed Chrome/Edge/Brave/Chromium launch-and-connect support across JavaScript, Python, and Rust.
  • Included dedicated profiles, cookie seeding, executable discovery, CDP readiness, safety checks, and process cleanup.
  • Added documentation, release metadata, regression tests, and real installed-Chrome smoke tests.
  • Diagnosed the initial Python Windows failure at CI log line 2941 and fixed the host-dependent test path.
  • All replacement CI workflows pass across Linux, macOS, and Windows.
  • Branch is current with main, clean, and pushed at 33f697f.

💰 Cost estimation:

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

📊 Context and tokens usage:

  • 477.6K / 200K (239%) input tokens, 80.5K / 128K (63%) output tokens

Total: (477.6K + 15.6M cached) input tokens, 80.5K output tokens, $23.991978 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: $23.991978

📊 Context and tokens usage:

  • 477.6K / 200K (239%) input tokens, 80.5K / 128K (63%) output tokens

Total: (477.6K + 15.6M cached) input tokens, 80.5K output tokens, $23.991978 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 (6443KB)


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

@konard
konard merged commit ee15342 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.

Drive the real installed browser (Chrome/Edge/Brave), authenticated, via CDP launch-and-connect

1 participant