diff --git a/src/App.native.tsx b/src/App.native.tsx index c22a66e824..f985b96a57 100644 --- a/src/App.native.tsx +++ b/src/App.native.tsx @@ -17,11 +17,7 @@ import {useLingui} from '@lingui/react' import {KeyboardControllerProvider} from '#/lib/hooks/useEnableKeyboardController' import {QueryProvider} from '#/lib/react-query' -import { - initialize, - Provider as StatsigProvider, - tryFetchGates, -} from '#/lib/statsig/statsig' +import {Provider as StatsigProvider, tryFetchGates} from '#/lib/statsig/statsig' import {s} from '#/lib/styles' import {ThemeProvider} from '#/lib/ThemeContext' import I18nProvider from '#/locale/i18nProvider' @@ -101,7 +97,6 @@ function InnerApp() { if (account) { await resumeSession(account) } else { - await initialize() await tryFetchGates(undefined, 'prefer-fresh-gates') } } catch (e) { diff --git a/src/lib/statsig/statsig.tsx b/src/lib/statsig/statsig.tsx index 51d7eb98e5..21fa4bb57c 100644 --- a/src/lib/statsig/statsig.tsx +++ b/src/lib/statsig/statsig.tsx @@ -16,6 +16,8 @@ import {Gate} from './gates' const SDK_KEY = 'client-SXJakO39w9vIhl3D44u8UupyzFl4oZ2qPIkjwcvuPsV' +export const initPromise = initialize() + type StatsigUser = { userID: string | undefined // TODO: Remove when enough users have custom.platform: @@ -219,9 +221,6 @@ export async function tryFetchGates( // Use this for less common operations where the user would be OK with a delay. timeoutMs = 1500 } - // Note: This condition is currently false the very first render because - // Statsig has not initialized yet. In the future, we can fix this by - // doing the initialization ourselves instead of relying on the provider. if (Statsig.initializeCalled()) { await Promise.race([ timeout(timeoutMs),