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

solidjs / solid / 40462749981
78%
main: 89%

Build:
Build:
LAST BUILD BRANCH: claude/project-thread-x1ore2-staged-err-derive
DEFAULT BRANCH: main
Ran 27 Oct 2026 06:48AM 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

27 Oct 2026 06:42AM UTC coverage: 78.589%. Remained the same
40462749981

push

github

web-flow
fix(solid): an Errored fallback's own failure goes to the next boundary up; its wait is budgeted (#4316, #4317) (#4318)

* fix(solid): an Errored fallback's own failure goes to the next boundary up; its wait is budgeted (#4316, #4317)

#4316: when a <Loading> fails after the shell and its <Errored> renders the
fallback as the outcome (renderOutcome), a fallback hole that rejected
while the server waited for it was swallowed. The retry ran with no owner,
so the hole's error never met a handler and the outcome came back empty.
Parked in a pending outer <Loading>, the inner fragment then settled as a
blank child, and the client hydrated the blank and halted. A fallback that
threw synchronously reached the parent handler instead, but in its
no-consumer mode: an outer <Errored> serialized its error record and
rendered a fallback nobody sent.

Now a failure of the fallback, sync or async, goes to the next boundary
up. The fallback owner's handler holds it while the outcome renders, and
the retry runs under that owner. The parent is first asked for the outcome
at the same position, so an outer <Errored> whose whole content is that
position draws its fallback there and serializes its error with it.
Otherwise the failure is routed as a content failure, so a pending outer
<Loading> fails its fragment. An outer <Errored> reached that way while
it is not being pulled lets it pass and does not render.

#4317: the wait now shares the <Loading> resume loop's convergence budget
(MAX_RESUME_PASSES, internal; hydration.ts uses it in place of the 10000
literal). Past the budget it answers what is available, which is no
finished fallback. It also races each wait against the fallback owner's
teardown, so an aborted render stops waiting at once.

Tests: sync-throw twins for the parked and unparked shapes, with and
without an outer <Errored>. The server harness holds the async variant's
markup to the twin's. The hydrate spec holds its client outcome, loaded
and streamed, to... (continued)

785 of 1074 branches covered (73.09%)

Branch coverage included in aggregate %.

1120 of 1350 relevant lines covered (82.96%)

27.94 hits per line

Jobs
ID Job ID Ran Files Coverage
1 40462749981.1 27 Oct 2026 06:48AM UTC 12
78.59
GitHub Action Run
Source Files on build 40462749981
  • Tree
  • List 12
  • 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 #40462749981
  • 8f1d9d2b on github
  • Prev Build on next (#40452237597)
  • Next Build on next (#40466331453)
  • 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