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

solidjs / solid / 35826707746
74%
main: 89%

Build:
Build:
LAST BUILD BRANCH: next
DEFAULT BRANCH: main
Ran 23 Sep 2026 06:32AM 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 06:25AM UTC coverage: 73.205% (+0.4%) from 72.852%
35826707746

push

github

web-flow
fix(solid): hybrid store handoff opens no pending window (#3574) (#3593)

* fix(solid): hybrid store handoff opens no pending window (#3574)

An `ssrSource: "hybrid"` store's handoff run — the client source re-run
that continues from the adopted server answer — returned its generator
(or promise) to the engine directly, so the store read pending from the
landing until the duplicate first yield landed. A consumer created in
that window read a pending source: a streamed `<Loading>` resuming to
claim its fragment after the answer landed created a fresh core boundary,
selected its fallback, and tried to claim it against resolved server
content — "Hydration key miss" plus a flash of the fallback over the
streamed content.

The handoff re-asks the question the adopted answer already answers, and
a re-ask of the same question is silent (05-async-data, isPending). Land
the adopted answer as the handoff stream's synchronous step 0 —
`wrapFirstYield` for generators, `quietAnswer` for promise-shaped
sources — so the store reads settled through the handoff until the
client source produces something new. Rule 5 in the handoff rule block.

Tests: web server→artifact→hydrate pair for the issue's shape (generator
and promise, streamed and loaded), and rule 5 pins in the solid handoff
spec (fresh boundary + isPending during the handoff, rejection path,
client-only mount unchanged).

Size: hydrating + every store family 30,905 -> 30,973 B (+68 B), cap
30.95 -> 31.00 KB; hydrating (no stores) +45 B within its cap.

Fixes #3574

Co-authored-by: Claude via Cursor <noreply@cursor.com>

* docs: cite the stream-continuation contract for the quiet handoff

The rule-5 comment, wrapFirstYield's doc, the pinned tests and the RFC
justified the quiet handoff by the isPending re-ask ruling. That ruling
governs isPending only and would not have fixed #3574 — boundary
collection is status-based, and a fresh <Loading> shows its fallback under
a bare refresh() too. The correct ground i... (continued)

565 of 834 branches covered (67.75%)

Branch coverage included in aggregate %.

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

842 of 1088 relevant lines covered (77.39%)

17.84 hits per line

Jobs
ID Job ID Ran Files Coverage
1 35826707746.1 23 Sep 2026 06:32AM UTC 8
73.2
GitHub Action Run
Source Files on build 35826707746
  • Tree
  • List 8
  • 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 #35826707746
  • cf61b8ed on github
  • Prev Build on next (#35812872548)
  • Next Build on next (#35830541128)
  • 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