{"record":{"id":"eaea2fe4fefebeb3","repo":"twentyhq/twenty","slug":"field-fieldmetadata-name-is-missing-please-ref","errorCode":null,"errorMessage":"Field ${fieldMetadata.name} is missing, please refresh the page. If the problem persists, please contact support.","messagePattern":"Field (.+?) is missing, please refresh the page\\. If the problem persists, please contact support\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"warning","filePath":"packages/twenty-front/src/modules/object-record/graphql/record-gql-fields/utils/generateDepthRecordGqlFieldsFromFields.ts","lineNumber":125,"sourceCode":"        };\n\n        return {\n          ...recordGqlFields,\n          ...(depth === 1 && shouldOnlyLoadRelationIdentifiers\n            ? { [fieldMetadata.name]: relationIdentifierSubGqlFields }\n            : undefined),\n          ...(depth === 1 && !shouldOnlyLoadRelationIdentifiers\n            ? { [fieldMetadata.name]: true }\n            : undefined),\n          ...(relationType === RelationType.MANY_TO_ONE\n            ? manyToOneGqlFields\n            : undefined),\n        };\n      }\n\n      if (isMorphRelation) {\n        if (!isDefined(fieldMetadata.morphRelations)) {\n          throw new Error(\n            `Field ${fieldMetadata.name} is missing, please refresh the page. If the problem persists, please contact support.`,\n          );\n        }\n\n        const morphGqlFields = fieldMetadata.morphRelations.map(\n          (morphRelation) => {\n            const morphTargetObjectMetadataItem = objectMetadataItems.find(\n              (objectMetadataItem) =>\n                objectMetadataItem.id === morphRelation.targetObjectMetadata.id,\n            );\n\n            if (!morphTargetObjectMetadataItem) {\n              throw new Error(\n                `Target object metadata item not found for ${fieldMetadata.name} (morph target ${morphRelation.targetObjectMetadata.nameSingular})`,\n              );\n            }\n\n            return {","sourceCodeStart":107,"sourceCodeEnd":143,"githubUrl":"https://github.com/twentyhq/twenty/blob/1f5dd2bbd2a8da3419c8cfd52dd545c0024df1a6/packages/twenty-front/src/modules/object-record/graphql/record-gql-fields/utils/generateDepthRecordGqlFieldsFromFields.ts#L107-L143","documentation":"Thrown by generateDepthRecordGqlFieldsFromFields (generateDepthRecordGqlFieldsFromFields.ts:121-126) when a field marked as a morph relation has no `morphRelations` array on its metadata. This indicates the in-memory object metadata is incomplete or stale relative to the field type. The message instructs the user to refresh, since a metadata reload typically fixes the inconsistency.","triggerScenarios":"Generating GraphQL field selections for a record whose metadata contains a field with isMorphRelation === true (or relationType matching morph) but fieldMetadata.morphRelations is undefined/null. Triggered when rendering or querying a record with morph-relation fields after metadata was partially loaded.","commonSituations":"Stale Apollo cache holding old metadata after a workspace schema change; metadata sync race during initial load; partial metadata payload from a network glitch; new morph field created but metadata not refetched in the active session.","solutions":["Refresh the page / refetch workspace metadata so morphRelations is populated.","Call the metadata refetch hook to invalidate and reload object metadata.","Confirm the backend returns morphRelations for the field in the metadata query.","If persistent, check that the field's relation type and metadata item are consistent server-side."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Before generating field selections, confirm morph fields have morphRelations\nconst safeFields = fields.filter(\n  (f) => !isMorphRelationField(f) || isDefined(f.morphRelations),\n);","typeGuard":"const hasMorphRelations = (f: FieldMetadata): boolean =>\n  !isMorphRelation(f) || (isDefined(f.morphRelations) && f.morphRelations.length > 0);","tryCatchPattern":null,"preventionTips":["Refetch workspace metadata after schema changes.","Wait for metadata loading to complete before rendering record forms.","Invalidate Apollo cache on metadata version changes.","Show a loading state until metadata is fully populated."],"tags":["frontend","metadata","graphql","stale-state","object-record"],"backgroundTag":null,"analyzedSha":"1f5dd2bbd2a8da3419c8cfd52dd545c0024df1a6","analyzedAt":"2026-08-12T15:37:27.593Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}