diff --git a/apps/web/app/api/user/stats/newsletters/route.ts b/apps/web/app/api/user/stats/newsletters/route.ts index d9ffe2c399..a9fa28fcb5 100644 --- a/apps/web/app/api/user/stats/newsletters/route.ts +++ b/apps/web/app/api/user/stats/newsletters/route.ts @@ -236,7 +236,6 @@ async function getNewsletterCounts( } catch (error) { logger.error("getNewsletterCounts error", { error, - errorMessage: error instanceof Error ? error.message : String(error), errorStack: error instanceof Error ? error.stack : undefined, }); return []; diff --git a/apps/web/app/api/watch/controller.ts b/apps/web/app/api/watch/controller.ts index bad44dbcc9..123be3a8b5 100644 --- a/apps/web/app/api/watch/controller.ts +++ b/apps/web/app/api/watch/controller.ts @@ -58,7 +58,7 @@ export async function watchEmails({ logger.warn("Auth failure while watching inbox - cleaning up tokens", { emailAccountId, providerName: provider.name, - error: errorMessage, + error, }); await cleanupInvalidTokens({ emailAccountId, diff --git a/apps/web/utils/actions/ai-rule.ts b/apps/web/utils/actions/ai-rule.ts index 7a2a1720e4..f1f44c15eb 100644 --- a/apps/web/utils/actions/ai-rule.ts +++ b/apps/web/utils/actions/ai-rule.ts @@ -408,7 +408,7 @@ export const saveRulesPromptAction = actionClient } else { logger.error("Failed to create rule", { ruleName: rule.name, - error: error instanceof Error ? error.message : String(error), + error, }); } } @@ -500,7 +500,7 @@ export const createRulesAction = actionClient error instanceof Error ? error.message : String(error); logger.error("Failed to create rule", { ruleName: rule.name, - error: errorMessage, + error, }); errors.push({ ruleName: rule.name, diff --git a/apps/web/utils/actions/report.ts b/apps/web/utils/actions/report.ts index ae0d4b6389..aa99fc3613 100644 --- a/apps/web/utils/actions/report.ts +++ b/apps/web/utils/actions/report.ts @@ -197,7 +197,7 @@ async function fetchGmailLabels( } catch (error) { logger.warn("Failed to get details for label", { labelName: label.name, - error: error instanceof Error ? error.message : String(error), + error, }); return { ...label, @@ -216,9 +216,7 @@ async function fetchGmailLabels( return sortedLabels; } catch (error) { - logger.warn("Failed to fetch Gmail labels", { - error: error instanceof Error ? error.message : String(error), - }); + logger.warn("Failed to fetch Gmail labels", { error }); return []; } } @@ -234,9 +232,7 @@ async function fetchGmailSignature( return defaultSignature?.signature || ""; } catch (error) { - logger.warn("Failed to fetch Gmail signature", { - error: error instanceof Error ? error.message : String(error), - }); + logger.warn("Failed to fetch Gmail signature", { error }); return ""; } } diff --git a/apps/web/utils/ai/assistant/chat.ts b/apps/web/utils/ai/assistant/chat.ts index 213040c28f..cbd28eb9cb 100644 --- a/apps/web/utils/ai/assistant/chat.ts +++ b/apps/web/utils/ai/assistant/chat.ts @@ -230,7 +230,7 @@ const createRuleTool = ({ } catch (error) { const message = error instanceof Error ? error.message : String(error); - logger.error("Failed to create rule", { error: message }); + logger.error("Failed to create rule", { error }); return { error: "Failed to create rule", message }; } diff --git a/apps/web/utils/ai/assistant/process-user-request.ts b/apps/web/utils/ai/assistant/process-user-request.ts index 517462d21f..6abfbb9d6d 100644 --- a/apps/web/utils/ai/assistant/process-user-request.ts +++ b/apps/web/utils/ai/assistant/process-user-request.ts @@ -145,7 +145,7 @@ ${stringifyEmailSimple(getEmailForLLM(originalEmail))} logger.error("Error while updating rule", { ruleName, keys: Object.keys(rule), - error: message, + error, }); return { @@ -274,7 +274,7 @@ ${stringifyEmailSimple(getEmailForLLM(originalEmail))} // groupId, // type: groupItemType, // value, - // error: message, + // error, // }); // return { // error: "Failed to add pattern", @@ -339,7 +339,7 @@ ${stringifyEmailSimple(getEmailForLLM(originalEmail))} groupItemId: groupItem.id, type: groupItemType, value, - error: message, + error, }); return { diff --git a/apps/web/utils/ai/mcp/mcp-tools.ts b/apps/web/utils/ai/mcp/mcp-tools.ts index 8dc5814bde..d0f37ff7de 100644 --- a/apps/web/utils/ai/mcp/mcp-tools.ts +++ b/apps/web/utils/ai/mcp/mcp-tools.ts @@ -108,7 +108,7 @@ export async function createMcpToolsForAgent( }); } catch (error) { logger.error("Failed to create MCP client for integration", { - error: error instanceof Error ? error.message : String(error), + error, integration: integration.name, }); // Continue with other integrations diff --git a/apps/web/utils/ai/report/fetch.ts b/apps/web/utils/ai/report/fetch.ts index 2f92dd3d73..8e4f42819e 100644 --- a/apps/web/utils/ai/report/fetch.ts +++ b/apps/web/utils/ai/report/fetch.ts @@ -119,17 +119,13 @@ export async function fetchEmailTemplates( if (templates.length >= 10) break; } catch (error) { - logger.warn("Failed to process draft:", { - error: error instanceof Error ? error.message : String(error), - }); + logger.warn("Failed to process draft:", { error }); } } return templates; } catch (error) { - logger.warn("Failed to fetch email templates:", { - error: error instanceof Error ? error.message : String(error), - }); + logger.warn("Failed to fetch email templates:", { error }); return []; } } diff --git a/apps/web/utils/email/microsoft.ts b/apps/web/utils/email/microsoft.ts index 54547ad890..60ff0a4440 100644 --- a/apps/web/utils/email/microsoft.ts +++ b/apps/web/utils/email/microsoft.ts @@ -1437,7 +1437,7 @@ export class OutlookProvider implements EmailProvider { return []; } catch (error) { this.logger.error("Failed to extract signature from sent emails", { - error: error instanceof Error ? error.message : String(error), + error, }); return []; } diff --git a/apps/web/utils/gmail/signature-settings.ts b/apps/web/utils/gmail/signature-settings.ts index 6d9dbae4f2..43ebf7063b 100644 --- a/apps/web/utils/gmail/signature-settings.ts +++ b/apps/web/utils/gmail/signature-settings.ts @@ -49,9 +49,7 @@ export async function getGmailSignatures( return signatures; } catch (error) { - logger.error("Failed to fetch Gmail signatures", { - error: error instanceof Error ? error.message : String(error), - }); + logger.error("Failed to fetch Gmail signatures", { error }); throw error; } } diff --git a/apps/web/utils/outlook/subscription-manager.ts b/apps/web/utils/outlook/subscription-manager.ts index 431b2d6581..9eafbff8f1 100644 --- a/apps/web/utils/outlook/subscription-manager.ts +++ b/apps/web/utils/outlook/subscription-manager.ts @@ -146,7 +146,7 @@ export class OutlookSubscriptionManager { "Failed to cancel existing subscription (may already be expired)", { existingSubscriptionId, - error: error instanceof Error ? error.message : String(error), + error, }, ); } diff --git a/apps/web/utils/user/merge-premium.ts b/apps/web/utils/user/merge-premium.ts index 7c24d08920..30dfa1cc5c 100644 --- a/apps/web/utils/user/merge-premium.ts +++ b/apps/web/utils/user/merge-premium.ts @@ -211,7 +211,7 @@ export async function transferPremiumDuringMerge({ logger.error("Failed to transfer premium during user merge", { sourceUserId, targetUserId, - error: error instanceof Error ? error.message : String(error), + error, }); // Don't rethrow - we want the merge to continue even if premium transfer fails } diff --git a/apps/web/utils/webhook/process-history-item.ts b/apps/web/utils/webhook/process-history-item.ts index e50c51218b..d76e34e1d5 100644 --- a/apps/web/utils/webhook/process-history-item.ts +++ b/apps/web/utils/webhook/process-history-item.ts @@ -217,9 +217,7 @@ export async function processHistoryItem( } } - logger.error("Error processing message", { - error: error instanceof Error ? error.message : String(error), - }); + logger.error("Error processing message", { error }); throw error; } } diff --git a/version.txt b/version.txt index 63e2e9d392..afd246d5e5 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -v2.21.48 +v2.21.49