-
Notifications
You must be signed in to change notification settings - Fork 215
Hold on any future development #185
Comments
I dont see the point for this as it will require the user to install code-server or download code-server onto the client machine, i see no reason to depreciate |
It won't require anyone to install They'd just run the script like so: # This would install code-server on user@host, forward the port and open it for you.
curl -fL https://get.code-server.sh | sh -s -- user@host Or if they already had it downloaded somewhere they could just use it and get rid of the |
that is more work for a user, who may, depending on local restrictions, not be able to access specific resources. also with the command being longer than needed. This method would have them be required to contact a remote server every single time to get a script that may be vulnerable to a mitm attack. and how would configuring code-server via this new shell script even work? sshcode has flags and allow the user to upload their own binary. How would this script implement that? In the long run, you are making a tool to replace the original, when the original isnt broken nor needs to be replaced. The only thing that needs to be fixed with the original is one component not following a consistent packaging method. which iirc, can be fixed easily by keeping the binary in one spot relative to the extraction point. (see #182 ) Edit: And you have users who are actively contributing code to the original with the intent of making the tool even better. Edit2: and there are libraries and add-ons that allow a go binary to auto update itself so ease of updates isn't an actual issue here, just add a check when the program is ran if there if there is an update, and then the user can use a |
i am willing to put work in to make the update flag work in the first place |
Well you can
You have to fetch
We'd have an option that lets you pass in any flags for code-server. or an environment variable. Haven't decided. Same with uploading your own code-server release.
Yea sorry about that, I added a symlink in the latest release and replaced the binaries so you can still use sshcode isn't broken but it can be significantly improved. I think the script would be a much better UX, easier to maintain and already works across a very wide variety of OSes as it installs packages with the system package manager instead of what
To clarify I don't think updating |
True on this part, i was a bit heated and didnt think things fully over, however sshcode allows you to upload your own binary. IE: You could have a specific version downloaded or a custom build. In that case you can use that build over the latest official release. meaning if some accident were to happen like the ISP buggering everything up, and you loose internet, you can still access servers locally
Very much thanks!
Alot of usecases where someone would use code-server that i can think of, they would not have admin access to the remote server, and therefore would be unable to install code-server via the OS package manager. sshcode gets around this by downloading code-server to the remote users home, the 3.X patch uses
Really depends on what you are doing. For something like sshcode, i dont see how it could be a simple or a complex
I would rather have a tool installed on my system, that can update with my package manager like sshcode, over a shell script i have to manually download every time it gets an update or i wish to use it. |
The script allows you to do this as well with the
Shell scripting works really well for this. It's how a lot of people install docker. See https://github.com/docker/docker-install/blob/master/install.sh Another cool thing is the
It would be untenable to add a release into sshcode as it's nearly 100 MB for every OS/Arch. |
The script could totally have an option to use a local release archive, it wouldn't be very difficult. |
Let's get more opinions in here. @ammario @coadler @sreya92 @sreya92 @deansheather @kylecarbs |
agreed, more opinions do matter. |
I don't have a super big opinion but the script makes a lot more sense to me considering there haven't been any commits to this in the past year, and we don't have anyone dedicated to maintaining this. The script would simplify things a lot. |
+1 for script, it'll get updated/fixed more regularly if it's a script |
@Merith-TK |
See the open PR and the msys-support PR. it is being relatively maintained and is doing its job rather well.
What makes you say this? why would a script be regularly updated over a program that works just fine with minor tweaks?
Can you explain why you say this? i havent had any issues with go at all in my time using it |
More people are proficient in sh/bash than Go. Given that this is a script, it's generally less code to fix a bug in bash than in Go.
If you look at the code you'll notice that any meaningful work that is being done is calling out to Also it is hard to beat the workflow of |
All sshcode does is run rsync, run ssh, then run rsync again. There's lots of boilerplate involved in executing programs in golang, whereas a shell script would be much smaller and easier to read |
sshcode has much less visibility than code-server as well. With a script inside code-server we can get many more eyes on it and ensure it's always up to date. |
I think self-competition is the best way to resolve this problem. sshcode is clearly a succesful workflow, but it's hard to see if the new script will be. I think we should track and measure the usage of both and reconvene after a month of data. |
@ammario From what I gather, you could do: curl -fL https://get.code-server.sh > sshcode.sh
chmod +x sshcode.sh
./sshcode.sh user@host |
Yes it'd be as simple as:
|
sshcode as it stands right now is just a glorified script written in golang, most of it's functionality is handled by calling out to Since sshcode isn't really maintained anymore anyways I think we should archive this repo when the shell script alternative lands in code-server. If people are still attached to sshcode they could still use it even if it's archived |
@Merith-TK If you fork I'd be happy to add a link in the |
Alright, that would work, Would need to figure out how to do repo packaging and how to use the build tools you guys have, but i would be alright with that if that outcome is the final outcome, I would be happy to have some of the team here occasionally reveiwing PRs on it when i cant |
Maybe instead we could just not archive the repo and just keep committing fixes if it breaks. The maintenance work would be minimal, probably only when code-server version changes to update the args/download script. |
Yeah, that would work as well. |
It would still be deprecated in favor of the script though, and we wouldn't add any new features. It would only not be archived so we can make sure it still functions. |
maybe in the readme have it state there are two methods, the recommended and the alternative? |
like for example ### This Tool is no longer officially maintained
This tool is being replaced by a shell script that can use via `curl -fsSL https://code-server.dev/install.sh | sh -s -- user@host` or `curl https://code-server.dev/install.sh > sshcode.sh`
[sshcode](/cdr/sshcode) will still be open to RP's to fix bugs and add features the community wants. And will still be updated to support newer versions of code-server, however there will be no active [Coder](/cdr/] developers working on this project, PR's will still be reviewed and accepted. This Tool is no longer officially maintainedThis tool is being replaced by a shell script that can use via sshcode will still be open to RP's to fix bugs and add features the community wants. And will still be updated to support newer versions of code-server, however there will be no active [Coder](/cdr/] developers working on this project, PR's will still be reviewed and accepted. just an example of what could be put at the begining of the readme, obviously it would need to be better,
I do have a fork, a bit out of date with other PR's iirc |
I would love to read through the whole issue as well as check the shell script to see if it addresses my use-case. Unfortunately can do it during the weekend. So I would kindly ask you to hold on for couple of days if possible 😃 |
We're not deleting or archiving the repo at the moment, we're just expressing that this repo will most likely become deprecated soon. You're still free to use sshcode. The script version will accomplish mostly the same things as the go version |
You see the script isnt the same as this tool from what i am seeing, the script will outright install |
Can we get a update on my previous comment? |
We're going to continue holding off feature development here, preferring the script. We will continue to do bugfixes. |
Okay, That did not answer my question about windows client support, as it does not have a SH binary, and does not address the issue that it is clunky to use and unless you give it a very specific flag, defaults to attempting to install code-server system wide, rather than just the user, At the very least, accept the PR to utilize the new V3 format, and then allow the community or others to do things from there, or point to a more maintained fork that is willing to accept PR's with features that users would like to see, such as My Fork |
You normally want to use your package manager to install it, not just for your user. But if you do it's just a flag away. What's clunky about it? It's also much simpler/easier to understand and audit than sshcode and supports more operating systems and they're much easier to add.
Windows is an outlier for sure. code-server doesn't even officially support it yet but when it does, I think it's acceptable for a user to have to install windows bash/sh from cygwin/git and we can always add a wrapper around the I agree we haven't been very responsive on this repository and that's a problem but we're a small company. This is an open source project and we don't want to push it in a direction we do not agree with when we see a better way forward for our users and customers. These things take time. For now I've added a deprecation notice in the README to this library linking to the code-server install script and I'll try to make some time this week to get the install script on par with |
Not really, as most use cases where one would be using said script, they WILL NOT have administrator access to install software on that system. And while the shell script may be easier to understand for new programmers, it will still be complicated and people coming from normal programming may not even be able to understand shell script, especially as i am unable to even find where the damn script even STARTS, (yes, i am still looking) Also in my opinion at least, shell script functions should be defined in a top down order of how the function flows, where the beginning is the first line called, and the end is the last function called, In my opinion
code-server does not need to support windows in this argument i am making, as windows would be the client machine, not the remote
Please take a look at the utter NIGHTMARE i went through just to get
The whole point of this tool was so that a install would not be needed, at all. |
SSH does not work with the current script, just in case anyone else spends > 20 minutes like I did trying to get this working. I don't know if it really matters at this point, but your typo at the very beginning of this entire thread is quite confusing, and with the additional shell snippets that make it seem like ssh is a part of this, when it really isn't.
If you only scan and read the first half of this statement, it sure seems like it should work with ssh. I am sad to see that sshcode won't be maintained, but I look forward to the new developer experience with the script when it is finalized. |
Closes coder/sshcode#185 and pretty much archives that repository.
Closes coder/sshcode#185 and pretty much archives that repository.
Closes coder/sshcode#185 and pretty much archives that repository.
Closes coder/sshcode#185 and pretty much archives that repository.
Closes coder/sshcode#185 and pretty much archives that repository.
Closes coder/sshcode#185 and pretty much archives that repository.
I've written a shell script in
/bin/sh
to automatically and correctly install code-server on any MacOS and Linux system.It'll be in the main
code-server
repo.See coder/code-server#1701
At the moment it does not support installing over
ssh
but it will soon and the plan is for it to replace and deprecatesshcode
as something we'll maintain alongsidecode-server
.Please let me know your thoughts in this issue.
The text was updated successfully, but these errors were encountered: