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

solidjs / solid / 35894861247
74%
main: 89%

Build:
Build:
LAST BUILD BRANCH: next
DEFAULT BRANCH: main
Ran 23 Sep 2026 05:24PM UTC
Jobs 1
Files 8
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 Sep 2026 05:19PM UTC coverage: 73.766%. Remained the same
35894861247

push

github

web-flow
fix(web): hydrate() waits for the shell records when a stylesheet delays them (#3610) (#3615)

A still-loading <link rel="stylesheet"> blocks every parser-inserted
classic <script> after it, but not an `async` module entry, so hydrate()
could run against the bootstrap's empty `_$HY.r`: a streamed <Loading>
found neither its record nor its `_fr` declaration and fell through to
the core boundary — a `Hydration key miss` on the fallback, a real client
refetch, and a `$df` swap nobody claimed.

Readiness gate on `_$HY`:

- Server: `generateHydrationScript()` (hand-built documents, where the
  host places the bootstrap apart from the records script the render
  appends to its output) marks the bootstrap `p:1` — records may be
  parser-pending. `<HydrationScript />` omits it: assembleDocument splices
  the shell's records script immediately after it at `<!--xs-->`, so the
  two execute back to back and nothing can be pending between them. A
  hand-constructed `_$HY` keeps the same default: absent means ready.
- Client: with the flag set, the parser still running, and no record
  landed, hydrate() parks its start on the first `_$HY.r` write (a Proxy
  that hands the object back on that write; the start rides a microtask
  so the whole records script is visible) or DOMContentLoaded — the
  parser finishing is the proof that no records script is coming. The
  dispose function is still returned synchronously and cancels a parked
  start. Post-load hydrate() (module/deferred entries) never waits.

Size: +137 B / +129 B brotli on the two hydrating scenarios (web only, in
hydrate() itself); caps 20.95 -> 21.10 KB and 31.2 -> 31.30 KB with dated
ledger notes.

Fixes #3610

Co-authored-by: Claude <noreply@anthropic.com>

592 of 865 branches covered (68.44%)

Branch coverage included in aggregate %.

873 of 1121 relevant lines covered (77.88%)

19.81 hits per line

Jobs
ID Job ID Ran Files Coverage
1 35894861247.1 23 Sep 2026 05:24PM UTC 8
73.77
GitHub Action Run
Source Files on build 35894861247
  • Tree
  • List 8
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #35894861247
  • 5de14130 on github
  • Prev Build on next (#35894344323)
  • Next Build on next (#35899635677)
  • 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