Skip to content

Proxy configuration can't be unset #2184

Closed
@per1234

Description

@per1234

Describe the problem

The "Network" tab of the Arduino IDE preferences allows users to configure the IDE to access the Internet either directly or through a proxy server.

🐛 If the user has previously configured the preferences to use a proxy server, it is impossible for them to change the preferences back to not using the proxy.

To reproduce

  1. Select File > Preferences... (Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Select the "Network" tab from the "Preferences" dialog.
  3. Select the radio button next to "Manual proxy configuration".
  4. Set any values you like in the individual proxy configuration fields.
    You don't need to have a proxy server set up and the configuration doesn't need to be valid in order to perform this demonstration.
  5. Click the "OK" button.
    The "Preferences" dialog will close.
  6. Select File > Quit from the Arduino IDE menus.
  7. Start Arduino IDE.
  8. Select File > Preferences... from the Arduino IDE menus.
  9. Select the "Network" tab from the "Preferences" dialog.
  10. Select the radio button next to "No proxy".
  11. Click the "OK" button.
  12. Select File > Quit from the Arduino IDE menus.
  13. Start Arduino IDE.
  14. Select File > Preferences... from the Arduino IDE menus.
  15. Select the "Network" tab from the "Preferences" dialog.

🐛 The "Manual proxy configuration" radio button is selected even though you previously selected "No proxy" and Arduino IDE continues to use the proxy configuration when accessing the Internet.

Expected behavior

The user can change the preference back to "No proxy".

Arduino IDE version

57fa18b

Operating system

Windows

Operating system version

11

Additional context

A variant of the fault was previously reported at arduino/arduino-cli#1677. The origin was identified as being a deficiency in Arduino CLI. That deficiency has since been resolved (arduino/arduino-cli#2212) and the IDE's Arduino CLI dependency bumped to the version that contains that change (#2165).

I had hoped that the manifestation of the fault in Arduino IDE would have been resolved as a matter of course by the change in Arduino CLI, but I see that is not the case so I think some changes will be needed in the Arduino IDE codebase as well to leverage the change in Arduino CLI.

I decided to create a new issue to track that work in the Arduino IDE codebase rather than reusing arduino/arduino-cli#1677 for that purpose because arduino/arduino-cli#1677 ended up being focused on the Arduino CLI deficiency and the symptom of the fault is now different than what is described in arduino/arduino-cli#1677.


At step (9) of the demonstration provided above, I see this printed in the IDE logs:

2023-08-22T07:25:21.712Z config INFO Updating daemon with 'data': {
  "board_manager": {
    "additional_urls": [
      "https://www.pjrc.com/teensy/package_teensy_index.json"
    ]
  },
  "build_cache": {
    "compilations_before_purge": 10,
    "ttl": "720h0m0s"
  },
  "daemon": {
    "port": "50051"
  },
  "directories": {
    "data": "c:\\Users\\per\\AppData\\Local\\Arduino15",
    "user": "c:\\Users\\per\\Documents\\Arduino"
  },
  "library": {
    "enable_unsafe_install": false
  },
  "locale": "en",
  "logging": {
    "file": "",
    "format": "text",
    "level": "info"
  },
  "metrics": {
    "addr": ":9090",
    "enabled": true
  },
  "network": {},
  "output": {
    "no_color": false
  },
  "sketch": {
    "always_export_binaries": false
  },
  "updater": {
    "enable_notification": true
  }
}

Workaround

  1. Select File > Quit from the Arduino IDE menus if it is running.
  2. Use any text editor to open the file at the following path:
    • Windows:
      C:\Users\<username>\.arduinoIDE\arduino-cli.yaml
      
      (where <username> is your Windows username)
    • Linux:
      ~/.arduinoIDE/arduino-cli.yaml
      
      ❗ The ~/.arduinoIDE/ folder may be hidden by default in your file manager and terminal.
    • macOS:
      ~/.arduinoIDE/arduino-cli.yaml
      
      ❗ The ~/.arduinoIDE/ folder is hidden by default. You can make it visible by pressing the Command+Shift+. keyboard shortcut.
  3. Delete the lines from the file that have this format:
    network:
      proxy: <some proxy URL>
      user_agent_ext: daemon
  4. Save the file.
  5. Start Arduino IDE.

You should now find that "No proxy" is selected in the "Network" tab of the "Preferences" dialog.

Additional reports

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest nightly build
  • My report contains all necessary details

Metadata

Metadata

Assignees

Labels

conclusion: resolvedIssue was resolvedtopic: CLIRelated to Arduino CLItopic: codeRelated to content of the project itselftype: imperfectionPerceived defect in any part of project

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions