From 463ef3a6504020a869fa06e4dd722f72de32677a Mon Sep 17 00:00:00 2001 From: wkq Date: Tue, 15 Apr 2025 23:42:42 +0800 Subject: [PATCH] fix: correct dirty path update for Text nodes (#5842) * fix: correct dirty path update for Text nodes Previously, the condition used was "if (!Text.isText)" without passing the node, which always evaluated to false. This caused the code to always take the branch intended for non-Text nodes, even for Text nodes. The fix now correctly checks "if (Text.isText(node))" to determine if the node is a Text node. Text nodes, which have no children, will now correctly add only their own path, while non-Text nodes continue to have all their descendant paths added. This change ensures that the dirty path update logic behaves as intended. * Add changeset --------- Co-authored-by: Dylan Schiemann --- .changeset/clever-moose-exist.md | 5 +++++ packages/slate/src/transforms-node/insert-nodes.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/clever-moose-exist.md diff --git a/.changeset/clever-moose-exist.md b/.changeset/clever-moose-exist.md new file mode 100644 index 000000000..9ffbb8c94 --- /dev/null +++ b/.changeset/clever-moose-exist.md @@ -0,0 +1,5 @@ +--- +'slate': patch +--- + +fix: correct dirty path update for Text nodes diff --git a/packages/slate/src/transforms-node/insert-nodes.ts b/packages/slate/src/transforms-node/insert-nodes.ts index 56cda9906..84e559c90 100644 --- a/packages/slate/src/transforms-node/insert-nodes.ts +++ b/packages/slate/src/transforms-node/insert-nodes.ts @@ -120,7 +120,7 @@ export const insertNodes: NodeTransforms['insertNodes'] = ( at = Path.next(at as Path) batchedOps.push(op) - if (!Text.isText) { + if (Text.isText(node)) { newDirtyPaths.push(path) } else { newDirtyPaths.push(