fix: lazy initialize client services to bootstrap sentry

This commit is contained in:
2026-07-17 15:19:27 +02:00
parent 7a9a21732b
commit 88132b8f84

View File

@@ -22,11 +22,18 @@ export default function AnalyticsShell() {
return;
}
const initServices = () => {
import('@/lib/services/create-services').then(({ getAppServices }) => {
getAppServices();
setShouldLoad(true);
}).catch(console.error);
};
// Wait until browser is completely idle before loading heavy analytics/logger/sentry SDKs
if (typeof window !== 'undefined' && 'requestIdleCallback' in window) {
window.requestIdleCallback(() => setShouldLoad(true), { timeout: 3000 });
window.requestIdleCallback(initServices, { timeout: 3000 });
} else {
const timer = setTimeout(() => setShouldLoad(true), 2500);
const timer = setTimeout(initServices, 2500);
return () => clearTimeout(timer);
}
}, []);