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

preactjs / preact / 28243481061
98%
master: 100%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 26 Jun 2026 02:11PM UTC
Jobs 1
Files 24
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

26 Jun 2026 02:10PM UTC coverage: 98.491% (-0.04%) from 98.528%
28243481061

push

github

web-flow
forwardport from v10.x (#5122)

* Fix hydrate error recovery with null excess DOM children (#5112)

(cherry picked from commit 82ed24ef6)

* perf(hooks): avoid redundant allocations and writes in SCU and diffed (#5115)

(cherry picked from commit 6aced2101)

* Fix memory leak hotspots (#5116)

- render: clear the root Fragment's props.children after commit so replaced vnode generations are not retained

- unmount: clear component._globalContext with the other component references

(cherry picked from commit bd0302ddc)

* Flush subtree effects (#5055)

(cherry picked from commit d9e898430)

* Fix useId stability across async Suspense (#5108)

Assisted-By: devx/1b997072-d89c-4f6a-a18f-9525b3ef7a9e
(cherry picked from commit 67f02906e)

* Fix error recovery for partially rendered subtrees (#5120)

When a component throws after `diffChildren()` has already started, its
`newVNode._children` may contain partially mounted children. The error recovery
path always replaced those children with `oldVNode._children`, which can be
`undefined` during initial mount.

That loses the partially rendered subtree, so children that queued updates are
not unmounted and keep their _parentDom. A later queued update can then call
`getDomSibling()` through an ancestor whose `_children` is undefined and crash.

Only restore old children when the new vnode has no children yet, and discard
commit/ref queue entries produced by the failed partial render so lifecycles from
the aborted subtree are not committed.

(cherry picked from commit 1a3b8b56b)

576 of 594 branches covered (96.97%)

24 of 24 new or added lines in 2 files covered. (100.0%)

1 existing line in 1 file now uncovered.

2154 of 2187 relevant lines covered (98.49%)

810.26 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
98.38
-0.36% compat/src/suspense.js
Jobs
ID Job ID Ran Files Coverage
1 28243481061.1 26 Jun 2026 02:11PM UTC 24
98.49
GitHub Action Run
Source Files on build 28243481061
  • Tree
  • List 24
  • Changed 3
  • Source Changed 2
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28243481061
  • 0405c33d on github
  • Prev Build on main (#28149999343)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc