Skip to content
This repository has been archived by the owner on Nov 14, 2022. It is now read-only.

Session sharing #14

Open
2 tasks
monuelo opened this issue Oct 9, 2019 · 16 comments
Open
2 tasks

Session sharing #14

monuelo opened this issue Oct 9, 2019 · 16 comments

Comments

@monuelo
Copy link
Owner

monuelo commented Oct 9, 2019

Description

Cast the session with read-only permissions and create a button that generates a link to view the broadcast

Files

Tasks

  • Create a button in the user interface that will generate the share link
  • Cast session with read-only permissions via generated link
@monuelo monuelo added enhancement New feature or request hacktoberfest labels Oct 9, 2019
@vladdoster
Copy link
Collaborator

vladdoster commented Oct 12, 2019

How would the session be shared? SSH tunnel? Ngrok?

@monuelo
Copy link
Owner Author

monuelo commented Oct 12, 2019

@vladdoster I still hadn't thought of how to do that. But we can discuss some ways. Do you have any suggestions?

@vladdoster
Copy link
Collaborator

vladdoster commented Oct 12, 2019

I know that it would introduce another dependency, but ngrok seems to work really well. We could write a wrapper around adding ngrok credentials to make it as easy as possible.

@vladdoster
Copy link
Collaborator

Btw, Would love to implement this if we come to a good solution.

@monuelo
Copy link
Owner Author

monuelo commented Oct 13, 2019

@vladdoster Can you explain to me how you would do this? I'm still a little confused. Can we share the session with read-only permissions using ngrok? 🤔

If you can do that, and you think ngrok does it well, feel free to implement it. 🎉

@vladdoster
Copy link
Collaborator

Unfortunately Ngrok does not have that capability. Let me try to clear up my confusion.

Are you wanting someone to just be able to view whats happening or to be able to type in commands them self?

@monuelo
Copy link
Owner Author

monuelo commented Oct 13, 2019

Just be able to view what's happening. But we can add sharing with edit permissions too, it looks like an interesting feature... What do you think? 🤓

@vladdoster
Copy link
Collaborator

vladdoster commented Oct 14, 2019

Okay so after a bit more thought, I have a new idea. In the request we check the host, if it isn't original host the input isn't reflected and not executed. Not too sure if devops is poor with checking host header. This would be paired with ngrok to be able to have a outside of lan viewer.

Then to take the edit permissions issue... In docker this could be tackled with a custom user group and toggling read/write permissions for /

On running it standalone really not too sure, ideas?

@monuelo
Copy link
Owner Author

monuelo commented Oct 14, 2019

Hmmm... @vladdoster. I don't know if it's the best way, but I think that makes more sense implement it using WebSocket connections, and the python application would be responsible to send and receive the messages from the clients.

@vladdoster
Copy link
Collaborator

I have something in the works, stay tuned. This weekend I will wrap up the loose ends!

@vladdoster
Copy link
Collaborator

Using WS to control session sharing

@monuelo
Copy link
Owner Author

monuelo commented Oct 25, 2019

Okay, @vladdoster. I'll be waiting for it! 🚀 🔥

@monuelo
Copy link
Owner Author

monuelo commented Oct 28, 2019

Any news @vladdoster? 👀

@vladdoster
Copy link
Collaborator

Still working on it, let me push my WIP

@monuelo
Copy link
Owner Author

monuelo commented Feb 11, 2020

The session sharing can be done via WebRTC. We still need to discuss what is the best way to implement it, but there's a proposal:

As mentioned in #91, we could have three operational modes. Host, Editor, and Viewer. Based on these specifications, I think that makes sense only the host connects directly to the server. Editors and viewers could send/receive messages to the host, and then the host will send the messages to the server, etc...

So we'll have 2 types of links.

The session sharing will happen on the secondary link. Host nodes (cast-sh instances) could have a list containing all the consumers that are subscribed in your stream along with their permissions. And working via WebRTC (P2P)

@monuelo
Copy link
Owner Author

monuelo commented Feb 11, 2020

Update: Blocked by #87

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants