From dc13805172c732b412beea79d9e7d42f52dd62f5 Mon Sep 17 00:00:00 2001 From: Nik Graf Date: Thu, 14 Aug 2025 19:24:27 +0200 Subject: [PATCH] slow down to avoid possible privy race conditions --- apps/connect/src/routes/login.lazy.tsx | 2 ++ packages/hypergraph/src/connect/login.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/apps/connect/src/routes/login.lazy.tsx b/apps/connect/src/routes/login.lazy.tsx index 94ef016a..1cde6d45 100644 --- a/apps/connect/src/routes/login.lazy.tsx +++ b/apps/connect/src/routes/login.lazy.tsx @@ -88,6 +88,8 @@ function Login() { transport: custom(privyProvider), }); + await new Promise((resolve) => setTimeout(resolve, 500)); // trying to slow down since Privy seems to have a race condition + await hypergraphLogin(walletClient, embeddedWallet); const redirect = localStorage.getItem('geo-connect-authenticate-redirect'); diff --git a/packages/hypergraph/src/connect/login.ts b/packages/hypergraph/src/connect/login.ts index 8d63283f..704d11e0 100644 --- a/packages/hypergraph/src/connect/login.ts +++ b/packages/hypergraph/src/connect/login.ts @@ -137,6 +137,7 @@ const getAndUpdateSmartAccount = async ( console.log('smartAccountWalletClient', smartAccountWalletClient); console.log('address', smartAccountWalletClient.account.address); console.log('is deployed', await isSmartAccountDeployed(smartAccountWalletClient)); + await new Promise((resolve) => setTimeout(resolve, 250)); // trying to slow down since Privy seems to have a race condition // This will prompt the user to sign a user operation to update the smart account if (await smartAccountNeedsUpdate(smartAccountWalletClient, chain, rpcUrl)) { console.log('updating smart account'); @@ -145,6 +146,7 @@ const getAndUpdateSmartAccount = async ( // Create the client again to ensure we have the 7579 config now return getSmartAccountWalletClient(smartAccountParams); } + await new Promise((resolve) => setTimeout(resolve, 250)); // trying to slow down since Privy seems to have a race condition console.log('leaving getAndUpdateSmartAccount'); return smartAccountWalletClient; };