diff --git a/packages/twenty-front/src/modules/page-layout/hooks/useSaveRecordTableWidgetViews.ts b/packages/twenty-front/src/modules/page-layout/hooks/useSaveRecordTableWidgetViews.ts index b4e55c8464..5e3d83b0e7 100644 --- a/packages/twenty-front/src/modules/page-layout/hooks/useSaveRecordTableWidgetViews.ts +++ b/packages/twenty-front/src/modules/page-layout/hooks/useSaveRecordTableWidgetViews.ts @@ -65,7 +65,6 @@ export const useSaveRecordTableWidgetViews = () => { input: { widgetId: widget.id, viewFields: widgetViewDraft.viewFields.map((field) => ({ - ...(isDefined(field.id) ? { viewFieldId: field.id } : {}), fieldMetadataId: field.fieldMetadataId, isVisible: field.isVisible, position: field.position, diff --git a/packages/twenty-server/src/engine/metadata-modules/view/services/view-widget-upsert.service.ts b/packages/twenty-server/src/engine/metadata-modules/view/services/view-widget-upsert.service.ts index 3270c9d561..bf7fb0885a 100644 --- a/packages/twenty-server/src/engine/metadata-modules/view/services/view-widget-upsert.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/view/services/view-widget-upsert.service.ts @@ -383,13 +383,20 @@ export class ViewWidgetUpsertService { const fieldsToUpdate: FlatViewField[] = []; for (const inputField of inputFields) { - const existingField = isDefined(inputField.viewFieldId) + const existingFieldByViewFieldId = isDefined(inputField.viewFieldId) ? existingViewFields.find((f) => f.id === inputField.viewFieldId) - : isDefined(inputField.fieldMetadataId) - ? existingViewFields.find( - (f) => f.fieldMetadataId === inputField.fieldMetadataId, - ) - : undefined; + : undefined; + + const existingFieldByFieldMetadataId = isDefined( + inputField.fieldMetadataId, + ) + ? existingViewFields.find( + (f) => f.fieldMetadataId === inputField.fieldMetadataId, + ) + : undefined; + + const existingField = + existingFieldByViewFieldId ?? existingFieldByFieldMetadataId; if (isDefined(existingField)) { const resolvedIsVisible = isDefined(existingField.overrides?.isVisible)