Skip to content

test: cover disabling --site-per-process default - #2202

Merged
seanmcguire12 merged 1 commit into
browserbase:evals/external-contrib-cyphercodesfrom
cyphercodes:fix/2193-site-per-process-ignore-default-args
Jun 9, 2026
Merged

test: cover disabling --site-per-process default#2202
seanmcguire12 merged 1 commit into
browserbase:evals/external-contrib-cyphercodesfrom
cyphercodes:fix/2193-site-per-process-ignore-default-args

Conversation

@cyphercodes

@cyphercodes cyphercodes commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

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

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.

Written for commit 8dd9cbf. Summary will update on new commits.

Review in cubic

@changeset-bot

changeset-bot Bot commented Jun 6, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 8dd9cbf

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

This PR is from an external contributor and must be approved by a stagehand team member with write access before CI can run.
Approving the latest commit mirrors it into an internal PR owned by the approver.
If new commits are pushed later, the internal PR stays open but is marked stale until someone approves the latest external commit and refreshes it.

@github-actions github-actions Bot added external-contributor Tracks PRs mirrored from external contributor forks. external-contributor:awaiting-approval Waiting for a stagehand team member to approve the latest external commit. labels Jun 6, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Loading

Re-trigger cubic

@seanmcguire12
seanmcguire12 changed the base branch from main to evals/external-contrib-cyphercodes June 9, 2026 17:42
@seanmcguire12
seanmcguire12 merged commit ce6744d into browserbase:evals/external-contrib-cyphercodes Jun 9, 2026
4 checks passed
seanmcguire12 added a commit that referenced this pull request Jun 9, 2026
# 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>
felipeofdev-ai pushed a commit to felipeofdev-ai/stagehand that referenced this pull request Aug 4, 2026
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

external-contributor:awaiting-approval Waiting for a stagehand team member to approve the latest external commit. external-contributor Tracks PRs mirrored from external contributor forks.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants