diff --git a/package.json b/package.json index 73ae7f18495d..4eaa5eac73ca 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "yalc:publish": "lerna run yalc:publish" }, "volta": { - "node": "18.20.5", + "node": "20.18.2", "yarn": "1.22.22", "pnpm": "9.15.0" }, diff --git a/packages/browser/src/eventbuilder.ts b/packages/browser/src/eventbuilder.ts index acec653c5ee6..fc2654d2b4d7 100644 --- a/packages/browser/src/eventbuilder.ts +++ b/packages/browser/src/eventbuilder.ts @@ -199,6 +199,14 @@ export function extractType(ex: Error & { message: { error?: Error } }): string export function extractMessage(ex: Error & { message: { error?: Error } }): string { const message = ex?.message; + if (isWebAssemblyException(ex)) { + // For Node 18, Emscripten sets array[type, message] to the "message" property on the WebAssembly.Exception object + if (Array.isArray(ex.message) && ex.message.length == 2) { + return ex.message[1]; + } + return 'wasm exception'; + } + if (!message) { return 'No error message'; } @@ -207,11 +215,6 @@ export function extractMessage(ex: Error & { message: { error?: Error } }): stri return message.error.message; } - // Emscripten sets array[type, message] to the "message" property on the WebAssembly.Exception object - if (isWebAssemblyException(ex) && Array.isArray(ex.message) && ex.message.length == 2) { - return ex.message[1]; - } - return message; }