From 7a459419734c3adeb25dbe1c14246916a48243a7 Mon Sep 17 00:00:00 2001 From: Michel Weststrate Date: Tue, 6 Apr 2021 04:36:24 -0700 Subject: [PATCH] Fixed null pointer handling in login / QPL flow Summary: Found an NPE during testing a prod build that I encountered a few times before, which occurs when the user isn't logged in. Maked types stricter and this probably fixes an old bug where login status icon could be out of sync as well. Reviewed By: nikoant Differential Revision: D27589740 fbshipit-source-id: 419aaca77a997e01e8d9b0067e604a8dad019551 --- desktop/app/src/dispatcher/user.tsx | 6 +++++- desktop/app/src/fb-stubs/user.tsx | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/desktop/app/src/dispatcher/user.tsx b/desktop/app/src/dispatcher/user.tsx index affa9c7df..954318ea3 100644 --- a/desktop/app/src/dispatcher/user.tsx +++ b/desktop/app/src/dispatcher/user.tsx @@ -21,7 +21,11 @@ export default (store: Store, _logger: Logger) => { getUser() .then((user) => { - store.dispatch(login(user)); + if (user) { + store.dispatch(login(user)); + } else { + store.dispatch(logout()); + } }) .catch((e) => { store.dispatch(logout()); diff --git a/desktop/app/src/fb-stubs/user.tsx b/desktop/app/src/fb-stubs/user.tsx index 6d6fff3b0..5449364a7 100644 --- a/desktop/app/src/fb-stubs/user.tsx +++ b/desktop/app/src/fb-stubs/user.tsx @@ -10,7 +10,7 @@ import {Atom, createState} from 'flipper-plugin'; import {User} from '../reducers/user'; -export async function getUser(): Promise { +export async function getUser(): Promise { throw new Error('Feature not implemented'); }