Skip to content

fix: OG cleanup, font loading, icon fallbacks, 404 ASCII art#447

Open
achalvs wants to merge 11 commits intomainfrom
achal/og-cleanup
Open

fix: OG cleanup, font loading, icon fallbacks, 404 ASCII art#447
achalvs wants to merge 11 commits intomainfrom
achal/og-cleanup

Conversation

@achalvs
Copy link
Contributor

@achalvs achalvs commented Mar 24, 2026

Changes

Rename ogDescription to imageDescription frontmatter field

More specific naming: imageDescription clarifies this field controls the text rendered inside OG images, distinct from description which Vocs uses for HTML meta tags.

  • 46 MDX pages: renamed frontmatter field
  • scripts/generate-og-descriptions.ts: updated regex
  • src/pages/_api/api/og.tsx: renamed import variable

Fix VTCDuBois fonts not loading in production

In SSR/dynamic rendering mode, the Node.js server handles all requests before Vercel rewrites fire. Since VTCDuBois font files are gitignored and not in the deployment, the server returns 404 before the Blob rewrite can kick in.

  • Point font-face src and preload links directly to Vercel Blob URL
  • Remove the now-unnecessary vercel.json rewrite rule

Fix service icons showing letter fallbacks instead of real logos

17 static letter-SVG fallbacks in public/icons/ (perplexity, replicate, mapbox, suno, etc.) were blocking the Blob-hosted logo.dev icons from being served. The /api/icon endpoint already generates letter fallbacks as a last resort.

  • Removed all 17 letter-fallback SVGs from public/icons/
  • Re-synced all 80 service logos from logo.dev to Vercel Blob

Fix 404 ASCII art compressed vertically on mobile

  • Increased line-height from 1.15 to 1.8
  • Bumped minimum font size from 2.5px to 3px

Verified

  • pnpm check:types passes
  • pnpm build passes
  • All 80 service logos synced to Blob (zero failures)

More specific naming: 'imageDescription' clarifies this field controls the
text rendered inside OG images, distinct from 'description' which Vocs
uses for HTML meta tags.
Increase line-height from 1.15 to 1.8 and bump minimum font size from
2.5px to 3px to prevent the ASCII art from being squashed on small screens.
In SSR/dynamic rendering mode, the Node.js server handles all requests
before Vercel's rewrite layer fires. Since VTCDuBois font files are
gitignored and not in the deployment, the server returns 404 before the
rewrite to Blob can kick in.

Fix by pointing @font-face src and preload links directly to the Blob
URL. Remove the now-unnecessary vercel.json rewrite.
@vercel
Copy link

vercel bot commented Mar 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
mpp Ready Ready Preview, Comment Mar 24, 2026 10:41am

Request Review

Remove all 77 static SVG icons from public/icons/. The icon API now
resolves icons exclusively from Vercel Blob (synced from logo.dev),
with a live logo.dev fallback using provider.url domain, and a
generated letter SVG as the last resort.

This eliminates stale local overrides that were blocking fresh
Blob-hosted logos from being served.
Single source of truth for logo.dev URL construction, used by both the
icon API endpoint and the sync-logos build script.
Single ServiceLogo component replaces three separate inline icon
implementations across ServicesPage and ServiceDiscovery. Handles
img loading, error fallback to initials, and domain passthrough
for logo.dev in one place.
Re-add light background detection and invert filter for icons that
need color correction based on the current theme. ServiceLogo now
fetches the icon manifest internally and applies filter: invert(1)
when an icon has a light background and the user is in dark mode
(or vice versa).
The require('node:zlib') call inside decodePngPixels silently failed
in ESM mode, causing all PNG transparency and lightBg detection to
return false. Now correctly detects 11 transparent and 27 light-bg
icons.
brendanjryan added a commit that referenced this pull request Mar 24, 2026
In SSR/dynamic rendering mode, the Node.js server handles all requests
before Vercel's rewrite layer fires. Since VTCDuBois font files are
gitignored and not in the deployment, the server returns 404 before the
rewrite to Blob can kick in.

Fix by pointing @font-face src and preload links directly to the Blob
URL. Remove the now-unnecessary vercel.json rewrite.

Split from #447.
@brendanjryan
Copy link
Collaborator

brendanjryan commented Mar 24, 2026

I split 1,2,4 into seperate prs and merged independantly.

While some icons look great, others look funny in light mode. We should rebase this pr and isolate the icon change

CleanShot 2026-03-24 at 08 13 30@2x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants