fix(mcp): refresh remote server status in settings - #1004
Merged
Merged
Conversation
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
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
An HTTP MCP server could remain marked
readyin settings after it stopped responding. The desktop now probes previously ready remote connections when listing servers, reportsfailedon 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:checkfails on currentorigin/mainbecause 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.tshas 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.