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

pillarjs / router / 40007767930
99%

Build:
DEFAULT BRANCH: master
Ran 23 Oct 2026 07:00PM UTC
Jobs 1
Files 6
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

23 Oct 2026 06:59PM UTC coverage: 99.033% (+0.05%) from 98.982%
40007767930

push

github

web-flow
fix: trace parameter callbacks and preserve error attribution (#215)

* fix: trace router.param callbacks at their origin

Parameter callbacks bypassed layer instrumentation, so their errors were
either missing from the error channel or attributed to a downstream error
handler that merely forwarded them.

Trace each executed parameter callback and share error publication and
deduplication with layer handlers. Expose the actual callback as handler
and its parameter name as param while retaining the associated Layer and
request-scoped matched route pattern. This identifies the origin without
modifying shared Layer metadata or Route.dispatch.

Preserve parameter caching, callback arguments, routing signals and promise
semantics. Skip tracing context allocation when there are no subscribers.
Document the context fields and cover synchronous and asynchronous errors,
concurrent requests, nested router copies and bound tracing stores with
24 regression tests.

Refs #213.

Validation: npm test (792 passing), npm run lint, npm run test-types.

* fix: preserve tracing context and error attribution

Publishing asyncStart directly skipped its bound AsyncLocalStorage stores,
leaving asyncEnd subscribers without the expected context. Errors raised
before tracing was enabled or during route matching could also be blamed
on handlers and mounted routers that merely forwarded them.

Run async completion publication through asyncStart.runStores so bound
stores remain active through asyncEnd without scheduling additional work.
Keep the existing order of error propagation and lifecycle events.

Record error identities at router boundaries, matching failures and error
handler entry. Track them per request even when their origin was untraced,
so a late subscriber cannot misattribute a forwarded error. Newly created
replacement errors are still published at their origin, and the existing
registered symbol preserves deduplication across router copies.

Document these semantic... (continued)

56 of 57 new or added lines in 4 files covered. (98.25%)

512 of 517 relevant lines covered (99.03%)

44469.52 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
91.67
lib/param.js
Jobs
ID Job ID Ran Files Coverage
1 40007767930.1 23 Oct 2026 07:00PM UTC 6
99.03
GitHub Action Run
Source Files on build 40007767930
  • Tree
  • List 6
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #40007767930
  • 098ea782 on github
  • Prev Build on master (#39983648950)
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