From 5f583982fea59b0e73707266206e735fdaa19ece Mon Sep 17 00:00:00 2001 From: jonathanprozzi Date: Tue, 5 Nov 2024 22:10:36 -0500 Subject: [PATCH 1/2] Adds additional queryClient config to the providers in Portal -- this is needed for the hydration pattern --- apps/portal/app/.client/providers.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/portal/app/.client/providers.tsx b/apps/portal/app/.client/providers.tsx index f841482c8..d5d2c4df5 100644 --- a/apps/portal/app/.client/providers.tsx +++ b/apps/portal/app/.client/providers.tsx @@ -4,7 +4,14 @@ import { PrivyProvider } from '@privy-io/react-auth' import { WagmiProvider } from '@privy-io/wagmi' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' -const queryClient = new QueryClient() +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + // Disable automatic refetching on window focus for SSR + refetchOnWindowFocus: false, + }, + }, +}) const privyConfig: PrivyClientConfig = { embeddedWallets: { From 59b4241bc84cbf549002c55ead68540c6505d5b4 Mon Sep 17 00:00:00 2001 From: jonathanprozzi Date: Wed, 6 Nov 2024 13:49:35 -0500 Subject: [PATCH 2/2] Adds HydrationBoundary support to the providers.tsx in Portal --- apps/portal/app/.client/providers.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/apps/portal/app/.client/providers.tsx b/apps/portal/app/.client/providers.tsx index d5d2c4df5..2b7b7a8a1 100644 --- a/apps/portal/app/.client/providers.tsx +++ b/apps/portal/app/.client/providers.tsx @@ -2,7 +2,11 @@ import { wagmiConfig } from '@lib/utils/wagmi' import type { PrivyClientConfig } from '@privy-io/react-auth' import { PrivyProvider } from '@privy-io/react-auth' import { WagmiProvider } from '@privy-io/wagmi' -import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { + HydrationBoundary, + QueryClient, + QueryClientProvider, +} from '@tanstack/react-query' const queryClient = new QueryClient({ defaultOptions: { @@ -29,9 +33,11 @@ const privyConfig: PrivyClientConfig = { export default function Providers({ privyAppId, children, + dehydratedState, }: { privyAppId: string children: React.ReactNode + dehydratedState?: unknown }) { return ( - - {children} - + + + {children} + + )