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

Visual Studio Code should update itself silently #9539

Closed
kasajian opened this issue Jul 20, 2016 · 52 comments
Closed

Visual Studio Code should update itself silently #9539

kasajian opened this issue Jul 20, 2016 · 52 comments
Labels
feature-request Request for new features or functionality install-update VS Code installation and upgrade system issues *out-of-scope Posted issue is not in scope of VS Code
Milestone

Comments

@kasajian
Copy link

I think automatic update is great, but I think some people just want the thing updated automatically without being asked. There can be notification that indicates that it's changed and what's new. But I think we should follow the Chrome model and just update it.

Why?

Think of it as software running on the web. When I go to cnn.com, I'm not notified that there's a new version of the back-end software that I might be running. So why / when should I care if the front-end software has updated?

Sometimes you care -- such as low-bandwidth situations. But that doesn't mean everyone cares. Some of us, dare I say, a large majority of people, just want the latest stuff all the time.

Thank you for listening.

  • VSCode Version:
  • OS Version:

Steps to Reproduce:
1.
2.

@bgse
Copy link
Contributor

bgse commented Jul 20, 2016

Problem with automatic, unconfirmed updating is that users might rely on a feature that breaks with the update, they might require a specific extension that doesn't work properly with the update, etc.

In very strict environments, the user might not even have the required privileges for the update process to complete successfully, or he might be required to ask for approval of a superior before upgrading a toolset, etc.

For the insiders release, I would actually welcome it not nagging every day and just updating automatically, for the stable release, not so much since that is the tool I rely on for production usage.

@Mike737377
Copy link

Should be a setting so the user can pick whether they want to automatically upgrade

@kieferrm
Copy link
Member

This is the 'stable channel' version of #7389.

@Spown
Copy link

Spown commented Jul 22, 2016

Could be a setting defaulted to false. Can already imagine an avalanche of "high cpu/hdd load on startup // VSC unresponsive // etc" bugreports every update if this feature becomes a default behavior.

@kieferrm kieferrm added the feature-request Request for new features or functionality label Jul 22, 2016
@joaomoreno joaomoreno added this to the Backlog milestone Jul 22, 2016
@CodyBatt
Copy link

This is the number 1 thing that bothers me about code specifically on Windows, (so that just speaks to how great code is). I'm not sure if anything is being done here so I feel compelled to add my two cents. This is not just annoying to people on the insider track. The stable updates come frequently enough to annoy the shit out of me over the last year. There is a well-established pattern for how to do this and you should just copy: chrome, github for windows, spotify, slack, curse, or any other of the tons of desktop apps that have frequent updates do it silently and automatically.

Might break functionality:
How do I know as a user that the update is going to break my workflow? Until I install it, I don't. Even if I do read the release notes, I might not understand the implications until I use it. By leaving that choice up to the user you shift the blame for things breaking onto them and give them a crappy update experience as a bonus. Instead, if this is a legitimate concern, you should provide an easy way to roll back to the previous known-good version. More work for you, yes, but more satisfaction for end users.

Might cause high load on startup:
Don't install the update on startup. No one wants slow startup. There are many ways around this, install in the background, install on shutdown... again copy one of the other apps that does it right.

Make it a setting:
If you must. Most users won't know or care about it, unless you turn it off by default, then every user will have to know about it because they will all want to enable it!

Might not have permissions:
Code should install into AppData\Local or some other non-restricted location. If that means it doesn't use MSI, so much the better.

@joaomoreno
Copy link
Member

@CodyBatt You make some good points.

I'm curious, though, did you get an update that broke functionality? If so, please file an issue on that.

There is a setting to disable updates: update.channel: "none".

User installations: #534

@CodyBatt
Copy link

@joaomoreno No update has ever broken functionality for me (I was just responding to what I think is a weak excuse for the current update behavior). I don't want to disable updates! Like the OP stated, I just want them to occur silently, automatically, without interrupting my workflow.

There is one really good thing about the current behavior, when I have insomnia, I can just think about the update experience in VS code and cry myself to sleep. :)

@klmcwhirter
Copy link

klmcwhirter commented Oct 11, 2016

I agree. I am constantly being asked to restart VS Code because of extension updates. And the upgrade of VS Code does not work. When I get annoyed enough of the prompts I download the latest version and reinstall.

UPDATE
Note I am running on Mac OS X.

I determined via log file ~/Library/Application\ Support/com.microsoft.VSCode.ShipIt/ShipIt_stderr.log that my problem was permissions.

I had VSCode installed in /Applications and it could not replace that version with the update.

I have moved it into ~/Applications and adjusted my helper script accordingly. I have not seen any more requests for restart where they were coming every 5-10 mins.

Notice that I found a bunch of cruft in a directory named /var/folders/lj/vc5bqkb1107_sxdtx3gnp1yr0000gp/T as well.

@joaomoreno joaomoreno removed their assignment Oct 11, 2016
@PowerWeb5
Copy link

Agreed, this would make vscode more attractive to use frequently, with less tedious updates.

@bpacholek
Copy link

