Skip to content

Add docs around using duckly for collaboration #3970

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

Closed
3 tasks done
galesky opened this issue Aug 12, 2021 · 21 comments · Fixed by #4144
Closed
3 tasks done

Add docs around using duckly for collaboration #3970

galesky opened this issue Aug 12, 2021 · 21 comments · Fixed by #4144
Assignees
Labels
docs Documentation related
Milestone

Comments

@galesky
Copy link
Contributor

galesky commented Aug 12, 2021

  • Test out in code-server
  • Document how to use
  • Append extension URL (or vsix if not released yet)

Related:

@galesky galesky added the docs Documentation related label Aug 12, 2021
@jsjoeio jsjoeio self-assigned this Aug 12, 2021
@jsjoeio jsjoeio added this to the 3.12.0 milestone Aug 12, 2021
@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 12, 2021

Sweet! 😄

How do I use/test it myself? Then I'm happy to open a PR and add you as reviewer

@galesky
Copy link
Contributor Author

galesky commented Aug 13, 2021

I'll get the whole thing ready tomorrow along with instructions and examples so you can try it out 😃

@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 13, 2021

@galesky
Copy link
Contributor Author

galesky commented Aug 14, 2021

Hey!

I prepared some basic steps that will help you try it out. Let me know if I can help with anything. Some feedback on the UX would be awesome :)

This are the steps you have to follow, there is also a video version of them here

Step 1 - Install the extension

Right now this build is an insider one, so you will need the .vsix
code-streaming-0.3.7.zip

This week we should release the correct one so you will be able to grab it from here
https://open-vsx.org/extension/gitduck/code-streaming

Step 2 - Choose a username and login on duckly

