Skip to content

GUI client v3.0.6 fails to connect to v2.2.x server without version mismatch indication #3782

@uviu

Description

@uviu

Describe the bug
The GNS3 GUI client version 3.0.6 attempts to connect to the v3 API endpoint even when the server is running version 2.2.x. This causes a connection failure with "Connection refused (HTTP code None)" error, despite the server being accessible and responding correctly to v2 API endpoints. The client does not fall back to v2 API or detect the server version mismatch properly.

GNS3 version and operating system (please complete the following information):

  • OS: macOS
  • GNS3 GUI version: 3.0.6 (installed via Homebrew)
  • GNS3 Server/VM version: 2.2.x
  • Using GNS3 VM running in proxmox

To Reproduce
Steps to reproduce the behavior:

  1. Install GNS3 GUI version 3.0.6 on macOS (via Homebrew: brew install gns3)
  2. Set up GNS3 VM version 2.2.x
  3. Configure the GUI to connect to the remote server (VM IP, port 80, with authentication)
  4. Attempt to connect - GUI shows 404 cause it cant find /v3/version"
  5. Verify server is accessible: curl -u <credentials> http://<VM-IP>:80/v2/version returns valid JSON
  6. Downgrade GUI to version 2.2.49
  7. Connection works immediately with identical server configuration

Expected behavior
The GUI client should either:

  • Detect the server API version and use the appropriate endpoint (v2 vs v3)
  • Provide a clear error message indicating version mismatch
  • Document the version compatibility requirements more prominently

Additional context
The server configuration shows it's running in the 2.2 directory structure (~/.config/GNS3/2.2/gns3_server.conf) and responds correctly to v2 API calls but returns 404 for v3 endpoints. The GUI client appears to hardcode the v3 API path without version negotiation or fallback mechanism.

This creates a confusing user experience where the server is running and accessible (the web UI works perfectly fine), but the GUI desktop client silently fails to connect without indicating a version mismatch as the root cause.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions