mirror of
https://github.com/penpot/penpot.git
synced 2026-04-26 03:38:18 +00:00
The text editor's SelectionController threw 'TypeError: Invalid text node' when: - Pressing Backspace to delete the only character of the **first** text span in a paragraph that contains multiple spans. - Pressing Delete to delete the only character of the **last** text span in the same situation. - Pressing a word-backward shortcut that empties the first span of a multi-span paragraph. In all three cases the tree-iterator (previousNode / nextNode) returned null because no sibling text node existed in that direction, and that null was subsequently passed to getTextNodeLength() which calls isTextNode() — which unconditionally throws when given a falsy value. Fix: use the null-coalescing fallback to the first/last remaining child's text node of the paragraph before calling collapse() / getTextNodeLength().