diff --git a/packages/twenty-front/src/modules/views/hooks/useSaveRecordFiltersAndGroupFiltersToViewFiltersAndGroupFilters.ts b/packages/twenty-front/src/modules/views/hooks/useSaveRecordFiltersAndGroupFiltersToViewFiltersAndGroupFilters.ts index 31589686d8..f3b9f67ada 100644 --- a/packages/twenty-front/src/modules/views/hooks/useSaveRecordFiltersAndGroupFiltersToViewFiltersAndGroupFilters.ts +++ b/packages/twenty-front/src/modules/views/hooks/useSaveRecordFiltersAndGroupFiltersToViewFiltersAndGroupFilters.ts @@ -89,21 +89,6 @@ export const useSaveRecordFiltersAndGroupFiltersToViewFiltersAndGroupFilters = currentView, ); await performViewFilterGroupAPIUpdate(viewFilterGroupsToUpdate); - await performViewFilterGroupAPIDestroy(viewFilterGroupIdsToDestroy); - - // Mirror the DB cascade: remove cascade-deleted viewFilters from the store - if (viewFilterGroupIdsToDestroy.length > 0) { - const destroyedIdsSet = new Set(viewFilterGroupIdsToDestroy); - - store.set(metadataStoreState.atomFamily('viewFilters'), (prev) => ({ - ...prev, - current: (prev.current as FlatViewFilter[]).filter( - (viewFilter) => - !isDefined(viewFilter.viewFilterGroupId) || - !destroyedIdsSet.has(viewFilter.viewFilterGroupId), - ), - })); - } const currentViewFilters = currentView.viewFilters ?? []; const currentRecordFilters = store.get( @@ -195,6 +180,22 @@ export const useSaveRecordFiltersAndGroupFiltersToViewFiltersAndGroupFilters = if (deleteResult.status === 'failed') { return; } + + await performViewFilterGroupAPIDestroy(viewFilterGroupIdsToDestroy); + + // Mirror the DB cascade: remove cascade-deleted viewFilters from the store + if (viewFilterGroupIdsToDestroy.length > 0) { + const destroyedIdsSet = new Set(viewFilterGroupIdsToDestroy); + + store.set(metadataStoreState.atomFamily('viewFilters'), (prev) => ({ + ...prev, + current: (prev.current as FlatViewFilter[]).filter( + (viewFilter) => + !isDefined(viewFilter.viewFilterGroupId) || + !destroyedIdsSet.has(viewFilter.viewFilterGroupId), + ), + })); + } }, [ canPersistChanges, currentView,