From 281070fb4e9061580e6052e92b03b88396a71e27 Mon Sep 17 00:00:00 2001 From: Yuen Ler Chow Date: Sat, 30 May 2026 23:28:53 -0700 Subject: [PATCH 1/3] Make client logging best-effort --- src/helpers/logClientEvent.tsx | 109 +++++++++++++++++---------------- 1 file changed, 56 insertions(+), 53 deletions(-) diff --git a/src/helpers/logClientEvent.tsx b/src/helpers/logClientEvent.tsx index 30030b1..8f6a676 100644 --- a/src/helpers/logClientEvent.tsx +++ b/src/helpers/logClientEvent.tsx @@ -66,59 +66,62 @@ const logClientEvent: LogFunction = async (opts) => { } } - // Send to server - return visitServerEndpoint({ - path: LOG_ROUTE_PATH, - method: 'POST', - params: { - context: ( - typeof opts.context === 'string' - ? opts.context - : ( - ((opts.context as any) ?? {})._ - ?? LogBuiltInMetadata.Context.Uncategorized - ) - ), - subcontext: ( - opts.subcontext - ?? LogBuiltInMetadata.Context.Uncategorized - ), - level: ( - opts.level - ?? LogLevel.Info - ), - tags: JSON.stringify(opts.tags ?? []), - metadata: JSON.stringify(metadata), - errorMessage: ( - (opts as any).error - ? (opts as any).error.message - : undefined - ), - errorCode: ( - (opts as any).error - ? (opts as any).error.code - : undefined - ), - errorStack: ( - (opts as any).error - ? (opts as any).error.stack - : undefined - ), - target: ( - (opts as any).action - ? ( - (opts as any).target - ?? LogBuiltInMetadata.Target.NoTarget - ) - : undefined - ), - action: ( - (opts as any).action - ? (opts as any).action - : undefined - ), - }, - }); + try { + return await visitServerEndpoint({ + path: LOG_ROUTE_PATH, + method: 'POST', + params: { + context: ( + typeof opts.context === 'string' + ? opts.context + : ( + ((opts.context as any) ?? {})._ + ?? LogBuiltInMetadata.Context.Uncategorized + ) + ), + subcontext: ( + opts.subcontext + ?? LogBuiltInMetadata.Context.Uncategorized + ), + level: ( + opts.level + ?? LogLevel.Info + ), + tags: JSON.stringify(opts.tags ?? []), + metadata: JSON.stringify(metadata), + errorMessage: ( + (opts as any).error + ? (opts as any).error.message + : undefined + ), + errorCode: ( + (opts as any).error + ? (opts as any).error.code + : undefined + ), + errorStack: ( + (opts as any).error + ? (opts as any).error.stack + : undefined + ), + target: ( + (opts as any).action + ? ( + (opts as any).target + ?? LogBuiltInMetadata.Target.NoTarget + ) + : undefined + ), + action: ( + (opts as any).action + ? (opts as any).action + : undefined + ), + }, + }); + } catch (err) { + return undefined as any; + } }; export default logClientEvent; From 253578c9da255008d5376d656a64245168222077 Mon Sep 17 00:00:00 2001 From: Yuen Ler Chow Date: Sat, 30 May 2026 23:34:21 -0700 Subject: [PATCH 2/3] didnt need any --- src/helpers/logClientEvent.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/logClientEvent.tsx b/src/helpers/logClientEvent.tsx index 8f6a676..ebba432 100644 --- a/src/helpers/logClientEvent.tsx +++ b/src/helpers/logClientEvent.tsx @@ -120,7 +120,7 @@ const logClientEvent: LogFunction = async (opts) => { }, }); } catch (err) { - return undefined as any; + return undefined; } }; From d2743672225efd352018ca8013b0cc6a7f32aea4 Mon Sep 17 00:00:00 2001 From: Yuen Ler Chow Date: Sat, 30 May 2026 23:40:37 -0700 Subject: [PATCH 3/3] log instead --- src/helpers/logClientEvent.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/helpers/logClientEvent.tsx b/src/helpers/logClientEvent.tsx index ebba432..c0d69e0 100644 --- a/src/helpers/logClientEvent.tsx +++ b/src/helpers/logClientEvent.tsx @@ -120,7 +120,9 @@ const logClientEvent: LogFunction = async (opts) => { }, }); } catch (err) { - return undefined; + // Logging is best-effort. Keep the signal without breaking the user flow. + // eslint-disable-next-line no-console + console.warn('Failed to log client event', err); } };