Page MenuHomeSolus

Update VS Code to latest
Closed, ResolvedPublic

Description

This is just a task to reference anyone who may request VS Code to be updated to the latest version of Visual Studio Code (currently 1.18.0). This is currently blocked by VS Code's lack of NPM 5 support, as detailed here. I am currently subscribed to the issue and will update VS Code to the latest version when such issue is resolved.

Note: In the event Visual Studio Code is not updated to support NPM5 by the end of November, 2017, it will be deprecated / obsoleted from the repository with the expectation that individuals that wish to use VS Code utilize the Snap. It will not return to the repository after such point, as there would be no guarantee that it would continue to work into the future.

Related Objects

Event Timeline

Herald removed JoshStrobl as the assignee of this task. · View Herald TranscriptAug 10 2017, 7:17 PM
JoshStrobl triaged this task as Normal priority.
JoshStrobl moved this task from Backlog to Improvement on the Software board.
EP01 added a subscriber: EP01.Aug 10 2017, 8:45 PM
Unknown Object (User) added a subscriber: Unknown Object (User).Aug 22 2017, 6:11 PM
JoshStrobl renamed this task from Update VS Code to 1.15.x to Update VS Code to latest.Sep 1 2017, 6:45 PM
JoshStrobl updated the task description. (Show Details)

Sucks that upstream hasn't touched this issue in a while.

I think for now you could ship .tar.gz instead of compiling from source. I understand you are seeking to build them from source on your build server but usability suffers. I've been manually downloading and replacing vscode and adding commands to path for the last few releases. Not a super hassle by any means but since the version in repos exist, might as well remove it entirely or update it to not supply outdated application.

I'm not shipping their compiled tarball, nor am I removing it from the repo. nodejs 8 is the next LTS starting next month, so at some point they need to have support for NPM 5 (even the Atom folks have NPM 5 support and have so for months, so it isn't like it's not technically feasible).

It's pointless to ship severely outdated software, that's my main point. What's going to happen next time smth breaks for half a year? It's been 2 month now, we don't know when they are going to support npm 5, there seems to be no traction on the issue tracker.

It's not about it being technically unrealistic it's about shipping proper software. I understand your position and desire but there has to be a better solution rather than simply not building new version. You can't use vscode as it stands right now in Solus. I see no problem simply running smth like NVM on the server and build it using older nodejs version with npm smth like 6.x branch until the issue is fixed upstream.

Raytar added a subscriber: Raytar.Sep 28 2017, 2:43 PM

Managed to build 1.16.1. See D1099

JoshStrobl added a comment.EditedSep 28 2017, 2:46 PM

@Raytar The way you provided uses NPM 4, I could've done this weeks ago. They need to support NPM 5, end of story.

What's going to happen next time smth breaks for half a year? It's been 2 month now, we don't know when they are going to support npm 5, there seems to be no traction on the issue tracker.

Then that should be tracked, upstream, and people should encourage them to sort it out.

You can't use vscode as it stands right now in Solus.

As someone that uses it every single day, yes, you absolutely can. This is not crucial to be updated. Run the binaries provided by them if you absolutely feel the need to use 1.16.1.

In my opinion it's just as crucial to provide latest software. I respect yours but you can just the whole world to bend around your rules. I believe user convenience should go first. I will of course keep running binaries but I might as well run everything from binaries.

I am invested into Solus (both financially as patreon supporter and as a user). I want it to be great and see great potential, just don't understand reluctance to not update packages as a form of protest.

@Nikki1993 sounds like you want the project to bend to your rules. This isn't some new form of protest. This goes on in lots of distributions. Why should Solus have to package a program that won't even build properly because upstream abandoned the issue? This has been an open issue upstream for a few months. If you want to be frustrated, be frustrated with them for their lack of progress on a fairly time sensitive issue

No worries I am just as frustrated with them. I just wish someone would fine a suitable workaround in the meantime. Not my rules btw. I simply state my own opinion on the matter which is just as valid as yours, upstream issue is upstreams.

