From 888b3be2919ebb1e2ae520c7b7125a0ec0bc9954 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sun, 10 Mar 2024 12:47:05 +0100 Subject: [PATCH] Check for and prevent cross-actor facet termination --- packages/core/src/runtime/actor.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/core/src/runtime/actor.ts b/packages/core/src/runtime/actor.ts index 11391e0..f0e5065 100644 --- a/packages/core/src/runtime/actor.ts +++ b/packages/core/src/runtime/actor.ts @@ -366,6 +366,9 @@ export class Turn { } stop(facet: Facet, continuation?: LocalAction) { + if (facet.actor !== Turn.activeFacet.actor) { + throw new Error("Attempt to terminate a facet in a different actor"); + } if (continuation) facet.onStop(continuation); facet._terminate(true); }