From ce728b455611c36e72852dc16ef4ff877a25aaa2 Mon Sep 17 00:00:00 2001 From: wadii Date: Fri, 28 Aug 2026 15:50:27 +0200 Subject: [PATCH] feat: allow uppercase characters in trait keys The trait key input rewrote keys to lowercase as you type, while the API, Edge, the engine and every SDK store and match trait keys case-sensitively. Keep replacing spaces with underscores but preserve the casing the user types, so keys like appVersion can be created and corrected from the dashboard. --- frontend/web/components/modals/CreateTrait.tsx | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/frontend/web/components/modals/CreateTrait.tsx b/frontend/web/components/modals/CreateTrait.tsx index b4de0abe17fd..3e2b82dc11d4 100644 --- a/frontend/web/components/modals/CreateTrait.tsx +++ b/frontend/web/components/modals/CreateTrait.tsx @@ -8,10 +8,8 @@ import React, { } from 'react' import Highlight from 'components/Highlight' import Constants from 'common/constants' -import Format from 'common/utils/format' import ErrorMessage from 'components/ErrorMessage' import ModalHR from './ModalHR' -import IdentityProvider from 'common/providers/IdentityProvider' import find from 'lodash/find' import ProjectProvider from 'common/providers/ProjectProvider' import Button from 'components/base/forms/Button' @@ -122,11 +120,7 @@ const CreateTrait: FC = ({ }} value={traitKey} onChange={(e: ChangeEvent) => - setTraitKey( - Format.enumeration - .set(Utils.safeParseEventValue(e)) - .toLowerCase(), - ) + setTraitKey(Utils.safeParseEventValue(e).replace(/ /g, '_')) } isValid={!!traitKey && traitKey.length > 0} type='text'