db9f29c16b
clipboardTextSerializer only produced Markdown for lists, so copying a table and pasting into a plain-text/Markdown target emitted one cell value per line (ProseMirror's default text serializer). Route tables through htmlToMarkdown (turndown + GFM) as well. - Extract the decision into a pure, exported classifyClipboardSelection() helper; the existing list rule (2+ items) is preserved exactly. - Handle whole-table selections (top-level `table` node) and partial cell selections (bare `tableRow` nodes), wrapping bare rows in <table><tbody> so the GFM turndown rule detects them. - Add unit tests for classifyClipboardSelection (6 cases). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>