From 28506bf183b025e508ca230a000bbe98753cb75d Mon Sep 17 00:00:00 2001 From: GuillaumeSD Date: Sat, 3 May 2025 18:12:54 +0200 Subject: [PATCH] fix : could not allocate memory error --- sentry.client.config.ts | 10 ++++++++++ src/lib/engine/worker.ts | 6 +++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/sentry.client.config.ts b/sentry.client.config.ts index c9c04cf..87328f7 100644 --- a/sentry.client.config.ts +++ b/sentry.client.config.ts @@ -18,6 +18,16 @@ if ( replaysSessionSampleRate: 0, replaysOnErrorSampleRate: 1.0, debug: false, + initialScope: { + extra: { + hardwareConcurrency: navigator.hardwareConcurrency, + deviceMemory: + "deviceMemory" in navigator && + typeof navigator.deviceMemory === "number" + ? navigator.deviceMemory + : "unknown", + }, + }, ignoreErrors: [ "AbortError: The user aborted a request.", "Failed to fetch", diff --git a/src/lib/engine/worker.ts b/src/lib/engine/worker.ts index a463161..3392096 100644 --- a/src/lib/engine/worker.ts +++ b/src/lib/engine/worker.ts @@ -17,7 +17,11 @@ export const getEngineWorkers = ( navigator.hardwareConcurrency - 4, Math.ceil((navigator.hardwareConcurrency * 2) / 3) ); - const workersNb = workersInputNb ?? maxWorkersNb; + const deviceMemory = + "deviceMemory" in navigator && typeof navigator.deviceMemory === "number" + ? navigator.deviceMemory + : 4; + const workersNb = workersInputNb ?? Math.min(maxWorkersNb, deviceMemory, 10); for (let i = 0; i < workersNb; i++) { const worker = new Worker(enginePath);