Function: claude-code-ide-mcp--on-close
claude-code-ide-mcp--on-close is a natively compiled function defined
in claude-code-ide-mcp.el.
Signature
(claude-code-ide-mcp--on-close SESSION WS)
Documentation
Handle WebSocket close of WS for SESSION.
Source Code
;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide-mcp.el
(defun claude-code-ide-mcp--on-close (session ws)
"Handle WebSocket close of WS for SESSION."
(claude-code-ide-debug "=== WebSocket connection closed ===")
;; A socket that was already replaced by a reconnect no longer owns the
;; session; its close event must not clear the successor.
(when (eq ws (claude-code-ide-mcp-session-client session))
(setf (claude-code-ide-mcp-session-client session) nil)
;; Pending JSON-RPC ids and selection dedupe state died with the
;; socket; flushing here (not only in on-open) covers the reconnect
;; order where the old socket closes before the new one opens
(clrhash (claude-code-ide-mcp-session-deferred session))
(setf (claude-code-ide-mcp-session-last-selection session) nil)
;; Stop the ping timer for this session
(claude-code-ide-mcp--stop-ping-timer session)
(claude-code-ide-debug "Final WebSocket state: %s" (websocket-ready-state ws))
(claude-code-ide-debug "Claude Code disconnected from MCP server for %s"
(file-name-nondirectory
(directory-file-name (claude-code-ide-mcp-session-project-dir session))))))