feat: initial support for multi-column; lists and media fixes(Copy/paste project) #2528
feat: initial support for multi-column; lists and media fixes(Copy/paste project) #2528caio-pizzol merged 7 commits intomainfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 547bdff47c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
3e811a3 to
499b262
Compare
There was a problem hiding this comment.
@VladaHarbour nice work, Codex bot comments from earlier are all handled.
handleCutEvent:preventDefaultbefore the try block means Cmd+X silently fails if anything throws — see inline fixstripWordListConditionalPrefixes: missing[endif]eats all content after it — see inline warningcreateListIdAllocatoris copy-pasted between two files, bodySectPr helpers are duplicated — see inline suggestions- missing round-trip tests for
embedSliceInHtml/extractSliceFromHtml/stripSliceFromHtmlandshouldPreserveSlicePastedListRendering - no Playwright tests for copy-paste yet — fine as follow-up
a5d7065 to
d410051
Compare
1016d54 to
35d3a45
Compare
- Copy-paste preserves inline formatting (bold) - Copy-paste preserves list structure - Cut removes content, paste restores it - Pasted block identities are stripped (no duplicate paraId/sdBlockId) - Copy-paste preserves images from multi-format document (PNG, JPG, BMP, GIF, TIFF) - Image path collision triggers rename to avoid overwriting existing media
35d3a45 to
d01a3c3
Compare
… paste guard (SD-148) - embedSliceInHtml/extractSliceFromHtml/stripSliceFromHtml round-trip - Unicode content round-trip (CJK, emoji) - bodySectPr embed + extract round-trip - extractSliceFromHtml returns null for plain HTML - bodySectPrShouldEmbed with multi/single column - shouldPreserveSlicePastedListRendering preserves freshly pasted list data - non-slice paragraphs still get recalculated
caio-pizzol
left a comment
There was a problem hiding this comment.
@VladaHarbour round 1 feedback is all addressed, looks good.
we pushed some tests:
- copy-paste round-trip tests (formatting, lists, cut, images, path collisions) — passing on all browsers
- unit tests for the HTML embed/extract functions and the list rendering paste guard
one thing: spacing between images and headings gets tighter after paste. probably out of scope here but worth a follow-up.
approving.
|
🎉 This PR is included in vscode-ext v1.1.0-next.42 |
|
🎉 This PR is included in superdoc v1.24.0-next.41 The release is available on GitHub release |
|
🎉 This PR is included in superdoc-cli v0.5.0-next.41 The release is available on GitHub release |
|
🎉 This PR is included in superdoc-sdk v1.3.0-next.41 |
|
🎉 This PR is included in esign v2.2.0-next.3 The release is available on GitHub release |
|
🎉 This PR is included in template-builder v1.3.0-next.2 The release is available on GitHub release |
|
🎉 This PR is included in superdoc v1.24.0 The release is available on GitHub release |
|
🎉 This PR is included in superdoc-cli v0.5.0 The release is available on GitHub release |
|
🎉 This PR is included in superdoc-sdk v1.3.0 |
|
🎉 This PR is included in vscode-ext v2.2.0 |
This PR introduces fixes to support copy/paste experience within Superdoc:
(We have hyperlinks and table support in current stable version)