• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

playwright-community / playwright-go / 28143979381
78%
main: 79%

Build:
Build:
LAST BUILD BRANCH: roll/v1.61.1
DEFAULT BRANCH: main
Ran 25 Jun 2026 03:11AM UTC
Jobs 9
Files 59
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Jun 2026 01:48AM UTC coverage: 78.509% (+0.008%) from 78.501%
28143979381

Pull #603

github

mxschmitt
fix: prevent deadlock when calling blocking methods inside event handlers

Event handlers run synchronously on the single connection dispatch
goroutine (connection.Dispatch -> channel.Emit). That goroutine is also
the only one that delivers replies which unblock channel.Send. So any
blocking server call made from inside an event handler -- e.g.
Response.Body(), Request/Response.HeadersArray()/AllHeaders(), or
Page.EvaluateHandle() from an OnResponse/OnRequest/OnRequestFinished/
OnDOMContentLoaded callback -- waits forever for a reply that can only
be delivered by the goroutine it is blocking. Route handlers avoid this
because they already run on a separate goroutine via channel.CreateTask;
plain event handlers do not.

Fix: when waitResult is invoked on the dispatch goroutine itself (i.e.
from within a handler), it now drives the receive loop re-entrantly via
pollOnce until the reply arrives, instead of blocking on a channel only
the dispatch goroutine could signal. Calls from any other goroutine are
unchanged. Keeping all message processing on a single goroutine
preserves the existing event ordering and avoids data races on the
object graph.

Adds TestBlockingServerCallInsideEventHandler covering the cluster.

Closes #391
Closes #481
Closes #398
Closes #574
Pull Request #603: fix: prevent deadlock when calling blocking methods inside event handlers

45 of 53 new or added lines in 3 files covered. (84.91%)

25 existing lines in 1 file now uncovered.

7960 of 10139 relevant lines covered (78.51%)

6796.46 hits per line

Uncovered Changes

Lines Coverage ∆ File
8
86.84
-1.56% connection.go

Coverage Regressions

Lines Coverage ∆ File
25
86.84
-1.56% connection.go
Jobs
ID Job ID Ran Files Coverage
1 macos-latest-firefox - 28143979381.1 25 Jun 2026 03:28AM UTC 59
76.95
GitHub Action Run
2 windows-latest-chromium - 28143979381.2 25 Jun 2026 03:25AM UTC 59
78.25
GitHub Action Run
3 ubuntu-latest-webkit - 28143979381.3 25 Jun 2026 03:20AM UTC 59
76.78
GitHub Action Run
4 windows-latest-firefox - 28143979381.4 25 Jun 2026 03:11AM UTC 59
76.86
GitHub Action Run
5 ubuntu-latest-firefox - 28143979381.5 25 Jun 2026 03:17AM UTC 59
76.96
GitHub Action Run
6 ubuntu-latest-chromium - 28143979381.6 25 Jun 2026 03:19AM UTC 59
78.32
GitHub Action Run
7 macos-latest-webkit - 28143979381.7 25 Jun 2026 03:18AM UTC 59
76.21
GitHub Action Run
8 windows-latest-webkit - 28143979381.8 25 Jun 2026 03:22AM UTC 59
76.71
GitHub Action Run
9 macos-latest-chromium - 28143979381.9 25 Jun 2026 03:16AM UTC 59
78.34
GitHub Action Run
Source Files on build 28143979381
  • Tree
  • List 59
  • Changed 17
  • Source Changed 0
  • Coverage Changed 17
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #603
  • PR Base - main (#28136695452)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc