Skip to content

Preserve struck words in the HTML/JSON round-trip (#403 Phase A) - #453

Open
maboa wants to merge 2 commits into
mainfrom
fix/redaction-roundtrip
Open

Preserve struck words in the HTML/JSON round-trip (#403 Phase A)#453
maboa wants to merge 2 commits into
mainfrom
fix/redaction-roundtrip

Conversation

@maboa

@maboa maboa commented Jul 31, 2026

Copy link
Copy Markdown
Member

First slice of the #403 Phase A sequence — cherry-picked from #404 so this data-integrity fix lands independently of the storage work.

The HTML↔JSON converter dropped redactions (inline line-through) in both directions, so any JSON export/import silently resurrected every cut. Words now carry struck: true (default not serialized), and editor-audio-cut.js exposes getGapRemovalSettings/applyGapRemovalSettings so a loaded project can restore gap-removal state through the normal UI path.

Conflict resolved against main: #406's escaping landed on the same serializer line after this branched — the resolution composes both (strike attribute + escaped text), and a new unit test pins exactly that composition.

Tests: 45 unit / 70 e2e green.

scarsellifi and others added 2 commits July 31, 2026 12:13
… settings (#403)

The converter dropped redactions (inline line-through) on both directions,
so any JSON export/import silently resurrected every cut. Words now carry
"struck": true (default not serialized). editor-audio-cut.js exposes
getGapRemovalSettings/applyGapRemovalSettings so a loaded project can
restore them through the normal UI path.
The cherry-picked #403 fix and #406's escaping land on the same output
line; the test pins both — a struck word serializes with line-through
AND its text stays escaped, and unstruck words carry no style attribute.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants