From 8b83c529664c3102028950c8acce5b37dd383f23 Mon Sep 17 00:00:00 2001 From: euvre <93761161+euvre@users.noreply.github.com> Date: Mon, 3 Aug 2026 17:53:25 +0800 Subject: [PATCH] fix(web): MCP edit dialog cancel/save buttons not closing (#17713) --- .../user-setting/mcp/edit-mcp-dialog.tsx | 88 +++---------------- 1 file changed, 13 insertions(+), 75 deletions(-) diff --git a/web/src/pages/user-setting/mcp/edit-mcp-dialog.tsx b/web/src/pages/user-setting/mcp/edit-mcp-dialog.tsx index 5e18c0933a..e0c82246c2 100644 --- a/web/src/pages/user-setting/mcp/edit-mcp-dialog.tsx +++ b/web/src/pages/user-setting/mcp/edit-mcp-dialog.tsx @@ -1,7 +1,7 @@ import { Collapse } from '@/components/collapse'; import { Button, ButtonLoading } from '@/components/ui/button'; import { Card, CardContent } from '@/components/ui/card'; -import { DialogClose, DialogFooter } from '@/components/ui/dialog'; +import { DialogFooter } from '@/components/ui/dialog'; import { Modal } from '@/components/ui/modal/modal'; import { useGetMcpServer, useTestMcpServer } from '@/hooks/use-mcp-request'; import { IModalProps } from '@/interfaces/common'; @@ -64,9 +64,13 @@ export function EditMcpDialog({ const { data } = useGetMcpServer(id); const [fieldChanged, setFieldChanged] = useState(false); - const tools = useMemo(() => { - return testData?.data || []; - }, [testData?.data]); + const tools = useMemo(() => { + const tested = testData?.data; + if (tested?.length) { + return tested; + } + return transferToolToArray(data.variables?.tools || {}); + }, [testData?.data, data.variables?.tools]); const form = useForm>({ resolver: zodResolver(FormSchema), @@ -115,75 +119,9 @@ export function EditMcpDialog({ } }, [data, form]); - const nextTools = useMemo(() => { - return isEmpty(tools) - ? transferToolToArray(data.variables?.tools || {}) - : tools; - }, [data.variables?.tools, tools]); - const disabled = !tools?.length || testLoading || fieldChanged; return ( - // - // - // - // {id ? t('mcp.editMCP') : t('mcp.addMCP')} - // - // - // - // - // - // {nextTools?.length || 0} {t('mcp.toolsAvailable')} - // - // } - // open={collapseOpen} - // onOpenChange={setCollapseOpen} - // rightContent={ - // - // } - // > - //
- // {nextTools?.map((x) => ( - // - // ))} - //
- //
- //
- //
- // - // - // - // - // - // {t('common.save')} - // - // - //
- //
- - - + - {nextTools?.length || 0} {t('mcp.toolsAvailable')} + {tools?.length || 0} {t('mcp.toolsAvailable')} } open={collapseOpen} @@ -240,7 +178,7 @@ export function EditMcpDialog({ } >
- {nextTools?.map((x) => ( + {tools?.map((x) => ( ))}