@@ -27,6 +27,7 @@ const logger = createLogger('EnvironmentVariables')
2727
2828const GRID_COLS = 'grid grid-cols-[minmax(0,1fr)_8px_minmax(0,1fr)_auto] items-center'
2929const ENV_VAR_PATTERN = / ^ [ A - Z a - z _ ] [ A - Z a - z 0 - 9 _ ] * $ /
30+ const PERSONAL_VAR_INDEX_OFFSET = 1000
3031const PRIMARY_BUTTON_STYLES =
3132 '!bg-[var(--brand-tertiary-2)] !text-[var(--text-inverse)] hover:!bg-[var(--brand-tertiary-2)]/90'
3233
@@ -92,7 +93,7 @@ function VariableRow({
9293 value = { envKey }
9394 onChange = { ( e ) => isNew && onKeyChange ( e . target . value ) }
9495 placeholder = 'API_KEY'
95- name = { `env_key_${ rowIndex } _ ${ Math . random ( ) } ` }
96+ name = { `env_key_${ rowIndex } ` }
9697 autoComplete = 'off'
9798 autoCapitalize = 'off'
9899 spellCheck = 'false'
@@ -115,7 +116,7 @@ function VariableRow({
115116 onBlur = { onValueBlur }
116117 placeholder = { isConflict ? 'Workspace override active' : 'Enter value' }
117118 disabled = { ! isNew || isConflict }
118- name = { `env_value_${ rowIndex } _ ${ Math . random ( ) } ` }
119+ name = { `env_value_${ rowIndex } ` }
119120 autoComplete = 'off'
120121 autoCapitalize = 'off'
121122 spellCheck = 'false'
@@ -255,8 +256,8 @@ export function EnvironmentVariables({ registerBeforeLeaveHandler }: Environment
255256 ...v ,
256257 id : generateRowId ( ) ,
257258 } ) )
258- setInitialPersonalVars ( JSON . parse ( JSON . stringify ( vars ) ) )
259- setPersonalVars ( JSON . parse ( JSON . stringify ( vars ) ) )
259+ setInitialPersonalVars ( structuredClone ( vars ) )
260+ setPersonalVars ( structuredClone ( vars ) )
260261 } , [ personalEnvData ] )
261262
262263 useEffect ( ( ) => {
@@ -270,8 +271,8 @@ export function EnvironmentVariables({ registerBeforeLeaveHandler }: Environment
270271 value,
271272 id : generateRowId ( ) ,
272273 } ) )
273- setInitialWorkspaceVars ( JSON . parse ( JSON . stringify ( vars ) ) )
274- setWorkspaceVars ( JSON . parse ( JSON . stringify ( vars ) ) )
274+ setInitialWorkspaceVars ( structuredClone ( vars ) )
275+ setWorkspaceVars ( structuredClone ( vars ) )
275276 }
276277 } , [ workspaceEnvData ] )
277278
@@ -351,8 +352,8 @@ export function EnvironmentVariables({ registerBeforeLeaveHandler }: Environment
351352 )
352353
353354 const handleCancel = useCallback ( ( ) => {
354- setPersonalVars ( JSON . parse ( JSON . stringify ( initialPersonalVars ) ) )
355- setWorkspaceVars ( JSON . parse ( JSON . stringify ( initialWorkspaceVars ) ) )
355+ setPersonalVars ( structuredClone ( initialPersonalVars ) )
356+ setWorkspaceVars ( structuredClone ( initialWorkspaceVars ) )
356357 setShowUnsavedChanges ( false )
357358 pendingProceedCallback . current ?.( )
358359 pendingProceedCallback . current = null
@@ -607,7 +608,7 @@ export function EnvironmentVariables({ registerBeforeLeaveHandler }: Environment
607608 value = { v . value }
608609 isNew = { true }
609610 focusedValueIndex = { focusedValueIndex }
610- rowIndex = { originalIndex + 1000 }
611+ rowIndex = { originalIndex + PERSONAL_VAR_INDEX_OFFSET }
611612 onKeyChange = { ( val ) => updatePersonalVar ( originalIndex , 'key' , val ) }
612613 onValueChange = { ( val ) => updatePersonalVar ( originalIndex , 'value' , val ) }
613614 onValueFocus = { handleValueFocus }
0 commit comments