From f82325b66b7f37709dfd629a0ea6282910579a84 Mon Sep 17 00:00:00 2001 From: neo773 <62795688+neo773@users.noreply.github.com> Date: Fri, 21 Nov 2025 15:36:21 +0530 Subject: [PATCH] handle HTTP 410,404 in GmailMessagesImportErrorHandler (#15969) Noticed this in prod, we currently return `undefined` instead of handling it. --- .../parse-gmail-messages-import-error.spec.ts | 16 ++++++++++++++-- .../parse-gmail-messages-import-error.util.ts | 6 +++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/utils/__tests__/parse-gmail-messages-import-error.spec.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/utils/__tests__/parse-gmail-messages-import-error.spec.ts index 4e817897ca..b6acda5490 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/utils/__tests__/parse-gmail-messages-import-error.spec.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/utils/__tests__/parse-gmail-messages-import-error.spec.ts @@ -138,7 +138,13 @@ describe('parseGmailMessagesImportError', () => { messageExternalId, ); - expect(exception).toBe(undefined); + expect(exception).toBeInstanceOf(MessageImportDriverException); + expect(exception?.code).toBe( + MessageImportDriverExceptionCode.SYNC_CURSOR_ERROR, + ); + expect(exception?.message).toBe( + `${error.error.errors[0].message} for message with externalId: ${messageExternalId}`, + ); }); it('should handle 410 Gone', () => { @@ -148,7 +154,13 @@ describe('parseGmailMessagesImportError', () => { messageExternalId, ); - expect(exception).toBe(undefined); + expect(exception).toBeInstanceOf(MessageImportDriverException); + expect(exception?.code).toBe( + MessageImportDriverExceptionCode.SYNC_CURSOR_ERROR, + ); + expect(exception?.message).toBe( + `${error.error.errors[0].message} for message with externalId: ${messageExternalId}`, + ); }); it('should handle 429 Too Many Requests', () => { diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/utils/parse-gmail-messages-import-error.util.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/utils/parse-gmail-messages-import-error.util.ts index 0058e0ee76..9030df14af 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/utils/parse-gmail-messages-import-error.util.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/utils/parse-gmail-messages-import-error.util.ts @@ -53,7 +53,11 @@ export const parseGmailMessagesImportError = ( case 404: case 410: - return undefined; + return new MessageImportDriverException( + message, + MessageImportDriverExceptionCode.SYNC_CURSOR_ERROR, + { cause: options?.cause }, + ); case 429: return new MessageImportDriverException(