Fix circular structure error in useFetchMoreRecordsWithPagination (#13042)
Fixes: TypeError: Converting circular structure to JSON crashing opportunities pagination. Issue: useFetchMoreRecordsWithPagination was putting an Apollo client object in React's dependency array. React tried to serialize it for memoization, hit circular refs in InMemoryCache, and was throwing the error. Fix: Removed unnecessary Apollo client import. The fetchMore from the original useQuery is already bound to the correct client. before: https://github.com/user-attachments/assets/0422c57b-5cd2-4c0f-9828-fb7bbd7f94c1 after: https://github.com/user-attachments/assets/20112fb7-3990-4c34-bf39-8c53b7b48e45
This commit is contained in:
@ -24,7 +24,6 @@ import { OnFindManyRecordsCompleted } from '@/object-record/types/OnFindManyReco
|
||||
import { filterUniqueRecordEdgesByCursor } from '@/object-record/utils/filterUniqueRecordEdgesByCursor';
|
||||
import { getQueryIdentifier } from '@/object-record/utils/getQueryIdentifier';
|
||||
|
||||
import { useApolloCoreClient } from '@/object-metadata/hooks/useApolloCoreClient';
|
||||
import { capitalize, isDefined } from 'twenty-shared/utils';
|
||||
import { cursorFamilyState } from '../states/cursorFamilyState';
|
||||
import { hasNextPageFamilyState } from '../states/hasNextPageFamilyState';
|
||||
@ -77,8 +76,6 @@ export const useFetchMoreRecordsWithPagination = <
|
||||
objectMetadataItem,
|
||||
onCompleted,
|
||||
}: UseFindManyRecordsStateParams<T>) => {
|
||||
const apolloCoreClient = useApolloCoreClient();
|
||||
|
||||
const queryIdentifier = getQueryIdentifier({
|
||||
objectNameSingular,
|
||||
filter,
|
||||
@ -124,14 +121,12 @@ export const useFetchMoreRecordsWithPagination = <
|
||||
lastCursor: isNonEmptyString(lastCursorLocal)
|
||||
? lastCursorLocal
|
||||
: undefined,
|
||||
client: apolloCoreClient,
|
||||
},
|
||||
updateQuery: (prev, { fetchMoreResult }) => {
|
||||
const previousEdges =
|
||||
prev?.[objectMetadataItem.namePlural]?.edges;
|
||||
const nextEdges =
|
||||
fetchMoreResult?.[objectMetadataItem.namePlural]?.edges;
|
||||
|
||||
let newEdges: RecordGqlEdge[] = previousEdges ?? [];
|
||||
|
||||
if (isNonEmptyArray(nextEdges)) {
|
||||
@ -207,7 +202,6 @@ export const useFetchMoreRecordsWithPagination = <
|
||||
onCompleted,
|
||||
handleFindManyRecordsError,
|
||||
queryIdentifier,
|
||||
apolloCoreClient,
|
||||
],
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user