From bd38e7495c337ec6cb96cda9ad85b8ea873862af Mon Sep 17 00:00:00 2001 From: Chris Parsons Date: Mon, 13 Oct 2025 11:35:50 -0700 Subject: [PATCH] fix: correctly map email addresses from Clerk webhook and add debug logging --- app/routes/api/webhooks/clerk.ts | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/app/routes/api/webhooks/clerk.ts b/app/routes/api/webhooks/clerk.ts index 9801ab2..9b901c2 100644 --- a/app/routes/api/webhooks/clerk.ts +++ b/app/routes/api/webhooks/clerk.ts @@ -52,12 +52,17 @@ export async function action({ request }: Route.ActionArgs) { // Create new user const user = await findOrCreateUser({ id, - emailAddresses: email_addresses, + emailAddresses: + email_addresses?.map((e: any) => ({ + emailAddress: e.email_address, + })) || [], firstName: first_name, lastName: last_name, imageUrl: image_url, }); - console.log(`User created in database: ${user.id} (${user.displayName})`); + console.log( + `User created in database: ${user.id} (${user.displayName})` + ); } else { // Update existing user const email = email_addresses?.[0]?.email_address; @@ -68,7 +73,10 @@ export async function action({ request }: Route.ActionArgs) { // Generate display name let displayName = ""; if (first_name || last_name) { - displayName = [first_name, last_name].filter(Boolean).join(" ").trim(); + displayName = [first_name, last_name] + .filter(Boolean) + .join(" ") + .trim(); } else { displayName = email.split("@")[0]; } @@ -80,13 +88,18 @@ export async function action({ request }: Route.ActionArgs) { lastName: last_name || undefined, imageUrl: image_url, }); - console.log(`User updated in database: ${user.id} (${user.displayName})`); + console.log( + `User updated in database: ${user.id} (${user.displayName})` + ); } } catch (error) { console.error(`Error handling ${eventType}:`, error); - return new Response(`Error: Failed to ${eventType === "user.created" ? "create" : "update"} user`, { - status: 500, - }); + return new Response( + `Error: Failed to ${eventType === "user.created" ? "create" : "update"} user`, + { + status: 500, + } + ); } }