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

coapjs / node-coap / 31588574437
88%

Build:
DEFAULT BRANCH: master
Ran 12 Aug 2026 10:44AM UTC
Jobs 10
Files 17
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

12 Aug 2026 10:42AM UTC coverage: 87.763% (-2.4%) from 90.196%
31588574437

push

github

web-flow
feat: Native OSCORE (RFC 8613) Integration (#397)

* feat: adding support for OSCORE

* fix: node-oscore from npm

* feat: track OSCORE decode proof on client responses

* fix: OSCORE security hardening — Echo encryption, token isolation, error handling

- Drop plaintext messages when OSCORE context exists (no fallback)
- Limit Echo auto-retry to 1 attempt to prevent infinite loops
- Carry over options and payload on Echo retry
- OSCORE-encrypt Echo 4.01 challenges (not plaintext)
- Store and verify Echo nonces with timingSafeEqual
- Namespace token-to-context bindings by senderId to prevent collisions
- Cap token bindings at 10k with LRU eviction
- Validate OSCORE option parsing (reject truncated fields)
- Standardize error messages to prevent information leakage
- Fix _sendError missing address parameter
- Use 'close' event for observe token cleanup

* fix(deps): bump oscore module

* chore: allow to use from fork

* chore: bump version

* fix: normalizing address

* refactor: replace onSsnChange with standard EventEmitter pattern

* feat: support per-instance CoAP parameters for Server and Agent

Each Server and Agent now snapshots its own frozen parameters at
construction time via the new `parameters` option, allowing multiple
instances with different timing/size configs without mutating the global.

* refactor: deduplicate timing derivation in parameters.ts

Extract applyOverrides() and deriveTimings() helpers so refreshTiming()
and createParameters() share a single implementation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: correctly parse Block1 option SZX for segmented transmission

Extract SZX via parseBlockOption instead of passing raw block1 byte,
and only re-segment when payload exceeds one block size.

* fix: address PR #397 review comments

- Make _parameters field private in Agent and RetrySend classes
- Remove unnecessary leading semicolons before type assertions
- Fix error message to omit colon when ... (continued)

641 of 763 branches covered (84.01%)

Branch coverage included in aggregate %.

716 of 899 new or added lines in 12 files covered. (79.64%)

3447 of 3895 relevant lines covered (88.5%)

6550.16 hits per line

Uncovered Changes

Lines Coverage ∆ File
93
61.26
-26.14% lib/middlewares.ts
47
83.81
-1.94% lib/agent.ts
18
81.6
lib/oscore_helpers.ts
15
89.64
lib/oscore.ts
10
83.36
1.63% lib/server.ts
Jobs
ID Job ID Ran Files Coverage
1 31588574437.1 12 Aug 2026 10:44AM UTC 17
87.76
GitHub Action Run
2 31588574437.2 12 Aug 2026 10:44AM UTC 17
87.76
GitHub Action Run
3 31588574437.3 12 Aug 2026 10:44AM UTC 17
87.76
GitHub Action Run
4 31588574437.4 12 Aug 2026 10:44AM UTC 17
87.76
GitHub Action Run
5 31588574437.5 12 Aug 2026 10:44AM UTC 17
87.76
GitHub Action Run
6 31588574437.6 12 Aug 2026 10:47AM UTC 17
87.76
GitHub Action Run
7 31588574437.7 12 Aug 2026 10:47AM UTC 17
87.76
GitHub Action Run
8 31588574437.8 12 Aug 2026 10:48AM UTC 17
87.76
GitHub Action Run
9 31588574437.9 12 Aug 2026 10:48AM UTC 17
87.76
GitHub Action Run
10 31588574437.10 12 Aug 2026 10:49AM UTC 17
87.76
GitHub Action Run
Source Files on build 31588574437
  • Tree
  • List 17
  • Changed 10
  • Source Changed 0
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 01ae0445 on github
  • Prev Build on master (#19027860563)
  • Next Build on master (#31643522094)
  • 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