feat: more robust client initialization for the app (#3830)

This commit is contained in:
Alex Hancock
2025-08-04 12:56:47 -04:00
committed by GitHub
parent 162011fccb
commit 3f567efd9e
7 changed files with 101 additions and 35 deletions
+17 -9
View File
@@ -1,6 +1,10 @@
import React, { Suspense, lazy } from 'react';
import ReactDOM from 'react-dom/client';
import { ConfigProvider } from './components/ConfigContext';
import {
ClientInitializationProvider,
RequireClientInitialization,
} from './contexts/ClientInitializationContext';
import { ErrorBoundary } from './components/ErrorBoundary';
import { patchConsoleLogging } from './utils';
import SuspenseLoader from './suspense-loader';
@@ -10,13 +14,17 @@ patchConsoleLogging();
const App = lazy(() => import('./App'));
ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode>
<Suspense fallback={SuspenseLoader()}>
<ConfigProvider>
<ErrorBoundary>
<App />
</ErrorBoundary>
</ConfigProvider>
</Suspense>
</React.StrictMode>
<ClientInitializationProvider>
<React.StrictMode>
<Suspense fallback={SuspenseLoader()}>
<RequireClientInitialization>
<ConfigProvider>
<ErrorBoundary>
<App />
</ErrorBoundary>
</ConfigProvider>
</RequireClientInitialization>
</Suspense>
</React.StrictMode>
</ClientInitializationProvider>
);