diff --git a/wax-prosemirror-core/src/trackedTransaction.js b/wax-prosemirror-core/src/trackedTransaction.js index e9c1dad2e035623643708e9b6a389b44b5ba6d21..6ef0d16210ae26ef69de3c3a0425377454d2097a 100644 --- a/wax-prosemirror-core/src/trackedTransaction.js +++ b/wax-prosemirror-core/src/trackedTransaction.js @@ -489,8 +489,14 @@ const trackedTransaction = (tr, state, editor) => { } if (tr.scrolledIntoView) { newTr.scrollIntoView(); - const caretPos = map.map(tr.selection.from, -1); - newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos))); + if ( + tr.selection instanceof TextSelection && + (tr.selection.from < state.selection.from || + tr.getMeta("inputType") === "deleteContentBackward") + ) { + const caretPos = map.map(tr.selection.from, -1); + newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos))); + } } return newTr; };