• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

microlinkhq / browserless / 36680925732
80%

Build:
DEFAULT BRANCH: master
Ran 30 Sep 2026 06:57AM UTC
Jobs 10
Files 48
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

30 Sep 2026 06:56AM UTC coverage: 80.577% (-0.05%) from 80.624%
36680925732

push

github

web-flow
fix(function): resolve the supplied page without a CDP round trip (#952)

`resolvePage` opened a CDP session on every candidate page and asked it
`Target.getTargetInfo`. On the `getPage` path `strictTarget` is always
set, so the scan always ran, and `browser.pages()` is every page on that
browser rather than only ours.

Measured in production on `({ page }) => page.title()`, correlating the
page count the isolate sees against the time the snippet itself takes:

  pages=1  fn.run 80-118ms   (12 samples)
  pages=2  fn.run 473ms
  pages=2  fn.run 1747ms

One neighbour is enough. The cost is not the length of the list, it is
opening a session on somebody else's page and waiting on a target that
may be mid-navigation. Worst observed was 15055ms of `fn.run` for a
snippet whose only statement is `page.title()`, with the fetch, spawn and
build phases all normal.

The isolate already has the id locally. `page.target()._targetId` is
maintained from target events, needs no round trip, and matches
`page.mainFrame()._id`; both were confirmed against a production isolate
on `@cloudflare/puppeteer` 1.4.0.

The scan now reads that first and only falls back to asking over a
session when no page carries it, so a build where the private field
disappears still resolves rather than failing with PAGE_NOT_FOUND.

The three existing tests describe pages with no local id, so they now
cover the fallback. Three more cover the local path, a neighbour that
refuses a session, and the mixed case.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

1377 of 1619 branches covered (85.05%)

Branch coverage included in aggregate %.

23 of 23 new or added lines in 1 file covered. (100.0%)

8 existing lines in 1 file now uncovered.

5916 of 7432 relevant lines covered (79.6%)

67773.04 hits per line

Coverage Regressions

Lines Coverage ∆ File
8
66.38
-1.24% packages/browserless/src/report.js
Jobs
ID Job ID Ran Files Coverage
1 @browserless/screencast - 36680925732.1 30 Sep 2026 06:57AM UTC 1
96.08
GitHub Action Run
2 @browserless/function - 36680925732.2 30 Sep 2026 06:58AM UTC 3
94.83
GitHub Action Run
3 browserless - 36680925732.3 30 Sep 2026 06:58AM UTC 3
79.73
GitHub Action Run
4 @browserless/ai - 36680925732.4 30 Sep 2026 06:58AM UTC 6
73.14
GitHub Action Run
5 @browserless/errors - 36680925732.5 30 Sep 2026 06:57AM UTC 1
99.45
GitHub Action Run
6 @browserless/devices - 36680925732.6 30 Sep 2026 06:57AM UTC 1
95.41
GitHub Action Run
7 @browserless/capture - 36680925732.7 30 Sep 2026 06:57AM UTC 11
86.63
GitHub Action Run
8 @browserless/goto - 36680925732.8 30 Sep 2026 07:00AM UTC 7
76.05
GitHub Action Run
9 @browserless/lighthouse - 36680925732.9 30 Sep 2026 06:58AM UTC 3
97.83
GitHub Action Run
10 @browserless/screenshot - 36680925732.10 30 Sep 2026 06:58AM UTC 12
73.7
GitHub Action Run
Source Files on build 36680925732
  • Tree
  • List 48
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #36680925732
  • 089dee53 on github
  • Prev Build on master (#36680244787)
  • Next Build on master (#36837637077)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc