Skip to content

fix(mcp): refresh remote server status in settings - #1004

Merged
vastsa merged 2 commits into
vastsa:mainfrom
hui455:fix/mcp-live-status-r2
Sep 24, 2026
Merged

vastsa merged 2 commits into
vastsa:mainfrom
hui455:fix/mcp-live-status-r2

Conversation

@hui455

@hui455 hui455 commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Summary

An HTTP MCP server could remain marked ready in settings after it stopped responding. The desktop now probes previously ready remote connections when listing servers, reports failed on an outage, and keeps Test connection as the explicit retry path. A failed settings probe does not close the connection under an in-flight tool call. Local stdio servers retain their existing status behavior.

Specs and validation

  • Updated the MCP IPC specification and status recovery E2E scenario in English and Chinese.

  • pnpm build:js, desktop typecheck, and lint passed. pnpm docs:check fails on current origin/main because the new English UI design-system tables lack matching Chinese tables; this PR does not touch that page.

  • MCP-focused tests: 98/98 passed, including a pending-call regression; isolated Electron trusted-extension E2E: 39/39 passed.

  • On upstream main 03e03d4, the GitHub JS job fails the existing architecture budget: apps/desktop/electron/main/index.ts has 1503 lines (limit 1500). These PRs do not change that file. PR base and Rust CI checks pass.

The end-to-end settings outage/recovery journey remains Draft, and no production-window screenshot was captured. Windows was tested; macOS/Linux were not. No persisted format or public API changes.

hui455 and others added 2 commits September 24, 2026 14:43
Probe previously ready remote MCP connections when listing servers so
settings reflect outages and explicit connection tests can retry them.
Keep the published fix current without rewriting shared history.
@vastsa
vastsa merged commit 8511c48 into vastsa:main Sep 24, 2026
2 of 4 checks passed
vastsa added a commit that referenced this pull request Sep 24, 2026
Track active MCP tool calls by session, abort the local wait on session
stop, and send notifications/cancelled to the server without closing a
connection used by another session. Shared handshake waits can also be
interrupted promptly.

Rebased onto main (after #1003 and #1004), resolved transport signature
conflicts to carry both timeoutMs and signal parameters, and fixed
test file merge gaps.

closes #1005
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants