Skip to content
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

Make LS installation silent by default #815

Closed
radeksimko opened this issue Oct 18, 2021 · 1 comment · Fixed by #868
Closed

Make LS installation silent by default #815

radeksimko opened this issue Oct 18, 2021 · 1 comment · Fixed by #868
Assignees
Labels
enhancement New feature or request

Comments

@radeksimko
Copy link
Member

Closes #783


Problem Statement

Whenever the user first installs the extension, or we release a new version of the language server, they're presented with a prompt such as this one:

Screenshot 2021-10-18 at 13 01 33

Then after confirmation the user is further presented with a confirmation popup linking to the Changelog:

Screenshot 2021-10-18 at 13 03 02

This behaviour was initially intended to make the process more transparent, based on the assumption that users want to have full control of what is being installed and when. However this seems misaligned with real VS Code user expectations and (relatedly) with how other popular VS Code extensions behave. This is also misaligned with how extensions themselves are updated in VS Code.

The default workflow involves VS Code updating extensions automatically on the background without any user interaction. In some cases (where the update requires reload) the update is staged until the user decides to click the button in Extensions pane or restarts VS Code.

Screenshot 2021-10-18 at 13 14 37

Expected User Experience

Users will not receive none of the two popups by default. New versions are silently prepared for installation and installed upon next extension activation (i.e. typically with next VS Code launch).

Proposal

Any new version of the language server will be automatically (silently) installed into a staging area on the filesystem, e.g. under a separate directory ls-bin-staging within the global storage path. To avoid interrupting the user during editing the new binary will be replaced at the next extension activation, i.e. the extension will check the expected staging path upon activation.

Global VS Code settings option extensions.autoUpdate is also reflected, i.e. updating LS is entirely turned off if the user has this set to off.

(optional, depending on currently unavailable telemetry data)

Introduce a new extension config option lsChangelog: (true|false) (defaulting to false) which would cause a popup with Changelog link to be shown once a new version is installed.

@radeksimko radeksimko added the enhancement New feature or request label Oct 18, 2021
@jpogran jpogran linked a pull request Nov 23, 2021 that will close this issue
@jpogran jpogran linked a pull request Dec 9, 2021 that will close this issue
@github-actions
Copy link

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 17, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
2 participants