Skip to content

v0.3.0 — damaged share links salvage their graph

Choose a tag to compare

@mikkel mikkel released this 20 Jul 17:23
· 7 commits to main since this release

Share links mangled in transit (a character flipped or dropped by a chat app, a terminal line-wrap, or a manual copy) previously failed outright on the broken gzip CRC — even when the graph inside was intact.

Now strict-decode failures fall back to a best-effort salvage: the payload is lax-gunzipped (CRC trailer ignored, partial output kept on truncation) and the graph's nodes and links are recovered from the damaged JSON. Cosmetic editor state (pan/zoom, id counters) is sacrificed; Workflow.load surfaces a warning on wf.warnings suggesting a re-copy. Damage inside the graph itself still fails with the original clear error.

Mirrors nanoodle-js (nanoodlecom/nanoodle-js#22) — same semantics, same real-world regression fixture.

pip install -U nanoodle

PyPI: https://pypi.org/project/nanoodle/0.3.0/