Polish OG images, detail hero, locker first paint, and card crops - #8
Merged
Conversation
Point OG/Twitter and share at the existing 1200×686 JPEG, size the detail hero to the image, seed the homepage locker on the server, redirect dead uniqueness-suffix slugs, and top-weight 7:4 / square card crops. No watermark. Co-authored-by: Chinmay Kabi <chinmay@blend.to>
Chinmay-KB
marked this pull request as ready for review
August 13, 2026 13:46
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
TL;DR
Second PR (sitemap 500 is #7). These are the eight product UI nits only.
OG/Twitter and share now use the existing
.og.jpg(1200×686 JPEG). Detail hero sizes to the image and is taller. Homepage locker is server-rendered. Dead/g/{slug}uniqueness suffixes redirect to the live-1page. Cards are 7:4 desktop / square mobile, top-weighted. No watermark.What changed (by nit)
OG / Twitter image —
generateMetadatausedimageUrl(.detail.webp). It now uses.og.jpgwith 1200×686. WebP unfurls were dying in iMessage / Slack / older Twitter cards.Detail hero — Dropped
aspect-video+max-h 58svh/540px. The frame follows the image (h-auto,object-contain object-top) withmax-h-[min(82svh,920px)]so square gens don’t letterbox and 2–3 labels are readable without inspect.OG description — Replaced the locker template with
What if {builder} built {target}? The UI is the punchline.Dead slug — Live feed already listed
/g/microsoft-teams-tinder-1(not the unsuffixed path)./g/microsoft-teams-tinderwas a soft 404 (HTML “Not found”, HTTP 200). If the exact slug isn’t a public generation, we nowpermanentRedirectto the lowest numeric alias ({slug}-1). Feed still only selects published + visible + completed +image_readyrows.Homepage evidence locker — Removed the Suspense fallback (“Loading the evidence locker…”). Feed + filters load with the page so the masonry HTML is in the first response.
Share button — Detail, card, and result share sheets pass
.og.jpg(same as nit 1) for native share / preview. Tweet unfurls follow page OG tags.Card crops — Desktop 560×320 (7:4), mobile/square 560×560,
fit: cover+position: topat generation time; CSSaspect-[7/4]/aspect-square+object-cover object-top. Existing.card.webpfiles improve immediately via CSS; new gens (and a futureyarn backfill:variants) get the cropped files.No watermark — None added. Prompt copy already forbids brand watermarks in the generated UI.
How to review
src/app/g/[slug]/page.tsx— OG jpeg + description + alias redirectsrc/app/g/[slug]/published-generation-hero.tsx— intrinsic hero sizingsrc/app/page.tsx— no locker Suspensesrc/lib/generation/render-display-variants.ts— card crop sizessrc/components/generation-card.tsx— object-top + og share URLVerification
yarn test— 83 passedyarn lint— 0 errorsyarn build— compiledPost-merge live checks
/g/youtube-figma:og:image/twitter:imageend in.og.jpg, description is the one-liner/g/airbnb-gmail(or any square) hero is not 16:9 letterboxed; labels readable without zoom/g/microsoft-teams-tinder→ 308 to/g/microsoft-teams-tinder-1Other site-health findings (not in this PR)
cookies()fetch: PR Fix /sitemap.xml 500s from request-time cookies() #7/imagesis 404 (page removed)Sitemap:line still present/g/slugs may still 200 with a Not found title)