summaryrefslogtreecommitdiff
path: root/packages/core/src
diff options
context:
space:
mode:
authorzhiyue <[email protected]>2025-06-26 04:14:44 +0800
committerGitHub <[email protected]>2025-06-25 20:14:44 +0000
commitb0cf9bcecea84c15ad951edc94f09f73f8c3a192 (patch)
tree3bebe4e89b87239b4b4dd77f933e8405dcb77c47 /packages/core/src
parent31f32421a3b37cbfd296b02c39b112170ca5e761 (diff)
fix(telemetry): handle all promise rejections in ClearcutLogger (#1557)
Co-authored-by: Scott Densmore <[email protected]>
Diffstat (limited to 'packages/core/src')
-rw-r--r--packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts21
1 files changed, 14 insertions, 7 deletions
diff --git a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts
index 03e94ef7..7afe7ecc 100644
--- a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts
+++ b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts
@@ -120,15 +120,22 @@ export class ClearcutLogger {
reject(e);
});
req.end(body);
- }).then((buf: Buffer) => {
- try {
- this.last_flush_time = Date.now();
- return this.decodeLogResponse(buf) || {};
- } catch (error: unknown) {
+ })
+ .then((buf: Buffer) => {
+ try {
+ this.last_flush_time = Date.now();
+ return this.decodeLogResponse(buf) || {};
+ } catch (error: unknown) {
+ console.error('Error flushing log events:', error);
+ return {};
+ }
+ })
+ .catch((error: unknown) => {
+ // Handle all errors to prevent unhandled promise rejections
console.error('Error flushing log events:', error);
+ // Return empty response to maintain the Promise<LogResponse> contract
return {};
- }
- });
+ });
}
// Visible for testing. Decodes protobuf-encoded response from Clearcut server.