fix(og): resolve font corruption and Next.js 15+ params compatibility

- Replaced corrupted HTML font files with binary WOFF2 versions.
- Updated all opengraph-image.tsx files to await params, as required by Next.js 15+.
- Improved OG image reliability by using SITE_URL for absolute image paths.
- Added scripts/check-og-images.ts for automated production verification.
- Integrated smoke_test job into deployment pipeline.
This commit is contained in:
2026-02-12 19:14:14 +01:00
parent cba7c5abcf
commit 700c6b29a3
16 changed files with 175 additions and 2983 deletions

View File

@@ -6,37 +6,37 @@ import { join } from 'path';
* Since we are using runtime = 'nodejs', we can read them from the filesystem.
*/
export async function getOgFonts() {
const boldFontPath = join(process.cwd(), 'public/fonts/Inter-Bold.ttf');
const regularFontPath = join(process.cwd(), 'public/fonts/Inter-Regular.ttf');
const boldFontPath = join(process.cwd(), 'public/fonts/Inter-Bold.woff2');
const regularFontPath = join(process.cwd(), 'public/fonts/Inter-Regular.woff2');
try {
const boldFont = readFileSync(boldFontPath);
const regularFont = readFileSync(regularFontPath);
try {
const boldFont = readFileSync(boldFontPath);
const regularFont = readFileSync(regularFontPath);
return [
{
name: 'Inter',
data: boldFont,
weight: 700 as const,
style: 'normal' as const,
},
{
name: 'Inter',
data: regularFont,
weight: 400 as const,
style: 'normal' as const,
},
];
} catch (error) {
console.error('Failed to load OG fonts from filesystem, falling back to system fonts:', error);
return [];
}
return [
{
name: 'Inter',
data: boldFont,
weight: 700 as const,
style: 'normal' as const,
},
{
name: 'Inter',
data: regularFont,
weight: 400 as const,
style: 'normal' as const,
},
];
} catch (error) {
console.error('Failed to load OG fonts from filesystem, falling back to system fonts:', error);
return [];
}
}
/**
* Common configuration for OG images
*/
export const OG_IMAGE_SIZE = {
width: 1200,
height: 630,
width: 1200,
height: 630,
};