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

solidjs / solid / 42320299700
79%
main: 89%

Build:
Build:
LAST BUILD BRANCH: fix/coverage-pragma-remaining-cases
DEFAULT BRANCH: main
Ran 07 Nov 2026 12:58AM 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

07 Nov 2026 12:46AM UTC coverage: 78.249%. Remained the same
42320299700

push

github

web-flow
fix(web): only runtime-made SSR nodes count as markup (#4700)

* fix(web): only runtime-made SSR nodes count as markup

ssr(), ssrElement() and the frames sink build their nodes from internal
classes branded with Symbol.for("solid.ssrNode"). Insert positions, the
array join fast path, the ssrElement children fast path and the async
memo landing check read that brand instead of the object's shape, so a
plain object with a `t` key (or `t`/`h`/`p`) is data everywhere: it renders
nothing and gets UNRECOGNIZED_INSERT_VALUE in dev.

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

* fix(web): keep the SSR node brand tree-shakeable

One class with the brand as a prototype method and a pure Symbol.for, so
bundles that never render (the server floor) drop it. Branded nodes always
carry `t`, so the shape fallbacks behind the brand check go.

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

* perf(web): separate classes for settled and pending SSR nodes

A settled node carries only `t`, as the object literal did, instead of
undefined `h`/`p` slots. Measured with callgrind on 40 renders of 500
spread rows: render work +6% over next with one class, +3.4% with two.

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

* perf(web): brand SSR nodes with a symbol value instead of classes

Nodes go back to object literals and carry Symbol.for("solid.ssrNode") as
`$`. No data can hold a symbol value, and the check is one named property
read. Callgrind under --no-opt, 40 renders of 500 spread rows: render work
+2.2% over next (two classes: +3.7%); renderToString +83 B minified.

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

* chore(size): raise the renderToS... (continued)

807 of 1108 branches covered (72.83%)

Branch coverage included in aggregate %.

1132 of 1370 relevant lines covered (82.63%)

30.18 hits per line

Jobs
ID Job ID Ran Files Coverage
1 42320299700.1 07 Nov 2026 12:58AM UTC 12
78.25
GitHub Action Run
Source Files on build 42320299700
  • 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 #42320299700
  • c8c5eb12 on github
  • Prev Build on next (#42168388744)
  • Next Build on next (#42320612060)
  • 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