From 5c94433a856ddf107d38ba893dd2e3936bd07a47 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sat, 8 Jun 2019 21:50:11 +0100 Subject: [PATCH] Send Err outside Turn --- packages/server/src/federation.js | 3 ++- packages/server/src/turn.js | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/server/src/federation.js b/packages/server/src/federation.js index 9c5cd95..2b77afe 100644 --- a/packages/server/src/federation.js +++ b/packages/server/src/federation.js @@ -313,7 +313,8 @@ spawn named '@syndicate-lang/server/federation/ScopeFactory' { field this.linkMatches = Map(); const err = (detail) => { - turn.extend(W.Err(detail)); + send P.Proposal(managementScope, P.ToPOA(linkid, W.Err(detail))); + turn.reset(); currentFacet().stop(); }; diff --git a/packages/server/src/turn.js b/packages/server/src/turn.js index db38637..975ea2a 100644 --- a/packages/server/src/turn.js +++ b/packages/server/src/turn.js @@ -13,12 +13,15 @@ export function recorder(fields, fieldName, onCommit) { function commit() { if (fields[fieldName]) { onCommit(items); - items = []; - fields[fieldName] = false; + reset(); } } + function reset() { + items = []; + fields[fieldName] = false; + } field fields[fieldName] = false; currentFacet().addDataflow(commit, PRIORITY.IDLE); - return { extend, commit }; + return { extend, commit, reset }; }