https://sonarly.com/issue/19162?type=bug
When creating a relation field with a `targetFieldLabel` that contains only non-ASCII, non-transliterable characters (e.g. `"???"`), the server throws an unhandled `Error` from `computeMetadataNameFromLabel` because `slugify` strips all characters and produces an empty string.
Fix: **Two-layer fix:**
**1. Server (root cause fix):** In `generate-morph-or-relation-flat-field-metadata-pair.util.ts`, replaced the direct call to `computeMetadataNameFromLabel` from `twenty-shared/metadata` with `computeMetadataNameFromLabelOrThrow` from the server's own utility layer. This wrapper already exists and converts the raw `Error("Invalid label: ...")` into an `InvalidMetadataException` with a proper exception code (`INVALID_LABEL`). The `fieldMetadataGraphqlApiExceptionHandler` already handles `InvalidMetadataException` (line 26-28) by converting it to a `UserInputError` GraphQL response — so now the user gets a structured error instead of an unhandled server exception.
**2. Frontend (defense in depth):** In `SettingsDataModelFieldRelationForm.tsx`, added a `.refine()` validation to the `targetFieldLabel` zod schema that checks whether `computeMetadataNameFromLabel(label) !== ''`. This mirrors the exact pattern used in `metadataLabelSchema.ts` for the main field label validation. The frontend's `computeMetadataNameFromLabel` wrapper catches errors and returns `''`, so labels like `"???"` that cannot be transliterated will now fail form validation before the request is sent.