From 611e89e5c92d12051c10c67f9d80006f076fcb81 Mon Sep 17 00:00:00 2001 From: Paul Rastoin <45004772+prastoin@users.noreply.github.com> Date: Wed, 26 Feb 2025 11:11:01 +0100 Subject: [PATCH] [BUGFIX] Create optimistic cache generate `recordGqlFields` from prefilled record (#10493) # Introduction The record does not appear in the table because the optimistic record input cached does not fulfill the mutation response fields, which result in it being considered as invalid response close #10199 close https://github.com/twentyhq/twenty/issues/10153 --- .../cache/hooks/useCreateOneRecordInCache.ts | 11 +++++------ .../modules/object-record/hooks/useCreateOneRecord.ts | 1 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateOneRecordInCache.ts b/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateOneRecordInCache.ts index aad93e842..2dd6dc9fb 100644 --- a/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateOneRecordInCache.ts +++ b/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateOneRecordInCache.ts @@ -24,9 +24,13 @@ export const useCreateOneRecordInCache = ({ const apolloClient = useApolloClient(); return (record: ObjectRecord) => { + const prefilledRecord = prefillRecord({ + objectMetadataItem, + input: record, + }); const recordGqlFields = generateDepthOneRecordGqlFields({ objectMetadataItem, - record, + record: prefilledRecord, }); const fragment = gql` fragment Create${capitalize( @@ -41,11 +45,6 @@ export const useCreateOneRecordInCache = ({ })} `; - const prefilledRecord = prefillRecord({ - objectMetadataItem, - input: record, - }); - const recordToCreateWithNestedConnections = getRecordNodeFromRecord({ record: prefilledRecord, objectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts b/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts index 8f33b31d6..48492cafe 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts @@ -102,6 +102,7 @@ export const useCreateOneRecord = < recordInput: { ...baseOptimisticRecordInputCreatedBy, ...recordInput, + position: Number.NEGATIVE_INFINITY, id: idForCreation, }, });