From 7be56862e402b1394b27d374be1305f5db43e3dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Bosi?= <71827178+bosiraphael@users.noreply.github.com> Date: Mon, 28 Apr 2025 18:18:15 +0200 Subject: [PATCH] Fix object metadata not found for id (#11777) Fixes https://github.com/twentyhq/twenty/issues/11668 Fixed an error due to falling back to the main context store object metadata when the one in the context store wasn't defined. When closing the command menu, the `contextStoreCurrentObjectMetadataItemIdComponentState` is reset, but the ActionMenuContextProvider was falling back to the main context store object metadata id, so the action components were mounted. But they still tried to access the `contextStoreCurrentObjectMetadataItemIdComponentState` which is `undefined`, which lead to an error being thrown. Fix: - Removed the fallback to the main context store object metadata item --- .../contexts/ActionMenuContextProvider.tsx | 21 +++---------------- 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/packages/twenty-front/src/modules/action-menu/contexts/ActionMenuContextProvider.tsx b/packages/twenty-front/src/modules/action-menu/contexts/ActionMenuContextProvider.tsx index 164c03b60..f2f5bc424 100644 --- a/packages/twenty-front/src/modules/action-menu/contexts/ActionMenuContextProvider.tsx +++ b/packages/twenty-front/src/modules/action-menu/contexts/ActionMenuContextProvider.tsx @@ -2,7 +2,6 @@ import { ActionMenuContextType } from '@/action-menu/contexts/ActionMenuContext' import { ActionMenuContextProviderWorkflowObjects } from '@/action-menu/contexts/ActionMenuContextProviderWorkflowObjects'; import { ActionMenuContextProviderWorkflowsEnabled } from '@/action-menu/contexts/ActionMenuContextProviderWorkflowsEnabled'; import { ActionMenuContextProviderWorkflowsNotEnabled } from '@/action-menu/contexts/ActionMenuContextProviderWorkflowsNotEnabled'; -import { MAIN_CONTEXT_STORE_INSTANCE_ID } from '@/context-store/constants/MainContextStoreInstanceId'; import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; @@ -24,31 +23,17 @@ export const ActionMenuContextProvider = ({ FeatureFlagKey.IsWorkflowEnabled, ); - const localContextStoreCurrentObjectMetadataItemId = - useRecoilComponentValueV2( - contextStoreCurrentObjectMetadataItemIdComponentState, - ); - - const mainContextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2( + const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2( contextStoreCurrentObjectMetadataItemIdComponentState, - MAIN_CONTEXT_STORE_INSTANCE_ID, ); const objectMetadataItems = useRecoilValue(objectMetadataItemsState); - const localContextStoreObjectMetadataItem = objectMetadataItems.find( + const objectMetadataItem = objectMetadataItems.find( (objectMetadataItem) => - objectMetadataItem.id === localContextStoreCurrentObjectMetadataItemId, + objectMetadataItem.id === contextStoreCurrentObjectMetadataItemId, ); - const mainContextStoreObjectMetadataItem = objectMetadataItems.find( - (objectMetadataItem) => - objectMetadataItem.id === mainContextStoreCurrentObjectMetadataItemId, - ); - - const objectMetadataItem = - localContextStoreObjectMetadataItem ?? mainContextStoreObjectMetadataItem; - const isWorkflowObject = objectMetadataItem?.nameSingular === CoreObjectNameSingular.Workflow || objectMetadataItem?.nameSingular === CoreObjectNameSingular.WorkflowRun ||