Skip to content

Detect which plugins are manually installed by not listed in .gitpod.yml #13092

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
andreafalzetti opened this issue Sep 19, 2022 · 3 comments
Closed
Labels
aspect: user config drift Gitpod UX ephemerality where users mutate their environment but forget to update their configuration editor: jetbrains meta: stale This issue/PR is stale and will be closed soon team: IDE

Comments

@andreafalzetti
Copy link
Contributor

andreafalzetti commented Sep 19, 2022

Create a service to analyze which plugins were manually installed by the user and not listed in .gitpod.yml - this will be used in a follow-up issue to automatically install them.

There are different ways to detect installed plugins:

  1. We can do it by checking the folders inside /workspace/.config/(JetBrains|JetBrains-latest)/RemoteDev-<ID_CODE>/_workspace_<REPOSITORY_NAME>/plugins, and compare this list of folders name against the plugins listed in .gitpod.yml.
  2. Using SDK APIs to list installed plugins and MessageBus events to be notified when a new plugin is installed

The ideal solution (to be validated):

  • Extend the YAML PSI model to create a "Gitpod YAML PSI model" able to comprehend the semantics of the .gitpod.yml and easily interact with the Gitpod config (e.s. Add plugin X, Remove plugin X).

Examples:

@andreafalzetti andreafalzetti changed the title Detect if plugin is installed Detect which plugins are manually installed by not listed in .gitpod.yml Sep 19, 2022
@andreafalzetti
Copy link
Contributor Author

This issue is slightly related to #10924, if we could find a way to bring attention to a warning to the user, it could be re-used in other areas, such as the issue just mentioned.

An idea that I had was using the backend control center.

@andreafalzetti andreafalzetti moved this from Scheduled to In Progress in 🚀 IDE Team Sep 22, 2022
@loujaybee loujaybee added the aspect: user config drift Gitpod UX ephemerality where users mutate their environment but forget to update their configuration label Sep 27, 2022
@akosyakov
Copy link
Member

We can do it by checking the folders inside /workspace/.config/(JetBrains|JetBrains-latest)/RemoteDev-<ID_CODE>/workspace<REPOSITORY_NAME>/plugins, and compare this list of folders name against the plugins listed in .gitpod.yml.

I don't think that checking plugins dir is good idea. Using API hooks should be safer.

@stale
Copy link

stale bot commented Feb 19, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the meta: stale This issue/PR is stale and will be closed soon label Feb 19, 2023
@stale stale bot closed this as completed Mar 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aspect: user config drift Gitpod UX ephemerality where users mutate their environment but forget to update their configuration editor: jetbrains meta: stale This issue/PR is stale and will be closed soon team: IDE
Projects
None yet
Development

No branches or pull requests

4 participants