test: cover disabling --site-per-process default - #2202
Conversation
|
|
This PR is from an external contributor and must be approved by a stagehand team member with write access before CI can run. |
There was a problem hiding this comment.
No issues found across 1 file
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Architecture diagram
sequenceDiagram
participant Test as Unit Test
participant ULC as launchLocalChrome()
participant GetArgs as getLaunchArgs()
participant Puppet as Puppeteer::launch()
participant Chrome as Chrome Process
Note over Test,Chrome: NEW: ignoreDefaultArgs flow for --site-per-process
Test->>ULC: Call with user flags + ignoreDefaultArgs
ULC->>GetArgs: NEW: Build args object
GetArgs->>GetArgs: NEW: Separate default flags from user args
GetArgs->>GetArgs: NEW: Check ignoreDefaultArgs for --site-per-process
GetArgs->>GetArgs: NEW: Filter out --site-per-process from default set
GetArgs-->>ULC: Return { chromeFlags, ignoreDefaultFlags: true }
ULC->>Puppet: NEW: Launch with ignoreDefaultArgs: ["--site-per-process"]
Puppet->>Chrome: Start process
Note over Chrome: Process runs without --site-per-process
alt User provides custom per-process flags
Chrome->>Chrome: Respects --disable-features=site-per-process,IsolateOrigins
Chrome->>Chrome: Respects --renderer-process-limit=6
Chrome->>Chrome: Respects --remote-allow-origins=*
end
Puppet-->>ULC: Browser instance
ULC-->>Test: Browser handle
Note over Test,Chrome: VERIFICATION: Assertions on final args
Test->>Test: Check ignoreDefaultFlags === true
Test->>Test: Verify --site-per-process is absent
Test->>Test: Verify user flags are preserved
Test->>Test: Verify --remote-allow-origins=* still present
ce6744d
into
browserbase:evals/external-contrib-cyphercodes
# why `--site-per-process` is a Stagehand local-browser default, so users need a reliable regression test that `localBrowserLaunchOptions.ignoreDefaultArgs` can remove it. Refs #2193. # what changed Added unit coverage for `launchLocalChrome` verifying that `ignoreDefaultArgs: ["--site-per-process"]` removes the Stagehand default while preserving user-provided Chromium flags such as `--disable-features=site-per-process,IsolateOrigins` and `--renderer-process-limit=6`. # test plan - `pnpm --dir packages/core exec vitest run --config vitest.esm.config.mjs dist/esm/tests/unit/launch-local-ignore-default-args.test.js` - `pnpm --filter @browserbasehq/stagehand run typecheck` - `pnpm exec prettier --check packages/core/tests/unit/launch-local-ignore-default-args.test.ts` <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds a unit test to ensure `localBrowserLaunchOptions.ignoreDefaultArgs: ['--site-per-process']` disables Stagehand’s `--site-per-process` default in local Chrome while preserving user flags (`--disable-features=site-per-process,IsolateOrigins`, `--renderer-process-limit=6`, `--remote-allow-origins=*`). Refs #2193. <sup>Written for commit 8dd9cbf. Summary will update on new commits.</sup> <a href="https://cubic.dev/pr/browserbase/stagehand/pull/2202?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> # why # what changed # test plan Co-authored-by: Rayan Salhab <r.salhab@aiyexpertsolutions.com> Co-authored-by: cyphercodes <cyphercodes@users.noreply.github.com>
…rowserbase#2218) # why `--site-per-process` is a Stagehand local-browser default, so users need a reliable regression test that `localBrowserLaunchOptions.ignoreDefaultArgs` can remove it. Refs browserbase#2193. # what changed Added unit coverage for `launchLocalChrome` verifying that `ignoreDefaultArgs: ["--site-per-process"]` removes the Stagehand default while preserving user-provided Chromium flags such as `--disable-features=site-per-process,IsolateOrigins` and `--renderer-process-limit=6`. # test plan - `pnpm --dir packages/core exec vitest run --config vitest.esm.config.mjs dist/esm/tests/unit/launch-local-ignore-default-args.test.js` - `pnpm --filter @browserbasehq/stagehand run typecheck` - `pnpm exec prettier --check packages/core/tests/unit/launch-local-ignore-default-args.test.ts` <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds a unit test to ensure `localBrowserLaunchOptions.ignoreDefaultArgs: ['--site-per-process']` disables Stagehand’s `--site-per-process` default in local Chrome while preserving user flags (`--disable-features=site-per-process,IsolateOrigins`, `--renderer-process-limit=6`, `--remote-allow-origins=*`). Refs browserbase#2193. <sup>Written for commit 8dd9cbf. Summary will update on new commits.</sup> <a href="https://cubic.dev/pr/browserbase/stagehand/pull/2202?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> # why # what changed # test plan
why
--site-per-processis a Stagehand local-browser default, so users need a reliable regression test thatlocalBrowserLaunchOptions.ignoreDefaultArgscan remove it. Refs #2193.what changed
Added unit coverage for
launchLocalChromeverifying thatignoreDefaultArgs: ["--site-per-process"]removes the Stagehand default while preserving user-provided Chromium flags such as--disable-features=site-per-process,IsolateOriginsand--renderer-process-limit=6.test plan
pnpm --dir packages/core exec vitest run --config vitest.esm.config.mjs dist/esm/tests/unit/launch-local-ignore-default-args.test.jspnpm --filter @browserbasehq/stagehand run typecheckpnpm exec prettier --check packages/core/tests/unit/launch-local-ignore-default-args.test.tsSummary by cubic
Adds a unit test to ensure
localBrowserLaunchOptions.ignoreDefaultArgs: ['--site-per-process']disables Stagehand’s--site-per-processdefault in local Chrome while preserving user flags (--disable-features=site-per-process,IsolateOrigins,--renderer-process-limit=6,--remote-allow-origins=*). Refs #2193.Written for commit 8dd9cbf. Summary will update on new commits.