Merge pull request #8726 from penpot/niwinz-main-bugfix-1

🐛 Fix null text crash on paste in text editor
This commit is contained in:
Alejandro Alonso
2026-03-24 15:19:41 +01:00
committed by GitHub
2 changed files with 14 additions and 6 deletions

View File

@@ -366,12 +366,19 @@ export function getInlineStyle(state, blockKey, offset) {
const NEWLINE_REGEX = /\r\n?|\n/g;
function splitTextIntoTextBlocks(text) {
if (text == null) {
return [];
}
return text.split(NEWLINE_REGEX);
}
export function insertText(state, text, attrs, inlineStyles) {
const blocks = splitTextIntoTextBlocks(text);
if (blocks.length === 0) {
return state;
}
const character = CharacterMetadata.create({style: OrderedSet(inlineStyles)});
let blockArray = DraftPasteProcessor.processText(

View File

@@ -221,12 +221,13 @@
handle-pasted-text
(fn [text _ _]
(let [current-block-styles (ted/get-editor-current-block-data state)
inline-styles (ted/get-editor-current-inline-styles state)
style (merge current-block-styles inline-styles)
state (-> (ted/insert-text state text style)
(handle-change))]
(st/emit! (dwt/update-editor-state shape state)))
(when (seq text)
(let [current-block-styles (ted/get-editor-current-block-data state)
inline-styles (ted/get-editor-current-inline-styles state)
style (merge current-block-styles inline-styles)
state (-> (ted/insert-text state text style)
(handle-change))]
(st/emit! (dwt/update-editor-state shape state))))
"handled")]
(mf/use-layout-effect on-mount)