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

solidjs / solid / 38445993237
78%
main: 89%

Build:
Build:
LAST BUILD BRANCH: fix/lazy-code-waterfall-4105
DEFAULT BRANCH: main
Ran 13 Oct 2026 06:26PM UTC
Jobs 1
Files 11
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

13 Oct 2026 06:20PM UTC coverage: 77.515% (+0.09%) from 77.429%
38445993237

push

github

web-flow
fix(solid): lazy() drops a loader promise made under hydration tracing (#4013) (#4019)

* fix(solid): lazy() drops a loader promise made under hydration tracing (#4013)

Hydration traces an adopted compute with the global Promise swapped for a
never-settling MockPromise. A lazy()/lazyModule() loader that builds its
promise from the global Promise (Vite's __vitePreload) returned that stub
when first called inside the trace, and the module cache kept it, so
.preload() and later renders never settled. subFetch now tracks its trace
depth, and load() drops a promise that is an instance of the swapped-in
Promise while tracing, so the next call loads for real. A real promise
(e.g. a native import()) is still cached. CSR bundles fold the guard away.

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

* fix(solid): shrink the #4013 lazy() trace guard

Drop the `instanceof Promise` half of the guard: lazy()/lazyModule() now
skip caching any load started while subFetch is tracing, not only the
MockPromise stub. A real import() started under the trace still lands
through its then() (setting the component/module), and the next call
re-runs the loader, which the module registry dedupes. Cuts the cost in
hydrating bundles from +56 B to +34 B minified; CSR bundles are unchanged.

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

* size: raise compiled hydrating and store-family caps for the #4013 lazy() guard

Measured against next @ c9027a90: compiled hydrating 31,610 -> 31,622 B
(2 B over), hydrating + every store primitive family 29,440 -> 29,506 B
(6 B over). Caps set at measured + 10 B rounded up to 0.01 KB. Accepted
by the maintainer 2026-10-13.

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

750 of 1040 branches covered (72.12%)

Branch coverage included in aggregate %.

5 of 5 new or added lines in 2 files covered. (100.0%)

1084 of 1326 relevant lines covered (81.75%)

27.42 hits per line

Jobs
ID Job ID Ran Files Coverage
1 38445993237.1 13 Oct 2026 06:26PM UTC 11
77.51
GitHub Action Run
Source Files on build 38445993237
  • Tree
  • List 11
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #38445993237
  • 5413c063 on github
  • Prev Build on next (#38438266685)
  • Next Build on next (#38446084125)
  • 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