From 6b1d20818186b0e5e06d628bc827f0d2e4faa440 Mon Sep 17 00:00:00 2001 From: Sonarly Claude Code Date: Fri, 20 Mar 2026 20:30:10 +0000 Subject: [PATCH] fix: gracefully handle missing object metadata in useObjectNameSingularFromPlural https://sonarly.com/issue/17092?type=bug When a user navigates to `/objects/quotes` (a custom object that doesn't exist in their workspace metadata), `useObjectNameSingularFromPlural` throws an unhandled error before the redirect to `/not-found` takes effect, causing a React render crash. --- .../hooks/useObjectNameSingularFromPlural.ts | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNameSingularFromPlural.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNameSingularFromPlural.ts index cd4cb8c9f19..7890b73d97e 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNameSingularFromPlural.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNameSingularFromPlural.ts @@ -1,12 +1,11 @@ import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector'; import { useAtomFamilySelectorValue } from '@/ui/utilities/state/jotai/hooks/useAtomFamilySelectorValue'; -import { isDefined } from 'twenty-shared/utils'; export const useObjectNameSingularFromPlural = ({ objectNamePlural, }: { objectNamePlural: string; -}) => { +}): { objectNameSingular: string | undefined } => { const objectMetadataItem = useAtomFamilySelectorValue( objectMetadataItemFamilySelector, { @@ -15,11 +14,5 @@ export const useObjectNameSingularFromPlural = ({ }, ); - if (!isDefined(objectMetadataItem)) { - throw new Error( - `Object metadata item not found for ${objectNamePlural} object`, - ); - } - - return { objectNameSingular: objectMetadataItem.nameSingular }; + return { objectNameSingular: objectMetadataItem?.nameSingular }; };