diff --git a/src/app/api/errors/report/route.ts b/src/app/api/errors/report/route.ts index 0cdc1467..32e09404 100644 --- a/src/app/api/errors/report/route.ts +++ b/src/app/api/errors/report/route.ts @@ -3,15 +3,20 @@ import { createLogger } from '@/lib/logging'; const logger = createLogger('errors.report'); +class ClientError extends Error { + constructor(message: string, name: string = 'ClientError') { + super(message); + this.name = name; + } +} + export async function POST(request: NextRequest): Promise { try { const report = await request.json(); // Build a real Error so normalizeError captures name + message + stack properly const clientError = report.errorData?.message - ? Object.assign(new Error(report.errorData.message), { - name: report.errorData.type ?? 'ClientError', - }) + ? new ClientError(report.errorData.message, report.errorData.type ?? 'ClientError') : undefined; logger.error('Client error report', {