Unknown Object (User) added a comment.Sep 28 2017, 10:20 PM

It's not crucial to provide the latest software if it:

  • does not build properly WITH current software used by dozens of other projects
  • is not system critical
  • is not in the default set
  • has not a really wide adoption (9 subscribers here, 2 of them being triage-team and josh himself).

This must be figured out by either npm or vscode teams, it's basically an upstream bug which josh is tracking here. And as it is, it currently wouldn't build, so upstream has to fix it before packages can be provided.

oft added a subscriber: oft.Sep 29 2017, 9:00 AM
JoshStrobl updated the task description. (Show Details)Oct 5 2017, 8:12 PM
selfus added a subscriber: selfus.Oct 31 2017, 5:56 PM

@STiAT It is silly measuring software adoption by using subscription metrics to a task.

@selfus In this case it won't change anything. Upstream needs to fix their software. Simple as that.

This comment was removed by selfus.

It's not Josh's problem that Microsoft can't get their ass in gear, so maybe you should stop blaming him.

@selfus I don't think that is fair to say.

In the end, vscode is usable as it is, I believe that this decision has good reasoning behind it, and it is ultimately an upstream issue that should have been fixed months ago.

If you want the latest version of vsode in Solus, tell the vscode devs that it is important to you! Don't point the finger at Josh or anyone else on the Solus dev team. It isn't their issue to fix!

@jalden Sorry if I sounded harsh, not the point.

I know vscode is usable as it is, I currently use it.
But if we can have a workaround while upstream won't fix it, maybe we should consider?

Sorrry if I sounded like a douche, that was not the point.

JoshStrobl added a comment.EditedOct 31 2017, 8:57 PM

As I've explained, I do not find the "workaround" to be acceptable. I've elaborated this in the past.

@selfus no problem, we all want the latest and greatest software, but it can come at a cost sometimes :)

I personally think that this is the right decision because if we were to have a 'workaround', it would not only require an out of date package solely for the purpose of having an upto date vscode, but I think it also might slow a possible fix from happening.

Also, with node 8 being an LTS release now, the version of npm that is packaged with it should be supported by vscode.

a8iCCFT3 removed a subscriber: a8iCCFT3.Nov 1 2017, 12:35 PM

I personally would prefere a workaround. And here is why:

  1. I need to get work done, I programm in dotnet core c#
  2. I need the right tools to get my wok done
  3. A small project like solus (sorry you are not ubuntu or debian yet, and even they do not have the power to change big microsoft), has no chance to change microsoft.

This sounds harsher than it is. But as an end user, I look for a distro that offers me to work with the tools I need and want. On the other hand, I do understand the concerns here. The question is though what is the purpose of solus? Is it to change big corps like microsoft or is to offer the users of solus a good user experience? Someone here also mentioned that no one is tracking the issue. I think you are right, but taking this as an indicator, I would be carefull. Not every user who wishes for a current version of VSCode will track the issue (me included up until now).

I really love the way solus is put together. The look, the feel, everything just fits together. I have seen so many linux distros come and go over the past 20 years, and the most important thing for a linux distro, to not belong to the group of gone distros, is adoption. Your not going to change microsoft and in trying to do so, you will lose the people you should truly care about, your users.

So why not find a good way to allow your users to use the software they need, without selling your believes? There is a third party option in the software center, why not move VSCode there? Kind of like Arch does with the AUR?

I really do appreciate what solus is and what you all here are doing. I just can't use it as a daily driver. Untill then it will reside in a virtualbox, for me to check on it and use it as a reference to setup my debian, to emulate the look and feel of solus.

tristan957 added a comment.EditedNov 3 2017, 10:09 AM

@pwfraley you have a severe misunderstanding of the purpose of not including the latest vscode. It's obvious you have not read the issue. No one is trying to change Microsoft. Why should the distro have to bend over backwards to accommodate one package because it refuses to build with npm 5? If people could stop complaining in this thread that would be great. Tired of reading the same comment because people don't understand how solus operates.

@pwfraley along with what @tristan957 said, I would like to add a little more.

