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

solidjs / solid / 34903359626
72%
main: 89%

Build:
Build:
LAST BUILD BRANCH: fix/memo-lane-posture-3442
DEFAULT BRANCH: main
Ran 14 Sep 2026 10:23PM UTC
Jobs 1
Files 7
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

14 Sep 2026 10:17PM UTC coverage: 71.842%. Remained the same
34903359626

push

github

web-flow
fix(web): dynamic() honors xmlns when creating a tag-name element (#3386) (#3436)

* fix(web): dynamic() honors xmlns when creating a tag-name element (#3386)

The compiler resolves a tag's namespace from its parent at build time; the
dynamic() runtime path creates the element before it has a parent, so a tag
that exists in both HTML and SVG (a, script, style, title) was always an HTML
element — `<svg><Link href/></svg>` with `Link = dynamic(() => "a")` produced
an HTML anchor inside the SVG tree (#3386 part 2).

The instance now says which namespace it means with the attribute compiled
JSX already uses for exactly this (`<a xmlns="http://www.w3.org/2000/svg">`).
Like `is`, `xmlns` is an attribute of the element that also decides how the
node is created: read once, untracked, at creation — the DOM can't
re-namespace a node — then applied through spread() as an ordinary attribute,
so a client-rendered element carries the same attribute the server serializes
and the parser keeps. Server: nothing to do; ssrElement already emits it, and
hydration claims the parser-namespaced node. Without xmlns the namespace is
still inferred from the tag.

Types: dynamic() returns Component<DynamicComponentProps<T>>, adding
`xmlns?: string` for tag-name targets only (the ambiguous tags' intrinsic
attribute types are the HTML ones, which lack it).

Tests: namespaceURI with/without xmlns inside <svg> and <math>, inference
still wins for unambiguous tags, xmlns overrides inference both ways, <Dynamic>
parity, read-once (later values update the attribute, never the node); server
output byte-equal to compiled `<a xmlns>`; parity-harness scenario hydrating a
dynamic() <a xmlns> inside <svg>. Also pins ref arrays through spread into a
dynamic() tag (the shape Kobalte's solid2 branch works around at rc.3) as
working on next.

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

* fix(web): accept xmlns on every element's attribute type

CI test-types rejected the compiled-JSX compar... (continued)

519 of 790 branches covered (65.7%)

Branch coverage included in aggregate %.

772 of 1007 relevant lines covered (76.66%)

15.08 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34903359626.1 14 Sep 2026 10:23PM UTC 7
71.84
GitHub Action Run
Source Files on build 34903359626
  • Tree
  • List 7
  • 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 #34903359626
  • c452850d on github
  • Prev Build on next (#34893262890)
  • Next Build on next (#34905520376)
  • 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