Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Collaboration (multi user) support #33
Comments
|
If I remember, this is a planned feature. But if this was a 1:1 code-oss port. VS Live Share could work on this. |
|
Currently, we do not support multiple users collaboratively editing on the same In our world, it'd be great to provide collaborative access, but never allow the collaborator to have control over the host machine in any way (for security reasons). |
|
I think we should do this the way how VS Live share does it - RBAC by limiting views to read-only and restricting terminal access. |
|
I currently use https://github.com/c9/core for collaboration, where multiple users can log into the same server and work together. code-server interests me as it uses VS Code so it heavily supported, unlike Cloud9. For my use case, permissions aren't really a problem. |
|
@kylecarbs does vscode live share work? |
|
I believe it would if the extension was open-sourced. Unfortunately, we can't provide support for it. |
|
This is a must for a cloud ide, Without this feature I don't even see an advantage of using a cloud editor as there are few ways to share the workspace through the client: and in plus require less resources than the browser. |
|
Maybe also with an interactive button in the status bar showing connected user and options to manage permissions. |
|
I'd have a look at how MS Word Online handles it: I like the idea of having a different cursor for every person actively editing, Also, when providing a login functionality, there should be a modern backend for this, not just local users. As I mentioned in #85, you could use Keycloak (which can handle both SAML and OpenID) as an IdP: |
|
How have they implemented it? Optimally it wouldn’t allow for full-access
(to prevent malicious activity).
…On Thu, Mar 7, 2019 at 9:52 PM Adrian Barylski ***@***.***> wrote:
This feature is a must for us. My suggestions based on Cloud9 experience:
- Allow for a shared terminal
The way Cloud9 tackled this is great and it is something I'd personally
love to see implemented in code-server.
The collaboration feature is super important for us. We use Cloud9 as our
go-to IDE but after Amazon's take over, we're looking for alternatives.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#33 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGysxLSMbqLxhV0ardGWbNZPQbEdFiYEks5vUfqDgaJpZM4bgsjG>
.
|
|
This feature is a must for us. In terms of access, I would say that allowing the use of a terminal and editing any file/folder etc. would be enough. My suggestions based on Cloud9 experience:
The way Cloud9 tackled this is great and it is something I'd personally love to see implemented in code-server. We use it as our go-to IDE but after Amazon's take over, we're looking for alternatives and Coder/code-server would be it if it had collaboration/live share. |
|
@kylecarbs - sorry I accidentally commented and then deleted it haha. See my new comment.
I'm trying to think what malicious activity there could be if this is self-hosted? Surely if you have a secure server and you trust your devs, there is nothing to worry about? In our case, we only have 3 full-time devs so I guess the only time where there could be a concern for this is if we get a freelancer or something. If you could share some of your concerns about this, I'd love to hear them! :) |
|
I think project selection should be done after login via a seperate page, locking each vs code session to one project to work on at a time. |
|
@PhilsLab - 100% agreed about the project selection. When it comes to accidentally killing the server - I guess there could be times when this happens but I don't think this is a massive concern. Well, it would be if you worked directly from a live server. Ideally you should only be working on a dev or staging server and then only push your code live so it's not a big deal (IMO). |
|
My concern is not one of trust, it's one of software security. For an optimal experience, i'd really like to see each terminal in it's own docker container, where you can select any docker image before running it. That would solve both security and the build/dev environment, and also is able to scale properly. |
|
See how the jupyter team solved this: https://jupyter.org/hub |
|
I believe codesandbox io has this feature as well and it is open source. |
|
Be reminded we can try VS Live Share, which is available in the official extensions gallery, I think we can pull from there and support that atm |
|
I don't think it'll be "officially" supported because I don't believe there's a official way to obtain it. (But I do think it's a very good solution if you can get the .VSIX.) |
|
@sr229 - have you tried it? does it actually work? |
|
@PassTheMayo Great! haha. Thanks for letting me know that it doesn't work ;) |
As a matter of fact, I think I found a livecollab extension in the extension gallery that is open source, might worth checking? |
|
Also our friends from the Theia project is working on a open source VSCode-compatible Livecollab extension, should be promising since I'm also pushing |
|
Sounds interesting. What's the name of the extension you found? |
|
@sr229 Also interested in the name of that livecollab extension. Thanks for looking into this. |
|
This feature will bring code-server to a new level, i just installed for some people in my team. It works like charm. |
|
@vanducng what extension did you just install for this? |
|
Isn't this what git should be handling? I don't see why I'd want two developers working on the same file without seperate branches. Maybe in a learning environment, but not in a business setting. The git checkout feature should feed to the editor, only. If collaboration is needed, outside of an educational setting, then what for? |
|
@jdabs when pair programming (or other similar practices)... and definitely in a business env. My team is full time remote. We screen share using a number of tools. VS live share has helped, but we’d love to use server based VS. |
|
@jdabs I disagree with pair programming on the non-business side. Some companies that adopt Agile encourages this, Pair programming is quite useful in a practical sense:
|
|
This is unlikely to occur at the moment. I'll be sure to open an issue for this when the time is right. |
|
@nhooyr whats up with this ... i guess corona virus "makes the time right" for the strong demanded collab feature. it should be possible use collab on premise instead of using live share. https://github.com/cdr/code-server/blob/master/doc/FAQ.md#collaboration
|
|
Yes, you're absolutely right. Unfortunately at the moment the team is occupied but I am reopening this. Hopefully we can get to it within the next few months. |
|
I don't know if this helps. |
|
How about using TogetherJS by Mozilla? |
|
That looks really cool! Unfortunately the examples don't seem to work for me. I tried to use my invite link in a separate private browser tab and couldn't get the two to connect. If I can get it to work, it seems like it'd be a great low cost solution. |
|
What about yjs - https://github.com/yjs/yjs ? It has Monaco support: https://github.com/yjs/y-monaco |
|
@nhooyr The TogetherJS examples aren't working, because the examples try to connect to |
|
It looks like firepad has support for Monaco, I wonder if that could work.
|
|
Hi there, wondering if you guys have any new updates regarding to this live share. the terminal is not synced currently, so we have to do a screen share additionally when it comes to live collaboration. it would be great if the code server itself has this feature supported. we can discuss about a sponsorship if that's something you guys interested in. Thanks |
|
Hi. I have developed a real-time collaboration system for code server based on Firepad/Firebase. You can see a demo here: I plan on shopping this around a bit to see if there are any companies that are interested, and would like to work with me on integrating this feature into there business. |
|
+1 this really will help |


It's not documented whether multiple users can use one self hosted installation at once or not. Is this a supported use case?