Move initI18n() from entry.client.tsx to root.tsx in both Planner and Journal so i18n is initialized before any component renders. Downgrade react-i18next to 16.6.1 and i18next to 25.10.4 to avoid hydration mismatch issues introduced in newer versions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import * as Sentry from "@sentry/react";
|
|
import { useEffect } from "react";
|
|
import { startTransition, StrictMode } from "react";
|
|
import { hydrateRoot } from "react-dom/client";
|
|
import { HydratedRouter } from "react-router/dom";
|
|
import { useLocation, useNavigationType, createRoutesFromChildren, matchRoutes } from "react-router";
|
|
|
|
const sentryEnvironment = import.meta.env.VITE_SENTRY_ENVIRONMENT ??
|
|
(import.meta.env.PROD ? "production" : "development");
|
|
|
|
Sentry.init({
|
|
dsn: "https://a32ffcc575d34be072e91b20f247eeee@o4509530546634752.ingest.de.sentry.io/4509530555547728",
|
|
integrations: [
|
|
Sentry.reactRouterV7BrowserTracingIntegration({
|
|
useEffect,
|
|
useLocation,
|
|
useNavigationType,
|
|
createRoutesFromChildren,
|
|
matchRoutes,
|
|
}),
|
|
Sentry.replayIntegration(),
|
|
],
|
|
environment: sentryEnvironment,
|
|
tracesSampleRate: sentryEnvironment === "ci" ? 0 : 1.0,
|
|
replaysSessionSampleRate: sentryEnvironment === "ci" ? 0 : 1.0,
|
|
replaysOnErrorSampleRate: 1.0,
|
|
enabled: import.meta.env.PROD && sentryEnvironment !== "ci",
|
|
});
|
|
|
|
startTransition(() => {
|
|
hydrateRoot(
|
|
document,
|
|
<StrictMode>
|
|
<HydratedRouter />
|
|
</StrictMode>,
|
|
);
|
|
});
|