Skip to content

fix(formats): keep multiline CSV values inside their table cells - #190

Merged
DWAA1660 merged 1 commit into
AlienTechSoftware:mainfrom
DWAA1660:fix/hourly-issue-111
Nov 13, 2026
Merged

DWAA1660 merged 1 commit into
AlienTechSoftware:mainfrom
DWAA1660:fix/hourly-issue-111

Conversation

@DWAA1660

@DWAA1660 DWAA1660 commented Nov 13, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #111. A quoted CSV value such as first line\nsecond line previously became two Markdown table rows after save/reopen; HTML folded its newline into a space. Both page formats now keep the value in one cell with its original line endings.

Table cell text uses <br> for LF and optional data-nc-break="crlf" / data-nc-break="cr" attributes for CRLF/CR, preserving the exact value without normalizing the imported data. The Markdown reader enables these breaks only inside table cells. Literal break-tag text and inline code remain literal; paragraph serialization is unchanged. The representation is documented in the folder-format guide.

Validation:

  • The original LF regression failed before implementation. An additional CRLF/CR probe exposed HTML whitespace loss; the extended regression failed before that was fixed too.
  • cargo test -p notecraft-formats: passed, including whole-demo format parity. Regressions cover repeated round trips in both formats, mixed, leading, trailing and repeated line breaks, Unicode, pipes, literal markup, backticks and backslashes, plus unchanged paragraph/code controls.
  • cargo xtask ci: passed after the final edit; mandatory commit/push hooks also passed the full gate.
  • cargo build --workspace --locked: passed on Windows.
  • Actual off-screen NoteCraft app captures reviewed for HTML and CMGFM at 1440x900, 1x, light-default: the table has two text lines in one row in both. LF and CRLF captures are byte-identical within each format. No golden screenshots committed.
  • All 10 GitHub PR checks passed on head 05a8ee3932fb83073a0db28cc70f462566257e39, including Linux/Windows/macOS build/tests, WASM, Clippy, formatting, static checks, change classification, coverage and the required CI summary. Coverage: 85.8% overall and 98.1% for formats; existing non-blocking store warning (90.5% baseline versus 87.3% measured) reviewed, baseline unchanged.

No new dependencies, version bump, test doubles, CI changes or protection bypasses.

Final local push gate: 1062 tests passed, zero failed, 3 ignored.

Merged as 93e700d. Verified tested commit is on main and issue #111 is closed. Automation-owned branch cleaned up after merge; maintainer edits were enabled while open.

@DWAA1660
DWAA1660 merged commit 93e700d into AlienTechSoftware:main Nov 13, 2026
10 checks passed
@DWAA1660
DWAA1660 deleted the fix/hourly-issue-111 branch November 13, 2026 00:58
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.

[BUG] A multiline CSV cell changes into extra rows after CMGFM save/reopen

1 participant