Duplicate check
AgentOS version or commit
v2026.8.29
Area
Gateway
Reproduction steps
- Open a WebSocket connection and subscribe to session messages for several session keys (
sessions.messages.subscribe).
- Unsubscribe from the sessions via
sessions.messages.unsubscribe or disconnect the WebSocket client.
- Inspect
subscription_manager._message_subs.
Expected behavior
Empty sets for sessions with no remaining subscribers are deleted from _message_subs.
Actual behavior
Stale session_key keys containing empty set() objects linger in _message_subs indefinitely, accumulating memory over time on a long-running gateway.
Environment
Windows 11, Python 3.12, uv
Duplicate check
AgentOS version or commit
v2026.8.29
Area
Gateway
Reproduction steps
sessions.messages.subscribe).sessions.messages.unsubscribeor disconnect the WebSocket client.subscription_manager._message_subs.Expected behavior
Empty sets for sessions with no remaining subscribers are deleted from _message_subs.
Actual behavior
Stale session_key keys containing empty set() objects linger in _message_subs indefinitely, accumulating memory over time on a long-running gateway.
Environment
Windows 11, Python 3.12, uv