From 900a8cc8e9b22ef2f98ba51076727d3ea0ac411d Mon Sep 17 00:00:00 2001 From: ErSan Date: Tue, 27 Jan 2026 20:52:28 +0800 Subject: [PATCH] fix(goview): improve widget detection for iframe/video --- packages/sdk/src/core/goview/convert.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/sdk/src/core/goview/convert.ts b/packages/sdk/src/core/goview/convert.ts index 36161df..6631991 100644 --- a/packages/sdk/src/core/goview/convert.ts +++ b/packages/sdk/src/core/goview/convert.ts @@ -67,8 +67,9 @@ function unwrapComponent(c: GoViewComponentLike): GoViewComponentLike { const inner = c.component; if (!inner) return c; return { - ...inner, + // Prefer outer for geometry/id, but prefer inner for identity/option when present. ...c, + ...inner, // ensure the nested component doesn't get lost component: inner.component, }; @@ -104,7 +105,7 @@ function isIframe(c: GoViewComponentLike): boolean { if (k === 'iframe' || k.includes('iframe')) return true; // Other names seen in low-code editors for embedded web content. - return k.includes('embed') || k.includes('web') || k.includes('html'); + return k.includes('embed') || k.includes('web') || k.includes('webview') || k.includes('html'); } function isVideo(c: GoViewComponentLike): boolean { @@ -113,7 +114,7 @@ function isVideo(c: GoViewComponentLike): boolean { if (k === 'video' || k.includes('video')) return true; // Other names seen in the wild. - return k.includes('mp4') || k.includes('media') || k.includes('player'); + return k.includes('mp4') || k.includes('media') || k.includes('player') || k.includes('stream'); } function pick(...values: Array): T | undefined {