eclipse-theia / theia

Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
http://theia-ide.org
Eclipse Public License 2.0
19.87k stars 2.48k forks source link

VSX Extensions: When uninstalling an extension it will delete the same builtin extension if exists too #13597

Open safisa opened 5 months ago

safisa commented 5 months ago

Bug Description:

Hi, A very problematic issue on extension uninstallation, which I hope is clear in the steps to reproduce below.

Steps to Reproduce:

  1. add for example redhat java extension version 1.26 to your Theia builtin extensions
  2. restart your Theia browser to load the new builtin extension
  3. install a newer version is the builtin one from open-vsx or from vsix file
  4. now uninstall it
  5. reload the page
  6. you will see that the built-in extension is also deleted from builtin folder and not only the deployed one !!!

You can also reproduce it from a similar flow in the ticket I just opened: https://github.com/eclipse-theia/theia/issues/13596 by uninstalling the new java plugin installed by the test runner dependencies.

Additional Information

tsmaeder commented 5 months ago

IMO, one should not be able to replace a built-in with a newer one from the UI. Built-ins usually are tied to the exact version of the platform they are running on. To update them, you would update the whole product. Maybe there needs to be a category "pre-installed"? I can see that adopters might want to ship some plugins which are not "built-ins" per se with the product. But that sounds like a job for the installer script, not the "built-in" folder.