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

solidjs / solid / 41181882384
78%
main: 89%

Build:
Build:
LAST BUILD BRANCH: claude/project-thread-x1ore2-4543
DEFAULT BRANCH: main
Ran 31 Oct 2026 07:56AM 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

31 Oct 2026 07:45AM UTC coverage: 78.134% (-0.02%) from 78.158%
41181882384

push

github

web-flow
feat(signals): dev diagnostic CAUGHT_REACTIVE_READ — a reactive read's throw caught and the pass completed (D-42) (#4481)

* feat(signals): dev diagnostic CAUGHT_REACTIVE_READ — a reactive read's throw caught and the pass completed (D-42)

A reactive read's throw (NotReadyError or the source's error) is addressed
to the graph: try/catch around it is not a channel (D-42 / S-47). This
detects the detectable half — a computation's pass completed normally after
a reactive read threw into it — and warns once per computation, dev only.

Mechanism: read()/serve()/verdict throw sites record the throw against the
running pass in a module-level WeakMap; recompute clears the record at the
pass head and judges it when _fn returns. A body that returned a flight
(thenable / async iterable) is judged when the flight settles: a rejection
is the throw continuing (an async function converts a pre-await throw into
its rejection), a landed value is the catch. The runtime's own catches —
boundary output and `on`, isPending's probe, watch's error arm, comparator,
cleanup and effect-callback routing, solid-js's hydration trace and
Dynamic's warm-up — forget the record. Zero production bytes (size harness
byte-identical across all 22 scenarios).

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs(signals): CAUGHT_REACTIVE_READ error arm — errored regardless by the rules (F-12/#4410); today's runtime may complete with the caught value until the source is retried (#4486)

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(signals): treeshake suite gets a 30 s hang guard — each case runs a Vite build; CI's first bundle went past vitest's 5 s

Co-authored-by: Cursor <cursoragent@cursor.com>

* test: pin the #4342 query-cache shape as a CAUGHT_REACTIVE_READ true positive; note it at the web spec's catch

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

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

797 of 1098 branches covered (72.59%)

Branch coverage included in aggregate %.

2 of 3 new or added lines in 2 files covered. (66.67%)

1129 of 1367 relevant lines covered (82.59%)

29.95 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
64.39
-1.5% packages/solid/src/client/dynamic.ts
Jobs
ID Job ID Ran Files Coverage
1 41181882384.1 31 Oct 2026 07:56AM UTC 12
78.13
GitHub Action Run
Source Files on build 41181882384
  • Tree
  • List 12
  • 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 #41181882384
  • 46ab2dd9 on github
  • Prev Build on next (#41181196841)
  • Next Build on next (#41184145036)
  • 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