From ceae2684edcee07210030e394081c8f8628fba53 Mon Sep 17 00:00:00 2001 From: Douglasymlai Date: Mon, 3 Nov 2025 10:28:35 +0000 Subject: [PATCH 1/3] update bug for mcp configure dialog --- src/components/AddWorker/index.tsx | 37 +++++++++++++----- utils/__pycache__/__init__.cpython-310.pyc | Bin 193 -> 214 bytes .../traceroot_wrapper.cpython-310.pyc | Bin 2523 -> 2544 bytes 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/components/AddWorker/index.tsx b/src/components/AddWorker/index.tsx index 073b7adab..d475aca06 100644 --- a/src/components/AddWorker/index.tsx +++ b/src/components/AddWorker/index.tsx @@ -16,7 +16,9 @@ import { RefreshCw, ChevronLeft, ArrowRight, - Edit, + Edit, + Eye, + EyeOff, } from "lucide-react"; import ToolSelect from "./ToolSelect"; import { Textarea } from "@/components/ui/textarea"; @@ -68,6 +70,7 @@ export function AddWorker({ const [showEnvConfig, setShowEnvConfig] = useState(false); const [activeMcp, setActiveMcp] = useState(null); const [envValues, setEnvValues] = useState<{ [key: string]: EnvValue }>({}); + const [secretVisible, setSecretVisible] = useState<{ [key: string]: boolean }>({}); const toolSelectRef = useRef<{ installMcp: (id: number, env?: any, activeMcp?: any) => Promise; } | null>(null); @@ -86,6 +89,7 @@ export function AddWorker({ console.log(mcp); if (mcp?.install_command?.env) { const initialValues: { [key: string]: EnvValue } = {}; + const initialVisibility: { [key: string]: boolean } = {}; for(const key of Object.keys(mcp.install_command.env)) { initialValues[key] = { value: "", @@ -95,8 +99,10 @@ export function AddWorker({ ?.replace(/{{/g, "") ?.replace(/}}/g, "") || "", }; + initialVisibility[key] = false; } setEnvValues(initialValues); + setSecretVisible(initialVisibility); } }; @@ -142,6 +148,7 @@ export function AddWorker({ setShowEnvConfig(false); setActiveMcp(null); setEnvValues({}); + setSecretVisible({}); }; const handleShowEnvConfig = (mcp: McpItem) => { @@ -150,6 +157,11 @@ export function AddWorker({ setShowEnvConfig(true); }; + const isSensitiveKey = (key: string) => /token|key|secret|password|id/i.test(key); + const toggleSecretVisibility = (key: string) => { + setSecretVisible((prev) => ({ ...prev, [key]: !prev[key] })); + }; + const handleSelectedToolsChange = (tools: McpItem[]) => { setSelectedTools(tools); }; @@ -364,18 +376,24 @@ export function AddWorker({ {Object.keys(activeMcp?.install_command?.env || {}).map( (key) => (
-
- {key}* -
updateEnvValue(key, e.target.value)} + note={envValues[key]?.tip} + backIcon={isSensitiveKey(key) ? ( + secretVisible[key] ? ( + + ) : ( + + ) + ) : undefined} + onBackIconClick={isSensitiveKey(key) ? () => toggleSecretVisibility(key) : undefined} /> -
- {envValues[key]?.tip} -
) )} @@ -392,7 +410,6 @@ export function AddWorker({ cancelButtonVariant="ghost" confirmButtonVariant="primary" > - {/* hidden but keep rendering ToolSelect component */}
diff --git a/utils/__pycache__/__init__.cpython-310.pyc b/utils/__pycache__/__init__.cpython-310.pyc index 10d1d4a69c028b0fa2e5b31e6afd01340e2b871d..177a6d910e7322d363b40ab215bce2ba970c0831 100644 GIT binary patch delta 69 zcmX@ec#V-OpO=@50SG45OysK8x6}_UPAw|dPsuM$&q*xScS$YIF3B&@cg{~qRd7ly XPSsD%Oi#@#(Jw8@%qiBNI9~|>-yatI delta 48 zcmcb{c#x4RpO=@50SMMhPUNbVQgOD5aV#jx&q_@$iAl{&Pt7ZdDJ{v&DUO-AMF{{! CW)F-2 diff --git a/utils/__pycache__/traceroot_wrapper.cpython-310.pyc b/utils/__pycache__/traceroot_wrapper.cpython-310.pyc index d695ee21dc2c1d82d5dfa3d82d7694ce6bef45e3..3aa22344d614d4f3bb6e0bb4df0d0af62852caef 100644 GIT binary patch delta 72 zcmcaD{6Uy2pO=@50SG45Y~*^)r0=93TAW%`te=u!nx2zbtnZRqoL!P%pzoZYlB(d8 aSe&Y#nwg%OSE659l9^MiznP!;3>yGS;21Oj delta 51 zcmew$d|Q|+pO=@50SMMhZsdB+B&F+Y72{Y?l%JKFToRL-nVyr}|nNu9IS%vuw F8vu?25X1lg From 2369dcb4546ce6248d759667a5626f554019bbd7 Mon Sep 17 00:00:00 2001 From: Douglasymlai Date: Tue, 4 Nov 2025 10:35:22 +0000 Subject: [PATCH 2/3] remove unused refresh icon --- src/components/AddWorker/index.tsx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/components/AddWorker/index.tsx b/src/components/AddWorker/index.tsx index d475aca06..a89b3125b 100644 --- a/src/components/AddWorker/index.tsx +++ b/src/components/AddWorker/index.tsx @@ -442,11 +442,6 @@ export function AddWorker({ }} state={nameError ? "error" : "default"} note={nameError || ""} - backIcon={} - onBackIconClick={() => { - // Handle refresh/regenerate logic here - console.log("Refresh agent name"); - }} required />
From 4bd8691b6dde006dac57a42999a19e23491cf30c Mon Sep 17 00:00:00 2001 From: Wendong-Fan Date: Thu, 6 Nov 2025 03:01:09 +0800 Subject: [PATCH 3/3] enhance: update bug for mcp configure dialog PR605 --- src/components/AddWorker/index.tsx | 40 ++++++++++++++---------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/src/components/AddWorker/index.tsx b/src/components/AddWorker/index.tsx index a89b3125b..3c4a0dd9b 100644 --- a/src/components/AddWorker/index.tsx +++ b/src/components/AddWorker/index.tsx @@ -1,7 +1,6 @@ import { Button } from "@/components/ui/button"; import { Dialog, - DialogClose, DialogContent, DialogContentSection, DialogFooter, @@ -11,14 +10,10 @@ import { import { Input } from "@/components/ui/input"; import { Bot, - CircleAlert, Plus, - RefreshCw, - ChevronLeft, - ArrowRight, - Edit, - Eye, - EyeOff, + Edit, + Eye, + EyeOff, } from "lucide-react"; import ToolSelect from "./ToolSelect"; import { Textarea } from "@/components/ui/textarea"; @@ -27,7 +22,6 @@ import githubIcon from "@/assets/github.svg"; import { fetchPost } from "@/api/http"; import { useAuthStore, useWorkerList } from "@/store/authStore"; import { useTranslation } from "react-i18next"; -import { TooltipSimple } from "../ui/tooltip"; import useChatStoreAdapter from "@/hooks/useChatStoreAdapter"; interface EnvValue { @@ -142,6 +136,7 @@ export function AddWorker({ // clean status setActiveMcp(null); setEnvValues({}); + setSecretVisible({}); }; const handleCloseMcpEnvSetting = () => { @@ -173,6 +168,7 @@ export function AddWorker({ setShowEnvConfig(false); setActiveMcp(null); setEnvValues({}); + setSecretVisible({}); setNameError(""); }; @@ -216,9 +212,11 @@ export function AddWorker({ } }); console.log("mcpLocal.mcpServers", mcpLocal.mcpServers); - for(const key of Object.keys(mcpLocal.mcpServers)) { - if (!mcpList.includes(key)) { - delete mcpLocal.mcpServers[key]; + if (mcpLocal.mcpServers && typeof mcpLocal.mcpServers === 'object') { + for(const key of Object.keys(mcpLocal.mcpServers)) { + if (!mcpList.includes(key)) { + delete mcpLocal.mcpServers[key]; + } } } if (edit) { @@ -381,18 +379,18 @@ export function AddWorker({ title={key} required placeholder={envValues[key]?.tip || `Enter ${key}`} - type={isSensitiveKey(key) && !secretVisible[key] ? "password" : "text"} + type={isSensitiveKey(key) && !secretVisible[key] ? "password" : "text"} value={envValues[key]?.value || ""} onChange={(e) => updateEnvValue(key, e.target.value)} note={envValues[key]?.tip} - backIcon={isSensitiveKey(key) ? ( - secretVisible[key] ? ( - - ) : ( - - ) - ) : undefined} - onBackIconClick={isSensitiveKey(key) ? () => toggleSecretVisibility(key) : undefined} + backIcon={isSensitiveKey(key) ? ( + secretVisible[key] ? ( + + ) : ( + + ) + ) : undefined} + onBackIconClick={isSensitiveKey(key) ? () => toggleSecretVisibility(key) : undefined} /> )