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

solidjs / solid / 34535265183
72%
main: 89%

Build:
Build:
LAST BUILD BRANCH: fix/ssr-element-nullish-attrs
DEFAULT BRANCH: main
Ran 10 Sep 2026 10:06PM UTC
Jobs 1
Files 6
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

10 Sep 2026 10:01PM UTC coverage: 71.842%. Remained the same
34535265183

push

github

web-flow
fix(signals): release projection leaf nodes when their readers let go (#3355)

Every node materialized under a projection or derived-store family is
linked into the projection computed's firewall child chain (so a mark on
the derive reaches leaf subscribers). The chain was singly linked and
append-only: the unobserved sweep dropped a node from its target's cache
but never unlinked it, so a long-lived keyed record retained one node —
and the last value it served — per leaf ever read, until the projection
itself was disposed. The rc.1 rewrite kept the legacy store's drop-from-
map disposal but added this second reference that never let go.

The chain is now doubly linked (_prevChild on the signal literals) and
the four unobserved hooks (value, presence, key-set, deep witness) unlink
in O(1). Deleted rows and their nested objects are collectable while the
projection stays live, and markNode's per-mark child walk covers live
leaves only. Dan's repro: 12.2 MB -> 0.4 MB retained after delete-all.

Tests: structural chain-length tests for the keyed record, the jsfb
selection map, a rows projection, still-subscribed deleted slots,
presence/key-set/deep nodes, derived stores; a WeakRef heap test in
gc.test.ts. Size: +1 literal field per signal — four caps bumped.

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

519 of 790 branches covered (65.7%)

Branch coverage included in aggregate %.

772 of 1007 relevant lines covered (76.66%)

15.01 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34535265183.1 10 Sep 2026 10:06PM UTC 6
71.84
GitHub Action Run
Source Files on build 34535265183
  • Tree
  • List 6
  • 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 #34535265183
  • 645ec0d5 on github
  • Prev Build on next (#34531685448)
  • Next Build on next (#34540201364)
  • 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