From 8747e01c31b99b7f18c6111350a267e7daa0cfdb Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Thu, 9 Oct 2025 20:51:25 +0200 Subject: [PATCH] Display return values and fix duplicate error messages in REPL - javascript-repl now displays return values with => prefix - Objects are JSON.stringify'd with formatting - Removed console.error from wrapper to prevent duplicate error messages - Error is already captured and sent via execution-error message - Fixes missing return value display and duplicate error output --- packages/web-ui/src/components/SandboxedIframe.ts | 3 +-- packages/web-ui/src/tools/javascript-repl.ts | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/web-ui/src/components/SandboxedIframe.ts b/packages/web-ui/src/components/SandboxedIframe.ts index 623ede0a..8a020404 100644 --- a/packages/web-ui/src/components/SandboxedIframe.ts +++ b/packages/web-ui/src/components/SandboxedIframe.ts @@ -347,8 +347,7 @@ export class SandboxIframe extends LitElement { await window.complete(null, returnValue); } catch (error) { - console.error(error?.stack || error?.message || String(error)); - + // Call completion callbacks before complete() (error path) if (window.__completionCallbacks && window.__completionCallbacks.length > 0) { try { diff --git a/packages/web-ui/src/tools/javascript-repl.ts b/packages/web-ui/src/tools/javascript-repl.ts index 16db59e3..00a14b32 100644 --- a/packages/web-ui/src/tools/javascript-repl.ts +++ b/packages/web-ui/src/tools/javascript-repl.ts @@ -63,6 +63,12 @@ export async function executeJavaScript( } } + // Add return value if present + if (result.returnValue !== undefined) { + if (output) output += "\n"; + output += `=> ${typeof result.returnValue === "object" ? JSON.stringify(result.returnValue, null, 2) : result.returnValue}`; + } + // Add file notifications if (result.files && result.files.length > 0) { output += `\n[Files returned: ${result.files.length}]\n`;