Skip to content

fix: don't set newWindow=true when no targets exist - #3482

Merged
kblok merged 1 commit into
masterfrom
fix-newwindow-crash
Jul 3, 2026
Merged

kblok merged 1 commit into
masterfrom
fix-newwindow-crash

Conversation

@kblok

@kblok kblok commented Jun 17, 2026

Copy link
Copy Markdown
Member

Sending newWindow=true with no existing browser windows causes Chrome to crash and close the WebSocket mid-command. Modern Chrome handles Target.createTarget without that flag in a windowless state — it creates the window itself.

Reverts the no-targets logic back to upstream: only set newWindow=true when hasTargets && type === window (the original crbug.com/454825274 workaround). Fixes ShouldKeepConnectedAfterTheLastPageIsClosed on headful Chrome.

Sending newWindow=true when Chrome has no browser windows causes Chrome
to crash and close the WebSocket. Modern Chrome handles Target.createTarget
without newWindow even in a windowless state — it creates the window itself.

Revert to upstream behavior: only set newWindow=true when hasTargets &&
type === window (crbug.com/454825274 workaround).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@kblok kblok closed this Jun 23, 2026
@kblok kblok reopened this Jul 3, 2026
@kblok
kblok merged commit fb6e423 into master Jul 3, 2026
29 of 31 checks passed
@kblok
kblok deleted the fix-newwindow-crash branch July 3, 2026 12:47
sondresjolyst pushed a commit to sondresjolyst/garge-api that referenced this pull request Jul 13, 2026
Updated [PuppeteerSharp](https://github.com/hardkoded/puppeteer-sharp)
from 25.2.1 to 25.3.1.

<details>
<summary>Release notes</summary>

_Sourced from [PuppeteerSharp's
releases](https://github.com/hardkoded/puppeteer-sharp/releases)._

## 25.3.1

## What's Changed
* fix: CDP-only netstandard2.0 build failure with
System.Threading.Channels by @​kblok in
hardkoded/puppeteer-sharp#3512


**Full Changelog**:
hardkoded/puppeteer-sharp@v25.3.0...v25.3.1

## 25.3.0

## What's New 
* chore: roll Firefox to 152.0.4 (upstream #​15158, #​15195) by @​kblok
in hardkoded/puppeteer-sharp#3510
* chore: bump version to 25.3.0 by @​kblok in
hardkoded/puppeteer-sharp#3511
* New Feature: support installing extensions for browser contexts
(#​15164) by @​kblok in
hardkoded/puppeteer-sharp#3509

## What's Changed
* Fix: handle swaps without a timer (#​15198) by @​kblok in
hardkoded/puppeteer-sharp#3507
* fix: don't set newWindow=true when no targets exist by @​kblok in
hardkoded/puppeteer-sharp#3482
* fix: normalize duplicate set-cookie headers using newline (upstream
#​15173) by @​kblok in
hardkoded/puppeteer-sharp#3508


**Full Changelog**:
hardkoded/puppeteer-sharp@v25.2.1...v25.3.0

Commits viewable in [compare
view](hardkoded/puppeteer-sharp@v25.2.1...v25.3.1).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=PuppeteerSharp&package-manager=nuget&previous-version=25.2.1&new-version=25.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.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