mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-07 08:26:51 +00:00
fix: prevent disabled MCP servers from starting processes and show correct status
- Added disabled state checks in updateServerConnections() to prevent disabled servers from being connected - Updated frontend getStatusColor() to show grey for disabled servers - Modified UI rendering to show minimal interface for disabled servers without error messages or retry buttons - Added translation for disabled server status Fixes #6036
This commit is contained in:
parent
2b8228ef0c
commit
583c86b1ec
3 changed files with 33 additions and 7 deletions
|
|
@ -976,7 +976,10 @@ export class McpHub {
|
|||
// New server
|
||||
try {
|
||||
this.setupFileWatcher(name, validatedConfig, source)
|
||||
await this.connectToServer(name, validatedConfig, source)
|
||||
if (!validatedConfig.disabled) {
|
||||
// Only connect if not disabled
|
||||
await this.connectToServer(name, validatedConfig, source)
|
||||
}
|
||||
} catch (error) {
|
||||
this.showErrorMessage(`Failed to connect to new MCP server ${name}`, error)
|
||||
}
|
||||
|
|
@ -985,7 +988,10 @@ export class McpHub {
|
|||
try {
|
||||
this.setupFileWatcher(name, validatedConfig, source)
|
||||
await this.deleteConnection(name, source)
|
||||
await this.connectToServer(name, validatedConfig, source)
|
||||
if (!validatedConfig.disabled) {
|
||||
// Only reconnect if not disabled
|
||||
await this.connectToServer(name, validatedConfig, source)
|
||||
}
|
||||
} catch (error) {
|
||||
this.showErrorMessage(`Failed to reconnect MCP server ${name}`, error)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -218,6 +218,11 @@ const ServerRow = ({ server, alwaysAllowMcp }: { server: McpServer; alwaysAllowM
|
|||
]
|
||||
|
||||
const getStatusColor = () => {
|
||||
// Always show grey for disabled servers regardless of connection status
|
||||
if (server.disabled) {
|
||||
return "var(--vscode-descriptionForeground)"
|
||||
}
|
||||
|
||||
switch (server.status) {
|
||||
case "connected":
|
||||
return "var(--vscode-testing-iconPassed)"
|
||||
|
|
@ -229,7 +234,8 @@ const ServerRow = ({ server, alwaysAllowMcp }: { server: McpServer; alwaysAllowM
|
|||
}
|
||||
|
||||
const handleRowClick = () => {
|
||||
if (server.status === "connected") {
|
||||
// Only allow expansion for connected servers that are not disabled
|
||||
if (server.status === "connected" && !server.disabled) {
|
||||
setIsExpanded(!isExpanded)
|
||||
}
|
||||
}
|
||||
|
|
@ -270,12 +276,12 @@ const ServerRow = ({ server, alwaysAllowMcp }: { server: McpServer; alwaysAllowM
|
|||
alignItems: "center",
|
||||
padding: "8px",
|
||||
background: "var(--vscode-textCodeBlock-background)",
|
||||
cursor: server.status === "connected" ? "pointer" : "default",
|
||||
cursor: server.status === "connected" && !server.disabled ? "pointer" : "default",
|
||||
borderRadius: isExpanded || server.status === "connected" ? "4px" : "4px 4px 0 0",
|
||||
opacity: server.disabled ? 0.6 : 1,
|
||||
}}
|
||||
onClick={handleRowClick}>
|
||||
{server.status === "connected" && (
|
||||
{server.status === "connected" && !server.disabled && (
|
||||
<span
|
||||
className={`codicon codicon-chevron-${isExpanded ? "down" : "right"}`}
|
||||
style={{ marginRight: "8px" }}
|
||||
|
|
@ -342,7 +348,20 @@ const ServerRow = ({ server, alwaysAllowMcp }: { server: McpServer; alwaysAllowM
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{server.status === "connected" ? (
|
||||
{server.disabled ? (
|
||||
// Minimal UI for disabled servers - no error messages or retry buttons
|
||||
<div
|
||||
style={{
|
||||
fontSize: "13px",
|
||||
background: "var(--vscode-textCodeBlock-background)",
|
||||
borderRadius: "0 0 4px 4px",
|
||||
padding: "10px",
|
||||
color: "var(--vscode-descriptionForeground)",
|
||||
fontStyle: "italic",
|
||||
}}>
|
||||
{t("mcp:serverStatus.disabled")}
|
||||
</div>
|
||||
) : server.status === "connected" ? (
|
||||
isExpanded && (
|
||||
<div
|
||||
style={{
|
||||
|
|
|
|||
|
|
@ -55,7 +55,8 @@
|
|||
},
|
||||
"serverStatus": {
|
||||
"retrying": "Retrying...",
|
||||
"retryConnection": "Retry Connection"
|
||||
"retryConnection": "Retry Connection",
|
||||
"disabled": "Server is disabled"
|
||||
},
|
||||
"execution": {
|
||||
"running": "Running",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue