From b379f89a7aecf061a28dd34659d7403e49fcf404 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 8 Jun 2025 20:35:38 +0300 Subject: [PATCH] chore(client): fix logging errors with circular objects --- apps/client/src/services/glob.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/client/src/services/glob.ts b/apps/client/src/services/glob.ts index 75ed6fd55..6e261b4c8 100644 --- a/apps/client/src/services/glob.ts +++ b/apps/client/src/services/glob.ts @@ -26,12 +26,18 @@ function setupGlobs() { window.onerror = function (msg, url, lineNo, columnNo, error) { const string = String(msg).toLowerCase(); + let errorObjectString = ""; + try { + errorObjectString = JSON.stringify(error); + } catch (e: any) { + errorObjectString = e.toString(); + } let message = "Uncaught error: "; if (string.includes("script error")) { message += "No details available"; } else { - message += [`Message: ${msg}`, `URL: ${url}`, `Line: ${lineNo}`, `Column: ${columnNo}`, `Error object: ${JSON.stringify(error)}`, `Stack: ${error && error.stack}`].join(", "); + message += [`Message: ${msg}`, `URL: ${url}`, `Line: ${lineNo}`, `Column: ${columnNo}`, `Error object: ${errorObjectString}`, `Stack: ${error && error.stack}`].join(", "); } ws.logError(message);