Skip to content

Add batched POST /chromium/configure with optional start_url#244

Draft
hiroTamada wants to merge 2 commits into
mainfrom
feat/chromium-configure-multipart
Draft

Add batched POST /chromium/configure with optional start_url#244
hiroTamada wants to merge 2 commits into
mainfrom
feat/chromium-configure-multipart

Conversation

@hiroTamada
Copy link
Copy Markdown
Contributor

Summary

  • Adds POST /chromium/configure: one multipart request to batch display sizing, Chrome policies, Chromium flags, profile archive, extensions, and optional start_url navigation after a single Chromium restart.
  • Introduces cdpclient.NavigateFirstPage for post-ready Page.navigate (flattened CDP session, waits for load / domcontentloaded). Fixes concurrent WebSocket reads that caused flaky navigate failures.
  • Refactors extension upload logic into shared applyExtensionZipItems used by configure and existing upload-and-restart.
  • E2e: 31-way powerset over optional configure parts plus bare/JSON start_url tests; local runner script and DETACHED=1 headless run-docker.sh for manual API use.
  • make test: e2e package timeout raised to 120m (full suite exceeds default 10m).

Test plan

  • go vet ./... and unit tests (go test excluding /e2e)
  • ./scripts/run-local-chromium-configure-powerset.sh (31 permutations + start_url variants) against locally built headless image
  • Full go test -race -timeout 120m ./e2e/ with E2E_CHROMIUM_HEADLESS_IMAGE / E2E_CHROMIUM_HEADFUL_IMAGE pointing at images built from this branch

Made with Cursor

hiroTamada and others added 2 commits May 19, 2026 09:27
Single multipart request can apply display, policies, flags, extensions, and profile changes with one Chromium restart, then navigate via CDP after DevTools is ready.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop DETACHED run-docker mode, the powerset runner script, and related AGENTS.md notes.

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

1 participant