From 3ebad4902db2bae4165772b355d15c8c6c7d24f3 Mon Sep 17 00:00:00 2001 From: Ulion Date: Sun, 7 Feb 2021 17:20:37 +0800 Subject: [PATCH] Fix wrong isRemote false caused by the incorrect promise schedule case. --- packages/client/src/automerge-editor.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/client/src/automerge-editor.ts b/packages/client/src/automerge-editor.ts index 541eb81..dccab63 100644 --- a/packages/client/src/automerge-editor.ts +++ b/packages/client/src/automerge-editor.ts @@ -141,7 +141,12 @@ export const AutomergeEditor = { e.onCursor && e.onCursor(updated.cursors) }) - Promise.resolve().then(_ => (e.isRemote = false)) + if (slateOps.length > 0) { + // XXX: only schedule set isRemote false when we did scheduled onChange by apply. + Promise.resolve().then(_ => (e.isRemote = false)) + } else { + e.isRemote = false + } } } catch (e) { console.error(e)