Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(IME): cursor is placed at start of uncommitted string while compo… #2454

wants to merge 1 commit into from
Changes from all commits
File filter...
Filter file types
Jump to…
Jump to file or symbol
Failed to load files and symbols.


Just for now

@@ -69,6 +69,7 @@ class Content extends React.Component {

tmp = {
isUpdatingSelection: false,
isComposing: false,

@@ -325,6 +326,14 @@ class Content extends React.Component {
onEvent(handler, event) {
debug('onEvent', handler)

if (handler == 'onCompositionStart') {
this.tmp.isComposing = true

if (handler == 'onCompositionEnd') {
window.requestAnimationFrame(() => (this.tmp.isComposing = false))

// Ignore `onBlur`, `onFocus` and `onSelect` events generated
// programmatically while updating selection.
if (
@@ -339,7 +348,7 @@ class Content extends React.Component {
// cases we don't need to trigger any changes, since our internal model is
// already up to date, but we do want to update the native selection again
// to make sure it is in sync. (2017/10/16)
if (handler == 'onSelect') {
if (handler == 'onSelect' && !this.tmp.isComposing) {
const { editor } = this.props
const { value } = editor
const { selection } = value
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.