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

solidjs / solid / 40410125886
79%
main: 89%

Build:
Build:
LAST BUILD BRANCH: fix/hydration-late-start-truncation
DEFAULT BRANCH: main
Ran 26 Oct 2026 10:16PM UTC
Jobs 1
Files 12
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

26 Oct 2026 10:08PM UTC coverage: 78.524% (+0.7%) from 77.851%
40410125886

push

github

web-flow
fix(solid): a client-only Loading keeps its served fallback through the resume (#4301)

* fix(solid): keep a client-only boundary's hydrated fallback through the resume

On the "$$f" route the boundary hydrated the served fallback, then re-ran
on resume and built a fresh one when the client-only content suspended,
dropping the served DOM (#4286). The hydrated fallback is now built in an
owner beside the boundary memo and handed to the resumed boundary as its
first fallback; it is disposed with that fallback, or at once when the
content shows straight away.

Fixes #4286

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hPxMkC3jg3Uivh65gvaf2

* fix(solid): create the "$$f" loading boundary once instead of a kept-fallback owner

Golfs the #4286 fix from +157 B to +82 B minified. Rather than hydrating
the fallback in the boundary memo, parking it in a side owner and handing
it to the boundary the resume re-run creates, the "$$f" route now returns
the loading boundary at hydration: its content throws NotReady until the
resume opens it, and its fallback is built in a root at the boundary's id
(the server's fallback owner id), so the boundary's own fallback hydrates
the served DOM and the core keeps and disposes it. The resume no longer
re-runs the memo.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hPxMkC3jg3Uivh65gvaf2

* perf(solid): reuse waitAndResume for the resume routes' asset wait

The "$$f" route, the superseded-fragment route and the rejected-fragment
route each hand-wrote the same asset wait (then/queueMicrotask, report a
failed preload and continue). waitAndResume already does that; their
resume callbacks ignore its argument, so pass a settled `1` as the data.
Without an asset promise the resume now runs after two promise hops
instead of one queueMicrotask.

Co-Authored-By: Claude Opus 5.5 (1M context) <... (continued)

778 of 1067 branches covered (72.91%)

Branch coverage included in aggregate %.

10 of 11 new or added lines in 1 file covered. (90.91%)

1116 of 1345 relevant lines covered (82.97%)

28.16 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
78.43
1.29% packages/solid/src/client/hydration.ts
Jobs
ID Job ID Ran Files Coverage
1 40410125886.1 26 Oct 2026 10:16PM UTC 12
78.52
GitHub Action Run
Source Files on build 40410125886
  • Tree
  • List 12
  • 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 #40410125886
  • ee94440b on github
  • Prev Build on next (#40397392643)
  • Next Build on next (#40410141628)
  • 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