-
Recognize Markdown tables on paste and while typing (#339)
All checks were successfulCI / Lint, typecheck, test (pull_request) Successful in 7m40sCI / Build container images (pull_request) Successful in 1m21sCI / Auth e2e pack (pull_request) Successful in 9m30sCI / Import/export fidelity gate (pull_request) Successful in 56sCD / Build and push images (push) Successful in 16sCD / Deploy to Test (push) Successful in 14sCD / Smoke tests against Test (push) Successful in 1m21sCD / Promote to Int (push) Successful in 11sCI / Lint, typecheck, test (push) Successful in 6m55sCI / Build container images (push) Has been skippedCI / Auth e2e pack (push) Successful in 9m19sCI / Import/export fidelity gate (push) Successful in 57sRelease / Build release images and notes (push) Successful in 2m44sRelease / Release-candidate operations QA (push) Successful in 42sProd deploy / Deploy the released images to Prod (push) Successful in 15sreleased this
2026-08-15 21:32:25 +02:00 | 1 commits to main since this releaseThe paste conversion (issue #30) already handled tables, but any
text/html flavor on the clipboard bypassed it. Code editors (VS Code
with copyWithSyntaxHighlighting) ship the plain text a second time as
styled div/span HTML, so a Markdown table copied there arrived verbatim
while the same text from a plain editor converted fine. Clipboard HTML
without a single structural element (table/list/heading/link/emphasis/
code...) is now treated as equivalent to the plain text; anything from a
rich-text source keeps going through ProseMirror's HTML paste.Pasting inside a code block never converts anymore -- text is code
there, and the conversion would have split the block around rich nodes.Hand-typed tables: pressing Enter at the end of a GFM separator row
whose previous sibling is a pipe row replaces the two paragraphs with a
real table (input rules cannot express this -- they see only one
textblock). Conversion is refused inside existing tables; body rows are
then typed cell-wise, with Tab appending rows (#338).Closes #339
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_012aoPvnakfBP28nAfijgUY9Downloads