diff --git a/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts b/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts index d5966648b..3bad70273 100644 --- a/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts +++ b/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts @@ -17,13 +17,14 @@ import { AuthTokenPair } from '~/generated/graphql'; import { logDebug } from '~/utils/logDebug'; import { i18n } from '@lingui/core'; +import { captureException } from '@sentry/react'; import { GraphQLFormattedError } from 'graphql'; import { isDefined } from 'twenty-shared/utils'; import { cookieStorage } from '~/utils/cookie-storage'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; import { ApolloManager } from '../types/apolloManager.interface'; -import { loggerLink } from '../utils/loggerLink'; import { getTokenPair } from '../utils/getTokenPair'; +import { loggerLink } from '../utils/loggerLink'; const logger = loggerLink(() => 'Twenty'); @@ -133,6 +134,9 @@ export class ApolloFactory implements ApolloManager { }), ).flatMap(() => forward(operation)); } + case 'FORBIDDEN': { + return; + } default: if (isDebugMode === true) { logDebug( @@ -145,6 +149,7 @@ export class ApolloFactory implements ApolloManager { }, Path: ${graphQLError.path}`, ); } + captureException(graphQLError); } } } diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/relation/field-metadata-relation.service.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/relation/field-metadata-relation.service.ts index 44a096f29..927439c54 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/relation/field-metadata-relation.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/relation/field-metadata-relation.service.ts @@ -88,9 +88,9 @@ export class FieldMetadataRelationService { const sourceObjectMetadata = objectMetadataMaps.byId[objectMetadataId]; const targetObjectMetadata = objectMetadataMaps.byId[relationTargetObjectMetadataId]; - const sourceFieldMetadata = sourceObjectMetadata.fieldsById[id]; + const sourceFieldMetadata = sourceObjectMetadata?.fieldsById[id]; const targetFieldMetadata = - targetObjectMetadata.fieldsById[relationTargetFieldMetadataId]; + targetObjectMetadata?.fieldsById[relationTargetFieldMetadataId]; if ( !sourceObjectMetadata ||