From b842da4f13a92f593e6ac9f372968ff75c9cdba7 Mon Sep 17 00:00:00 2001 From: Harshit Singh <73997189+harshit078@users.noreply.github.com> Date: Fri, 24 Oct 2025 19:14:51 +0530 Subject: [PATCH] feat: Add attachment size for attachments (#15330) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description - This PR address issue https://github.com/twentyhq/core-team-issues/issues/1685 - Added attachment size limit upto 10mb for all google, microsoft and SMTP provider ## Visual Screenshot 2025-10-24 at 5 35 34 PM --- .../hooks/useUploadWorkflowFile.ts | 12 ++++++++++++ .../advanced-text-editor/utils/MaxAttachmentSize.ts | 1 + 2 files changed, 13 insertions(+) create mode 100644 packages/twenty-front/src/modules/advanced-text-editor/utils/MaxAttachmentSize.ts diff --git a/packages/twenty-front/src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts b/packages/twenty-front/src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts index 56749a4f0c..c52761421b 100644 --- a/packages/twenty-front/src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts +++ b/packages/twenty-front/src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts @@ -1,5 +1,8 @@ +import { MAX_ATTACHMENT_SIZE } from '@/advanced-text-editor/utils/MaxAttachmentSize'; +import { formatFileSize } from '@/file/utils/formatFileSize'; import { useApolloCoreClient } from '@/object-metadata/hooks/useApolloCoreClient'; import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; +import { t } from '@lingui/core/macro'; import { isDefined } from 'twenty-shared/utils'; import { useCreateFileMutation } from '~/generated-metadata/graphql'; import { logError } from '~/utils/logError'; @@ -21,6 +24,15 @@ export const useUploadWorkflowFile = () => { file: File, ): Promise => { try { + if (file.size > MAX_ATTACHMENT_SIZE) { + const fileName = file.name; + const maxUploadSize = formatFileSize(MAX_ATTACHMENT_SIZE); + enqueueErrorSnackBar({ + message: t`File "${fileName}" exceeds ${maxUploadSize}`, + }); + return null; + } + const result = await createFile({ variables: { file }, }); diff --git a/packages/twenty-front/src/modules/advanced-text-editor/utils/MaxAttachmentSize.ts b/packages/twenty-front/src/modules/advanced-text-editor/utils/MaxAttachmentSize.ts new file mode 100644 index 0000000000..1f55328f64 --- /dev/null +++ b/packages/twenty-front/src/modules/advanced-text-editor/utils/MaxAttachmentSize.ts @@ -0,0 +1 @@ +export const MAX_ATTACHMENT_SIZE = 10 * 1024 * 1024;