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;