From 52f30ca9ead0c8fe12611347ddd472a7547de1b0 Mon Sep 17 00:00:00 2001 From: Jonas Date: Tue, 29 Jul 2025 17:15:01 +0200 Subject: [PATCH] fix(TextDirection): Ignore inputRule or collaboration transactions This fixes `undoInputRule()` for a new list item. Signed-off-by: Jonas --- src/extensions/TextDirection.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/extensions/TextDirection.ts b/src/extensions/TextDirection.ts index ed3af8c0b35..2ee09b4fd69 100644 --- a/src/extensions/TextDirection.ts +++ b/src/extensions/TextDirection.ts @@ -51,6 +51,18 @@ function TextDirectionPlugin({ types }: { types: string[] }) { return new Plugin({ key: new PluginKey('textDirection'), appendTransaction: (transactions, oldState, newState) => { + const isCollabTransaction = transactions.some((tr) => + tr.getMeta('y-sync$'), + ) + const inputRulePlugin = newState.plugins.find( + (plugin) => plugin.spec.isInputRules, + ) + const isInputRuleTransaction = + inputRulePlugin + && transactions.some((tr) => tr.getMeta(inputRulePlugin)) + if (isCollabTransaction || isInputRuleTransaction) { + return + } const docChanges = transactions.some( (transaction) => transaction.docChanged, )