v0.12.0-beta.6
Pre-releaseDelta since previous beta (v0.12.0-beta.5) — 1 new changeset.
Patch Changes
-
Fixed: a trailing space or tab typed at the end of a frontmatter fence line in source mode no longer destroys the document's frontmatter on the next visual edit. Frontmatter fence recognition now tolerates trailing spaces/tabs on the
---lines (matching CommonMark / remark-frontmatter behavior), so documents whose fences carry trailing whitespace are recognized consistently across the editor bridge, the property panel, templates, search heading extraction, outline navigation, skill bundle metadata, the CLI, and source-mode syntax styling. Leading whitespace before a fence still disqualifies it, as before.For maintainers — mechanism:
FRONTMATTER_RErejected fence lines with trailing whitespace while the bridge tolerance layer (normalizeBridgestep 7b, the per-line trailing-whitespace strip) declared exactly those bytes equivalent, violating partition invariance: an in-tolerance W2 keystroke (---→---) silently changed FM-region recognition, so Observer A Path B's recompose (prependFrontmatter(readCurrentFm(), serialize(fragment))) fabricated an FM deletion that the three-way merge then applied and settled. The recognition predicate is widened to/^---[ \t]*\r?\n([\s\S]*?\r?\n)?---[ \t]*(\r?\n|$)/at its definition boundary in core, with every sibling recognition site (server template/heading/enrichment/page-identity/templates-listing/skill-metadata parsers, CLI parser, CodeMirror decoration scoping and outline navigation) either rewired through the core functions or sharing the line-scoped form of the same contract.