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

solidjs / solid / 37052374215
76%
main: 89%

Build:
Build:
LAST BUILD BRANCH: fix/compiler-source-locations
DEFAULT BRANCH: main
Ran 02 Oct 2026 07:16PM 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

02 Oct 2026 07:10PM UTC coverage: 75.991%. Remained the same
37052374215

push

github

web-flow
fix!: lowercase on* names are attributes, not event handlers (#3753)

* fix!: lowercase on* names are attributes, not event handlers

Only `on` followed by an uppercase letter (`/^on[A-Z]/`) is an event
handler. Lowercase names such as `onclick` are plain attributes everywhere:
both compilers (DOM, hydratable, dynamic and SSR), the web runtime's
spread/assign and server spread walk, useHead, and the html/h element
paths. A leftover `on:click` lowering (to a `:click` listener) is gone;
the name is now an ordinary namespaced attribute.

Dev builds warn once per name with LOWERCASE_EVENT_ATTRIBUTE when a
function reaches setAttribute under an `on*` name. ssrAttribute now
escapes function values instead of interpolating their source raw.

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

* fix(html)!: component props follow h's getter rule, no onXxx exemption

On components every zero-argument function prop, `onXxx` handlers and
`ref` included, becomes a getter, matching @solidjs/h and 1.x
hyper-dom-expressions: a component handler declares its event argument.
This reverts #3751's unreleased component exemption. Elements keep the
`ref` / `onXxx` exemption; lowercase `on*` stays an attribute.

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

* perf(web): keep the per-key event check off the regex engine

The server spread walk and the client's assignProp test every key of a
spread for `onXxx`. A `/^on[A-Z]/` test there regressed the
spread-static-tail renderToString benches by 5-7% against the
`startsWith("on")` it replaced. Gate on `startsWith("on")` and compare one
char code, so a key not starting with `on` costs what it did before.
`ssrAttribute` takes strings first, ahead of the new function branch, and
h tests a prop's type before its name. Behavior is unchanged.

Co-authored-by: Claude via Cursor <noreply@cursor.com>
Co-authored-by: Cursor <cu... (continued)

649 of 925 branches covered (70.16%)

Branch coverage included in aggregate %.

962 of 1195 relevant lines covered (80.5%)

27.77 hits per line

Jobs
ID Job ID Ran Files Coverage
1 37052374215.1 02 Oct 2026 07:16PM UTC 8
75.99
GitHub Action Run
Source Files on build 37052374215
  • 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 #37052374215
  • 4f676973 on github
  • Prev Build on next (#37037869212)
  • Next Build on next (#37056706348)
  • 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