fix(editor): prevent race condition and ensure correct list continuation on Enter (#4716)

* fix(editor): Prevent race condition and ensure correct list continuation on Enter

_

* fix: always insert newline after preventing default Enter key behavior
pull/4717/head
Jonathan Fok kan 2 months ago committed by GitHub
parent d76f988bb5
commit 7c05a9b997
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -169,6 +169,11 @@ const Editor = forwardRef(function Editor(props: Props, ref: React.ForwardedRef<
if (event.shiftKey || event.ctrlKey || event.metaKey || event.altKey) {
return;
}
// Prevent a newline from being inserted, so that we can insert it manually later.
// This prevents a race condition that occurs between the newline insertion and
// inserting the insertText.
// Needs to be called before any async call.
event.preventDefault();
const cursorPosition = editorActions.getCursorPosition();
const prevContent = editorActions.getContent().substring(0, cursorPosition);
@ -205,9 +210,7 @@ const Editor = forwardRef(function Editor(props: Props, ref: React.ForwardedRef<
insertText += " |";
}
if (insertText) {
editorActions.insertText(insertText);
}
editorActions.insertText("\n" + insertText);
}
};

Loading…
Cancel
Save