Skip to content

IDE2 updater throws exception if there is no update for a platform+arch combo #1583

Open
@kittaakos

Description

@kittaakos

Describe the problem

After building IDE2 on ARMv7 (#107), IDE2 fails on update check.


Error: Error: Cannot find channel "stable-linux-arm.yml" update info: HttpError: 404 
"method: GET url: https://downloads.arduino.cc/arduino-ide/stable-linux-arm.yml?noCache=1ggaihfop\n\nPlease double check that your authentication token is correct. Due to security reasons, actual status maybe not reported, but 404.\n"
Headers: {
  "date": "Wed, 26 Oct 2022 16:38:23 GMT",
  "content-type": "text/html",
  "cf-ray": "76049f391827aca4-TXL",
  "etag": "W/\"2e388576eefd92a15967868d5f566f29\"",
  "last-modified": "Fri, 12 Apr 2019 12:31:08 GMT",
  "vary": "Accept-Encoding",
  "via": "1.1 5bbaa27b453dc834289b91c14bbb4934.cloudfront.net (CloudFront)",
  "cf-cache-status": "MISS",
  "x-amz-cf-id": "kHuYLEeJ76r3lnLQ_p0VNH93qw8i9Dv2OAbpFM9825hBGXL0R3l5nQ==",
  "x-amz-cf-pop": "DUS51-P1",
  "x-amz-replication-status": "COMPLETED",
  "x-amz-version-id": "VqbLlYOrmhwZcBiGDmQhZPztJf8PNquh",
  "x-cache": "Error from cloudfront",
  "set-cookie": [
    "__cf_bm=0JNvK1BXcCZGE_x8y3n9E.VShUD78yUsu7iJTnR7Ijo-1666802303-0-AX97SDgiKrrb4ZdcwTGmk2I2EcxqsL7dKRsirBvCf9J8MP7g7z+WpmknQ4zhq/duHtl05oc+7l69uQZd56CH990=; path=/; expires=Wed, 26-Oct-22 17:08:23 GMT; domain=.arduino.cc; HttpOnly; Secure; SameSite=None"
  ],
  "server": "cloudflare",
  "content-encoding": "gzip",
  "alt-svc": "h3=\":443\"; ma=86400, h3-29=\":443\"; ma=86400"
}
    at createHttpError (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/httpExecutor.js:14:12)
    at ElectronHttpExecutor.handleResponse (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/httpExecutor.js:116:20)
    at ClientRequest.<anonymous> (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/httpExecutor.js:82:26)
    at ClientRequest.emit (node:events:394:28)
    at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:105:6816)
    at SimpleURLLoaderWrapper.emit (node:events:394:28)
    at Object.newError (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/index.js:47:19)
    at GenericProvider.getLatestVersion (/home/pi/dev/git/arduino-ide/node_modules/electron-updater/out/providers/GenericProvider.js:27:50)
    at async AppImageUpdater.getUpdateInfoAndProvider (/home/pi/dev/git/arduino-ide/node_modules/electron-updater/out/AppUpdater.js:298:19)
    at async AppImageUpdater.doCheckForUpdates (/home/pi/dev/git/arduino-ide/node_modules/electron-updater/out/AppUpdater.js:312:24)
    at async IDEUpdaterImpl.checkForUpdates (/home/pi/dev/git/arduino-ide/arduino-ide-extension/lib/electron-main/ide-updater/ide-updater-impl.js:61:51)
    at async JsonRpcProxyFactory.onRequest (/home/pi/dev/git/arduino-ide/node_modules/@theia/core/lib/common/messaging/proxy-factory.js:127:24)
Request checkForUpdates failed with error: Cannot find channel "stable-linux-arm.yml" update info: HttpError: 404 
"method: GET url: https://downloads.arduino.cc/arduino-ide/stable-linux-arm.yml?noCache=1ggaihfop\n\nPlease double check that your authentication token is correct. Due to security reasons, actual status maybe not reported, but 404.\n"
Headers: {
  "date": "Wed, 26 Oct 2022 16:38:23 GMT",
  "content-type": "text/html",
  "cf-ray": "76049f391827aca4-TXL",
  "etag": "W/\"2e388576eefd92a15967868d5f566f29\"",
  "last-modified": "Fri, 12 Apr 2019 12:31:08 GMT",
  "vary": "Accept-Encoding",
  "via": "1.1 5bbaa27b453dc834289b91c14bbb4934.cloudfront.net (CloudFront)",
  "cf-cache-status": "MISS",
  "x-amz-cf-id": "kHuYLEeJ76r3lnLQ_p0VNH93qw8i9Dv2OAbpFM9825hBGXL0R3l5nQ==",
  "x-amz-cf-pop": "DUS51-P1",
  "x-amz-replication-status": "COMPLETED",
  "x-amz-version-id": "VqbLlYOrmhwZcBiGDmQhZPztJf8PNquh",
  "x-cache": "Error from cloudfront",
  "set-cookie": [
    "__cf_bm=0JNvK1BXcCZGE_x8y3n9E.VShUD78yUsu7iJTnR7Ijo-1666802303-0-AX97SDgiKrrb4ZdcwTGmk2I2EcxqsL7dKRsirBvCf9J8MP7g7z+WpmknQ4zhq/duHtl05oc+7l69uQZd56CH990=; path=/; expires=Wed, 26-Oct-22 17:08:23 GMT; domain=.arduino.cc; HttpOnly; Secure; SameSite=None"
  ],
  "server": "cloudflare",
  "content-encoding": "gzip",
  "alt-svc": "h3=\":443\"; ma=86400, h3-29=\":443\"; ma=86400"
}
    at createHttpError (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/httpExecutor.js:14:12)
    at ElectronHttpExecutor.handleResponse (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/httpExecutor.js:116:20)
    at ClientRequest.<anonymous> (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/httpExecutor.js:82:26)
    at ClientRequest.emit (node:events:394:28)
    at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:105:6816)
    at SimpleURLLoaderWrapper.emit (node:events:394:28) Error: Cannot find channel "stable-linux-arm.yml" update info: HttpError: 404 
