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

Support frequent out of band updates to the language server #2580

Closed
DonJayamanne opened this issue Sep 14, 2018 · 8 comments · Fixed by #2615
Closed

Support frequent out of band updates to the language server #2580

DonJayamanne opened this issue Sep 14, 2018 · 8 comments · Fixed by #2615
Assignees
Labels
area-intellisense LSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc. feature-request Request for new features or functionality important Issue identified as high-priority needs proposal Need to make some design decisions

Comments

@DonJayamanne
Copy link

I.e. as support to download language server more frequently.
E.g. once a week.
@qubitron @MikhailArkhipov
Would downloading once a week work? It do we download Everytime we come across a new release.
Please note, new versions will only be downloaded when the extension is loaded.

Option 1 (does not block use)

  • When extension loads look kor a new version

  • If a new version exists, download and extract (in background)

  • Once completed prompt user to restart vscode to use the new version

    • Options in the message include:
    • [Reload] Will reload vscode
    • [Do not show again] Will not show message again, but when user loads vscode next time, new language server is automatically available.
  • Pros, user can continue using extension with older language server, intellisense, navigation, etc will work. I.e. faster loading of extension.

Option 2:

  • When extension loads look kor a new version
  • If a new version exists, download and extract and continue loading extension
  • Pros: current experience
  • Cons: Everytime the language server updates, user has to wait for it to download and complete. I.e. shower downloads means, use is unable to get benefits of intellisense, code navigation, etc, cuz language server hasn't started yet.
@DonJayamanne DonJayamanne added feature-request Request for new features or functionality area-intellisense LSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc. needs PR important Issue identified as high-priority needs proposal Need to make some design decisions labels Sep 14, 2018
@DonJayamanne DonJayamanne self-assigned this Sep 14, 2018
@d3r3kk
Copy link

d3r3kk commented Sep 14, 2018

How will you know there is a new version?

Right now the extension simply downloads from a static URL that has no version information in it.

@DonJayamanne
Copy link
Author

Right now the extension simply downloads from a static URL that has no version information in it.

I am yet to discuss this with @MikhailArkhipov
However that's a minor issue (determining the URL).

@qubitron
Copy link

As long as Option 1 is reliable and not too difficult to implement then I'm for that, but option 2 is good enough if needed.

@DonJayamanne
Copy link
Author

DonJayamanne commented Sep 18, 2018

@qubitron @MikhailArkhipov @brettcannon
I've gone with option 2.
Do we need the ability to turn this feature off?
Do we need any prompts before downloading a new version?

@Microsoft/pvsc-team /cc

@MikhailArkhipov
Copy link

It would be good to provide ability to turn off updates. Some people may not like us pinging Microsoft servers. AFAIK C# (OmniSharp) does not provide the prompt, it just downloads new bits.

@DonJayamanne
Copy link
Author

DonJayamanne commented Sep 18, 2018

What should this setting be named:
python.autoUpdateLanguageServer = true

@qubitron
Copy link

Live share automatically downloads new versions, so no prompt needed, option to turn it off is a good idea, the proposed setting looks fine to me.

@brettcannon
Copy link
Member

I agree with Mikhail that we need a way to turn this off for those that don't want to send anything to Microsoft, no matter how innocuous a version check is.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-intellisense LSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc. feature-request Request for new features or functionality important Issue identified as high-priority needs proposal Need to make some design decisions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants