eclipse-che / che-theia

Eclipse Public License 2.0
125 stars 111 forks source link

Download VS Code built-ins sequentially #1380

Closed azatsarynnyy closed 2 years ago

azatsarynnyy commented 2 years ago

Signed-off-by: Artem Zatsarynnyi azatsary@redhat.com

What does this PR do?

It patches the upstream Theia before generating a Che-Theia assembly, making downloading the VS Code built-ins sequentially (instead of in parallel mode) to avoid reaching the OpenVSX rate limit which is about 15 req/sec.

Screenshot/screencast of this PR

What issues does this PR fix or reference?

https://issues.redhat.com/browse/CRW-3493

How to test this PR?

Look at the build output. Before starting to download the built-ins, it should output: --- downloading plugins (no-parallel mode) --- and the extensions should be downloaded with no messages like failed to download with: 429 Too Many Requests.

PR Checklist

As the author of this Pull Request I made sure that:

Reviewers

Reviewers, please comment how you tested the PR when approving it.

Happy Path Channel

HAPPY_PATH_CHANNEL=stable

codecov[bot] commented 2 years ago

Codecov Report

Merging #1380 (013723f) into main (c299f59) will increase coverage by 3.94%. The diff coverage is 40.18%.

@@            Coverage Diff             @@
##             main    #1380      +/-   ##
==========================================
+ Coverage   32.78%   36.72%   +3.94%     
==========================================
  Files         290      330      +40     
  Lines        9885    11490    +1605     
  Branches     1457     1510      +53     
==========================================
+ Hits         3241     4220     +979     
- Misses       6641     7265     +624     
- Partials        3        5       +2     
Impacted Files Coverage Δ
...theia-about/src/browser/about-che-theia-dialog.tsx 0.00% <0.00%> (ø)
...credentials/src/browser/che-credentials-service.ts 0.00% <0.00%> (ø)
...entials/src/browser/credentials-frontend-module.ts 0.00% <0.00%> (ø)
...eia-credentials/src/common/credentials-protocol.ts 0.00% <0.00%> (ø)
...eia-credentials/src/node/che-credentials-server.ts 0.00% <0.00%> (ø)
...s/src/node/che-theia-credentials-backend-module.ts 0.00% <0.00%> (ø)
...ashboard/src/browser/che-theia-dashboard-module.ts 0.00% <0.00%> (ø)
...ia-dashboard/src/browser/theia-dashboard-client.ts 0.00% <0.00%> (ø)
...rowser/src/browser/che-mini-browser-environment.ts 0.00% <0.00%> (ø)
...in-ext/src/browser/che-sidecar-file-system-main.ts 100.00% <ø> (ø)
... and 297 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

azatsarynnyy commented 2 years ago
...
$ theia download:plugins
--- downloading plugins (no-parallel mode) ---
+ vscode-builtin-bat: downloaded successfully 
+ vscode-builtin-clojure: downloaded successfully 
...

:tada: