From 8280e78ed09615b3dc79ef502658b183d78f4580 Mon Sep 17 00:00:00 2001 From: danilo neves cruz Date: Mon, 16 Feb 2026 10:26:44 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=A5=85=20app:=20fingerprint=20api=20error?= =?UTF-8?q?s=20with=20status?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/quiet-otters-track.md | 5 +++++ src/utils/reportError.ts | 21 +++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 .changeset/quiet-otters-track.md diff --git a/.changeset/quiet-otters-track.md b/.changeset/quiet-otters-track.md new file mode 100644 index 000000000..376e4f441 --- /dev/null +++ b/.changeset/quiet-otters-track.md @@ -0,0 +1,5 @@ +--- +"@exactly/mobile": patch +--- + +🥅 fingerprint api errors with status diff --git a/src/utils/reportError.ts b/src/utils/reportError.ts index b1a08bd70..7c6f66402 100644 --- a/src/utils/reportError.ts +++ b/src/utils/reportError.ts @@ -71,6 +71,14 @@ function parseError(error: unknown) { error.code.length > 0 ? error.code : undefined; + const status = + typeof error === "object" && + error !== null && + "code" in error && + typeof error.code === "number" && + Number.isFinite(error.code) + ? String(error.code) + : undefined; const name = typeof error === "object" && error !== null && @@ -91,10 +99,10 @@ function parseError(error: unknown) { error.message.length > 0 ? normalizeMessage(error.message) : undefined; - return { code, name, message }; + return { code, name, message, status }; } -function classify({ code, name, message }: ParsedError) { +function classify({ code, name, message, status }: ParsedError) { const passkeyNameExpected = name === "NotAllowedError"; const passkeyCancelled = message !== undefined && passkeyCancelledMessages.has(message); const passkeyExpected = @@ -110,11 +118,16 @@ function classify({ code, name, message }: ParsedError) { ? message : undefined; const value = - code !== undefined && code !== "ERR_UNKNOWN" + (name === "APIError" && status !== undefined + ? message === undefined || message.endsWith("[object Object]") + ? ["{{ default }}", "api", status] + : ["{{ default }}", "api", status, message] + : undefined) ?? + (code !== undefined && code !== "ERR_UNKNOWN" ? ["{{ default }}", code] : fingerprintMessage === undefined ? undefined - : ["{{ default }}", fingerprintMessage]; + : ["{{ default }}", fingerprintMessage]); return { passkeyExpected, passkeyCancelled, passkeyNameExpected, authExpected, expected, fingerprint: value }; }