You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix three session timeout bugs in proxy transports
Sessions were evicted by the TTL cleanup goroutine even while actively in
use because session activity was not being recorded in the right places:
1. SSE keep-alive ticks now call sessionManager.Get to refresh the TTL
while the SSE socket is open, so the cleanup goroutine does not evict
clients that have not sent a POST request recently.
2. Single notifications/client-responses forwarded via the streamable
HTTP proxy now also refresh the session TTL; previously the session
header was not read from the request in that code path.
3. Removed ephemeral session creation in the streamable proxy for
requests that arrive without an Mcp-Session-Id header. The old code
created a UUID-keyed session per request and never cleaned it up,
leaking memory over time. Sessionless requests are now routed with
an empty sessID that is used only for in-process waiter-channel
correlation; no persistent session object is created.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments