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

coreui / coreui-pro / 35120929554
94%

Build:
DEFAULT BRANCH: main
Ran 16 Sep 2026 04:18PM UTC
Jobs 1
Files 48
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

16 Sep 2026 04:17PM UTC coverage: 94.33% (+0.02%) from 94.314%
35120929554

push

github

web-flow
fix(RangeSlider, DateRangePicker): take the global listeners down on dispose (#1351)

* fix(RangeSlider, DateRangePicker): take the global listeners down on dispose

Both components put listeners on nodes outside their own host and never took
them off: RangeSlider on window and on document.documentElement, DateRangePicker
on window and on the surrounding form. Each callback was a fresh closure per
construction, so every instance left handlers behind that keep the disposed
instance and its host alive.

Every one of those handlers is stored and removed by reference, and the removal
also runs at the top of _addEventListeners. That second half matters more than
the first: update() re-runs the listener setup, so without it each update left
another orphan on window that no dispose could reach, and on RangeSlider that
orphan then ran against a nulled element and threw on every resize for the life
of the page.

RangeSlider had no dispose at all, so it also left everything it built in the
host. It now puts the host back through the shared helper, the way the
autocomplete, the time picker and the date range picker already do. The classes
accumulate into the record instead of replacing it, because update() re-enters
the init and the second pass adds nothing, which would otherwise leave the
record empty and the classes on the element.

The date range picker's resize was the only event in the file without a
namespace. It has one now, which is what lets an off by namespace reach it; a
bare off by type always could, so that is the only thing the namespace changes.
Nine of its option keys sat out of order and are sorted back, and the two
methods rows in the docs said dispose only clears stored data; they say what it
undoes.

* chore: raise the JavaScript bundlewatch ceilings

Storing every global handler so it can be removed by reference, plus the range
slider's new dispose and the idempotent listener setup, costs between 257 and
455 bytes gzipped per bundle, measure... (continued)

4101 of 4514 branches covered (90.85%)

Branch coverage included in aggregate %.

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

7462 of 7744 relevant lines covered (96.36%)

730.72 hits per line

Jobs
ID Job ID Ran Files Coverage
1 35120929554.1 16 Sep 2026 04:18PM UTC 48
94.33
GitHub Action Run
Source Files on build 35120929554
  • Tree
  • List 48
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #35120929554
  • 03513776 on github
  • Prev Build on main (#35115656050)
  • Next Build on main (#35341791551)
  • 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