"method: GET url: https://downloads.arduino.cc/arduino-ide/stable-linux-arm.yml?noCache=1ggaihfop\n\nPlease double check that your authentication token is correct. Due to security reasons, actual status maybe not reported, but 404.\n"
Headers: {
  "date": "Wed, 26 Oct 2022 16:38:23 GMT",
  "content-type": "text/html",
  "cf-ray": "76049f391827aca4-TXL",
  "etag": "W/\"2e388576eefd92a15967868d5f566f29\"",
  "last-modified": "Fri, 12 Apr 2019 12:31:08 GMT",
  "vary": "Accept-Encoding",
  "via": "1.1 5bbaa27b453dc834289b91c14bbb4934.cloudfront.net (CloudFront)",
  "cf-cache-status": "MISS",
  "x-amz-cf-id": "kHuYLEeJ76r3lnLQ_p0VNH93qw8i9Dv2OAbpFM9825hBGXL0R3l5nQ==",
  "x-amz-cf-pop": "DUS51-P1",
  "x-amz-replication-status": "COMPLETED",
  "x-amz-version-id": "VqbLlYOrmhwZcBiGDmQhZPztJf8PNquh",
  "x-cache": "Error from cloudfront",
  "set-cookie": [
    "__cf_bm=0JNvK1BXcCZGE_x8y3n9E.VShUD78yUsu7iJTnR7Ijo-1666802303-0-AX97SDgiKrrb4ZdcwTGmk2I2EcxqsL7dKRsirBvCf9J8MP7g7z+WpmknQ4zhq/duHtl05oc+7l69uQZd56CH990=; path=/; expires=Wed, 26-Oct-22 17:08:23 GMT; domain=.arduino.cc; HttpOnly; Secure; SameSite=None"
  ],
  "server": "cloudflare",
  "content-encoding": "gzip",
  "alt-svc": "h3=\":443\"; ma=86400, h3-29=\":443\"; ma=86400"
}
    at createHttpError (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/httpExecutor.js:14:12)
    at ElectronHttpExecutor.handleResponse (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/httpExecutor.js:116:20)
    at ClientRequest.<anonymous> (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/httpExecutor.js:82:26)
    at ClientRequest.emit (node:events:394:28)
    at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:105:6816)
    at SimpleURLLoaderWrapper.emit (node:events:394:28)
    at Object.newError (/home/pi/dev/git/arduino-ide/node_modules/builder-util-runtime/out/index.js:47:19)
    at GenericProvider.getLatestVersion (/home/pi/dev/git/arduino-ide/node_modules/electron-updater/out/providers/GenericProvider.js:27:50)
    at async AppImageUpdater.getUpdateInfoAndProvider (/home/pi/dev/git/arduino-ide/node_modules/electron-updater/out/AppUpdater.js:298:19)
    at async AppImageUpdater.doCheckForUpdates (/home/pi/dev/git/arduino-ide/node_modules/electron-updater/out/AppUpdater.js:312:24)
    at async IDEUpdaterImpl.checkForUpdates (/home/pi/dev/git/arduino-ide/arduino-ide-extension/lib/electron-main/ide-updater/ide-updater-impl.js:61:51)
    at async JsonRpcProxyFactory.onRequest (/home/pi/dev/git/arduino-ide/node_modules/@theia/core/lib/common/messaging/proxy-factory.js:127:24)

To reproduce

Start the IDE2 on a non-supported platform+arch combo

Expected behavior

The update check silently fails, not with a misleading error:

Please double check that your authentication token is correct. Due to security reasons, actual status maybe not reported, but 404.

Arduino IDE version

2b2463b

Operating system

Linux

Operating system version

Linux pi 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux

Additional context

No response

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

No one assigned

    Labels

    topic: 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