[P3] Suunto SDM XML with no dives imports silently and bypasses the 200-dive limit #38
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Priority: P3
Type: bug
Source: project review requested 2026-10-26 (second pass)
Location:
src/diveExportImport.ts:53-54, 417-418Problem and evidence
parseSuuntoSDM maps every MSG without a count check, and the non-ZIP path returns parser output directly.
<SUUNTO></SUUNTO>returns [] and the import view shows no dive and no error; a file with 250 MSG blocks returns 250 dives, unlike UDDF and SDE which enforce 1–200.Suggested correction
Apply the same 1–200 dive check to plain XML imports.
Acceptance criteria
Regressions for empty and oversized SDM files; existing import tests pass; pnpm verify passes.
Scope: maintenance of the educational simulator. Preserve historical R1 acceptance and operational-validation limits.
Fixed on
maintenance/review-2026-10-27in41a7bb1— PR #40.Empty plain imports and >200 SDM messages report errors; valid multi-dive SDM still loads. Browser regression (DOMParser needed).
Branch verification:
pnpm verify145 tests and release budgets; Chromium/Firefox/WebKit review, replay, compatibility and offline lifecycle checks; CI verify runs #111/#112 pass. Record:docs/MAINTENANCE-2026-10-27.md. Closes on merge of PR #40.