Skip to content

"Check for Arduino IDE Updates" operation fails when automatic update checks are disabled #1437

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
3 tasks done
per1234 opened this issue Sep 15, 2022 · 2 comments
Closed
3 tasks done
Assignees
Labels
topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project

Comments

@per1234
Copy link
Contributor

per1234 commented Sep 15, 2022

Describe the problem

On every startup, the Arduino IDE checks for new versions of the IDE and installed libraries and boards platforms. If a newer version of any of these is available, a notification/dialog is shown offering an update.

Although this is an important and convenient feature, it may be unwanted by some users. For example, the user may be intentionally using an outdated version of a library or boards platform either due to a bug or incompatibility introduced in the newest version, or else because they want to use the dependency versions their project is validated for. In this case, the non-actionable notifications for library/platform updates may be unwanted.

For this situation, an advanced setting (arduino.checkForUpdates) is provided to disable the update check (#1361). The user may still wish to manually check for available updates for these components, which the Arduino IDE UI supports:

  • IDE updates: Help > Check for Arduino IDE Updates
  • Library updates: Set the "Type" filter in the Library Manager view to "Updatable"
  • Platform updates: Set the "Type" filter in the Boards Manager view to "Updatable"

🐛 Help > Check for Arduino IDE Updates fails when arduino.checkForUpdates is set to false.

To reproduce

  1. Press the Ctrl+Shift+P keyboard shortcut (Command+Shift+P for macOS users) to open the "Command Palette".
  2. Select the "Preferences: Open Settings (UI)" command from the menu.
  3. A "Preferences" tab will now open. Type arduino.checkForUpdates in the "Search Settings" field.
  4. Uncheck the checkbox under the "Check For Updates" setting.
  5. Select File > Quit from the Arduino IDE menus.
  6. Start the Arduino IDE.
  7. Select Help > Check for Arduino IDE Updates from the Arduino IDE menus.

🐛 The update check fails with an error notification:

Error while checking for Arduino IDE updates. Request checkForUpdates failed with message: 403 Forbidden "method: GET url: https://arduino-downloads-prod-beagle.s3.amazonaws.com/arduino-ide/nightly/latest.yml?noCache=1gd075653\n\n Data:\n <?xml version="1.0" encoding="UTF-8"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>JTE1MXVSAKE3N8X0</RequestId><HostId>xchwM0WmLnjIB5KD+lcQ+wh1p/aXcJfo+8pNx4yWOVaO8UdnKVNyODRjoVc/3Y73+N6Ju4wbWEk=</HostId></Error>\n " Headers: { "x-amz-request-id": "JTE1MXVSAKE3N8X0", "x-amz-id-2": "xchwM0WmLnjIB5KD+lcQ+wh1p/aXcJfo+8pNx4yWOVaO8UdnKVNyODRjoVc/3Y73+N6Ju4wbWEk=", "content-type": "application/xml", "transfer-encoding": "chunked", "date": "Thu, 15 Sep 2022 09:19:56 GMT", "server": "AmazonS3" }

Expected behavior

Help > Check for Arduino IDE Updates is functional even when arduino.checkForUpdates is set to false.

Arduino IDE version

2.0.0-snapshot-5f82577

Operating system

Windows

Operating system version

10

Additional context

The logs shown when the error occurs:

Checking for update
Error: HttpError: 403 Forbidden
"method: GET url: https://arduino-downloads-prod-beagle.s3.amazonaws.com/arduino-ide/nightly/latest.yml?noCache=1gd075653\n\n          Data:\n          <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>JTE1MXVSAKE3N8X0</RequestId><HostId>xchwM0WmLnjIB5KD+lcQ+wh1p/aXcJfo+8pNx4yWOVaO8UdnKVNyODRjoVc/3Y73+N6Ju4wbWEk=</HostId></Error>\n          "
Headers: {
  "x-amz-request-id": "JTE1MXVSAKE3N8X0",
  "x-amz-id-2": "xchwM0WmLnjIB5KD+lcQ+wh1p/aXcJfo+8pNx4yWOVaO8UdnKVNyODRjoVc/3Y73+N6Ju4wbWEk=",
  "content-type": "application/xml",
  "transfer-encoding": "chunked",
  "date": "Thu, 15 Sep 2022 09:19:56 GMT",
  "server": "AmazonS3"
}
    at createHttpError (C:\ide 2\tip\125-5f82577\resources\app\node_modules\electron-updater\node_modules\builder-util-runtime\out\httpExecutor.js:14:12)
    at IncomingMessage.<anonymous> (C:\ide 2\tip\125-5f82577\resources\app\node_modules\electron-updater\node_modules\builder-util-runtime\out\httpExecutor.js:147:28)
    at IncomingMessage.emit (node:events:394:28)
    at endReadableNT (node:internal/streams/readable:1331:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
Request checkForUpdates failed with error: 403 Forbidden
"method: GET url: https://arduino-downloads-prod-beagle.s3.amazonaws.com/arduino-ide/nightly/latest.yml?noCache=1gd075653\n\n          Data:\n          <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>JTE1MXVSAKE3N8X0</RequestId><HostId>xchwM0WmLnjIB5KD+lcQ+wh1p/aXcJfo+8pNx4yWOVaO8UdnKVNyODRjoVc/3Y73+N6Ju4wbWEk=</HostId></Error>\n          "
Headers: {
  "x-amz-request-id": "JTE1MXVSAKE3N8X0",
  "x-amz-id-2": "xchwM0WmLnjIB5KD+lcQ+wh1p/aXcJfo+8pNx4yWOVaO8UdnKVNyODRjoVc/3Y73+N6Ju4wbWEk=",
  "content-type": "application/xml",
  "transfer-encoding": "chunked",
  "date": "Thu, 15 Sep 2022 09:19:56 GMT",
  "server": "AmazonS3"
} HttpError: 403 Forbidden
"method: GET url: https://arduino-downloads-prod-beagle.s3.amazonaws.com/arduino-ide/nightly/latest.yml?noCache=1gd075653\n\n          Data:\n          <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>JTE1MXVSAKE3N8X0</RequestId><HostId>xchwM0WmLnjIB5KD+lcQ+wh1p/aXcJfo+8pNx4yWOVaO8UdnKVNyODRjoVc/3Y73+N6Ju4wbWEk=</HostId></Error>\n          "
Headers: {
  "x-amz-request-id": "JTE1MXVSAKE3N8X0",
  "x-amz-id-2": "xchwM0WmLnjIB5KD+lcQ+wh1p/aXcJfo+8pNx4yWOVaO8UdnKVNyODRjoVc/3Y73+N6Ju4wbWEk=",
  "content-type": "application/xml",
  "transfer-encoding": "chunked",
  "date": "Thu, 15 Sep 2022 09:19:56 GMT",
  "server": "AmazonS3"
}
    at createHttpError (C:\ide 2\tip\125-5f82577\resources\app\node_modules\electron-updater\node_modules\builder-util-runtime\out\httpExecutor.js:14:12)
    at IncomingMessage.<anonymous> (C:\ide 2\tip\125-5f82577\resources\app\node_modules\electron-updater\node_modules\builder-util-runtime\out\httpExecutor.js:147:28)
    at IncomingMessage.emit (node:events:394:28)
    at endReadableNT (node:internal/streams/readable:1331:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)

The issue does not occur when arduino.checkForUpdates is set to true.


Originally reported at https://forum.arduino.cc/t/arduino-ide-2-0-0-available-for-download/1031651/5 by @sterretjeToo

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
@per1234 per1234 added topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project labels Sep 15, 2022
@kittaakos
Copy link
Contributor

Can we close this @AlbyIanna? See #1490.

@AlbyIanna
Copy link
Contributor

Sure!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
Development

No branches or pull requests

3 participants