In inspector-proxy-controller.ts:292, updateConnection replaces this.#proxies with new InspectorProxy instances without first disposing the old ones. Each old proxy holds a runtime WebSocket (#runtimeWs) and a 10-second keepalive interval (#runtimeKeepAliveInterval). Now that InspectorProxy.dispose() at inspector-proxy.ts:163-168 properly closes the runtime WebSocket, this pre-existing leak is more visible: during config updates, old runtime WebSocket connections and their keepalive timers are orphaned. The dispose() method at inspector-proxy-controller.ts:323-334 only cleans up the current #proxies set, not any previously replaced ones. This is a pre-existing issue not introduced by this PR, but it's related to the PR's resource-cleanup theme.
See #13515 (comment)
In inspector-proxy-controller.ts:292, updateConnection replaces this.#proxies with new InspectorProxy instances without first disposing the old ones. Each old proxy holds a runtime WebSocket (#runtimeWs) and a 10-second keepalive interval (#runtimeKeepAliveInterval). Now that InspectorProxy.dispose() at inspector-proxy.ts:163-168 properly closes the runtime WebSocket, this pre-existing leak is more visible: during config updates, old runtime WebSocket connections and their keepalive timers are orphaned. The dispose() method at inspector-proxy-controller.ts:323-334 only cleans up the current #proxies set, not any previously replaced ones. This is a pre-existing issue not introduced by this PR, but it's related to the PR's resource-cleanup theme.
See #13515 (comment)