diff --git a/app/api/newsletter/subscribe/route.ts b/app/api/newsletter/subscribe/route.ts index 3b2ce2f..a5a459b 100644 --- a/app/api/newsletter/subscribe/route.ts +++ b/app/api/newsletter/subscribe/route.ts @@ -24,6 +24,14 @@ export async function POST(req: Request) { const source = body.source && VALID_SOURCES.includes(body.source) ? body.source : "newsletter-page"; const result = await upsertNewsletterContact(email, source); if (!result.ok) { + // The customer-facing message stays generic on purpose (never leak + // Brevo's internal error text to a customer) — but the real reason + // was previously discarded entirely, which cost real debugging time + // tracking down a misconfigured BREVO_LIST_ID in Coolify (2026-07-25): + // every failure looked identical from the outside, whether it was a + // bad env var, a Brevo outage, or something else. Logged here so it's + // at least diagnosable from the container's own logs going forward. + console.error(`newsletter subscribe failed for source=${source}: ${result.reason}`); return NextResponse.json({ ok: false, reason: "Anmeldung ist fehlgeschlagen. Bitte versuche es später erneut." }, { status: 502 }); } return NextResponse.json({ ok: true, alreadySubscribed: result.alreadySubscribed ?? false });