Skip to content

six of seven launchpads drew initials, and four had a file already - #3577

Merged
Flotapponnier merged 1 commit into
devfrom
fix/launchpad-logos
Nov 7, 2026
Merged

Flotapponnier merged 1 commit into
devfrom
fix/launchpad-logos

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Bench 318 (launchpad-wars) shows an initials chip for every row but Stonk.fun, in production.

Four were an alias gap, not a missing file

bench slug manifest had file already in the repo
pumpfun pump-fun pump-fun.jpg
pons-family pons pons.webp
letsbonk bonk-fun bonk-fun.webp

One hyphen was the whole bug on the first two.

LetsBonk and BONK.fun are one mark, and that was checked rather than assumed before putting one company's logo on another's row: letsbonk.fun serves /logos/bonk_fun.png as its own icon, and the file already here is that dog with the bat, cropped. One brand, one file, no new asset.

Two needed fetching

Each one's own declared icon, verified to be a mark and not a wordmark before landing: Argus' 180 px apple-icon (10 KB PNG) and Flap's 32 px icon.svg (1.5 KB, a path).

One is deliberately left on its chip

long-xyz. long.xyz answers 403 to every path — the page and each icon, from this machine and from app., www. and docs. — and going around a site's own block to take its logo is not something to do quietly. The comment in the manifest says so, so the next person does not re-litigate it.

Noticed while doing this, not fixed here

/products/pumpfun and /products/pump-fun both return 200 with the identical title, "pump.fun: trading benchmark 2026, live rank". That is the duplicate-product-page failure PRODUCT_ALIASES exists to prevent, and whose own comment records the last time it happened.

pons / pons-family and letsbonk / bonk-fun also both resolve, with different titles, so whether those are one product or two is a judgement I am not making alone. Folding a slug changes product pages and search presence and wants providers-v moved with it.

No cache key

logo-manifest resolves in ProviderLogo at render time and never enters a cached payload.

pnpm exec tsc --noEmit clean · pnpm test 1077 pass 0 fail · pnpm lint 0 errors.

Reaching production

This bench is live on openchainbench.com, so the logos appear on staging at merge and on prod at the next dev to main release.

🤖 Generated with Claude Code

Bench 318 shows an initials chip for every row but Stonk.fun. Four of the
six already had a brand mark sitting in public/logos that nothing pointed
at: the slug on that bench is `pumpfun` and the manifest entry beside it is
`pump-fun`, so one hyphen was the whole bug. Same for `pons-family` against
`pons`.

LetsBonk and BONK.fun are one mark, checked rather than assumed before
putting one company's logo on another's row: letsbonk.fun serves
/logos/bonk_fun.png as its own icon, and the file already here is that dog
with the bat, cropped. One brand, one file, no new asset.

ArgusPad and Flap had nothing, so each one's own declared icon was taken:
Argus' 180 px apple-icon and Flap's 32 px icon.svg, both verified to be a
mark and not a wordmark before landing.

long-xyz is deliberately left on its chip. long.xyz answers 403 to every
path, the page and each icon, from this machine and from its subdomains,
and going around a site's own block to take its logo is not something to do
quietly.

No cache key: logo-manifest resolves in ProviderLogo at render time and
never enters a cached payload.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Flotapponnier
Flotapponnier merged commit 1cb0d1f into dev Nov 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant