[feature-request] add long, secure room id to access room via bookmarked url
Opened this issue · 2 comments
I love the room capability!
To make this even more useful, I'd like to have the possibility to create a "permanent" room with a very long and secure room id and make the room accessible by adding the room id as argument to the url. This way, I could bookmark this one (long) url and connect all my devices in different networks even faster.
I further described the idea in the original snapdrop repo:
"
1. In my personal scenarios when I happen to use Snapdrop, if it was easy for me to share a sharing link to the target peer (i.e. via messenger), I would probably already just have sent the files via the messenger. Also the text sending feature of Snapdrop seems to be less valuable if I could have just used that messenger in the first place.
I agree that this is the case when target peer and sending peer are two different people.
Then again I often want to quickly send a URL or file accross my own devices. I would love to have a url to entry a room instantly to speed up the user flow by one step. This way, I could bookmark this one (long) url and connect all my devices in different networks even faster.
Maybe the two approaches can also be combined:
- Whenever a new room is created it has a long and secure roomid that is appended to the url as well.
- A share menu is opened to invite peers via a 6-digit code
- When the share menu is opened, a 6-digit code is created which can be used to enter the room on other devices.
- When entering the room via a 6-digit code, the roomid is transfered and the url is changed accordingly.
- Whenever the share menu is closed the 6-digit code is invalidated.
- Whenever the share menu is opened again a new 6-digit code is created.
- Additionaly, the user can simply share the url to invite other peers to the room
This way we would resolve the conflict of security vs. simplicity mentioned by @yjmp14 in SnapDrop#214 (comment)_
"
To implement this, I can imagine something along the lines of the following:
- When a room is created, a 6-digit code is created which is valid for 10 minutes (ui shows counter "expires in xx:xx") or until the user closes the pop up
- The 6-digit code is used to create a second "id_share_room" where peer1 waits for another peer to join
- When another peer2 joins, peer1 automatically sends its long roomId to peer2
- peer2 uses the roomId to join the actual room and leaves the "id_share_room"
We would need to implement some ui and some new message types but that would be about it.
What do you think @yjmp14 ?