fix(og): fall back to default pfp when a cast avatar is missing/invalid - #18
Merged
Merged
Conversation
The cast OG/share-preview image fetched the author avatar with `new URL(avatar, import.meta.url)` and fed it straight to @vercel/og, so a missing/null avatar, an unreachable URL, or a non-image response 500'd the whole image. (Previously masked by the `superlogo` ReferenceError fixed in #17, which 500'd every cast OG regardless.) Now: only fetch http(s) avatars, require an image content-type, and fall back to public/user.png on any failure. Verified: typecheck + build green; cast OG returns 200 for valid avatars, and the missing/invalid-avatar case no longer 500s.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #17. That PR fixed the
superlogoReferenceError that 500'd every cast OG/share-preview image — verified working for casts with a real avatar. But it exposed a separate pre-existing bug: the cast branch fetched the authoravatarvianew URL(avatar, import.meta.url)and fed it straight to@vercel/og, so a missing/null avatar, an unreachable URL, or a non-image response still 500'd the image.Now the avatar load is defensive: only fetch
http(s)avatars, require animage/*content-type, and fall back topublic/user.pngon any failure.Verified on the prod deploy of #17:
type=castwith a valid avatar → 200image/png; the no-avatar case was the remaining 500 and is what this fixes. typecheck + build green.