Skip to content

feat: Moving to eclipsecontent blob url - #508

Open
tuxtor wants to merge 1 commit into
nvim-java:mainfrom
tuxtor:main
Open

tuxtor wants to merge 1 commit into
nvim-java:mainfrom
tuxtor:main

Conversation

@tuxtor

@tuxtor tuxtor commented Sep 27, 2026

Copy link
Copy Markdown

I was playing around with the versions parameter in the Open VSX components and noticed newer versions won't work. Open VSX registry changed the blob URLs

For example

curl https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0 |jq

Returns

...
 "files": {
    "download": "https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/vscjava.vscode-java-test-0.40.0.vsix",
    "manifest": "https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/package.json",
    "readme": "https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/README.md",
    "changelog": "https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/CHANGELOG.md",
    "license": "https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/LICENSE.txt",
    "icon": "https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/logo.png",
    "vsixmanifest": "https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/extension.vsixmanifest",
    "sha256": "https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/vscjava.vscode-java-test-0.40.0.sha256",
    "signature": "https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/vscjava.vscode-java-test-0.40.0.sigzip",
    "publicKey": "https://open-vsx.org/api/-/public-key/14ccb407-4e79-41ed-be5a-6d608325c45a"
  }
...

And the api url redirects to a newer blob url

wget https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/vscjava.vscode-java-test-0.40.0.vsix
HTTP response 302  [https://open-vsx.org/api/vscjava/vscode-java-test/0.40.0/file/vscjava.vscode-java-test-0.40.0.vsix]
Enqueue https://openvsx.eclipsecontent.org/vscjava/vscode-java-test/0.40.0/vscjava.vscode-java-test-0.40.0.vsix
Saving 'vscjava.vscode-java-test-0.40.0.vsix'
HTTP response 200  [https://openvsx.eclipsecontent.org/vscjava/vscode-java-test/0.40.0/vscjava.vscode-java-test-0.40.0.vsix]

Thus, the switch proposal

Copilot AI lite review requested due to automatic review settings September 27, 2026 19:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

No unresolved blocking issues were identified.

Review effort: Lite
Findings: None

What changed in this PR

Updates Open VSX extension download URLs to the new Eclipse Content blob host.

Changes:

  • Migrates Java Test, Java Debug, and Spring Boot Tools URLs.
  • Preserves versioned VSIX paths.
File Description
lua/​pkgm/​specs/​init.lua Updates three Open VSX download endpoints.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@s1n7ax

s1n7ax commented Sep 28, 2026

Copy link
Copy Markdown
Member

@tuxtor Do you mean from this plugin the follow redirect does not work?

@tuxtor

tuxtor commented Oct 1, 2026

Copy link
Copy Markdown
Author

@s1n7ax it does for old/legacy version. But it doesn't work for future versions. I believe due to a change on the infra side at openvsx

  1. Currently, nvim-java uses the Windows.net blob URL. For example, if we consider the 0.40.1 version of vscode-java-test, the plugin resolves to the following URL:
wget https://openvsxorg.blob.core.windows.net/resources/vscjava/vscode-java-test/0.40.1/vscjava.vscode-java-test-0.40.1.vsix
Saving 'vscjava.vscode-java-test-0.40.1.vsix'
HTTP response 200 OK [https://openvsxorg.blob.core.windows.net/resources/vscjava/vscode-java-test/0.40.1/vscjava.vscode-java-test-0.40.1.vsix]
vscjava.vscode-java- 100% [==============================================================================================================>]    2.21M  493.08KB/s
                          [Files: 1  Bytes: 2.21M [411.97KB/s] Redirects: 0  Todo: 0  Errors: 0                                           ]
                          

However the API delivers a different URL

curl https://open-vsx.org/api/vscjava/vscode-java-test/0.40.1 |jq |grep download
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100   5333 100   5333   0      0   6941      0                              0
  "downloadCount": 25973658,
  "downloadable": true,
  "downloads": {
    "download": "https://open-vsx.org/api/vscjava/vscode-java-test/0.40.1/file/vscjava.vscode-java-test-0.40.1.vsix
  1. On newer versions -e.g. 0.46.0- the windows blob API would not work
wget https://openvsxorg.blob.core.windows.net/resources/vscjava/vscode-java-test/0.46.0/vscjava.vscode-java-test-0.46.0.vsix
HTTP ERROR response 404 The specified blob does not exi [https://openvsxorg.blob.core.windows.net/resources/vscjava/vscode-java-test/0.46.0/vscjava.vscode-java-tvscjava.vscode-java- 100% [==============================================================================================================>]     215     --.-KB/s
                          [Files: 0  Bytes: 215  [255 B/s] Redirects: 0  Todo: 0  Errors: 1                                               ]
                          

However, using the URL from the API it works and resolves to a different domain

curl https://open-vsx.org/api/vscjava/vscode-java-test/0.46.0 |jq |grep download
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100   5341 100   5341   0      0   7678      0                              0
  "downloadCount": 25973658,
  "downloadable": true,
  "downloads": {
    "download": "https://open-vsx.org/api/vscjava/vscode-java-test/0.46.0/file/vscjava.vscode-java-test-0.46.0.vsix",
wget https://open-vsx.org/api/vscjava/vscode-java-test/0.46.0/file/vscjava.vscode-java-test-0.46.0.vsix
HTTP response 302  [https://open-vsx.org/api/vscjava/vscode-java-test/0.46.0/file/vscjava.vscode-java-test-0.46.0.vsix]
Enqueue https://openvsx.eclipsecontent.org/vscjava/vscode-java-test/0.46.0/vscjava.vscode-java-test-0.46.0.vsix
Saving 'vscjava.vscode-java-test-0.46.0.vsix'
HTTP response 200  [https://openvsx.eclipsecontent.org/vscjava/vscode-java-test/0.46.0/vscjava.vscode-java-test-0.46.0.vsix]
vscjava.vscode-java- 100% [==============================================================================================================>]    4.75M    --.-KB/s
                          [Files: 1  Bytes: 4.75M [5.69MB/s] Redirects: 1  Todo: 0  Errors: 0

So we could either

  1. Use the URL base from the API, which triggers a redirection
  2. Use the resolved URL base with support for newer versions

Hence my proposal is to use the second approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants