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

solidjs / solid / 40783243057
78%
main: 89%

Build:
Build:
LAST BUILD BRANCH: fix/derived-store-heal-4451
DEFAULT BRANCH: main
Ran 28 Oct 2026 11:00PM 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

28 Oct 2026 10:52PM UTC coverage: 78.516%. Remained the same
40783243057

push

github

web-flow
fix(signals): derived-store E3 twin — a landing wakes a reader parked on its error; a first landing is loading, not pending (#4388)

* fix(signals): a derived store's landing wakes a reader parked on its error

A render effect reading a derived store whose derive had errored, then
recovered through `latest()` into a new flight, never re-ran when that flight
landed. Its `Errored` went back to content with the value missing, or its
`Loading` stayed on the fallback. A render effect reading the memo the store
copies committed the value.

Cause: the reader met the error in the derive's pull (`pullFamily`) before
any leaf existed, so it observes the derive only. The recovery re-ran the
derive into NotReady (the family's wake). The upstream memo's landing then
cleared the derive's status, so the landing pass began from status 0 and its
commit took it for a settled derive's pass (`wake` 0): no `insertSubs`. The
leaves carry nothing to a reader that never read one.

Fix: `settleFamily` (a landing after the family's wake) also notifies the
derive's own subscribers. Only a landing that follows a wake reaches it, so
a settled derive's passes still wake nobody (#4342).

Found by the async-gen campaign (seed 3289, E3 store twin): minimized cases
1, 5 and 25 of research/2026-10-28-async-gen-campaign-1.md.

Tests: packages/signals/tests/derived-store-recovery-wake.test.ts (action
and plain write, memo vs store parity) and
packages/web/test/derived-store-recovery-wake.spec.tsx (attribute and text
hole). Store engine only: +5 to +6 B minified on the four store scenarios,
ledger lines added.

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

* fix(signals): a derived store's first landing is loading, not pending

`isPending` of a derived store's key read `true` for one pass at the store's
first landing, where the memo the store copies reads `false`. A
`<Show when={isPending(...)}>` over the k... (continued)

790 of 1084 branches covered (72.88%)

Branch coverage included in aggregate %.

1125 of 1355 relevant lines covered (83.03%)

29.94 hits per line

Jobs
ID Job ID Ran Files Coverage
1 40783243057.1 28 Oct 2026 11:00PM UTC 12
78.52
GitHub Action Run
Source Files on build 40783243057
  • 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 #40783243057
  • 178605cf on github
  • Prev Build on next (#40779857162)
  • Next Build on next (#40788807619)
  • 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