From 182f2fdfa9c228849b2965fb6aa93bb741bd35ce 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 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/extensions/TextDirection.ts b/src/extensions/TextDirection.ts index 4be8d079042..95af74c3dc5 100644 --- a/src/extensions/TextDirection.ts +++ b/src/extensions/TextDirection.ts @@ -50,6 +50,17 @@ 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, )