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))))))