[BUGFIX] GenerateDefaultRecordChipData returns RecordChipData (#11071)
# Introduction closes https://github.com/twentyhq/twenty/issues/11030, might not fix the issue as it seems to be related to the passed record to `identifierChipGeneratorPerObject` about to dig deeper in this generator code => found nothing revelant doubled check each `RecordChip` invocation that could provide undefined record Fixed wrong default generated `RecordChipData` signature ## Reproducibility I've only been able to reproduce the bug in production using the very same opportunity than within the issue, but not all the time https://crm.twenty-internal.com/objects/opportunities?viewId=b709d3d1-2dd2-455d-ba73-784f3ab00883 ```json // Removed timelineActivities to prevent linking ids { "data": { "opportunity": { "__typename": "Opportunity", "closeDate": null, "company": null, "companyId": null, "createdAt": "2024-06-17T09:45:22.357Z", "deletedAt": null, "id": "006a22dd-6bd6-4247-a24b-42fb164cd48c", "name": "test", "pointOfContact": null, "pointOfContactId": null, "position": 0, "probability": "0", "stage": "NEW_STAGE", "updatedAt": "2025-03-20T16:27:51.927Z", "amount": { "__typename": "Currency", "amountMicros": null, "currencyCode": "USD" }, "attachments": { "__typename": "AttachmentConnection", "edges": [] }, "createdBy": { "__typename": "Actor", "source": "MANUAL", "workspaceMemberId": null, "name": "", "context": {} }, "favorites": { "__typename": "FavoriteConnection", "edges": [] }, "taskTargets": { "__typename": "TaskTargetConnection", "edges": [] }, "noteTargets": { "__typename": "NoteTargetConnection", "edges": [ { "__typename": "NoteTargetEdge", "node": { "__typename": "NoteTarget", "appEventId": null, "companyId": null, "createdAt": "2025-01-22T17:11:07.801Z", "deletedAt": null, "feedbackId": null, "id": "2e8eca1c-e2c2-425a-93fc-ef2aeb65f410", "issueId": null, "listingId": null, "noteId": "ab586b51-6931-4a4a-9c24-0d16226211b2", "opportunityId": "006a22dd-6bd6-4247-a24b-42fb164cd48c", "personId": null, "somethingId": null, "testId": null, "updatedAt": "2025-01-22T17:11:07.801Z" } } ] }, } } } ```
This commit is contained in:
@ -1,24 +1,37 @@
|
||||
import { PreComputedChipGeneratorsContext } from '@/object-metadata/contexts/PreComputedChipGeneratorsContext';
|
||||
import { generateDefaultRecordChipData } from '@/object-metadata/utils/generateDefaultRecordChipData';
|
||||
import { RecordChipData } from '@/object-record/record-field/types/RecordChipData';
|
||||
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
|
||||
import { useContext } from 'react';
|
||||
import { isDefined } from 'twenty-shared';
|
||||
|
||||
type UseRecordChipDataArgs = {
|
||||
objectNameSingular: string;
|
||||
record: ObjectRecord;
|
||||
};
|
||||
type UseRecordChipDataReturnType = {
|
||||
recordChipData: RecordChipData;
|
||||
};
|
||||
export const useRecordChipData = ({
|
||||
objectNameSingular,
|
||||
record,
|
||||
}: {
|
||||
objectNameSingular: string;
|
||||
record: ObjectRecord;
|
||||
}) => {
|
||||
}: UseRecordChipDataArgs): UseRecordChipDataReturnType => {
|
||||
const { identifierChipGeneratorPerObject } = useContext(
|
||||
PreComputedChipGeneratorsContext,
|
||||
);
|
||||
|
||||
const generateRecordChipData =
|
||||
identifierChipGeneratorPerObject[objectNameSingular] ??
|
||||
generateDefaultRecordChipData;
|
||||
const identifierChipGenerator =
|
||||
identifierChipGeneratorPerObject[objectNameSingular];
|
||||
if (isDefined(identifierChipGenerator)) {
|
||||
return {
|
||||
recordChipData: identifierChipGenerator(record),
|
||||
};
|
||||
}
|
||||
|
||||
const recordChipData = generateRecordChipData(record);
|
||||
|
||||
return { recordChipData };
|
||||
return {
|
||||
recordChipData: generateDefaultRecordChipData({
|
||||
objectNameSingular,
|
||||
record,
|
||||
}),
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user