I think you misunderstand what the 3rd party section of the software center is for. If software can be built from source, (Which vscode can be) it goes in the main repo. Currently, 3rd party is for stuff like Chrome and Spotify, which are only available in binaries distributed by the respective projects. (So basically, closed source software)

Nikki1993 added a comment.EditedNov 3 2017, 11:41 AM

@tristan957 I think it's perfectly valid for people to voice their opinions. While I understand your stand, please be respectful of the right to share an opinion and do not shut people down. If you are tired or annoyed by comments, simply do not reply. We are all using the same distro and want nothing but for it to be perfect.

@jalden and the rest in this thread, I see the point in software updates not being critical to you, but to me they are. A lot of good new features have been introduced to ease the development (like function extraction) and it is silly to not use it, again, in my opinion. Now, we have 2 problems on our hands. One is that MS can't or won't use npm5 or yarn to build the latest stuff and builds are broken as the result. One simple way to fix this, for now, is to directly use .tar.gz downloaded from the website, however, it doesn't have integration with PATH and you have to add it manually, and all updates must be done manually by re-downloading the latest version.

This would have been a non-issue really if we only skipped a release, but we are about to lag 3 releases behind and since Solus aims to be consumer friendly, I believe in the same spirit we could add an exception to the rule. Worst case, again, we can always use .tar.gz as a workaround.

All I am saying is that I want community opinion to matter as well. Right now, it feels more like we won't do it so you "suffer" or switch to other tools, which is not the attitude I would expect.

P.S. I'd like to reiterate that we are all in the same boat here, let's not be aggressive towards each other. I and I am sure the rest of Solus userbase, want to simply use the desktop, instead of wondering why certain packages are outdated, or I am afraid we might end-up in the same boat as MacOS and their homebrew 3rd party package system where developers need to rely on manual installation and/or 3rd party packaging systems.

I'm not adding an exception to this rule. I'm not sure why this debate continues. It isn't being updated until they support NPM5, plain and simple. If you don't agree with that, use their tarballs. @Nikki1993 I do not appreciate you constantly drudging this stuff up, I've made my stance clear, please respect that.

JoshStrobl lowered the priority of this task from Normal to Low.Nov 3 2017, 11:56 AM
Nikki1993 added a comment.EditedNov 3 2017, 12:02 PM

I don't understand the hostility to the situation either, but if you want to use the admin power to lower the priority sure. @JoshStrobl I guess, I try to support Solus financially and technically whenever possible but this attitude of yours just kills all the passion. It's your stance, you made it clear and I respect that but I don't see you doing the same.

Have a good day then, I won't bring this up anymore.

@Nikki1993 no one is being hostile, you must understand that it is quite tiring to see people repeating the same point over and over.

As the package maintainer, @JoshStrobl has every right to make this decision. Some will agree with him and some won't, that's just life. You can't please everyone unfortunately.

Please remember that volunteers like @JoshStrobl do alot of work for Solus in their spare time without pay, so please be kind and respectful to them!

@tristan957 : I always thought a linux distro is there to be used by its endusers, which I am one of, well partially. And to my understanding you are not upgrading to a newer version of vscode until microsoft fixes it so it builds with npm5, which is a noble undertaking, but it leaves the enduser out of sight. I do unerstand your point and I also very much appreciate it. People like you are who drive change forward and that is good. But I have a feeling while you are doing this you are also loosing sight of the people trying to use solus, and that is what made many good distros (Slackware and many others) vanish from sight. I would really hate to see this happen to solus.

@jalden : That was my understanding, and as far as I know Microsoft also offers a precompiled version of VSCode, why not use that and move it to the third party section until they make it work with npm5 and then reintegrate it into solus? Or offer both, a stale, but somewhat old version and a brand new hot of the press version?

I do understand both of you are sick and tired of hearing this, but ignoring this and acting a little hostile against people who whish to use solus is, well how do I put this, contra productive? Maybe it is time to listen to the wishes of the users and maybe you can find a way to do this, without sacrificing your stand? I sure as hell would appreciate this very much!

