-
Notifications
You must be signed in to change notification settings - Fork 9
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
Improve Room Feature #12
base: master
Are you sure you want to change the base?
Conversation
…onStorage is empty or undefined
…ly method on PersistentStorage.set(key, value)
…arily via 6-digit code and temporary link
…alid keyRoom; Tidied up _joinKeyRoom method
Have you tested the code? The message and file transfer functions don't seem to work. |
…xpiration countdown end and on cancel
I overlooked two occurences when refactoring .ip to .roomId on server/index.js Now everything should be working fine again. Other changes:
|
@yjmp14 what do you think? |
Sorry, I'm busy with other things these few days, and I'm still thinking about how to reduce the complexity of the UI and interaction. |
Do you think the UI is getting too complicated? I‘d suggest splitting the roomDialog into two:
Also the implementation of this PR has the 6-digit code as a one time key (nonce), which gets invalidated as soon as someone is joining. Should we change this? |
What I'm thinking about:
And I don't think it's necessary to make the 6-digit code valid for only one time, we can consider shortening the valid time to, say, 1 minute or 3 minutes. |
No, I also thought about that. I think hiding complexity from the user is a good approach.
The reason are two different use cases:
Why not? There are notifications indicating the completion of message and file transfer.
I'm not sure about that. I guess 10 minutes are fine as the expiration time. When we make the room key valid for more than one time, the user experience should still indicate to the sending user that a device has joined successfully and close the RoomDialog as it is the case now. Maybe we could then add the time as a pill at the bottom:
Tapping on the bottom line opens up the roomDialog again with the possibility to cancel |
This PR combines #9 , #10 and #11 .
It implements #8 by introducing temporary keyRooms with room keys.
What is new:
crypto.randomUUID()
?room_key=123456
or by using a permanent room link with parameter?room_id=2f79f900-68d6-43a5-8ca0-a6fd8c0a7100
location.reload()
with an event to reconnect to the websocket;To add a qr-code, I cherry-picked a commit from @SuperSandro2000 that I found simple and lightweight enough.
UI
Mobile (Darkmode)
Desktop (Lightmode)