I made a simple solution for Debian:
https://github.com/ideaconnect/vscode-autoupdate

I have it in cron, automatically updates vscode for my everyday around 11:00

@krux02
Copy link

krux02 commented Mar 23, 2017

What I want is to be able to press "never annoy me again" whenever I see "an update is available". I don't care unless something breaks, and then I do it on my own. Those update notifications are annoying, and that is the real problem.

@Grinderofl
Copy link

One thing that needs to be improved on: When you choose to finally update, VS Code won't reopen with previously open files. It's fine for that type of behaviour if you as the user choose to click on X. Not so much if the intent wasn't to end the session but rather to just update the software. Not sure if that's a separate issue, but a silent update should definitely ensure that all your files remain open.

On topic: one way to solve this is to make the updater work without having to shut down VS Code, and instead offer you the option to restart VS Code to make changes take effect (without nagging about it). This way, the next time you run VS Code even from a cold boot, you'll have the new version running (to avoid 'long startup' grumbles).

@shuffle2
Copy link

Please make VSCode act the way chrome does over an update (assuming you've enable tab restoration in chrome).

  • Unobtrusive notification
  • Update is fully behind-the-scenes (no terrible installation wizard)
  • Fast since real update isn't done on e.g. launch path
  • Restores state after done

@joachimwolff
Copy link

My solution for Ubuntu: Activate the repository for it (https://code.visualstudio.com/docs/setup/linux), set the system update to 'automatic' and set in vscode the option "update.channel": "none". Now Ubuntu's apt updates vscode and vscode does not annoy me with update notifications.

@alexhass
Copy link

How can I set update.channel: "none" per machine?

@carl-di-ortus
Copy link

In Linux it is not a common practice for programs to be self-updating. I wouldn't even want this. My habit of typing apt update && apt upgrade does the job. Even if I don't - there may be a smaller notification than there is currently. For example, look at regular Visual Studio (not vscode) for Windows notification flag about updates. It's small, in the corner and it doesn't get in the way. You can do the update anytime, even manually and make this flag disappear. Another example - compare, let's say, Firefox on Windows and on Linux - on Windows it updates itself, on Linux not, there is a package manager for that.

@alper
Copy link

alper commented Sep 21, 2017

I don't care if it auto-upgrades, but please allow me to turn off that notification.

@joachimwolff
Copy link

@yamlfd File --> Preferences --> Settings
The global settings files opens on the left, on the right your personal settings. Just copy&past the update.channel: "none" line to your personal settings.

@alexhass
Copy link

It need to be set per Machine. The software need to be installed per machine and users do not have permission to update the software. Updates are only deployed via AD with .msi files.

@ajf8729
Copy link

ajf8729 commented Oct 12, 2017

An MSI based installer with a property to enable or disable system level automatic updates would make managing and deploying Code via ConfigMgr much easier. Also, please stop Code from auto launching after a silent install.

@frr149
Copy link

frr149 commented Oct 26, 2017

For Christ sake, stop the nagging or at least coalesce the updates in no more than 1 per week. This is driving me insane.

@bpasero bpasero added the install-update VS Code installation and upgrade system issues label Nov 11, 2017
@Dazag
Copy link

Dazag commented Dec 26, 2017

To me is as easy as @frr149 said, you dont need silent updates, if they do it once a month, let's say once every 3 months... it's driving me nuts, every time I open it, I have to close the information windows "you have a new update, blah blah"

@PowerWeb5
Copy link

Otherwise, for many, I believe just being able to view history of past updates - like in Firefox -to figure out, what, if any, may have caused some issues and to rollback an update (or manually install previous version, or disable the extension or auto-update of it/vscode) would suffice in many cases.

That said, it would be nice if, like in Chrome and Firefox, extensions advertise what permissions they request (eg. ability to edit files beyond just are opened as content or limited vscode files or their own config files), and you can choose to approve or disable those permissions per extension.

@kasajian
Copy link
Author

kasajian commented Apr 4, 2018 via email

@abrkn
Copy link

abrkn commented Apr 11, 2018

How do I hide the release notes? I will never read them and they are annoying.

@eiva
Copy link

eiva commented May 15, 2018

Stupid question for this thread.... (sorry) but how did you enable auto update? I have 4 installations on different versions of windows - none of them even tried to update itself - only plugins receive updates.

@VertigoRay
Copy link

VertigoRay commented Jun 16, 2018

I thought we all developers here? :trollface:

I've developed a script to update it on Windows. 🍻😏

@PowerWeb5
Copy link

It seems like extensions are auto-updating without prompt recently for me, and the design for background install of VSCode core updates seems much less intrusive.

That said, I tend to always click when see bar to begin background update, so if you've seen it failing to auto-update when don't do so, let me know.

@PowerWeb5
Copy link

PowerWeb5 commented Jun 17, 2018

@alexhass, @kasajian, (and others interested in Permissions, Security and Auto-Updating for Extensions),

You may want to a look at the new issue I created, #52116, for "Extension Permission Management, Updating, Security & Categories", as I'd created that in part based on discussions here.

I'd be interested in any feedback you may have as comments there, as well as any +1's if you believe these are enhancements that should be a priority.

Scope & Features Proposed:

I have proposed, in detail there, how Extension Permissions management could function and be exposed to users, including descriptions of dialogs for prompting users to allow/deny permissions on extension install vs. updating, changes to Extensions Sidebar and Details pages, specific warnings and when to show them, types of permissions could define (and whether may default to opt-out or opt-in for them), APIs could provide, how extensions could operate with more limited or conditional functionality, and how could crowdsource extension safety reporting.

Also, I've proposed here creation of Extension Type Categories, (for Language Syntax, File Management, Source Control, etc.) could be useful in-and-of-themselves in browsing for extensions, like how Chrome and Firefox extensions are organized, and could also help provide a good idea, at a glance, of likely required permissions, and relative extension functionality, as well as be used to control what permission are opt-in or opt-out by default or should have warnings shown for them, if higher risk than expected for a certain type of extension.

I've also proposed there that users can disable Auto-Update behavior for specific extensions, which, besides being useful in its own right, could allow users to stick with previous versions which require fewer permissions, manually review updates for higher-risk extensions, or avoid updating to problematic versions of extensions until issues are resolved.

@alexhass
Copy link

alexhass commented Nov 5, 2018

I never argued against auto-update of extensions, Only about vscode itself that is installed system wide.

@parthi2929
Copy link

Please please please make it just a symbol (again, not blinking one) for update notification. It is very very annoying every time I have to switch it off.

@iqapps
Copy link

iqapps commented Sep 14, 2020

"you should provide an easy way to roll back to the previous known-good version."

We really miss this, but its also a sign of to many bad releases. Just give us whichever is easiest to implement :-)

@mbomb007
Copy link

I don't think this is needed. I don't know what update notifications looked like 3 years ago, but they are not intrusive anymore. I see a little "1" or whatever on the settings gear that there is an update, then I click "update". That's it.

Also, I definitely think silent/automatic updates should be optional. The users should have complete control over update functionality on their computers. If they don't want manual updates, give them an option for auto, but don't take away the manual option.

@CodyBatt
Copy link

Updates are vastly better than when the issue was created. Seems like it could be closed at this point.

@MendelBak
Copy link

I still am having frustrations with the updates. It requires that I download and reinstall a new version of VSCode every time there is a new update. This takes time. I just want the current installation be updated when I choose to update it.

Currently, this is what I need to do:

  1. Download new version.
  2. Unzip.
  3. Figure out where current copy is located.
  4. Copy-paste new version into old version's folder,
  5. Verify that I didn't overwrite anything and that nothing is missing..

Is it possible to avoid this?

@Calmarius
Copy link

Calmarius commented May 16, 2021

I think people who are requesting this feature are on an unlimitied, unmetered internet connection all the time who don't care what hogs their bandwidth and don't care if something downloads hundreds of megabytes of stuff without their permission.

While I don't mind silent updates when I'm at home where I also have an unlimited connection. But when I'm on the go I'm using my very limited mobile data plan. And getting data cap warnings because something decided to update itself is not fun. Despite the fact I do my best to update everything I can while I'm on unmetered.

Today I lost 500MB data because VSCode decided to update itself on Linux. I don't know how it did that, because normally updates come via apt.

@jhpratt
Copy link

jhpratt commented May 16, 2021

@Calmarius Then make it an option?

@matkoniecz
Copy link
Contributor

matkoniecz commented Nov 13, 2021

How do I hide the release notes? I will never read them and they are annoying.

I opened "Allow disabling release notes popup" #137137 as it is a separate issue that is annoying even with silent background updates (available on Linux for VSCode and other software installed as a package)

(was already fixable with "update.showReleaseNotes": false)

@RokeJulianLockhart
Copy link

RokeJulianLockhart commented Aug 19, 2022

Does the existence of "http://github.com/microsoft/winget-cli" partially remediate this? Ideally Visual Studio Code should no longer need to include a custom update-mechanism.

@joaomoreno joaomoreno added the *out-of-scope Posted issue is not in scope of VS Code label Dec 9, 2022
@vscodenpa
Copy link

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.

If you wonder what we are up to, please see our roadmap and issue reporting guidelines.

Thanks for your understanding, and happy coding!

@vscodenpa vscodenpa closed this as not planned Won't fix, can't repro, duplicate, stale Dec 9, 2022
@RokeJulianLockhart
Copy link

@VSCodeTriageBot, what was the rationale for the decision? Without that, I fail to see what can be discussed.

@heartacker
Copy link
Contributor

sad

@darthwalsh
Copy link

From the years-old discussion on the thread, is the only part not-yet-implemented to make the "update is available" "restart now button" floating notification prompt less obtrusive?

I could imagine a setting like "update.prompt": false that removes that prompt entirely. There will still be a notification dot on the gear icon in the corner saying a notification is available, which is the perfect amount of notification for me. It seems like adding this setting could be a separate feature request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request Request for new features or functionality install-update VS Code installation and upgrade system issues *out-of-scope Posted issue is not in scope of VS Code
Projects
None yet
Development

No branches or pull requests