In all likelihood, if Microsoft does not resolve this issue and fix NPM5 support by the end of the month, I will deprecate vscode from the repository and request people use the snap instead. I'm not adding a workaround in place to use an outdated version of NPM, when nodejs 8 + NPM 5 is the latest active LTS. If the Atom folks can support NPM5, so can the VS Code folks.

VSCode will support snap most likely next release officially anyway in 1-2 month https://github.com/Microsoft/vscode/issues/5458

All, after watching this discussion go on for almost 3 months, I want to make the following things clear:

  1. We cannot guarantee the satisfaction of 100% of our users 100% of the time.

We do our best to meet the needs of the majority of our users and to provide assistance to the the minority that have different requirements. However, we have to ensure that the majority of our time goes towards the majority of our users, and that sometimes means a minority will have to wait a little bit longer until we can provide them a solution. We don't like having to say "no" or "just a little bit longer", but that's the reality of it.

  1. We are not ignorant of the wishes of our users.

All of your comments have been noted and taken into consideration when making the decision to hold VS Code back. While we understand that some people will be inconvenienced by having to rely on an older version or to obtain a newer version from another source (Hint: you can use the aforementioned Snap package while you wait), ultimately it is not worth the technical debt for us to temporarily maintain two versions of NPM (and related packages) just to support a single application that is either about to be updated by Microsoft or deprecated from the repo. Spending all that time on a workaround when a perfectly reasonable Snap package exists in the interim for the folks who need the latest, just doesn't make sense.

I also have yet to see a single argument for what is missing from the current version of VS Code that mandates an upgrade to the latest.

  1. Please don't take your anger out on us when we are held hostage by waiting on Upstream providers.

We do our best to work with Upstream to solve issues, in a timely manner, for the good of the whole Linux community and not just Solus. @JoshStrobl has worked with the VS Code guys several times in the past to sort out issues with the package, even after they prematurely close the issues he files. I can assure you that he has reached out to the devs and pleaded our case for using the newer version of NPM. If they are unwilling to work with us to find an amicable solution, we are only able to do so much.

I thank you all for your patience as we work with the Upstream to sort this out.

@DataDrake
Thank you for your reply.

About Point 1:
I know and nobody expects that. But I am sure the bigger part of your users are either developers or distro hoppers. I guess it is your decision which you cater to.

About Point 2:
Auto loading usings when typing in sourcecode, would be one, but maybe just read the changelog of vscode and that should provide enough arguments for why to update (besides bugfixes and fixing security issues).

About Point 3: Did I take my anger out on anybody here? Sorry but seriously, I posted a request and some input on why I would apreciate a workaround (which snap seems to be) but before getting this answer I got greeted by some hostile answers. Which, like I said I can kind of understand. As far as JoshStrobi: I read the issues on the vscode issue tracker, and yes he sure is right to press the issue, and we all appreciate people who do this. All I was asking for was a solution and in no way I was or wanted to blow of some anger.

Hope you all keep up the good work and have success with solus.

@DataDrake I want to personally thank you for a very rational response. I really liked it and appreciate the effort. I didn't want to list all the features requiring an update as many people have different opinions. For me, it would be mostly typescript integrations like function extraction, fixes to module imports etc but for some those are a non-feature.

