Description
Describe the problem
Users may access the Internet via a proxy server. Arduino IDE can be configured for this use case via the "Network" tab of the "Preferences" dialog.
Two types of proxies are supported:
- HTTP
- SOCKS
The proxy type is selected via a radio button on the dialog.
🐛 The radio button is set to "SOCKS" after the IDE is reloaded even though the user selected the "HTTP" radio button in the "Preferences" dialog when they configured the proxy preferences.
To reproduce
- Select File > Preferences... from the Arduino IDE menus.
- Click the "Network" tab.
- Select the "Manual proxy configuration" radio button.
- Configure proxy as follows:
- Select the "HTTP" radio button.
- Set "Host name" to
example.com
- Set "Port number" to
42
- Set "Username" to
foo
- Set "Password" to
bar
- Click the OK button.
The index download process may now fail. This is expected due to the use of an dummy proxy configuration for the demo. - Select File > Quit from the Arduino IDE menus.
- Start Arduino IDE.
- Select File > Preferences... from the Arduino IDE menus.
- Click the "Network" tab.
🐛 The radio button is set to "SOCKS":
Expected behavior
Proxy type radio button in the "Preferences" dialog always correctly reflects the proxy type that was configured.
Arduino IDE version
Operating system
Windows
Operating system version
10
Additional context
The "Preferences" dialog shows the correct "HTTP" radio button if the dialog is opened again after configuring the proxy but before restarting Arduino IDE. The fault only occurs after a restart.
The network.proxy
key in ~/.arduinoIDE/arduino-cli.yaml
does have the http
URL scheme as expected even though the "Preferences" dialog indicates it is a SOCKS proxy (for which Arduino IDE currently uses the socks
URL scheme):
network:
proxy: http://foo:[email protected]:42/
Originally reported by @wh201906 at #1769
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