From 025943de4e60e820619ec7bf76d97e757270d670 Mon Sep 17 00:00:00 2001 From: Eric Maciel Date: Fri, 30 Oct 2020 15:27:26 -0400 Subject: [PATCH] fix: add error handling for applyOperation --- packages/client/src/automerge-editor.ts | 7 ++++++- packages/client/src/withAutomerge.ts | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/client/src/automerge-editor.ts b/packages/client/src/automerge-editor.ts index 33916eb..4926229 100644 --- a/packages/client/src/automerge-editor.ts +++ b/packages/client/src/automerge-editor.ts @@ -138,7 +138,12 @@ export const AutomergeEditor = { Promise.resolve().then(_ => (e.isRemote = false)) } } catch (e) { - console.error(e) + // unset remove flag + if (e.isRemote) { + e.isRemote = false + } + + throw e } }, diff --git a/packages/client/src/withAutomerge.ts b/packages/client/src/withAutomerge.ts index 581dc03..e5b9109 100644 --- a/packages/client/src/withAutomerge.ts +++ b/packages/client/src/withAutomerge.ts @@ -108,7 +108,12 @@ const withAutomerge = ( e.receiveOperation = data => { if (docId !== data.docId) return - AutomergeEditor.applyOperation(e, docId, data, preserveExternalHistory) + try { + AutomergeEditor.applyOperation(e, docId, data, preserveExternalHistory) + } catch (err) { + // report any errors during apply operation + onError(err) + } } return e