mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-08-27 20:40:13 +03:00
When a Docker node is deleted, the compute node's DELETE endpoint only calls node.delete() which removes the working directory but does not remove the node object from the project's self._nodes collection. This causes ghost nodes to remain in memory. When project variables are updated, the code iterates through ALL nodes in memory and calls update() on them. For ghost nodes with VNC configuration, this triggers VNC startup attempts, resulting in 60-second timeouts waiting for X11 socket files that don't exist. The fix adds await node.project.remove_node(node) to ensure the node object is removed from the project's node collection when deleted, matching the behavior of other node types that use manager.delete_node() which already calls project.remove_node(). This resolves the issue where updating project variables after deleting a VNC Docker container would timeout with: 'x11 socket file "/tmp/.X11-unix/X100" does not exist' Fixes issue #2755