From 9c6d892f10af6e8f30be01c744d979736edfaa39 Mon Sep 17 00:00:00 2001 From: Marshall Polaris Date: Fri, 2 Sep 2022 13:54:26 -0700 Subject: [PATCH] Handle the case where a user is surprisingly not in the DB --- web/components/auth-context.tsx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/web/components/auth-context.tsx b/web/components/auth-context.tsx index 0e9fbd0e..3c09ccdb 100644 --- a/web/components/auth-context.tsx +++ b/web/components/auth-context.tsx @@ -102,17 +102,15 @@ export function AuthProvider(props: { if (uid && username) { identifyUser(uid) setUserProperty('username', username) - const userListener = listenForUser(uid, (user) => - setAuthUser((authUser) => { - /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */ - return { ...authUser!, user: user! } - }) - ) + const userListener = listenForUser(uid, (user) => { + setAuthUser((currAuthUser) => + currAuthUser && user ? { ...currAuthUser, user } : null + ) + }) const privateUserListener = listenForPrivateUser(uid, (privateUser) => { - setAuthUser((authUser) => { - /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */ - return { ...authUser!, privateUser: privateUser! } - }) + setAuthUser((currAuthUser) => + currAuthUser && privateUser ? { ...currAuthUser, privateUser } : null + ) }) return () => { userListener()