From a4daead678f7ab881f78c87c57af44c38cb0c181 Mon Sep 17 00:00:00 2001 From: Rajdeep Das Date: Wed, 7 Jan 2026 19:26:43 +0530 Subject: [PATCH] Fix view field updates not persisting (#16672) Fixes an issue where column width changes and other view field modifications were not persisted, and a toast error was shown. **Root Causes:** 1. Frontend was using client-generated IDs instead of database IDs for updates 2. Backend cache was stale, causing `View field to update not found` error **Changes:** - Use the existing database ID when updating view fields - Exclude client-generated IDs when creating new view fields - Invalidate flat entity maps cache before/after view field operations - Refresh both view and view field caches to prevent validation errors Fixes #16417 Closes #16381 --- .../src/modules/views/hooks/useSaveCurrentViewFields.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewFields.ts b/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewFields.ts index 261b7c3be6..d54635d586 100644 --- a/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewFields.ts +++ b/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewFields.ts @@ -81,11 +81,13 @@ export const useSaveCurrentViewFields = () => { position: existingField.position, size: existingField.size, isVisible: existingField.isVisible, + aggregateOperation: existingField.aggregateOperation, }, { position: createViewFieldInput.position, size: createViewFieldInput.size, isVisible: createViewFieldInput.isVisible, + aggregateOperation: createViewFieldInput.aggregateOperation, }, ) ) { @@ -101,7 +103,7 @@ export const useSaveCurrentViewFields = () => { ...viewFieldsToUpdate, { input: { - id: createViewFieldInput.id, + id: existingField.id, update: { aggregateOperation: createViewFieldInput.aggregateOperation,