diff --git a/src/App.native.tsx b/src/App.native.tsx index ca16f85f3d..2f17c56e6f 100644 --- a/src/App.native.tsx +++ b/src/App.native.tsx @@ -70,6 +70,11 @@ import {AudioCategory, PlatformInfo} from '../modules/expo-bluesky-swiss-army' SplashScreen.preventAutoHideAsync() +/** + * Begin geolocation ASAP + */ +beginResolveGeolocation() + function InnerApp() { const [isReady, setIsReady] = React.useState(false) const {currentAccount} = useSession() @@ -90,7 +95,6 @@ function InnerApp() { await initialize() await tryFetchGates(undefined, 'prefer-fresh-gates') } - await ensureGeolocationResolved() } catch (e) { logger.error(`session: resume failed`, {message: e}) } finally { @@ -164,7 +168,6 @@ function App() { const [isReady, setReady] = useState(false) React.useEffect(() => { - beginResolveGeolocation() PlatformInfo.setAudioCategory(AudioCategory.Ambient) PlatformInfo.setAudioActive(false) Promise.all([initPersistedState(), ensureGeolocationResolved()]).then(() => diff --git a/src/App.web.tsx b/src/App.web.tsx index a3b0fc7702..954450eef3 100644 --- a/src/App.web.tsx +++ b/src/App.web.tsx @@ -55,6 +55,11 @@ import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry' import {Provider as PortalProvider} from '#/components/Portal' import {BackgroundNotificationPreferencesProvider} from '../modules/expo-background-notification-handler/src/BackgroundNotificationHandlerProvider' +/** + * Begin geolocation ASAP + */ +beginResolveGeolocation() + function InnerApp() { const [isReady, setIsReady] = React.useState(false) const {currentAccount} = useSession() @@ -76,7 +81,6 @@ function InnerApp() { } finally { setIsReady(true) } - await ensureGeolocationResolved() } const account = readLastActiveAccount() onLaunch(account) @@ -145,7 +149,6 @@ function App() { const [isReady, setReady] = useState(false) React.useEffect(() => { - beginResolveGeolocation() Promise.all([initPersistedState(), ensureGeolocationResolved()]).then(() => setReady(true), ) diff --git a/src/storage/index.ts b/src/storage/index.ts index ad5e58032f..7ef226d3aa 100644 --- a/src/storage/index.ts +++ b/src/storage/index.ts @@ -1,5 +1,6 @@ import {MMKV} from 'react-native-mmkv' +import {IS_DEV} from '#/env' import {Device} from '#/storage/schema' export * from '#/storage/schema' @@ -72,3 +73,10 @@ export class Storage { * `device.set([key], true)` */ export const device = new Storage<[], Device>({id: 'bsky_device'}) + +if (IS_DEV && typeof window !== 'undefined') { + // @ts-ignore + window.bsky_storage = { + device, + } +}