From 81c0b1ffe9c390743b31282a72faf7439f36ec6c Mon Sep 17 00:00:00 2001 From: Rinku Chaudhari <76877078+therealrinku@users.noreply.github.com> Date: Fri, 1 Mar 2024 01:44:23 +0545 Subject: [PATCH] fix: broken google account avatar fix (#13892) * fix: broken google account avatar fix * fix: use zod for checking absolute url --------- Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Co-authored-by: Udit Takkar --- packages/lib/getAvatarUrl.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/lib/getAvatarUrl.ts b/packages/lib/getAvatarUrl.ts index b0d7d62ebc..d2492edf9a 100644 --- a/packages/lib/getAvatarUrl.ts +++ b/packages/lib/getAvatarUrl.ts @@ -1,3 +1,5 @@ +import { z } from "zod"; + import { AVATAR_FALLBACK, CAL_URL, WEBAPP_URL } from "@calcom/lib/constants"; import type { Team, User } from "@calcom/prisma/client"; import type { UserProfile } from "@calcom/types/UserProfile"; @@ -16,7 +18,13 @@ export const getUserAvatarUrl = ( | undefined ) => { if (user?.avatarUrl) { - return CAL_URL + user.avatarUrl; + const isAbsoluteUrl = z.string().url().safeParse(user.avatarUrl).success; + + if (isAbsoluteUrl) { + return user.avatarUrl; + } else { + return CAL_URL + user.avatarUrl; + } } if (!user?.username) return CAL_URL + AVATAR_FALLBACK; // avatar.png automatically redirects to fallback avatar if user doesn't have one