Opening this URL (https://duckly.com/code-server/join?t=RTGPIQKC4F8_I9cFiB504m9) you will be able to choose an username and will automatically join a team I created

To share your code you first need to be in a room - like Discord

Feel free to create users and teams

Step 3 - On the extension, login and start sharing

You can start sharing from code server or from another IDE (in that case, the code server one will be the guest)

You should be able to see the code that is being shared both on the IDEs and on the duckly client on the web

Many users can make edit files at the same time, browser the shared folders, etc

@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 23, 2021

I got stuck on Step 3 (I think we broke something in code-server :( )

See here: #3936 (comment)

Screen.Recording.2021-08-23.at.3.54.32.PM.mov
Refused to load the script 'https://vscode-remote+localhost.vscode-resource.vscode-webview.net:8080/Users/jp/.local/share/code-server/extensions/gitduck.code-streaming-0.3.7/dist/duckly-web.js' 
because it violates the \following Content Security Policy directive: "script-src 'unsafe-eval' 'unsafe-inline' https://*.vscode-webview.net". 
Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

@galesky
Copy link
Contributor Author

galesky commented Aug 24, 2021

Hey!

Looks like you are using the version from the store, right ?

Please check out the one I uploaded on my comment on

Right now this build is an insider one, so you will need the .vsix
code-streaming-0.3.7.zip

@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 24, 2021

Ah-HA! Okay, I'll use that one instead!

@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 24, 2021

Shoot, I'm still running into that same error :(

I am guessing we need to fix on code-server's side.

Screen.Recording.2021-08-24.at.10.22.50.AM.mov

@galesky
Copy link
Contributor Author

galesky commented Aug 24, 2021

That file that breaks the import should not be there at all, I'll check this later today, thanks for the video

@galesky
Copy link
Contributor Author

galesky commented Aug 24, 2021

That was on me, I missed an env flag while building the insiders version.

I owe you a beer now 😅

Please try again using this version
Edit: This version should only work on unix based, please check later comments for mac/windows
DUCKLY.zip

@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 25, 2021

Now we're on a goose hunt. At least this time I'm getting a different error 😂

image

mainThreadExtensionService.ts:95 Activating extension 'gitduck.code-streaming' failed: Cannot find module './darwin-x64/wrtc.node'
Require stack:
- /Users/jp/.local/share/code-server/extensions/gitduck.code-streaming-0.3.7/dist/lib/wrtc/wrtc-node-binding.js
- /Users/jp/.local/share/code-server/extensions/gitduck.code-streaming-0.3.7/dist/extension.js
- /Users/jp/.config/yarn/global/node_modules/code-server/lib/vscode/out/vs/loader.js
- /Users/jp/.config/yarn/global/node_modules/code-server/lib/vscode/out/bootstrap-amd.js
- /Users/jp/.config/yarn/global/node_modules/code-server/lib/vscode/out/bootstrap-fork.js.

Is it expected I have this installed globally? https://github.com/node-webrtc/node-webrtc

@iamSlightlyWind
Copy link

iamSlightlyWind commented Aug 25, 2021

SmartSelect_20210826-001306_Brave

Step 3 - On the extension, login and start sharing

You can start sharing from code server or from another IDE (in that case, the code server one will be the guest)

You should be able to see the code that is being shared both on the IDEs and on the duckly client on the web

Many users can make edit files at the same time, browser the shared folders, etc

Hey, I'm really looking forward to see this extension working on code-server too. I couldn't find any collaboration extension that works on code-server yet, and the target device seems to be acting the same way as jsjoeio showing on recording too.

My device: Samsung Galaxy tab S7 LTE
Config: Linux Deploy - Ubuntu 18.04 aarch64 chrooted

@galesky
Copy link
Contributor Author

galesky commented Aug 26, 2021

@jsjoeio Thanks for your patience!

Turns out our insiders build pipeline wasn't including binaries for Darwin OSes. 🤦

I just redid this build adding all deps and you should be able to run it anywhere (even M1 and windows 32bit)

I had to upload the VSIX on wetransfer because github was not allowing me to push here (due to the size I guess)
https://we.tl/t-z4HanRS1Eh

Can you try one more time ?

@galesky
Copy link
Contributor Author

galesky commented Aug 26, 2021

Hey @iamSlightlyWind , so glad you are excited about Duckly!

Can you please try this last release I just uploaded ? If it still fails, I'd ask you to please print you console tab as the error should be reported there

@iamSlightlyWind
Copy link

iamSlightlyWind commented Aug 26, 2021

Screenshot from 2021-08-26 13-00-56

Activating extension 'gitduck.code-streaming' failed: Cannot find module './linux-arm64-glibc/wrtc.node'
Require stack:
- /home/slightlywind/.local/share/code-server/extensions/gitduck.code-streaming-0.3.7/dist/lib/wrtc/wrtc-node-binding.js
- /home/slightlywind/.local/share/code-server/extensions/gitduck.code-streaming-0.3.7/dist/extension.js
- /usr/lib/code-server/lib/vscode/out/vs/loader.js
- /usr/lib/code-server/lib/vscode/out/bootstrap-amd.js
- /usr/lib/code-server/lib/vscode/out/bootstrap-fork.js.

I just installed the new extension, and this is the error that (I suppose) it give? Is wrtc suppose to be installed with npm?

@galesky
Copy link
Contributor Author

galesky commented Aug 26, 2021

Thanks for testing it out @iamSlightlyWind

I should've guessed you are running on ARM Linux, based on what you described on your first comment

We don't yet support Linux ARM but is just a matter of compiling the right binaries. I'll add that to our roadmap here and I can get back to you as soon as its available, how does that sound ?

@iamSlightlyWind
Copy link

Thanks for testing it out @iamSlightlyWind

Guess I should've guessed you are running on ARM Linux based on what you described on your first comment

We don't yet support Linux ARM but is just a matter of compiling the right binaries. I'll add that to our roadmap here and I can get back to you as soon as its available, how does that sound ?

That sounds great, and I would love to hear back once you added support for arm Linux. Guess I'll have to stick to x86_64 for a little bit longer

@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 26, 2021

I had to upload the VSIX on wetransfer because github was not allowing me to push here (due to the size I guess)
https://we.tl/t-z4HanRS1Eh

Alright, this better not install bitcoin mining software on my device 😛

Can you try one more time ?

One last time! (kidding) Hope this time works 🤞

Video

argh, my video is too big 113mb. here is a link.

It worked! This is sooo cool :D

https://wetransfer.com/downloads/10a288e370d7e982b3f99eaa04ae4dde20210826173135/95a18f6232d220552d94fd991c2e830d20210826173151/bad942

Many users can make edit files at the same time, browser the shared folders, etc

This part I was confused about. Do users viewing from the browser edit straight from the browser?

WOW! The answer is yes.

image

@galesky
Copy link
Contributor Author

galesky commented Aug 26, 2021

So glad you liked it!

I'll get the release on the store ready here and then I can work on some better worded docs

@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 26, 2021

I'll get the release on the store ready here and then I can work on some better worded docs

Sounds like a plan! Do you want to submit a PR to add this to our docs or do you want me to? Either works!

@galesky
Copy link
Contributor Author

galesky commented Aug 27, 2021

I think I'll submit a PR this weekend and we can work from there 😃

Edit 30/08 :
Got caught up on some priority work here - will need a couple more days to get to the docs
In the meantime - the code-server compatible version has already been released 🎉

Edit 10/09 :
Phew! I'm free now, will work on this over the weekend!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation related
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants