sdk: infer media before text in legacy import

:wq
This commit is contained in:
clawdbot 2026-01-28 00:34:28 +08:00
parent 4ca9f59737
commit 50bce304d0

View File

@ -341,16 +341,20 @@ export function convertGoViewProjectToScreen(input: GoViewProjectLike | GoViewSt
// We try to infer the widget kind early so we can pick better default sizes
// when exports omit sizing information.
const inferredType: 'text' | 'image' | 'iframe' | 'video' | undefined = isTextCommon(c)
? 'text'
: isImage(c) || looksLikeImageOption(option)
// Important: run media/embed checks before text checks.
// Some goView/fork widgets have misleading keys that contain "text" even though
// the option payload is clearly video/iframe.
const inferredType: 'text' | 'image' | 'iframe' | 'video' | undefined =
isImage(c) || looksLikeImageOption(option)
? 'image'
: // Important: run video checks before iframe checks; iframe URL detection is broader.
isVideo(c) || looksLikeVideoOption(option)
? 'video'
: isIframe(c) || looksLikeIframeOption(option)
? 'iframe'
: undefined;
: isTextCommon(c)
? 'text'
: undefined;
const defaults =
inferredType === 'text'