diff --git a/packages/core/src/runtime/actor.ts b/packages/core/src/runtime/actor.ts index e234370..917fdfc 100644 --- a/packages/core/src/runtime/actor.ts +++ b/packages/core/src/runtime/actor.ts @@ -303,12 +303,15 @@ export class Turn { } stop(facet: Facet = this.activeFacet, continuation?: LocalAction) { - if (facet.parent === null) { + const facetParent = facet.parent; + if (facetParent === null) { this.stopActor(); } else { - this.enqueue(facet.parent, () => { + this.enqueue(facet, () => { + if (continuation) { + facet.onStop(() => Turn.active._inFacet(facetParent, continuation)); + } facet._terminate(true); - if (continuation) continuation(); }); } }