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

coreui / coreui-pro / 34790196067
95%
main: 94%

Build:
Build:
LAST BUILD BRANCH: fix/section-digit-range-v6
DEFAULT BRANCH: main
Ran 13 Sep 2026 11:37PM UTC
Jobs 1
Files 76
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

13 Sep 2026 11:36PM UTC coverage: 94.033% (+0.003%) from 94.03%
34790196067

push

github

web-flow
fix(FocusTrap): let only the topmost trap act (#1276)

#1051 replaced the blanket `EventHandler.off(document, EVENT_KEY)` with removal
of each trap's own handlers, so that deactivating one trap stops unhooking the
others. That part was right and stays. What went with it was the property the
blanket had been providing: with only one trap's listeners ever attached, a
focus loop could not form.

Without it, two traps over disjoint elements each pull focus back into their own
`trapElement` whenever it lands outside, so they hand it to each other with no
end condition. Measured on a probe capped so it could terminate: 68 handler
calls and climbing, against 2 for the shape that still had the blanket.

The reach here is wider than the one component: `util/popup.ts` traps focus for
DatePicker, DateRangePicker, DateTimePicker, TimePicker and everything on
`combobox-base`, so two disjoint traps are one open picker plus one open
combobox.

An array of active traps restores the guarantee without giving up nesting: every
trap keeps its own listeners, and both handlers return early unless the instance
is the last one activated. Focus settles in the newest trap, as it did before
#1051, and the one underneath takes over again when the top deactivates — which
the blanket could never do.

Tests: focus does not ping-pong between two disjoint active traps (red without
the check), and control returns to the trap underneath when the top one is
deactivated.

5602 of 6245 branches covered (89.7%)

Branch coverage included in aggregate %.

6 of 6 new or added lines in 1 file covered. (100.0%)

10881 of 11284 relevant lines covered (96.43%)

467.27 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34790196067.1 13 Sep 2026 11:37PM UTC 76
94.03
GitHub Action Run
Source Files on build 34790196067
  • Tree
  • List 76
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #34790196067
  • 75a6c128 on github
  • Prev Build on v6-dev (#34786633834)
  • Next Build on v6-dev (#34795132933)
  • 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