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

nats-io / nats.js / 41518984938
91%

Build:
DEFAULT BRANCH: main
Ran 02 Nov 2026 08:25PM UTC
Jobs 8
Files 63
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

02 Nov 2026 08:24PM UTC coverage: 90.022% (-0.1%) from 90.135%
41518984938

push

github

web-flow
fix: harden and make consistent user callback error handling (#480)

user code called by the client is now handled consistently depending
on the use case, and errors it raises are always contained by the
client, preventing unexpected side effects on a client that are not
easily understood.

a distinction is made between callbacks, which the client hands data
to, and providers, which supply something the client needs to continue.

- if a callback (subscriptions, consumers, direct get, service
  handlers) throws or rejects, the error is printed as an
  UnhandledCallbackError with where it failed and the thrown value as
  cause, and the client continues. consumers no longer stop, the
  unacked message is redelivered. services still reply 500 and record
  last_error.
- if a provider throws or rejects, the operation that needed it fails
  with the error (non-errors become an UnhandledCallbackError):
  - connection options authenticator, reconnectToServer,
    reconnectDelayHandler, waitOnFirstConnect: the client closes the
    connection with the error - on the first connect, connect() rejects
    with it.
  - requestMany strategy: only that request fails, the connection
    continues.
  - services statsHandler (service config): only the service's stats
    fail - stats() rejects and a $SRV STATS request gets a 500 - the
    service continues. previously the failure was counted and the stats
    sent without its data. it is also printed.
- status and closed() still report only server and protocol errors.

5102 of 5832 branches covered (87.48%)

Branch coverage included in aggregate %.

174 of 200 new or added lines in 12 files covered. (87.0%)

2 existing lines in 1 file now uncovered.

12067 of 13240 relevant lines covered (91.14%)

153084.27 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
86.14
-1.15% jetstream/src/jsm_direct.ts
7
80.85
-1.19% jetstream/src/pushconsumer.ts
4
90.52
-0.37% kv/src/kv.ts
3
88.82
-0.4% core/src/protocol.ts
3
85.57
0.13% jetstream/src/consumer.ts
2
89.38
0.1% obj/src/objectstore.ts

Coverage Regressions

Lines Coverage ∆ File
2
90.52
-0.37% kv/src/kv.ts
Subprojects
ID Flag name Job ID Ran Files Coverage
1 unsafe 41518984938.1 02 Nov 2026 08:25PM UTC 33
41.3
GitHub Action Run
2 transport-deno 41518984938.2 02 Nov 2026 08:25PM UTC 33
9.91
GitHub Action Run
3 jetstream 41518984938.3 02 Nov 2026 08:27PM UTC 48
76.43
GitHub Action Run
4 obj 41518984938.4 02 Nov 2026 08:25PM UTC 50
51.68
GitHub Action Run
5 core 41518984938.5 02 Nov 2026 08:27PM UTC 33
93.18
GitHub Action Run
6 kv 41518984938.6 02 Nov 2026 08:26PM UTC 52
53.49
GitHub Action Run
7 services 41518984938.7 02 Nov 2026 08:25PM UTC 38
59.13
GitHub Action Run
8 transport-node 41518984938.8 02 Nov 2026 08:25PM UTC 3
90.2
GitHub Action Run
Source Files on build 41518984938
  • Tree
  • List 63
  • Changed 19
  • Source Changed 13
  • Coverage Changed 19
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #41518984938
  • fa384d25 on github
  • Prev Build on main (#41468783189)
  • Next Build on main (#41674524258)
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