diff --git a/packages/web-ui/src/components/SandboxedIframe.ts b/packages/web-ui/src/components/SandboxedIframe.ts index 47155016..d4f7a33d 100644 --- a/packages/web-ui/src/components/SandboxedIframe.ts +++ b/packages/web-ui/src/components/SandboxedIframe.ts @@ -339,7 +339,7 @@ export class SandboxIframe extends LitElement { } } - window.complete(); + await window.complete(); } catch (error) { console.error(error?.stack || error?.message || String(error)); @@ -352,7 +352,7 @@ export class SandboxIframe extends LitElement { } } - window.complete({ + await window.complete({ message: error?.message || String(error), stack: error?.stack || new Error().stack }); diff --git a/packages/web-ui/src/components/sandbox/ConsoleRuntimeProvider.ts b/packages/web-ui/src/components/sandbox/ConsoleRuntimeProvider.ts index 94a49404..f284d4f9 100644 --- a/packages/web-ui/src/components/sandbox/ConsoleRuntimeProvider.ts +++ b/packages/web-ui/src/components/sandbox/ConsoleRuntimeProvider.ts @@ -120,7 +120,7 @@ export class ConsoleRuntimeProvider implements SandboxRuntimeProvider { // Expose complete() method for user code to call let completionSent = false; - (window as any).complete = (error?: { message: string; stack: string }) => { + (window as any).complete = async (error?: { message: string; stack: string }) => { if (completionSent) return; completionSent = true; @@ -128,18 +128,14 @@ export class ConsoleRuntimeProvider implements SandboxRuntimeProvider { if ((window as any).sendRuntimeMessage) { if (finalError) { - (window as any) - .sendRuntimeMessage({ - type: "execution-error", - error: finalError, - }) - .catch(() => {}); + await (window as any).sendRuntimeMessage({ + type: "execution-error", + error: finalError, + }); } else { - (window as any) - .sendRuntimeMessage({ - type: "execution-complete", - }) - .catch(() => {}); + await (window as any).sendRuntimeMessage({ + type: "execution-complete", + }); } } };