From 685a85909e8e2f95c4b9c4704d6f4dc97e648e89 Mon Sep 17 00:00:00 2001 From: Nick the Sick Date: Thu, 17 Apr 2025 16:29:54 +0200 Subject: [PATCH] fix: dispatch suggestion menu as a separate transaction Dispatching in the same transaction that modified content could cause positions to be different because of appendedTransactions (e.g. Unique-id plugin) So, this changes to only dispatch the menu in a separate transaction so that there will likely not be any other content modifications by a meta only dispatch --- .../core/src/extensions/SuggestionMenu/SuggestionPlugin.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/extensions/SuggestionMenu/SuggestionPlugin.ts b/packages/core/src/extensions/SuggestionMenu/SuggestionPlugin.ts index 3a069c2321..2220f75968 100644 --- a/packages/core/src/extensions/SuggestionMenu/SuggestionPlugin.ts +++ b/packages/core/src/extensions/SuggestionMenu/SuggestionPlugin.ts @@ -292,13 +292,13 @@ export class SuggestionMenuProseMirrorPlugin< props: { handleTextInput(view, _from, _to, text) { if (triggerCharacters.includes(text)) { + view.dispatch(view.state.tr.insertText(text)); view.dispatch( view.state.tr - .insertText(text) - .scrollIntoView() .setMeta(suggestionMenuPluginKey, { triggerCharacter: text, }) + .scrollIntoView() ); return true;