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 }; }