You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- TableBlock: buildMarkdownTable now re-escapes literal | as \| in each
cell. parseTableContent already unescapes on parse; without the mirror
on serialize, the popout's copy-as-markdown produces extra columns for
tables with pipes in regex, shell, or boolean content.
- AlertBlock + Callout: extract the shared paragraph-and-list body
renderer into blocks/proseBody.tsx. Fixes directive callouts (:::note
with a bulleted list) rendering as literal hyphens instead of a list.
Paragraph lines join with '\n' so InlineMarkdown's hard-break handler
still fires. Callout passes an empty text-color class so directive
color tokens inherited from the container are preserved.
- InlineMarkdown: drop `h` from the plaintext chunk-break class; it was
splitting emoji shortcodes like ❤️, 👍, 🤔 at the
h, so the :word: pattern never reassembled and transformPlainText
couldn't replace the shortcode. Bare URL detection moves inline via
emitPlainTextWithBareUrls, which scans chunks for https?:// at word
boundaries and emits anchors, passing surrounding text through
transformPlainText so emoji + smart punctuation still apply to
non-URL slices.
- InlineMarkdown: extract trimUrlTail (shared between the top-of-loop
URL branch and the new inline scanner) — one balanced-paren trim
implementation instead of two. +8 unit tests covering the trim cases
(Wikipedia parens, unbalanced brackets, stacked punctuation).
- Fixture: section 9 in 13-known-issues.md demonstrates the table copy
corruption for manual verification.
For provenance purposes, this commit was AI assisted.
0 commit comments