From 54cf857a1ab504593a2f1cd6b977003bd2b1ebb7 Mon Sep 17 00:00:00 2001
From: Marie <51697796+ijreilly@users.noreply.github.com>
Date: Mon, 2 Feb 2026 11:51:11 +0100
Subject: [PATCH] =?UTF-8?q?Revert=20"fix:=20prevent=20default=20object=20r?=
=?UTF-8?q?e-selection=20in=20relation=20field=20fo=E2=80=A6=20(#17619)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
I suggest to revert [this
PR](https://github.com/twentyhq/twenty/pull/17313) as it had already
been fixed [in this
PR](https://github.com/twentyhq/twenty/pull/17209/changes) (which fixes
more than it says in its title). Issue was tracked by [this
ticket](https://github.com/twentyhq/core-team-issues/issues/2049) not
very explicit - sorry, my fault.
Code added in the PR does not add value
---
.../SettingsMorphRelationMultiSelect.tsx | 4 +---
.../SettingsDataModelFieldRelationForm.tsx | 13 ++++-------
.../input/components/MultiSelectControl.tsx | 23 ++++++-------------
3 files changed, 12 insertions(+), 28 deletions(-)
diff --git a/packages/twenty-front/src/modules/settings/components/SettingsMorphRelationMultiSelect.tsx b/packages/twenty-front/src/modules/settings/components/SettingsMorphRelationMultiSelect.tsx
index 9c274fa069..ceb89c27a8 100644
--- a/packages/twenty-front/src/modules/settings/components/SettingsMorphRelationMultiSelect.tsx
+++ b/packages/twenty-front/src/modules/settings/components/SettingsMorphRelationMultiSelect.tsx
@@ -1,5 +1,5 @@
import styled from '@emotion/styled';
-import { plural, t } from '@lingui/core/macro';
+import { plural } from '@lingui/core/macro';
import { useMemo, useRef, useState, type MouseEvent } from 'react';
import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown';
@@ -191,7 +191,6 @@ export const SettingsMorphRelationMultiSelect = ({
isDisabled={isDisabled}
selectSizeVariant={selectSizeVariant}
hasRightElement={hasRightElement}
- placeholderText={t`Select objects...`}
/>
) : (
}
dropdownComponents={
diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/components/SettingsDataModelFieldRelationForm.tsx b/packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/components/SettingsDataModelFieldRelationForm.tsx
index 2110f45ff7..2637b36181 100644
--- a/packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/components/SettingsDataModelFieldRelationForm.tsx
+++ b/packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/components/SettingsDataModelFieldRelationForm.tsx
@@ -17,7 +17,6 @@ import { SettingsTextInput } from '@/ui/input/components/SettingsTextInput';
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
import styled from '@emotion/styled';
import { useLingui } from '@lingui/react/macro';
-import { useMemo } from 'react';
import { isDefined } from 'twenty-shared/utils';
import { RelationType } from '~/generated-metadata/graphql';
@@ -115,14 +114,10 @@ export const SettingsDataModelFieldRelationForm = ({
relationType: initialRelationType,
});
- const initialMorphRelationsObjectMetadataIds = useMemo(
- () =>
- initialRelationObjectMetadataItems.map(
- (relationObjectMetadataItem) => relationObjectMetadataItem.id,
- ),
- [initialRelationObjectMetadataItems],
- );
-
+ const initialMorphRelationsObjectMetadataIds =
+ initialRelationObjectMetadataItems.map(
+ (relationObjectMetadataItem) => relationObjectMetadataItem.id,
+ );
const isMobile = useIsMobile();
return (
diff --git a/packages/twenty-front/src/modules/ui/input/components/MultiSelectControl.tsx b/packages/twenty-front/src/modules/ui/input/components/MultiSelectControl.tsx
index af59e7df7c..4c75faa35e 100644
--- a/packages/twenty-front/src/modules/ui/input/components/MultiSelectControl.tsx
+++ b/packages/twenty-front/src/modules/ui/input/components/MultiSelectControl.tsx
@@ -20,7 +20,6 @@ type MultiSelectControlProps = Omit & {
fixedIcon?: IconComponent;
fixedText?: string;
selectedOptions: MultiSelectOptionType[];
- placeholderText?: string;
};
export const MultiSelectControl = ({
@@ -31,22 +30,16 @@ export const MultiSelectControl = ({
selectSizeVariant,
textAccent = 'default',
hasRightElement,
- placeholderText,
}: MultiSelectControlProps) => {
const theme = useTheme();
- const firstSelectedOption = selectedOptions[0];
- const hasSelection = selectedOptions.length > 0;
-
+ const firstSelectedOption = selectedOptions?.[0];
return (
{isDefined(fixedIcon) ? (
@@ -55,7 +48,7 @@ export const MultiSelectControl = ({
size: theme.icon.size.md,
stroke: theme.icon.stroke.sm,
})
- ) : hasSelection && isDefined(firstSelectedOption.Icon) ? (
+ ) : isDefined(firstSelectedOption?.Icon) ? (
- ) : hasSelection ? (
-
- ) : isDefined(placeholderText) ? (
-
- ) : null}
+ ) : (
+
+ )}