electron-userland / electron-builder

A complete solution to package and build a ready for distribution Electron app with “auto update” support out of the box
https://www.electron.build
MIT License
13.68k stars 1.74k forks source link

AppImage differential download fires too many requests #2219

Closed ilya-lopukhin closed 7 years ago

ilya-lopukhin commented 7 years ago

Seems like differential download fires a real ton of requests when it has many different blocks, and GitHub Api just drops me off with HttpError: 429 Too Many Requests Headers: { "content-security-policy": [ "default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src render.githubusercontent.com; connect-src 'self' uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com github- cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github- production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset- 6210df.s3.amazonaws.com; font-src assets-cdn.github.com; form-action 'self' github.com gist.github.com; frame-ancestors 'none'; img-src 'self' data: assets-cdn.github.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com collector.githubapp.com avatars0.githubusercontent.com avatars1.githubusercontent.com avatars2.githubusercontent.com avatars3.githubusercontent.com github- cloud.s3.amazonaws.com; media-src 'none'; script-src assets-cdn.github.com; style-src 'unsafe- inline' assets-cdn.github.com" ], "content-type": [ "text/html" ], "date": [ "Sun, 22 Oct 2017 16:04:57 GMT" ], "expect-ct": [ "max-age=2592000, report-uri=\"https://api.github.com/_private/browser/errors\"" ], "public-key-pins": [ "max-age=5184000; pin-sha256=\"WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=\"; pin-sha256=\"RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho=\"; pin- sha256=\"k2v657xBsOVe1PQRwOsHsw3bsGT2VzIqz5K+59sNQws=\"; pin- sha256=\"K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q=\"; pin- sha256=\"IQBnNBEiFuhj+8x6X8XLgh01V9Ic5/V3IRQLNFFc7v4=\"; pin- sha256=\"iie1VXtL7HzAMF+/PVPR9xzT80kQxdZeJ+zduCB3uj0=\"; pin- sha256=\"LvRiGEjRqfzurezaWuj8Wie2gyHMrW5Q06LspMnox7A=\"; includeSubDomains" ], "retry-after": [ "120" ], "server": [ "GitHub.com" ], "status": [ "429 Too Many Requests" ], "strict-transport-security": [ "max-age=31536000; includeSubdomains; preload" ], "transfer-encoding": [ "chunked" ], "x-content-type-options": [ "nosniff" ], "x-frame-options": [ "deny" ], "x-github-request-id": [ "19A6:27952:241254F:3DA14A5:59ECC1A6" ], "x-runtime-rack": [ "0.003444" ], "x-xss-protection": [ "1; mode=block" ] } at ClientRequest.<anonymous> (/tmp/.mount_ChronofduOzf/app/resources/app.asar/node_modules/electron- updater/src/differentialPackage.ts:183:22)

The full log below.

linux-update-debug.log

develar commented 7 years ago

As was stated, changed block size in case of AppImage is small and we must implement multi range requests ASAP.

pfrazee commented 7 years ago

Disabling partial downloads if the provider is GitHub ought to work as a temporary fix, yeah? I'll make a PR in a moment.

develar commented 7 years ago

To make clear — this error doesn't lead to broken auto-update. Any error during delta update just logged and full update is performed.

I am working on fix, but it depends on another important features of electron-updater and so, was not fixed in a short term yet.

ilya-lopukhin commented 7 years ago

@develar, for me the auto-update stays still broken( The thing happening: github blocks api temporarily, so the request to download the full version right after failing to download differential update is also declined with 429: Too many requests

pfrazee commented 7 years ago

Yeah same. Could put a delay after the 429

On Nov 2, 2017, at 6:14 AM, Ilya Lopukhin notifications@github.com wrote:

@develar, for me the auto-update stays still broken( The thing happening: github blocks api temporarily, so the request to download the full version right after failing to download differential update is also declined

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

develar commented 7 years ago

electron-updater 2.16.2 is released. It is pre-release, tagged as next. Please try.