From eef78b798704062dfb9c994c4bd938e661a5092d Mon Sep 17 00:00:00 2001 From: shinchan-zhai Date: Sun, 12 Apr 2026 11:42:02 +0800 Subject: [PATCH] fix: allow model switching without re-entering wallet key Users with existing wallets could not switch AI models because the "Start Trading" button required a valid private key even when one was already configured. Now the button is enabled when hasExistingWallet is true, and handleSubmit passes an empty key so the backend preserves the existing key. Co-Authored-By: Claude Opus 4.6 (1M context) --- web/src/components/trader/ModelConfigModal.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/web/src/components/trader/ModelConfigModal.tsx b/web/src/components/trader/ModelConfigModal.tsx index 4b8d0250..e24c5054 100644 --- a/web/src/components/trader/ModelConfigModal.tsx +++ b/web/src/components/trader/ModelConfigModal.tsx @@ -77,8 +77,11 @@ export function ModelConfigModal({ const handleSubmit = (e: React.FormEvent) => { e.preventDefault() - if (!selectedModelId || !apiKey.trim()) return - onSave(selectedModelId, apiKey.trim(), baseUrl.trim() || undefined, modelName.trim() || undefined) + if (!selectedModelId) return + const key = apiKey.trim() + // Allow empty key when editing an existing model (backend preserves existing key) + if (!key && !editingModelId) return + onSave(selectedModelId, key, baseUrl.trim() || undefined, modelName.trim() || undefined) } const availableModels = allModels || [] @@ -833,9 +836,9 @@ function Claw402ConfigForm({