diff --git a/desktop/src/pages/Settings.tsx b/desktop/src/pages/Settings.tsx index 48fa4abc..6fc481da 100644 --- a/desktop/src/pages/Settings.tsx +++ b/desktop/src/pages/Settings.tsx @@ -1,4 +1,4 @@ -import { useState, useEffect } from 'react' +import { useState, useEffect, useRef } from 'react' import { useSettingsStore } from '../stores/settingsStore' import { useProviderStore } from '../stores/providerStore' import { useUIStore } from '../stores/uiStore' @@ -232,9 +232,15 @@ function ProviderFormModal({ open, onClose, mode, provider }: ProviderFormProps) const [isTesting, setIsTesting] = useState(false) const [settingsJson, setSettingsJson] = useState('') const [settingsJsonError, setSettingsJsonError] = useState(null) + const jsonPastedRef = useRef(false) // Load current settings.json and merge provider env vars useEffect(() => { + // Skip if JSON was just populated by user paste + if (jsonPastedRef.current) { + jsonPastedRef.current = false + return + } import('../api/settings').then(({ settingsApi }) => { settingsApi.getUser().then((settings) => { const merged = { @@ -423,10 +429,36 @@ function ProviderFormModal({ open, onClose, mode, provider }: ProviderFormProps)