From b421efbff73cba598033c07a7ddaa5eaeb194ebd Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Thu, 5 Mar 2026 23:57:34 +0100 Subject: [PATCH] fix: remove add record on workflow runs/versions (#18448) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Disable manual record creation (add button, + header button, add new row) for **WorkflowRun** and **WorkflowVersion** objects since these are system-managed and should not be created manually - Fix vertical centering of the record table empty state placeholder (regression from `styled(Component)` refactor in #18430 — the wrapper lost `height: 100%` / `width: 100%`) ## Test plan - [ ] Navigate to Workflow Runs index page → empty state should show centered placeholder **without** "Add a Workflow Run" button - [ ] Navigate to Workflow Versions index page → empty state should show centered placeholder **without** "Add a Workflow Version" button - [ ] Navigate to any other object index page (e.g. People, Companies) → empty state should still show the "Add a ..." button and be centered - [ ] Verify the + button in the record table header is hidden for workflow runs/versions - [ ] Verify the "Add New" row at the bottom of the table is hidden for workflow runs/versions --- .../components/RecordTableNoRecordGroupAddNew.tsx | 5 +++++ .../components/RecordTableEmptyStateDisplay.tsx | 7 ++++++- ...ordTableHeaderLabelIdentifierCellPlusButton.tsx | 4 +++- .../RecordTableRecordGroupSectionAddNew.tsx | 5 +++++ .../utils/isRecordTableCreateDisabled.ts | 14 ++++++++++++++ 5 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 packages/twenty-front/src/modules/object-record/record-table/utils/isRecordTableCreateDisabled.ts diff --git a/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableNoRecordGroupAddNew.tsx b/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableNoRecordGroupAddNew.tsx index d342dfe7b75..189458073fe 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableNoRecordGroupAddNew.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableNoRecordGroupAddNew.tsx @@ -4,6 +4,7 @@ import { useUpsertRecordsInStore } from '@/object-record/record-store/hooks/useU import { useRecordTableContextOrThrow } from '@/object-record/record-table/contexts/RecordTableContext'; import { useCreateNewIndexRecord } from '@/object-record/record-table/hooks/useCreateNewIndexRecord'; import { RecordTableActionRow } from '@/object-record/record-table/record-table-row/components/RecordTableActionRow'; +import { isRecordTableCreateDisabled } from '@/object-record/record-table/utils/isRecordTableCreateDisabled'; import { useLoadRecordsToVirtualRows } from '@/object-record/record-table/virtualization/hooks/useLoadRecordsToVirtualRows'; import { totalNumberOfRecordsToVirtualizeComponentState } from '@/object-record/record-table/virtualization/states/totalNumberOfRecordsToVirtualizeComponentState'; import { useAtomComponentSelectorValue } from '@/ui/utilities/state/jotai/hooks/useAtomComponentSelectorValue'; @@ -65,6 +66,10 @@ export const RecordTableNoRecordGroupAddNew = () => { return null; } + if (isRecordTableCreateDisabled(objectMetadataItem.nameSingular)) { + return null; + } + return ( * { align-items: flex-start; } @@ -77,7 +81,8 @@ export const RecordTableEmptyStateDisplay = ( {'buttonComponent' in props && props.buttonComponent} {'buttonTitle' in props && !isReadOnly && - !hasAnySoftDeleteFilterOnView && ( + !hasAnySoftDeleteFilterOnView && + !isRecordTableCreateDisabled(objectMetadataItem.nameSingular) && (