Avatar for the rethinkhealth user
rethinkhealth
glion
BlogDocsChangelog

feat(util-charset): decode MLLP wire bytes as UTF-8, fatally (#659)

#660Merged
Comparing
test/msh18-charset-regression
(
54b4ac3
) with
main
(
35386dd
)
CodSpeed Performance Gauge
0%
Untouched
21
Skipped
3

Benchmarks

24 total
pipeline: process ORU^R01 (205 segments)
benchmarks/pipeline.bench.ts::pipeline
CodSpeed Performance Gauge
0%
268.8 ms268.3 ms
pipeline: process ORU^R01 (55 segments)
benchmarks/pipeline.bench.ts::pipeline
CodSpeed Performance Gauge
0%
84.8 ms84.6 ms
pipeline: process ORU^R01 (14 segments)
benchmarks/pipeline.bench.ts::pipeline
CodSpeed Performance Gauge
0%
23.1 ms23.1 ms
lint-profile: validate 3 segments
benchmarks/lint-profile.bench.ts::lint-profile
CodSpeed Performance Gauge
0%
4.4 ms4.4 ms
parser: parse 52 segments
benchmarks/parser.bench.ts::parser
CodSpeed Performance Gauge
0%
5.3 ms5.3 ms
parser: parse complex fields (repetitions, components, sub-components)
benchmarks/parser.bench.ts::parser
CodSpeed Performance Gauge
0%
532.4 µs532.3 µs
parser: parse 202 segments
benchmarks/parser.bench.ts::parser
CodSpeed Performance Gauge
0%
17.5 ms17.4 ms
pipeline: process ADT^A01 (3 segments)
benchmarks/pipeline.bench.ts::pipeline
CodSpeed Performance Gauge
0%
6.1 ms6.1 ms
query: select(tree, 'PID-5') — small message
benchmarks/query.bench.ts::query
CodSpeed Performance Gauge
0%
34.1 µs34.1 µs
query: value(tree, 'MSH-9.1') — small message
benchmarks/query.bench.ts::query
CodSpeed Performance Gauge
0%
49.6 µs49.6 µs
parser: parse 2 segments
benchmarks/parser.bench.ts::parser
CodSpeed Performance Gauge
0%
443.6 µs443.6 µs
query: select(tree, 'OBX-5') — large message (first match)
benchmarks/query.bench.ts::query
CodSpeed Performance Gauge
0%
69.6 µs69.7 µs
lint-profile: validate 53 segments (cold cache)
benchmarks/lint-profile.bench.ts::lint-profile
CodSpeed Performance Gauge
0%
41.4 ms41.5 ms
query: value(tree, 'MSH-12') — small message
benchmarks/query.bench.ts::query
CodSpeed Performance Gauge
0%
84 µs84 µs
query: value(tree, 'MSH-12') — large message
benchmarks/query.bench.ts::query
CodSpeed Performance Gauge
0%
99.8 µs100 µs
lint-profile: validate 13 segments
benchmarks/lint-profile.bench.ts::lint-profile
CodSpeed Performance Gauge
0%
13.8 ms13.8 ms
lint-profile: validate 53 segments
benchmarks/lint-profile.bench.ts::lint-profile
CodSpeed Performance Gauge
0%
38.5 ms38.5 ms
mllp: handle with 5 middleware
benchmarks/mllp.bench.ts::mllp
CodSpeed Performance Gauge
-1%
540 µs543.1 µs
mllp: handle large message (100+ segments)
benchmarks/mllp.bench.ts::mllp
CodSpeed Performance Gauge
-1%
8.1 ms8.1 ms
mllp: handle with 10 middleware
benchmarks/mllp.bench.ts::mllp
CodSpeed Performance Gauge
-1%
561.2 µs566.5 µs
mllp: handle small message (3 segments)
benchmarks/mllp.bench.ts::mllp
CodSpeed Performance Gauge
-5%
695.9 µs735.8 µs
mllp-client: send 10 small messages serially
benchmarks/mllp-client.bench.ts::mllp-client (ephemeral connection per send)
Skipped
24.7 ms*
mllp-client: send 10 small messages concurrently
benchmarks/mllp-client.bench.ts::mllp-client (ephemeral connection per send)
Skipped
20.9 ms*
mllp-client: send 1 small message
benchmarks/mllp-client.bench.ts::mllp-client (ephemeral connection per send)
Skipped
4.5 ms*

Commits

Click on a commit to change the comparison range
Base
main
35386dd
-0.02%
test(mllp): regression — server silently corrupts non-UTF-8 feeds (MSH-18 ignored)
42579c5
2 days ago
by meleksomai
-0.29%
feat(util-charset): decode MLLP wire bytes as UTF-8, fatally (#659)
bc7bc8f
22 hours ago
by meleksomai
+0.32%
chore: install hunk-review skill
9aa2777
22 hours ago
by meleksomai
-0.03%
Merge branch 'main' into test/msh18-charset-regression
92e4c13
19 hours ago
by meleksomai
+0.01%
refactor(util-charset): extract BOM check into a guard; cover all branches
ab05cb2
18 hours ago
by meleksomai
-0.07%
test(util-charset): cross-check UTF-8 and BOM constants against iconv-lite
ac4212f
18 hours ago
by meleksomai
+0.02%
refactor(util-charset): rename to CharsetError; split into error/decode/encode modules
8bfe707
18 hours ago
by meleksomai
-0.33%
fix(mllp): surface inbound decode failures as MllpServerError, not the codec's error
54b4ac3
17 hours ago
by meleksomai
© 2026 CodSpeed Technology
Home Terms Privacy Docs