Fix video aspect ratio error - "Record/embed/aspectRatio/width cannot be less than 1" (#8571)

This commit is contained in:
Samuel Newman
2025-06-28 00:02:59 +03:00
committed by GitHub
parent 494758da11
commit bde3fdaa42
2 changed files with 17 additions and 5 deletions
+16 -4
View File
@@ -333,15 +333,27 @@ async function resolveMedia(
return {lang: caption.lang, file: data.blob}
}),
)
// lexicon numbers must be floats
const width = Math.round(videoDraft.asset.width)
const height = Math.round(videoDraft.asset.height)
// aspect ratio values must be >0 - better to leave as unset otherwise
// posting will fail if aspect ratio is set to 0
const aspectRatio = width > 0 && height > 0 ? {width, height} : undefined
if (!aspectRatio) {
logger.error(
`Invalid aspect ratio - got { width: ${videoDraft.asset.width}, height: ${videoDraft.asset.height} }`,
)
}
return {
$type: 'app.bsky.embed.video',
video: videoDraft.pendingPublish.blobRef,
alt: videoDraft.altText || undefined,
captions: captions.length === 0 ? undefined : captions,
aspectRatio: {
width: videoDraft.asset.width,
height: videoDraft.asset.height,
},
aspectRatio,
}
}
if (embedDraft.media?.type === 'gif') {
+1 -1
View File
@@ -1,5 +1,5 @@
import {
ImagePickerAsset,
type ImagePickerAsset,
launchImageLibraryAsync,
UIImagePickerPreferredAssetRepresentationMode,
} from 'expo-image-picker'