feat(MCPSettings): Reset form change state on server ID change and disable server type selection for inMemory servers

This commit is contained in:
kangfenmao 2025-04-05 20:58:36 +08:00
parent 5fa7465174
commit 7364646caa

View File

@ -128,6 +128,10 @@ const McpSettings: React.FC<Props> = ({ server }) => {
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [server.id, server.isActive])
useEffect(() => {
setIsFormChanged(false)
}, [server.id])
// Save the form data
const onSave = async () => {
setLoading(true)
@ -347,6 +351,7 @@ const McpSettings: React.FC<Props> = ({ server }) => {
<Form.Item name="serverType" label={t('settings.mcp.type')} rules={[{ required: true }]} initialValue="stdio">
<Radio.Group
onChange={(e) => setServerType(e.target.value)}
disabled={server.type === 'inMemory'}
options={[
{ label: t('settings.mcp.stdio'), value: 'stdio' },
{ label: t('settings.mcp.sse'), value: 'sse' },