Skip to content

fix(everything): close streamable HTTP transports on SIGINT - #4530

Closed
dev-willbird1936 wants to merge 1 commit into
modelcontextprotocol:mainfrom
dev-willbird1936:fix/everything-streamable-http-sigint-cleanup
Closed

dev-willbird1936 wants to merge 1 commit into
modelcontextprotocol:mainfrom
dev-willbird1936:fix/everything-streamable-http-sigint-cleanup

Conversation

@dev-willbird1936

Copy link
Copy Markdown

Description

Fix Streamable HTTP shutdown so SIGINT closes every active transport. The session registry is a Map, but the previous for-in loop never enumerated its entries.

Root cause

Shutdown cleanup did not iterate Map entries, so active transports could remain registered and their close hooks were skipped.

Testing

  • Focused Vitest regression with two active transports: 1/1 passed.
  • Full Everything Vitest suite: 108/108 passed across 6 files.
  • Fresh recheck on 2026-07-15 repeated the focused test (1/1), full package suite (108/108), and package build successfully.
  • Everything package build and root TypeScript workspace build: passed.
  • LLM-client integration was not exercised; tests use the transport implementation directly.

This is an ordinary correctness/resource-cleanup fix, not a security report. Hosted CI and maintainer review remain pending.

@cliffhall cliffhall added the closed-superseded-v2 Closed: fixed or made obsolete by the v2 / 2026-07-28 refactor (#4875) label Oct 20, 2026
@cliffhall

Copy link
Copy Markdown
Member

Thank you for this pull request, and apologies for the long wait for a response.

Since it was opened, the reference servers have been rebuilt for the 2026-07-28 MCP specification (#4857) and released as v2 (2.0.0 on npm for the TypeScript servers, 2026.10.19 on PyPI for the Python servers). The code this PR changes has been replaced, and the behavior it addresses has either been fixed in v2 or no longer exists in the same form.

This is not a judgment on the change or on you; it's a consequence of the code it targets having been replaced. If the problem still happens on v2, please open a fresh issue with the version you're running and steps to reproduce. Note that this repository now accepts contributions as issues rather than pull requests from anyone but its maintainers; see CONTRIBUTING.md.

This is part of the backlog triage in #4875.

@cliffhall cliffhall closed this Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

closed-superseded-v2 Closed: fixed or made obsolete by the v2 / 2026-07-28 refactor (#4875)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants