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

carlobeltrame / ecamp3 / 30009113026
34%
devel: 43%

Build:
Build:
LAST BUILD BRANCH: investigate/pdf-hang-determinism
DEFAULT BRANCH: devel
Ran 23 Jul 2026 01:00PM UTC
Jobs 2
Files 635
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

23 Jul 2026 12:57PM UTC coverage: 33.791% (+0.02%) from 33.769%
30009113026

push

github

carlobeltrame
fix(print): drain PDF stream synchronously instead of via setTimeout(0) events

Eliminate the Firefox worker hang at its source instead of mitigating it.

@react-pdf/render renders synchronously and calls ctx.end() before returning,
and with compression disabled pdfkit writes the entire document into the stream
buffer synchronously. The bytes are therefore already available when we get the
instance, so toBlob() now drains them with read() rather than listening for
'data'/'end'. pdfkit emits those events through its bundled process/browser
nextTick polyfill (setTimeout(0)), which starves in Firefox web workers and
leaves toBlob() hanging forever (flaky in CI, where every render runs in a fresh
worker). read() needs none of that scheduling.

A streamToBlob unit test renders a 20-page pdfkit document and asserts the
read() drain yields a byte-identical, valid PDF (%PDF-...%%EOF) to the event
drain, guarding against silent truncation.

This supersedes the per-worker warm-up render (removed here); with the stream
no longer drained through the nextTick scheduler there is nothing to warm.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KQ8DeKNRbyq2fLVAqdJfof

671 of 4489 branches covered (14.95%)

Branch coverage included in aggregate %.

4444 of 10648 relevant lines covered (41.74%)

63.95 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
0.0
0.0% frontend/src/components/print/print-client/renderPdf.worker.js
Jobs
ID Job ID Ran Files Coverage
1 api - 30009113026.1 23 Jul 2026 01:00PM UTC 242
88.23
GitHub Action Run
2 frontend - 30009113026.2 23 Jul 2026 01:00PM UTC 393
16.16
GitHub Action Run
Source Files on build 30009113026
  • Tree
  • List 635
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30009113026
  • 24e9befe on github
  • Prev Build on fix-react-pdf-upgrade (#30006538549)
  • Next Build on fix-react-pdf-upgrade (#30014186416)
  • Delete
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