Repository navigation
Description
Describe the bug
https://dev.nmrkit.nmrxiv.org still fails to process every spectrum in POST /latest/spectra/parse/url with (0 , nmr_processing_1.mapPeaks) is not a function. This is the error from #139. With auto_processing / auto_detection enabled, no spectrum is processed and no ranges or zones are detected. The request still returns HTTP 200, so callers only notice the failure by inspecting logs.
Production (https://nmrkit.nmrxiv.org) is not affected: the same requests process and detect correctly there. #139 says the fix is on development and suggests the problem is production, but it's the other way around. The dev deployment is still serving the broken nmr-cli build.
This happens even after the latest successful Build and Publish to Dev runs on development:
- https://github.com/NFDI4Chem/nmrkit/actions/runs/36418374924 (2026-09-28 11:53 UTC, success; retested at 12:55 UTC, still failing)
- https://github.com/NFDI4Chem/nmrkit/actions/runs/36391740512 (2026-09-28 07:27 UTC, success)
- The two previous runs failed: https://github.com/NFDI4Chem/nmrkit/actions/runs/36118811429, https://github.com/NFDI4Chem/nmrkit/actions/runs/35599826319
To Reproduce
curl -s -X POST "https://dev.nmrkit.nmrxiv.org/latest/spectra/parse/url" \
-H "Content-Type: application/json" \
-d '{"url":"https://cheminfo.github.io/bruker-data-test/data/zipped/aspirin-1h.zip","auto_processing":true,"auto_detection":true}'Dev logs:
{"level": 50, "levelLabel": "error",
"message": "Failed to parse spectrum: 4d6555b3-515f-46c3-8191-6ee128bb82a7",
"meta": {"stage": "parsing", "details": "(0 , nmr_processing_1.mapPeaks) is not a function"}}The returned spectrum has isFt: false, ranges.values: [].
Running the same request against production returns logs Processed spectrum: … and Detected peaks for spectrum: …, with isFt: true and 6 ranges.
Results comparison (aspirin-1h and an nmrXiv study archive with 1H, 13C, DEPT, COSY, HSQC, HMBC and NOESY data)
| dev.nmrkit.nmrxiv.org | nmrkit.nmrxiv.org | |
|---|---|---|
| aspirin-1h, auto_processing + auto_detection | fails (mapPeaks), 0 ranges |
processed, 6 ranges |
| nmrXiv study archive (9 spectra) | output identical with and without flags, nothing processed | all 9 processed; ranges on 1D, zones on 2D |
raw_data: true |
same mapPeaks error |
n/a |
Expected behavior
Dev should behave like production. The deployed dev image should contain the nmr-processing / @zakodium/nmrium-core-plugins fix from #139.
Suggested checks
- Confirm which image tag/digest the dev deployment is actually running, and whether the latest successful dev build rolled out (for example, a stale
latesttag orimagePullPolicy). - Check the
nmr-processingversion resolved inside the running devnmr-convertercontainer. - Consider surfacing processing errors in the response (non-2xx status or a top-level error flag), not only in
logs.
Additional context
nmrXiv uses this endpoint for automatic 1D range detection on published datasets. Until dev is fixed, the nmrXiv dev/local environments have to point NMRKIT_API_URL at production.
Related: #139
Activity
NishaSharma14 commentedon Sep 29, 2026
@vcnainala Could you plz cross-check now? I think it's the other way around, as we have a similar issue reported in this issue , in which the feature worked in dev but not in prod.
Duplicate - #139