From ebf89a7b790a69f4ad91f33d51fd235d8b58b08d Mon Sep 17 00:00:00 2001 From: clawdbot Date: Wed, 28 Jan 2026 17:18:12 +0800 Subject: [PATCH] sdk: broaden goView iframe/video import parsing --- packages/sdk/src/core/goview/convert.ts | 7 +++++++ packages/sdk/src/core/widgets/iframe.ts | 14 +++++++++++++- packages/sdk/src/core/widgets/urlLike.ts | 10 ++++++++++ packages/sdk/src/core/widgets/video.ts | 5 +++++ 4 files changed, 35 insertions(+), 1 deletion(-) diff --git a/packages/sdk/src/core/goview/convert.ts b/packages/sdk/src/core/goview/convert.ts index 6a77e36..809c17b 100644 --- a/packages/sdk/src/core/goview/convert.ts +++ b/packages/sdk/src/core/goview/convert.ts @@ -316,6 +316,10 @@ function looksLikeIframeOption(option: unknown): boolean { 'iframeHtml', 'embedHtml', 'embedCode', + 'iframeCode', + 'iframeEmbed', + 'embed', + 'code', 'content', 'template', ], @@ -395,6 +399,9 @@ function looksLikeVideoOption(option: unknown): boolean { 'srcList', 'playlist', 'playList', + 'videos', + 'videoList', + 'items', // playback flags 'autoplay', 'autoPlay', diff --git a/packages/sdk/src/core/widgets/iframe.ts b/packages/sdk/src/core/widgets/iframe.ts index 161fa07..8bf3af0 100644 --- a/packages/sdk/src/core/widgets/iframe.ts +++ b/packages/sdk/src/core/widgets/iframe.ts @@ -121,7 +121,19 @@ function pickSrc(option: GoViewIframeOption): string { const html = pickFromNested( option, (obj) => { - const v = obj.srcdoc ?? obj.srcDoc ?? obj.html ?? obj.htmlContent ?? obj.content ?? obj.template; + const v = + obj.srcdoc ?? + obj.srcDoc ?? + obj.html ?? + obj.htmlContent ?? + obj.htmlString ?? + obj.embedHtml ?? + obj.iframeHtml ?? + obj.embedCode ?? + obj.iframeCode ?? + obj.code ?? + obj.content ?? + obj.template; return typeof v === 'string' ? v : undefined; }, 2, diff --git a/packages/sdk/src/core/widgets/urlLike.ts b/packages/sdk/src/core/widgets/urlLike.ts index f1f9fb0..f9b3ea0 100644 --- a/packages/sdk/src/core/widgets/urlLike.ts +++ b/packages/sdk/src/core/widgets/urlLike.ts @@ -60,11 +60,15 @@ function pickUrlLikeInner(input: unknown, depth: number): string { // Keep this list generous; imports come from many low-code editors. for (const key of [ 'value', + 'currentValue', + 'defaultValue', 'url', 'uri', 'src', + 'srcURL', 'href', 'link', + 'linkUrl', 'path', 'source', 'address', @@ -138,6 +142,12 @@ function pickUrlLikeInner(input: unknown, depth: number): string { 'srcList', 'playList', 'playlist', + // other list-ish wrappers seen in low-code exports + 'items', + 'list', + 'videos', + 'videoList', + 'iframelist', // widget-ish wrappers seen in exports 'iframe', 'video', diff --git a/packages/sdk/src/core/widgets/video.ts b/packages/sdk/src/core/widgets/video.ts index 8ca2e1f..a3beefc 100644 --- a/packages/sdk/src/core/widgets/video.ts +++ b/packages/sdk/src/core/widgets/video.ts @@ -197,6 +197,11 @@ function pickSrc(option: GoViewVideoOption): string { 'src', 'url', 'value', + // sometimes low-code exports store