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

solidjs / solid / 35842357635
74%
main: 89%

Build:
Build:
LAST BUILD BRANCH: next
DEFAULT BRANCH: main
Ran 23 Sep 2026 09:27AM 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 09:20AM UTC coverage: 73.766%. Remained the same
35842357635

push

github

web-flow
feat(signals): warn in dev when an async computation reads after await (#3602)

* feat(signals): warn in dev when an async compute reads after await

Reads made after the first await in an async computation are untracked, so the computation keeps a stale result when they change. Dev builds now attribute such reads through V8 async stack traces and report UNTRACKED_READ_AFTER_AWAIT.

* fix(signals): warn once per store and release unsettled flights

Store reads after await warned for every array index and prototype method; the check now skips non-own keys and reports once per store object per computation. Tail-flight entries hold their computation and promise weakly and are swept when superseded or disposed, so a flight that never settles no longer pins its node.

* fix(signals): check inherited store keys against the committed backing

* fix(signals): warn for refetching sources and bound the flight sweep

A refetching source serves its old value to an untracked read instead of throwing, so exempting every pending source missed that stale read; only a source still loading its first value is exempt now. The weak-entry sweep ran on every registration, making N concurrent flights cost O(N^2); it now runs when the registry doubles. Also lists the new code in the solid-js diagnostics skill.

* fix(signals): UNTRACKED_READ_AFTER_AWAIT ignores Solid-run callbacks on the continuation's stack

Effect callbacks, cleanups, and action bodies run with no owner, exactly like
an async continuation. When a continuation called flush(), dispose(), or an
action, the reads those callbacks made were on the continuation's async
stack and were blamed on the computation that had awaited.

Two dev-only depth counters in core.ts mark those scopes: `callbackDepth`
(effect callbacks in effect.ts, the synchronous slice of an action body in
action.ts; both sites already have try/finally) and `disposalDepth` (the
`_disposal` drain and the effect-returned cleanup in owner.ts). The d... (continued)

592 of 865 branches covered (68.44%)

Branch coverage included in aggregate %.

873 of 1121 relevant lines covered (77.88%)

19.81 hits per line

Jobs
ID Job ID Ran Files Coverage
1 35842357635.1 23 Sep 2026 09:27AM UTC 8
73.77
GitHub Action Run
Source Files on build 35842357635
  • Tree
  • List 8
  • 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 #35842357635
  • eb3d6995 on github
  • Prev Build on next (#35838850243)
  • 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