My main problem was with how information was relayed by Josh and later how it felt that because of the discussion I kept bringing up the whole issue was reduced from priority (I sure hope it wasn't just to spite people). It felt like I wasn't heard, or my personal reason was "lesser" because I am not a repo maintainer. I'd apologize of course for any harsh reactions due to that, to both @JoshStrobl and anyone else but I hope you can see it from my position as well.

Snap will definitely fix the problem and I am sure as hell mad at VSCode team for dragging things around for NPM and making it more difficult for you.

My main problem was with how information was relayed by Josh

The description of the task provides a technical reason as to why it isn't being updated.

It felt like I wasn't heard

You were heard and I replied to you on multiple occasions. You bringing up the fact on two occasions that you financially support Solus, while appreciated, felt more like implying that you are somehow owed a solution. One that would just cause more technical debt and not viewed as acceptable to me.

I take everyone's opinion equally, regardless of their position or standing, and the decision still remains as I stated here and I do not accept using NPM4 or yarn as a solution for upstream not supporting NPM 5 or what is now a new LTS (nodejs 8.x). Let's not forget that I personally use Visual Studio Code as well, I want the newest features like improved TypeScript integration like everyone else, but I'm not going to butcher the package or create technical debt to do it.

Nikki1993 added a comment.EditedNov 3 2017, 4:25 PM

I am sorry for bringing up the financial support twice, that is childish of me. My main reasoning was to simply make an emphasis I try to support however I can, not to make it sound like someone owes me something. I am not forced to pay for Solus so I am supporting it purely because I want the project to be successful.

I read your reasoning, but it didn't convince me. It's the first time you are talking about technical debt. From my perspective, it was simply a stance on we want npm5 or bust. Replying and being heard are two different things.

Let's just put this all behind, as it stands right now there is another way to use VSCode including the future release of VSCode as a snap.

I hope no bad feelings left behind. If anything, I apologize once again for me bring up financial support twice. Other points, I still consider valid in the future, regardless of software used :)

mramish added a subscriber: mramish.Nov 3 2017, 6:49 PM

And if there is a urgent reason for this just spin up a vm in virt-manager. Takes a few minutes but solves your problem asap

JoshStrobl updated the task description. (Show Details)Nov 9 2017, 12:59 AM
JoshStrobl updated the task description. (Show Details)Nov 9 2017, 9:17 AM

@JoshStrobl Good idea to mention that the snap you linked is not official. VSCode is still finalizing ownership transition.

wapec added a subscriber: wapec.Nov 13 2017, 12:21 AM
Unknown Object (User) added a comment.Nov 14 2017, 7:56 PM

I could live with an official VSCode snap. I would prefer it to be native, but if Microsoft is too slow adopting it's the only option which makes sense for Solus. My issue is that I will not install unofficial snaps provided either by Solus or the software vendor. Trust issues to 3rd party.

My issue is that I will not install unofficial snaps provided either by Solus or the software vendor.

Surely if it's provided by the vendor, it's official. Not sure I understand your logic here.

Unknown Object (User) added a comment.Nov 15 2017, 7:37 PM

My issue is that I will not install unofficial snaps provided either by Solus or the software vendor.

Surely if it's provided by the vendor, it's official. Not sure I understand your logic here.

"not provided". Forgot a not here :-).

JoshStrobl changed the task status from Open to In Progress.Nov 16 2017, 10:36 AM
JoshStrobl raised the priority of this task from Low to Unbreak Now!.

You'll all be happy to know that our Visual Studio Code will be updated. Yarn support has been merged and I'll be working today on rebasing our Visual Studio Code on git with the merged patch.

Freaking a yes!

Thanks for your patience Josh!

@tristan957 No problem. Hitting some early adopter pains here but filed an issue upstream to hopefully figure out what the solution is =)

[Package] Building complete
INFO[13:34:32] Building succeeded

Right, testing locally.

Yes this is Visual Studio Code running on git. Yes it's reporting the wrong node version for whatever reason. Yes, it's working so far.

Note: I will be actively updating this to various git commits and testing until we reach a new release, at which point it'll switch back to tags.

Nikki1993 added a comment.EditedNov 16 2017, 11:48 AM

@JoshStrobl it's probably showing Node used by the Electron framework not the one you are building it with? checks out with current electron https://electron.atom.io/

@Nikki1993 Ya given it's pulling in electron rather than building it, makes sense.

mramish removed a subscriber: mramish.Nov 16 2017, 11:50 AM
Unknown Object (User) added a comment.Nov 22 2017, 11:55 PM

Thanks @JoshStrobl - because I need multi workspace, that really helps me. Thanks for staying on this and solving it.

jhasse added a subscriber: jhasse.Dec 6 2017, 11:23 AM