From e26314b38d421a20bb800d0e906f83f81e443dcf Mon Sep 17 00:00:00 2001 From: Hyko Date: Sat, 25 Apr 2026 19:31:13 -0400 Subject: [PATCH] fix(BlockEditor): handle newline characters in inline nodes by inserting br elements --- src/shared/components/BlockEditor/inline/serialize.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/shared/components/BlockEditor/inline/serialize.js b/src/shared/components/BlockEditor/inline/serialize.js index 7e15fb6..6124136 100644 --- a/src/shared/components/BlockEditor/inline/serialize.js +++ b/src/shared/components/BlockEditor/inline/serialize.js @@ -38,7 +38,15 @@ export function inlineToDom(nodes, doc) { const fragment = d.createDocumentFragment(); if (!Array.isArray(nodes) || nodes.length === 0) return fragment; for (const node of nodes) { - fragment.appendChild(buildNode(d, node)); + if (node.text?.includes('\n')) { + const parts = node.text.split('\n'); + for (let i = 0; i < parts.length; i++) { + if (parts[i]) fragment.appendChild(buildNode(d, { ...node, text: parts[i] })); + if (i < parts.length - 1) fragment.appendChild(d.createElement('br')); + } + } else { + fragment.appendChild(buildNode(d, node)); + } } return fragment; }