diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/components/ExportNoteActionSingleRecordAction.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/components/ExportNoteActionSingleRecordAction.tsx index bf903851349..b13808f00c3 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/components/ExportNoteActionSingleRecordAction.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/components/ExportNoteActionSingleRecordAction.tsx @@ -23,7 +23,7 @@ export const ExportNoteActionSingleRecordAction = () => { // TODO: Remove this once we have removed the old rich text try { parsedBody = JSON.parse(initialBody); - } catch (error) { + } catch { // eslint-disable-next-line no-console console.warn( `Failed to parse body for record ${recordId}, for rich text version 'v2'`, diff --git a/packages/twenty-front/src/modules/activities/components/ActivityRichTextEditor.tsx b/packages/twenty-front/src/modules/activities/components/ActivityRichTextEditor.tsx index f3e26483f0c..0071db27002 100644 --- a/packages/twenty-front/src/modules/activities/components/ActivityRichTextEditor.tsx +++ b/packages/twenty-front/src/modules/activities/components/ActivityRichTextEditor.tsx @@ -282,7 +282,7 @@ export const ActivityRichTextEditor = ({ // TODO: Remove this once we have removed the old rich text try { parsedBody = JSON.parse(blocknote); - } catch (error) { + } catch { // eslint-disable-next-line no-console console.warn( `Failed to parse body for activity ${activityId}, for rich text version 'v2'`, diff --git a/packages/twenty-front/src/modules/ai/components/internal/AgentChatContextPreview.tsx b/packages/twenty-front/src/modules/ai/components/internal/AgentChatContextPreview.tsx index a46fcb97a19..1a47acb82ea 100644 --- a/packages/twenty-front/src/modules/ai/components/internal/AgentChatContextPreview.tsx +++ b/packages/twenty-front/src/modules/ai/components/internal/AgentChatContextPreview.tsx @@ -44,7 +44,7 @@ export const AgentChatContextPreview = ({ agentId }: { agentId: string }) => { try { await deleteFile({ variables: { fileId } }); - } catch (error) { + } catch { setAgentChatUploadedFiles(originalFiles); enqueueErrorSnackBar({ message: t`Failed to remove file`, diff --git a/packages/twenty-front/src/modules/ai/hooks/useAIChatFileUpload.ts b/packages/twenty-front/src/modules/ai/hooks/useAIChatFileUpload.ts index ebf67c2ce4d..2d48e2737c3 100644 --- a/packages/twenty-front/src/modules/ai/hooks/useAIChatFileUpload.ts +++ b/packages/twenty-front/src/modules/ai/hooks/useAIChatFileUpload.ts @@ -37,7 +37,7 @@ export const useAIChatFileUpload = ({ agentId }: { agentId: string }) => { agentChatSelectedFiles.filter((f) => f.name !== file.name), ); return uploadedFile; - } catch (error) { + } catch { const fileName = file.name; enqueueErrorSnackBar({ message: t`Failed to upload file: ${fileName}`, diff --git a/packages/twenty-front/src/modules/apollo/utils/getTokenPair.ts b/packages/twenty-front/src/modules/apollo/utils/getTokenPair.ts index c84cde1d286..9154756daf3 100644 --- a/packages/twenty-front/src/modules/apollo/utils/getTokenPair.ts +++ b/packages/twenty-front/src/modules/apollo/utils/getTokenPair.ts @@ -28,7 +28,7 @@ export const getTokenPair = (): AuthTokenPair | undefined => { } return parsedTokenPair; - } catch (error) { + } catch { cookieStorage.removeItem('tokenPair'); return undefined; } diff --git a/packages/twenty-front/src/modules/apollo/utils/streamingRestLink.ts b/packages/twenty-front/src/modules/apollo/utils/streamingRestLink.ts index 1ceb350642d..80cf8298fbe 100644 --- a/packages/twenty-front/src/modules/apollo/utils/streamingRestLink.ts +++ b/packages/twenty-front/src/modules/apollo/utils/streamingRestLink.ts @@ -157,7 +157,7 @@ export class StreamingRestLink extends ApolloLink { }); return directive; - } catch (error) { + } catch { return null; } } diff --git a/packages/twenty-front/src/modules/auth/components/TwoFactorAuthenticationProvisionEffect.tsx b/packages/twenty-front/src/modules/auth/components/TwoFactorAuthenticationProvisionEffect.tsx index 126339de615..b238ec8f4c3 100644 --- a/packages/twenty-front/src/modules/auth/components/TwoFactorAuthenticationProvisionEffect.tsx +++ b/packages/twenty-front/src/modules/auth/components/TwoFactorAuthenticationProvisionEffect.tsx @@ -54,7 +54,7 @@ export const TwoFactorAuthenticationSetupEffect = () => { setQrCodeState( initiateOTPProvisioningResult.data?.initiateOTPProvisioning.uri, ); - } catch (error) { + } catch { enqueueErrorSnackBar({ message: t`Two factor authentication provisioning failed.`, options: { diff --git a/packages/twenty-front/src/modules/auth/hooks/useVerifyLogin.ts b/packages/twenty-front/src/modules/auth/hooks/useVerifyLogin.ts index dcca659005e..846bbf0fd0b 100644 --- a/packages/twenty-front/src/modules/auth/hooks/useVerifyLogin.ts +++ b/packages/twenty-front/src/modules/auth/hooks/useVerifyLogin.ts @@ -13,7 +13,7 @@ export const useVerifyLogin = () => { const verifyLoginToken = async (loginToken: string) => { try { await getAuthTokensFromLoginToken(loginToken); - } catch (error) { + } catch { enqueueErrorSnackBar({ message: t`Authentication failed`, }); diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationVerification.tsx b/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationVerification.tsx index 3ade007d627..f12a72c6340 100644 --- a/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationVerification.tsx +++ b/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationVerification.tsx @@ -196,7 +196,7 @@ export const SignInUpTOTPVerification = () => { } await getAuthTokensFromOTP(values.otp, loginToken, captchaToken); - } catch (error) { + } catch { form.setValue('otp', ''); enqueueErrorSnackBar({ diff --git a/packages/twenty-front/src/modules/billing/components/SettingsBillingSubscriptionInfo.tsx b/packages/twenty-front/src/modules/billing/components/SettingsBillingSubscriptionInfo.tsx index 09422e6573b..77d996d4bb1 100644 --- a/packages/twenty-front/src/modules/billing/components/SettingsBillingSubscriptionInfo.tsx +++ b/packages/twenty-front/src/modules/billing/components/SettingsBillingSubscriptionInfo.tsx @@ -136,7 +136,7 @@ export const SettingsBillingSubscriptionInfo = () => { enqueueSuccessSnackBar({ message: t`Subscription has been switched to Yearly.`, }); - } catch (error: any) { + } catch { enqueueErrorSnackBar({ message: t`Error while switching subscription to Yearly.`, }); @@ -162,7 +162,7 @@ export const SettingsBillingSubscriptionInfo = () => { enqueueSuccessSnackBar({ message: t`Subscription has been switched to Organization Plan.`, }); - } catch (error: any) { + } catch { enqueueErrorSnackBar({ message: t`Error while switching subscription to Organization Plan.`, }); diff --git a/packages/twenty-front/src/modules/localization/utils/detectCalendarStartDay.ts b/packages/twenty-front/src/modules/localization/utils/detectCalendarStartDay.ts index 30759ced0a8..8170a496562 100644 --- a/packages/twenty-front/src/modules/localization/utils/detectCalendarStartDay.ts +++ b/packages/twenty-front/src/modules/localization/utils/detectCalendarStartDay.ts @@ -32,7 +32,7 @@ export const detectCalendarStartDay = (): keyof typeof CalendarStartDay => { return SUNDAY_KEY; } } - } catch (error) { + } catch { // Fallback if Intl.Locale is not supported or fails } diff --git a/packages/twenty-front/src/modules/localization/utils/formatDateISOStringToCustomUnicodeFormat.ts b/packages/twenty-front/src/modules/localization/utils/formatDateISOStringToCustomUnicodeFormat.ts index d604742f92e..4ac9d97c105 100644 --- a/packages/twenty-front/src/modules/localization/utils/formatDateISOStringToCustomUnicodeFormat.ts +++ b/packages/twenty-front/src/modules/localization/utils/formatDateISOStringToCustomUnicodeFormat.ts @@ -15,7 +15,7 @@ export const formatDateISOStringToCustomUnicodeFormat = ({ return formatInTimeZone(new Date(date), timeZone, dateFormat, { locale: localeCatalog, }); - } catch (e) { + } catch { return 'Invalid format string'; } }; diff --git a/packages/twenty-front/src/modules/object-metadata/validation-schemas/metadataLabelSchema.ts b/packages/twenty-front/src/modules/object-metadata/validation-schemas/metadataLabelSchema.ts index 96a1602409e..d6b4d7e9a83 100644 --- a/packages/twenty-front/src/modules/object-metadata/validation-schemas/metadataLabelSchema.ts +++ b/packages/twenty-front/src/modules/object-metadata/validation-schemas/metadataLabelSchema.ts @@ -14,7 +14,7 @@ export const metadataLabelSchema = (existingLabels?: string[]) => { try { computeMetadataNameFromLabel(label); return true; - } catch (error) { + } catch { return false; } }, @@ -29,7 +29,7 @@ export const metadataLabelSchema = (existingLabels?: string[]) => { return true; } return !existingLabels.includes(computeMetadataNameFromLabel(label)); - } catch (error) { + } catch { return false; } }, diff --git a/packages/twenty-front/src/modules/object-metadata/validation-schemas/selectOptionsSchema.ts b/packages/twenty-front/src/modules/object-metadata/validation-schemas/selectOptionsSchema.ts index 8e1daa26e29..762cbb8bd30 100644 --- a/packages/twenty-front/src/modules/object-metadata/validation-schemas/selectOptionsSchema.ts +++ b/packages/twenty-front/src/modules/object-metadata/validation-schemas/selectOptionsSchema.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; import { FieldMetadataItemOption } from '@/object-metadata/types/FieldMetadataItem'; -import { computeOptionValueFromLabel } from '~/pages/settings/data-model/utils/compute-option-value-from-label.utils'; import { themeColorSchema } from 'twenty-ui/theme'; +import { computeOptionValueFromLabel } from '~/pages/settings/data-model/utils/compute-option-value-from-label.utils'; const selectOptionSchema = z .object({ @@ -17,7 +17,7 @@ const selectOptionSchema = z try { computeOptionValueFromLabel(option.label); return true; - } catch (error) { + } catch { return false; } }, diff --git a/packages/twenty-front/src/modules/object-record/hooks/__tests__/useDeleteOneRecord.test.tsx b/packages/twenty-front/src/modules/object-record/hooks/__tests__/useDeleteOneRecord.test.tsx index d8b1040b55b..54a3e386e68 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/__tests__/useDeleteOneRecord.test.tsx +++ b/packages/twenty-front/src/modules/object-record/hooks/__tests__/useDeleteOneRecord.test.tsx @@ -176,7 +176,7 @@ describe('useDeleteOneRecord', () => { try { await result.current.deleteOneRecord(personRecord.id); fail('Should have thrown an error'); - } catch (e) { + } catch { assertCachedRecordIsNull({ recordId: personRecord.id, objectMetadataItem: personObjectMetadataItem, @@ -316,7 +316,7 @@ describe('useDeleteOneRecord', () => { try { await result.current.deleteOneRecord(personRecord.id); fail('Should have thrown an error'); - } catch (e) { + } catch { assertCachedRecordMatchSnapshot({ recordId: personRecord.id, objectMetadataItem: personObjectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormMultiSelectFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormMultiSelectFieldInput.tsx index 20931398e29..2ad34566114 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormMultiSelectFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormMultiSelectFieldInput.tsx @@ -68,7 +68,7 @@ const StyledPlaceholder = styled(FormFieldPlaceholder)` const safeParsedValue = (value: string) => { try { return JSON.parse(value); - } catch (error) { + } catch { return value; } }; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/PhonesFieldDisplay.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/PhonesFieldDisplay.tsx index c7a37224d73..a3b3f0baed4 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/PhonesFieldDisplay.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/PhonesFieldDisplay.tsx @@ -35,7 +35,7 @@ export const PhonesFieldDisplay = () => { duration: 2000, }, }); - } catch (err) { + } catch { enqueueErrorSnackBar({ message: t`Error copying to clipboard`, options: { diff --git a/packages/twenty-front/src/modules/object-record/record-merge/hooks/useMergePreview.ts b/packages/twenty-front/src/modules/object-record/record-merge/hooks/useMergePreview.ts index 054e0f1dcb7..1a143d82f9a 100644 --- a/packages/twenty-front/src/modules/object-record/record-merge/hooks/useMergePreview.ts +++ b/packages/twenty-front/src/modules/object-record/record-merge/hooks/useMergePreview.ts @@ -55,7 +55,7 @@ export const useMergePreview = ({ setMergePreviewRecord(previewRecord); upsertRecords([previewRecord]); - } catch (error) { + } catch { setMergePreviewRecord(null); } finally { setIsGeneratingPreview(false); diff --git a/packages/twenty-front/src/modules/object-record/record-table/utils/buildRecordInputFromFilter.ts b/packages/twenty-front/src/modules/object-record/record-table/utils/buildRecordInputFromFilter.ts index 73742711403..14b905ac0ce 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/utils/buildRecordInputFromFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/utils/buildRecordInputFromFilter.ts @@ -240,7 +240,7 @@ const computeValueFromFilterSelect = ( return undefined; } return option.value; - } catch (error) { + } catch { return undefined; } case ViewFilterOperand.IsNot: @@ -261,7 +261,7 @@ const computeValueFromFilterMultiSelect = ( try { const parsedValue = parseJson(value); return parsedValue ? parsedValue : undefined; - } catch (error) { + } catch { return undefined; } case ViewFilterOperand.DoesNotContain: diff --git a/packages/twenty-front/src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts b/packages/twenty-front/src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts index c2cda60f894..3683aa1839e 100644 --- a/packages/twenty-front/src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts +++ b/packages/twenty-front/src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts @@ -70,7 +70,7 @@ export const useConfigVariableActions = (variableName: string) => { enqueueSuccessSnackBar({ message: t`Variable updated successfully.`, }); - } catch (error) { + } catch { enqueueErrorSnackBar({ message: t`Failed to update variable`, }); @@ -100,7 +100,7 @@ export const useConfigVariableActions = (variableName: string) => { enqueueSuccessSnackBar({ message: t`Variable deleted successfully.`, }); - } catch (error) { + } catch { enqueueErrorSnackBar({ message: t`Failed to remove override`, }); diff --git a/packages/twenty-front/src/modules/settings/playground/components/PlaygroundSetupForm.tsx b/packages/twenty-front/src/modules/settings/playground/components/PlaygroundSetupForm.tsx index 779c19c47c9..b63227f8030 100644 --- a/packages/twenty-front/src/modules/settings/playground/components/PlaygroundSetupForm.tsx +++ b/packages/twenty-front/src/modules/settings/playground/components/PlaygroundSetupForm.tsx @@ -80,7 +80,7 @@ export const PlaygroundSetupForm = () => { } return true; - } catch (error) { + } catch { throw new Error(t`Invalid API key`); } }; diff --git a/packages/twenty-front/src/modules/settings/profile/components/ProfilePictureUploader.tsx b/packages/twenty-front/src/modules/settings/profile/components/ProfilePictureUploader.tsx index 071ec5c4687..60064c24cf9 100644 --- a/packages/twenty-front/src/modules/settings/profile/components/ProfilePictureUploader.tsx +++ b/packages/twenty-front/src/modules/settings/profile/components/ProfilePictureUploader.tsx @@ -70,7 +70,7 @@ export const ProfilePictureUploader = () => { }); return result; - } catch (error) { + } catch { setErrorMessage('An error occurred while uploading the picture.'); } }; @@ -96,7 +96,7 @@ export const ProfilePictureUploader = () => { }); setCurrentWorkspaceMember({ ...currentWorkspaceMember, avatarUrl: null }); - } catch (error) { + } catch { setErrorMessage('An error occurred while removing the picture.'); } }; diff --git a/packages/twenty-front/src/modules/settings/two-factor-authentication/components/TwoFactorAuthenticationSetupForSettingsEffect.tsx b/packages/twenty-front/src/modules/settings/two-factor-authentication/components/TwoFactorAuthenticationSetupForSettingsEffect.tsx index 27b07750e25..031c49f1e46 100644 --- a/packages/twenty-front/src/modules/settings/two-factor-authentication/components/TwoFactorAuthenticationSetupForSettingsEffect.tsx +++ b/packages/twenty-front/src/modules/settings/two-factor-authentication/components/TwoFactorAuthenticationSetupForSettingsEffect.tsx @@ -45,7 +45,7 @@ export const TwoFactorAuthenticationSetupForSettingsEffect = () => { initiateOTPProvisioningResult.data .initiateOTPProvisioningForAuthenticatedUser.uri, ); - } catch (error) { + } catch { enqueueErrorSnackBar({ message: t`Two factor authentication provisioning failed.`, options: { diff --git a/packages/twenty-front/src/modules/settings/two-factor-authentication/components/TwoFactorAuthenticationVerificationForSettings.tsx b/packages/twenty-front/src/modules/settings/two-factor-authentication/components/TwoFactorAuthenticationVerificationForSettings.tsx index 256ac57557d..1c34479d8ab 100644 --- a/packages/twenty-front/src/modules/settings/two-factor-authentication/components/TwoFactorAuthenticationVerificationForSettings.tsx +++ b/packages/twenty-front/src/modules/settings/two-factor-authentication/components/TwoFactorAuthenticationVerificationForSettings.tsx @@ -190,7 +190,7 @@ export const useTwoFactorVerificationForSettings = () => { }); await handleVerificationSuccess(); - } catch (error) { + } catch { enqueueErrorSnackBar({ message: t`Invalid verification code. Please try again.`, }); diff --git a/packages/twenty-front/src/modules/settings/two-factor-authentication/utils/extractSecretFromOtpUri.ts b/packages/twenty-front/src/modules/settings/two-factor-authentication/utils/extractSecretFromOtpUri.ts index 260524065ff..14d094d9c65 100644 --- a/packages/twenty-front/src/modules/settings/two-factor-authentication/utils/extractSecretFromOtpUri.ts +++ b/packages/twenty-front/src/modules/settings/two-factor-authentication/utils/extractSecretFromOtpUri.ts @@ -7,7 +7,7 @@ export const extractSecretFromOtpUri = (otpUri: string): string | null => { try { const url = new URL(otpUri); return url.searchParams.get('secret'); - } catch (error) { + } catch { return null; } }; diff --git a/packages/twenty-front/src/modules/ui/field/display/components/PhonesDisplay.tsx b/packages/twenty-front/src/modules/ui/field/display/components/PhonesDisplay.tsx index bf801bd6762..bcac8f21b49 100644 --- a/packages/twenty-front/src/modules/ui/field/display/components/PhonesDisplay.tsx +++ b/packages/twenty-front/src/modules/ui/field/display/components/PhonesDisplay.tsx @@ -71,7 +71,7 @@ export const PhonesDisplay = ({ const parsePhoneNumberOrReturnInvalidValue = (number: string) => { try { return { parsedPhone: parsePhoneNumber(number) }; - } catch (e) { + } catch { return { invalidPhone: number }; } }; diff --git a/packages/twenty-front/src/pages/settings/ai/components/SettingsAgentHandoffForm.tsx b/packages/twenty-front/src/pages/settings/ai/components/SettingsAgentHandoffForm.tsx index 828774f1e00..fe05b5ccb59 100644 --- a/packages/twenty-front/src/pages/settings/ai/components/SettingsAgentHandoffForm.tsx +++ b/packages/twenty-front/src/pages/settings/ai/components/SettingsAgentHandoffForm.tsx @@ -79,7 +79,7 @@ export const SettingsAgentHandoffForm = ({ enqueueSuccessSnackBar({ message: t`Handoff created successfully`, }); - } catch (error) { + } catch { enqueueErrorSnackBar({ message: t`Failed to create handoff`, }); diff --git a/packages/twenty-front/src/pages/settings/ai/components/SettingsAgentHandoffTable.tsx b/packages/twenty-front/src/pages/settings/ai/components/SettingsAgentHandoffTable.tsx index 28f8ae2701b..f1d61391940 100644 --- a/packages/twenty-front/src/pages/settings/ai/components/SettingsAgentHandoffTable.tsx +++ b/packages/twenty-front/src/pages/settings/ai/components/SettingsAgentHandoffTable.tsx @@ -96,7 +96,7 @@ export const SettingsAgentHandoffTable = ({ enqueueSuccessSnackBar({ message: t`Handoff removed successfully`, }); - } catch (error) { + } catch { enqueueErrorSnackBar({ message: t`Failed to remove handoff`, }); diff --git a/packages/twenty-front/src/pages/settings/ai/hooks/useSettingsAgentFormState.ts b/packages/twenty-front/src/pages/settings/ai/hooks/useSettingsAgentFormState.ts index 1a3568504e2..564e95a0737 100644 --- a/packages/twenty-front/src/pages/settings/ai/hooks/useSettingsAgentFormState.ts +++ b/packages/twenty-front/src/pages/settings/ai/hooks/useSettingsAgentFormState.ts @@ -25,7 +25,7 @@ export const useSettingsAgentFormState = (mode: 'create' | 'edit') => { try { settingsAIAgentFormSchema.parse(formValues); return true; - } catch (error) { + } catch { return false; } }; diff --git a/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx b/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx index 60612cfbd7e..026a9af4ba5 100644 --- a/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx +++ b/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx @@ -122,7 +122,7 @@ export const SettingsDevelopersApiKeyDetail = () => { message: t`Role updated successfully`, }); setSelectedRoleId(roleId); - } catch (error) { + } catch { enqueueErrorSnackBar({ message: t`Error updating role`, }); @@ -145,7 +145,7 @@ export const SettingsDevelopersApiKeyDetail = () => { if (redirect) { navigate(SettingsPath.APIs); } - } catch (err) { + } catch { enqueueErrorSnackBar({ message: t`Error deleting api key.` }); } finally { setIsLoading(false); @@ -216,7 +216,7 @@ export const SettingsDevelopersApiKeyDetail = () => { }); } } - } catch (err) { + } catch { enqueueErrorSnackBar({ message: t`Error regenerating api key.`, }); diff --git a/packages/twenty-front/src/utils/isInIframe.ts b/packages/twenty-front/src/utils/isInIframe.ts index 7d160ccae5b..797c6a8e018 100644 --- a/packages/twenty-front/src/utils/isInIframe.ts +++ b/packages/twenty-front/src/utils/isInIframe.ts @@ -1,7 +1,7 @@ export const isInFrame = () => { try { return window.self !== window.top; - } catch (e) { + } catch { return true; } }; diff --git a/packages/twenty-server/src/database/clickHouse/migrations/run-migrations.ts b/packages/twenty-server/src/database/clickHouse/migrations/run-migrations.ts index e467971b26a..6644235a007 100644 --- a/packages/twenty-server/src/database/clickHouse/migrations/run-migrations.ts +++ b/packages/twenty-server/src/database/clickHouse/migrations/run-migrations.ts @@ -30,7 +30,7 @@ async function ensureDatabaseExists() { await client.command({ query: `CREATE DATABASE IF NOT EXISTS "${database}"`, }); - } catch (error) { + } catch { // It may fail due to permissions, but the database already exists } finally { await client.close(); diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/cursors.util.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/cursors.util.ts index 1a027c8a873..01545275fbd 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/cursors.util.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/cursors.util.ts @@ -17,7 +17,7 @@ export interface CursorData { export const decodeCursor = (cursor: string): T => { try { return JSON.parse(Buffer.from(cursor, 'base64').toString()); - } catch (err) { + } catch { throw new GraphqlQueryRunnerException( `Invalid cursor: ${cursor}`, GraphqlQueryRunnerExceptionCode.INVALID_CURSOR, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters/handlers/activity-query-result-getter.handler.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters/handlers/activity-query-result-getter.handler.ts index 23c73edc0ea..22b0785d0c7 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters/handlers/activity-query-result-getter.handler.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters/handlers/activity-query-result-getter.handler.ts @@ -31,7 +31,7 @@ export class ActivityQueryResultGetterHandler try { blocknote = JSON.parse(blocknoteJson); - } catch (error) { + } catch { blocknote = []; // TODO: Remove this once we have removed the old rich text // eslint-disable-next-line no-console diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/raw-json.scalar.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/raw-json.scalar.ts index c52aefa0542..28c6b0bf948 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/raw-json.scalar.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/raw-json.scalar.ts @@ -60,7 +60,7 @@ const stringify = (value: any): string => { const parseJSON = (value: string): object => { try { return JSON.parse(value); - } catch (e) { + } catch { throw new ValidationError(`Value is not valid JSON: ${value}`); } }; diff --git a/packages/twenty-server/src/engine/api/mcp/services/mcp-metadata.service.ts b/packages/twenty-server/src/engine/api/mcp/services/mcp-metadata.service.ts index 7e3bdc8f825..5a8f12d85b6 100644 --- a/packages/twenty-server/src/engine/api/mcp/services/mcp-metadata.service.ts +++ b/packages/twenty-server/src/engine/api/mcp/services/mcp-metadata.service.ts @@ -1,19 +1,19 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; -import { Request } from 'express'; import { validationMetadatasToSchemas } from 'class-validator-jsonschema'; +import { Request } from 'express'; import { JSONSchema7 } from 'json-schema'; -import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { CreateToolsService } from 'src/engine/api/mcp/services/tools/create.tools.service'; +import { DeleteToolsService } from 'src/engine/api/mcp/services/tools/delete.tools.service'; +import { GetToolsService } from 'src/engine/api/mcp/services/tools/get.tools.service'; +import { UpdateToolsService } from 'src/engine/api/mcp/services/tools/update.tools.service'; import { wrapJsonRpcResponse } from 'src/engine/core-modules/ai/utils/wrap-jsonrpc-response.util'; import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum'; import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service'; -import { CreateToolsService } from 'src/engine/api/mcp/services/tools/create.tools.service'; -import { UpdateToolsService } from 'src/engine/api/mcp/services/tools/update.tools.service'; -import { DeleteToolsService } from 'src/engine/api/mcp/services/tools/delete.tools.service'; -import { GetToolsService } from 'src/engine/api/mcp/services/tools/get.tools.service'; import { MetricsService } from 'src/engine/core-modules/metrics/metrics.service'; import { MetricsKeys } from 'src/engine/core-modules/metrics/types/metrics-keys.type'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; @Injectable() export class MCPMetadataService { @@ -146,7 +146,7 @@ export class MCPMetadataService { }); return { result }; - } catch (err) { + } catch { await this.metricsService.incrementCounter({ key: MetricsKeys.AIToolExecutionFailed, attributes: { diff --git a/packages/twenty-server/src/engine/api/rest/core/interfaces/rest-api-base.handler.ts b/packages/twenty-server/src/engine/api/rest/core/interfaces/rest-api-base.handler.ts index a9b9191bfaa..95ce540f198 100644 --- a/packages/twenty-server/src/engine/api/rest/core/interfaces/rest-api-base.handler.ts +++ b/packages/twenty-server/src/engine/api/rest/core/interfaces/rest-api-base.handler.ts @@ -565,7 +565,7 @@ export abstract class RestApiBaseHandler { private parseCursor = (cursor: string) => { try { return JSON.parse(Buffer.from(cursor ?? '', 'base64').toString()); - } catch (error) { + } catch { throw new BadRequestException(`Invalid cursor: ${cursor}`); } }; diff --git a/packages/twenty-server/src/engine/core-modules/admin-panel/admin-panel.service.ts b/packages/twenty-server/src/engine/core-modules/admin-panel/admin-panel.service.ts index bd9c56ce754..dc2a2f12c7f 100644 --- a/packages/twenty-server/src/engine/core-modules/admin-panel/admin-panel.service.ts +++ b/packages/twenty-server/src/engine/core-modules/admin-panel/admin-panel.service.ts @@ -223,7 +223,7 @@ export class AdminPanelService { const latestVersion = versions[0]; return { currentVersion, latestVersion }; - } catch (error) { + } catch { return { currentVersion, latestVersion: 'latest' }; } } diff --git a/packages/twenty-server/src/engine/core-modules/auth/services/google-apis-scopes.ts b/packages/twenty-server/src/engine/core-modules/auth/services/google-apis-scopes.ts index b154c91a422..70510546285 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/services/google-apis-scopes.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/google-apis-scopes.ts @@ -42,7 +42,7 @@ export class GoogleAPIScopesService { scopes, isValid: includesExpectedScopes(scopes, expectedScopes), }; - } catch (error) { + } catch { throw new AuthException( 'Google account connect error: cannot read scopes from token', AuthExceptionCode.INSUFFICIENT_SCOPES, diff --git a/packages/twenty-server/src/engine/core-modules/auth/strategies/oidc.auth.strategy.ts b/packages/twenty-server/src/engine/core-modules/auth/strategies/oidc.auth.strategy.ts index 18b3b431b0d..145d464c6f4 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/strategies/oidc.auth.strategy.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/strategies/oidc.auth.strategy.ts @@ -77,7 +77,7 @@ export class OIDCAuthStrategy extends PassportStrategy( identityProviderId: state.identityProviderId, workspaceInviteHash: state.workspaceInviteHash, }; - } catch (err) { + } catch { throw new AuthException('Invalid state', AuthExceptionCode.INVALID_INPUT); } } diff --git a/packages/twenty-server/src/engine/core-modules/auth/strategies/saml.auth.strategy.ts b/packages/twenty-server/src/engine/core-modules/auth/strategies/saml.auth.strategy.ts index 4dff257d8c7..82c97ecc985 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/strategies/saml.auth.strategy.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/strategies/saml.auth.strategy.ts @@ -14,11 +14,11 @@ import { AuthenticateOptions } from '@node-saml/passport-saml/lib/types'; import { isEmail } from 'class-validator'; import { Request } from 'express'; -import { SSOService } from 'src/engine/core-modules/sso/services/sso.service'; import { AuthException, AuthExceptionCode, } from 'src/engine/core-modules/auth/auth.exception'; +import { SSOService } from 'src/engine/core-modules/sso/services/sso.service'; export type SAMLRequest = Omit< Request, @@ -102,7 +102,7 @@ export class SamlAuthStrategy extends PassportStrategy( } throw new Error(); - } catch (err) { + } catch { throw new AuthException('Invalid state', AuthExceptionCode.INVALID_INPUT); } } diff --git a/packages/twenty-server/src/engine/core-modules/domain-manager/guards/cloudflare-secret.guard.ts b/packages/twenty-server/src/engine/core-modules/domain-manager/guards/cloudflare-secret.guard.ts index 65a34b06c9d..ae519cefe38 100644 --- a/packages/twenty-server/src/engine/core-modules/domain-manager/guards/cloudflare-secret.guard.ts +++ b/packages/twenty-server/src/engine/core-modules/domain-manager/guards/cloudflare-secret.guard.ts @@ -33,7 +33,7 @@ export class CloudflareSecretMatchGuard implements CanActivate { } return false; - } catch (err) { + } catch { return false; } } diff --git a/packages/twenty-server/src/engine/core-modules/domain-manager/services/custom-domain.service.ts b/packages/twenty-server/src/engine/core-modules/domain-manager/services/custom-domain.service.ts index f8856289cec..58268f3366d 100644 --- a/packages/twenty-server/src/engine/core-modules/domain-manager/services/custom-domain.service.ts +++ b/packages/twenty-server/src/engine/core-modules/domain-manager/services/custom-domain.service.ts @@ -3,10 +3,13 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import Cloudflare from 'cloudflare'; +import { CustomHostnameCreateParams } from 'cloudflare/resources/custom-hostnames/custom-hostnames'; import { isDefined } from 'twenty-shared/utils'; import { Repository } from 'typeorm'; -import { CustomHostnameCreateParams } from 'cloudflare/resources/custom-hostnames/custom-hostnames'; +import { AuditService } from 'src/engine/core-modules/audit/services/audit.service'; +import { CUSTOM_DOMAIN_ACTIVATED_EVENT } from 'src/engine/core-modules/audit/utils/events/workspace-event/custom-domain/custom-domain-activated'; +import { CUSTOM_DOMAIN_DEACTIVATED_EVENT } from 'src/engine/core-modules/audit/utils/events/workspace-event/custom-domain/custom-domain-deactivated'; import { DomainManagerException, DomainManagerExceptionCode, @@ -16,9 +19,6 @@ import { DomainManagerService } from 'src/engine/core-modules/domain-manager/ser import { domainManagerValidator } from 'src/engine/core-modules/domain-manager/validator/cloudflare.validate'; import { TwentyConfigService } from 'src/engine/core-modules/twenty-config/twenty-config.service'; import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; -import { CUSTOM_DOMAIN_ACTIVATED_EVENT } from 'src/engine/core-modules/audit/utils/events/workspace-event/custom-domain/custom-domain-activated'; -import { CUSTOM_DOMAIN_DEACTIVATED_EVENT } from 'src/engine/core-modules/audit/utils/events/workspace-event/custom-domain/custom-domain-deactivated'; -import { AuditService } from 'src/engine/core-modules/audit/services/audit.service'; @Injectable() export class CustomDomainService { @@ -156,7 +156,7 @@ export class CustomDomainService { zone_id: this.twentyConfigService.get('CLOUDFLARE_ZONE_ID'), }); } - } catch (err) { + } catch { return; } } diff --git a/packages/twenty-server/src/engine/core-modules/file/guards/file-path-guard.ts b/packages/twenty-server/src/engine/core-modules/file/guards/file-path-guard.ts index 471c55a2b6d..7d13030146e 100644 --- a/packages/twenty-server/src/engine/core-modules/file/guards/file-path-guard.ts +++ b/packages/twenty-server/src/engine/core-modules/file/guards/file-path-guard.ts @@ -1,11 +1,11 @@ import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common'; -import { JwtWrapperService } from 'src/engine/core-modules/jwt/services/jwt-wrapper.service'; -import { extractFileInfoFromRequest } from 'src/engine/core-modules/file/utils/extract-file-info-from-request.utils'; import { FileTokenJwtPayload, JwtTokenTypeEnum, } from 'src/engine/core-modules/auth/types/auth-context.type'; +import { extractFileInfoFromRequest } from 'src/engine/core-modules/file/utils/extract-file-info-from-request.utils'; +import { JwtWrapperService } from 'src/engine/core-modules/jwt/services/jwt-wrapper.service'; @Injectable() export class FilePathGuard implements CanActivate { @@ -35,7 +35,7 @@ export class FilePathGuard implements CanActivate { ) { return false; } - } catch (error) { + } catch { return false; } diff --git a/packages/twenty-server/src/engine/core-modules/file/jobs/file-deletion.job.ts b/packages/twenty-server/src/engine/core-modules/file/jobs/file-deletion.job.ts index e4ef481cb42..e7557d294e2 100644 --- a/packages/twenty-server/src/engine/core-modules/file/jobs/file-deletion.job.ts +++ b/packages/twenty-server/src/engine/core-modules/file/jobs/file-deletion.job.ts @@ -33,7 +33,7 @@ export class FileDeletionJob { filename, folderPath, }); - } catch (error) { + } catch { throw new Error( `[${FileDeletionJob.name}] Cannot delete file - ${fullPath}`, ); diff --git a/packages/twenty-server/src/engine/core-modules/graphql/pipes/resolver-validation.pipe.ts b/packages/twenty-server/src/engine/core-modules/graphql/pipes/resolver-validation.pipe.ts index b54e35bbfe5..7492fdd9c7b 100644 --- a/packages/twenty-server/src/engine/core-modules/graphql/pipes/resolver-validation.pipe.ts +++ b/packages/twenty-server/src/engine/core-modules/graphql/pipes/resolver-validation.pipe.ts @@ -15,7 +15,7 @@ const safeClassValidatorValidateWrapper = async ( ): Promise => { try { return await validate(object); - } catch (error) { + } catch { return []; } }; diff --git a/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts b/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts index d2ea0ba113e..f032ac29fd0 100644 --- a/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts @@ -62,7 +62,7 @@ export class OpenApiService { workspaceValidator.assertIsDefinedOrThrow(workspace); return workspace; - } catch (e) { + } catch { return null; } } diff --git a/packages/twenty-server/src/engine/core-modules/record-transformer/utils/transform-phones-value.util.ts b/packages/twenty-server/src/engine/core-modules/record-transformer/utils/transform-phones-value.util.ts index f3323fdd3bd..8fbdd425004 100644 --- a/packages/twenty-server/src/engine/core-modules/record-transformer/utils/transform-phones-value.util.ts +++ b/packages/twenty-server/src/engine/core-modules/record-transformer/utils/transform-phones-value.util.ts @@ -89,7 +89,7 @@ const parsePhoneNumberExceptionWrapper = ({ : callingCode, defaultCountry: countryCode, }); - } catch (error) { + } catch { throw new RecordTransformerException( `Provided phone number is invalid ${number}`, RecordTransformerExceptionCode.INVALID_PHONE_NUMBER, diff --git a/packages/twenty-server/src/engine/core-modules/serverless/drivers/local.driver.ts b/packages/twenty-server/src/engine/core-modules/serverless/drivers/local.driver.ts index 0011da1ce6c..ea5b96dc2d6 100644 --- a/packages/twenty-server/src/engine/core-modules/serverless/drivers/local.driver.ts +++ b/packages/twenty-server/src/engine/core-modules/serverless/drivers/local.driver.ts @@ -10,15 +10,15 @@ import { } from 'src/engine/core-modules/serverless/drivers/interfaces/serverless-driver.interface'; import { FileStorageService } from 'src/engine/core-modules/file-storage/file-storage.service'; -import { getServerlessFolder } from 'src/engine/core-modules/serverless/utils/serverless-get-folder.utils'; -import { ServerlessFunctionEntity } from 'src/engine/metadata-modules/serverless-function/serverless-function.entity'; -import { COMMON_LAYER_NAME } from 'src/engine/core-modules/serverless/drivers/constants/common-layer-name'; -import { copyAndBuildDependencies } from 'src/engine/core-modules/serverless/drivers/utils/copy-and-build-dependencies'; -import { SERVERLESS_TMPDIR_FOLDER } from 'src/engine/core-modules/serverless/drivers/constants/serverless-tmpdir-folder'; -import { INDEX_FILE_NAME } from 'src/engine/core-modules/serverless/drivers/constants/index-file-name'; import { readFileContent } from 'src/engine/core-modules/file-storage/utils/read-file-content'; -import { ServerlessFunctionExecutionStatus } from 'src/engine/metadata-modules/serverless-function/dtos/serverless-function-execution-result.dto'; +import { COMMON_LAYER_NAME } from 'src/engine/core-modules/serverless/drivers/constants/common-layer-name'; +import { INDEX_FILE_NAME } from 'src/engine/core-modules/serverless/drivers/constants/index-file-name'; +import { SERVERLESS_TMPDIR_FOLDER } from 'src/engine/core-modules/serverless/drivers/constants/serverless-tmpdir-folder'; +import { copyAndBuildDependencies } from 'src/engine/core-modules/serverless/drivers/utils/copy-and-build-dependencies'; import { ConsoleListener } from 'src/engine/core-modules/serverless/drivers/utils/intercept-console'; +import { getServerlessFolder } from 'src/engine/core-modules/serverless/utils/serverless-get-folder.utils'; +import { ServerlessFunctionExecutionStatus } from 'src/engine/metadata-modules/serverless-function/dtos/serverless-function-execution-result.dto'; +import { ServerlessFunctionEntity } from 'src/engine/metadata-modules/serverless-function/serverless-function.entity'; export interface LocalDriverOptions { fileStorageService: FileStorageService; @@ -41,7 +41,7 @@ export class LocalDriver implements ServerlessDriver { try { await fs.access(inMemoryLastVersionLayerFolderPath); - } catch (e) { + } catch { await copyAndBuildDependencies(inMemoryLastVersionLayerFolderPath); } } diff --git a/packages/twenty-server/src/engine/core-modules/sso/dtos/validators/x509.validator.ts b/packages/twenty-server/src/engine/core-modules/sso/dtos/validators/x509.validator.ts index ec4fb13898e..cf96d37c810 100644 --- a/packages/twenty-server/src/engine/core-modules/sso/dtos/validators/x509.validator.ts +++ b/packages/twenty-server/src/engine/core-modules/sso/dtos/validators/x509.validator.ts @@ -30,7 +30,7 @@ export class IsX509CertificateConstraint const cert = new crypto.X509Certificate(der); return cert instanceof crypto.X509Certificate; - } catch (error) { + } catch { return false; } } diff --git a/packages/twenty-server/src/engine/core-modules/sso/services/sso.service.ts b/packages/twenty-server/src/engine/core-modules/sso/services/sso.service.ts index eb92c554fea..0c0e879002a 100644 --- a/packages/twenty-server/src/engine/core-modules/sso/services/sso.service.ts +++ b/packages/twenty-server/src/engine/core-modules/sso/services/sso.service.ts @@ -53,7 +53,7 @@ export class SSOService { private async getIssuerForOIDC(issuerUrl: string) { try { return await Issuer.discover(issuerUrl); - } catch (err) { + } catch { throw new SSOException( 'Invalid issuer', SSOExceptionCode.INVALID_ISSUER_URL, diff --git a/packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts b/packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts index b21b1bcbe5a..4c1003993df 100644 --- a/packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts @@ -241,7 +241,7 @@ export class WorkspaceResolver { ...agent, roleId: agent.roleId ?? undefined, }; - } catch (error) { + } catch { // If agent is not found, return null instead of throwing return null; } @@ -275,7 +275,7 @@ export class WorkspaceResolver { url: workspace.logo, workspaceId: workspace.id, }); - } catch (e) { + } catch { return workspace.logo; } } @@ -360,7 +360,7 @@ export class WorkspaceResolver { url: workspace.logo, workspaceId: workspace.id, }); - } catch (e) { + } catch { workspaceLogoWithToken = workspace.logo; } } diff --git a/packages/twenty-server/src/engine/guards/jwt-auth.guard.ts b/packages/twenty-server/src/engine/guards/jwt-auth.guard.ts index 126b6141adf..6d670f9ef58 100644 --- a/packages/twenty-server/src/engine/guards/jwt-auth.guard.ts +++ b/packages/twenty-server/src/engine/guards/jwt-auth.guard.ts @@ -31,7 +31,7 @@ export class JwtAuthGuard implements CanActivate { request.userWorkspaceId = data.userWorkspaceId; return true; - } catch (error) { + } catch { return false; } } diff --git a/packages/twenty-server/src/engine/metadata-modules/index-metadata/index-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/index-metadata/index-metadata.service.ts index f3f2856e30f..cd420ad082b 100644 --- a/packages/twenty-server/src/engine/metadata-modules/index-metadata/index-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/index-metadata/index-metadata.service.ts @@ -93,7 +93,7 @@ export class IndexMetadataService { ...(isDefined(indexType) ? { indexType } : {}), isCustom, }); - } catch (error) { + } catch { throw new Error( `Failed to create index ${indexName} on object metadata ${objectMetadata.nameSingular}`, ); diff --git a/packages/twenty-server/src/engine/metadata-modules/permissions/permissions.service.ts b/packages/twenty-server/src/engine/metadata-modules/permissions/permissions.service.ts index 79d2bcf9259..38bacf76f69 100644 --- a/packages/twenty-server/src/engine/metadata-modules/permissions/permissions.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/permissions/permissions.service.ts @@ -247,7 +247,7 @@ export class PermissionsService { return permissionFlags.some( (permissionFlag) => permissionFlag.flag === flag, ); - } catch (error) { + } catch { return false; } } diff --git a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/foreign-table/foreign-table.service.ts b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/foreign-table/foreign-table.service.ts index d9737787e45..032dc3f406e 100644 --- a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/foreign-table/foreign-table.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/foreign-table/foreign-table.service.ts @@ -95,7 +95,7 @@ export class ForeignTableService { await this.workspaceMigrationRunnerService.executeMigrationFromPendingMigrations( workspaceId, ); - } catch (exception) { + } catch { this.workspaceMigrationService.deleteById(workspaceMigration.id); throw new ForeignTableException( @@ -138,7 +138,7 @@ export class ForeignTableService { status: RemoteTableStatus.SYNCED, schemaPendingUpdates: [], }; - } catch (exception) { + } catch { this.workspaceMigrationService.deleteById(workspaceMigration.id); throw new ForeignTableException( diff --git a/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.service.ts b/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.service.ts index 4dd0b604b95..c9a5e7e7a10 100644 --- a/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.service.ts @@ -407,7 +407,7 @@ export class ServerlessFunctionService { this.twentyConfigService.get('SERVERLESS_FUNCTION_EXEC_THROTTLE_LIMIT'), this.twentyConfigService.get('SERVERLESS_FUNCTION_EXEC_THROTTLE_TTL'), ); - } catch (error) { + } catch { throw new ServerlessFunctionException( 'Serverless function execution rate limit exceeded', ServerlessFunctionExceptionCode.SERVERLESS_FUNCTION_EXECUTION_LIMIT_REACHED, diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-permissions-cache/workspace-permissions-cache.service.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-permissions-cache/workspace-permissions-cache.service.ts index 87ff8e10b0e..e5df70dd8f0 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-permissions-cache/workspace-permissions-cache.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-permissions-cache/workspace-permissions-cache.service.ts @@ -93,7 +93,7 @@ export class WorkspacePermissionsCacheService { workspaceId, freshUserWorkspaceRoleMap, ); - } catch (error) { + } catch { // Flush stale userWorkspaceRoleMap await this.workspacePermissionsCacheStorageService.removeUserWorkspaceRoleMap( workspaceId, @@ -349,7 +349,7 @@ export class WorkspacePermissionsCacheService { workspaceId, freshApiKeyRoleMap, ); - } catch (error) { + } catch { // Flush stale apiKeyRoleMap await this.workspacePermissionsCacheStorageService.removeApiKeyRoleMap( workspaceId, diff --git a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/drivers/caldav/lib/caldav.client.ts b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/drivers/caldav/lib/caldav.client.ts index 5c60651ee7c..6ce60d10284 100644 --- a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/drivers/caldav/lib/caldav.client.ts +++ b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/drivers/caldav/lib/caldav.client.ts @@ -411,7 +411,7 @@ export class CalDAVClient { events: allEvents, newSyncToken, }); - } catch (error) { + } catch { results.set(calendar.url, { events: [], newSyncToken: options.syncCursor?.syncTokens[calendar.url], @@ -486,7 +486,7 @@ export class CalDAVClient { const event = events[0] as ical.VEvent; return event.start < endDate && event.end > startDate; - } catch (error) { + } catch { return true; } } diff --git a/packages/twenty-server/src/modules/contact-creation-manager/services/create-company.service.ts b/packages/twenty-server/src/modules/contact-creation-manager/services/create-company.service.ts index 6b2a3811cb8..77aa18786c7 100644 --- a/packages/twenty-server/src/modules/contact-creation-manager/services/create-company.service.ts +++ b/packages/twenty-server/src/modules/contact-creation-manager/services/create-company.service.ts @@ -184,7 +184,7 @@ export class CreateCompanyService { name: data.name ?? getCompanyNameFromDomainName(domainName ?? ''), city: data.city, }; - } catch (e) { + } catch { return { name: getCompanyNameFromDomainName(domainName ?? ''), city: '', diff --git a/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/filter/utils/evaluate-filter-conditions.util.ts b/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/filter/utils/evaluate-filter-conditions.util.ts index 1919a964222..cf2e275b246 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/filter/utils/evaluate-filter-conditions.util.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/filter/utils/evaluate-filter-conditions.util.ts @@ -104,7 +104,7 @@ function contains(leftValue: unknown, rightValue: unknown): boolean { } else { return leftValue.includes(parsedRightValue); } - } catch (error) { + } catch { return leftValue.includes(rightValue); } } diff --git a/packages/twenty-server/src/modules/workflow/workflow-runner/jobs/run-workflow.job.ts b/packages/twenty-server/src/modules/workflow/workflow-runner/jobs/run-workflow.job.ts index 2611c0f7f96..a13a403e592 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-runner/jobs/run-workflow.job.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-runner/jobs/run-workflow.job.ts @@ -180,7 +180,7 @@ export class RunWorkflowJob { this.twentyConfigService.get('WORKFLOW_EXEC_THROTTLE_LIMIT'), this.twentyConfigService.get('WORKFLOW_EXEC_THROTTLE_TTL'), ); - } catch (error) { + } catch { await this.metricsService.incrementCounter({ key: MetricsKeys.WorkflowRunFailedThrottled, eventId: workflowId, diff --git a/packages/twenty-server/src/utils/is-work-email.ts b/packages/twenty-server/src/utils/is-work-email.ts index edc3fade7c4..e89970a8fed 100644 --- a/packages/twenty-server/src/utils/is-work-email.ts +++ b/packages/twenty-server/src/utils/is-work-email.ts @@ -4,7 +4,7 @@ import { getDomainNameByEmail } from 'src/utils/get-domain-name-by-email'; export const isWorkEmail = (email: string) => { try { return !emailProvidersSet.has(getDomainNameByEmail(email)); - } catch (err) { + } catch { return false; } }; diff --git a/packages/twenty-shared/src/utils/getURLSafely.ts b/packages/twenty-shared/src/utils/getURLSafely.ts index a207ea62f06..9a636c4f920 100644 --- a/packages/twenty-shared/src/utils/getURLSafely.ts +++ b/packages/twenty-shared/src/utils/getURLSafely.ts @@ -1,7 +1,7 @@ export const getURLSafely = (url: string) => { try { return new URL(url); - } catch (e: unknown) { + } catch { return null; } }; diff --git a/packages/twenty-shared/src/utils/parseJson.ts b/packages/twenty-shared/src/utils/parseJson.ts index 4a463c2ed2c..5e10c63781e 100644 --- a/packages/twenty-shared/src/utils/parseJson.ts +++ b/packages/twenty-shared/src/utils/parseJson.ts @@ -1,7 +1,7 @@ export const parseJson = (json: string): T | null => { try { return JSON.parse(json); - } catch (e) { + } catch { return null; } }; diff --git a/packages/twenty-shared/src/utils/url/absoluteUrlSchema.ts b/packages/twenty-shared/src/utils/url/absoluteUrlSchema.ts index d5b2512f396..6b12072c58e 100644 --- a/packages/twenty-shared/src/utils/url/absoluteUrlSchema.ts +++ b/packages/twenty-shared/src/utils/url/absoluteUrlSchema.ts @@ -33,7 +33,7 @@ export const absoluteUrlSchema = z.string().transform((value, ctx) => { }); return z.NEVER; - } catch (error) { + } catch { ctx.addIssue({ code: z.ZodIssueCode.custom, message: 'domain is not a valid url', diff --git a/packages/twenty-shared/src/utils/variable-resolver.ts b/packages/twenty-shared/src/utils/variable-resolver.ts index 692b90ca7a8..6116da96354 100644 --- a/packages/twenty-shared/src/utils/variable-resolver.ts +++ b/packages/twenty-shared/src/utils/variable-resolver.ts @@ -100,7 +100,7 @@ const evalFromContext = (input: string, context: Record) => { }); return JSON.parse(inferredInput) ?? ''; - } catch (exception) { + } catch { return undefined; } };