From 256080e2a2b7638222ed4fa6b41a2425ca32bd97 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 19 Dec 2025 00:04:26 +0100 Subject: [PATCH] Canvas host: fix action bridge invocation --- src/canvas-host/server.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/canvas-host/server.ts b/src/canvas-host/server.ts index f54903d3f..69994be21 100644 --- a/src/canvas-host/server.ts +++ b/src/canvas-host/server.ts @@ -38,14 +38,15 @@ export function injectCanvasLiveReload(html: string): string { function postToNode(payload) { try { const raw = typeof payload === "string" ? payload : JSON.stringify(payload); - const ios = globalThis.webkit?.messageHandlers?.[actionHandlerName]?.postMessage; - if (typeof ios === "function") { - ios(raw); + const iosHandler = globalThis.webkit?.messageHandlers?.[actionHandlerName]; + if (iosHandler && typeof iosHandler.postMessage === "function") { + iosHandler.postMessage(raw); return true; } - const android = globalThis[actionHandlerName]?.postMessage; - if (typeof android === "function") { - android(raw); + const androidHandler = globalThis[actionHandlerName]; + if (androidHandler && typeof androidHandler.postMessage === "function") { + // Important: call as a method on the interface object (binding matters on Android WebView). + androidHandler.postMessage(raw); return true; } } catch {}