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
Added "Raise Hand" feature #4569
Conversation
Would be great to show that also in the participant list. For phone-only users there won't be a video component and they should be able to raise their hand, too. |
Indeed, forgot to add it. Added as checkbox now. |
silly idea: animate the hand icon, making it wave (CSS 3 rotate / skew), while the hand is raised |
I've changed the message type from "control" to "raiseHand" and now the broadcasting work. Now need to find out why the views are not updating correctly. |
6f86594
to
9763a73
Compare
Okay, the basics work now (tested with internal signaling):
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that this action should be buried in 3-dot menu in the bottom right corner of the localvideo, together with a link to the global audio and video settings.
adding a new three dots menu in the local controls sounds like an idea. I've seen variants where additionally to raising hand it was also possible to set a mood instead of the hand, like "smiling", "unhappy", "confused", "thumbs up", "thumbs down" to silently signal something to the presenter. Having a menu would make room for those. |
As per the icon, this would do https://materialdesignicons.com/icon/hand-right We don't need a "hand down" icon, we can just display this one when the hand is raised. EDIT: hmm, the link doesn't seem to work.. Anyway the icon is |
Plus this is a borderline niche feature, so having it explicitly displayed by default could be distracting |
wouldnt do that, as this requires a global state or something, instead of being a signaling message. e.g. with sip dialin this wont work |
We already do that for the muted state so we can show the icon. But it requires every participant to detect whenever a new person joined and then send them their state. Could get messy with a lot of participants. |
9763a73
to
0db828c
Compare
|
Can we somehow reuse the flags introduced for "talking" in the SIP integration to signal the "raised hand" state? Right now it seems to use datachannels which we try to get rid of (#397). |
Note that having a boolean flag will make it difficult to add other symbols like thumbs up / down in the future. But maybe we can rework this once we walk that path. |
=> raised here #4755 |
4be03b5
to
9c1db58
Compare
hand icon is now displayed in the participant list as per 9c1db58: here we see Bob raised their hand, left side is admin and right side is Bob:
|
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
- added call store attribute for storing the current hand raised state, to expose it from the webrtc models to the participant list - call icon is replaced with a hand when a hand is raised, also for oneself - when leaving a call, clear raised hands from the store - when a user leaves a call, clear that user's hand raised state Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Set "raisedHand" in call participant model based on the matching SIP flag. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Now using the "Hand" material design icon everywhere for the "raise hand" feature. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Remove fill color to make it work with light and dark themes. Adjusted size to 16 as per nextcloud-vue recommendation. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Now using a button that is visually hidden to catch the short key. That button is the one that will appear only when the hand is raised. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Remove notification of action. Fix alignment a bit. Fix raise hand keyboard shortcut. Fix lower hand button to not trigger an action on the parent. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Fixed setting or deleting the raised hand state in the store using Vue methods so that the participant list can re-render immediately. Before this fix it did appear but with a delay, where the re-render was triggered by some other change. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
7ddc298
to
1e38f81
Compare
I've removed the sorting thing and rebased. Also adjusted the icon with decorative and empty title |
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
1e38f81
to
77d368e
Compare
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Fixes #4562
Requires
Tasks
moderatorsparticipants when someone raised a handAdd chat message "XYZ raised their hand" in the history ? Only for call people or everyone ? (if possible)=> probably not, would need backend state, and is likely not that usefulDisable hand raising in 1-1 calls (or if participants count <= 2)Hide local hand button if there is no local stream (as we currently can only broadcast when there are streams)=> not needed, there will be a fix for this soonIssues
broadcasting is unreliable (tested with internal signaling)
clicking "raise hand" doesn't toggle the hand icon
current icon design not fitting / not consistent
The hand is striked out differently. This is the do not touch icon from Material Design.obsolete, see newer screenshots belowclicking directly on the pixels of the three dots of the new menu doesn't do anything in some layouts, but clicking the border does... in any case it seems the actions menu has some issues with hover, cursor, etc...
bug: when leaving with hand raised, rejoining should have it lowered again. Probably LocalMediaModel is not cleared when leaving (approach might be obsolete with Added "Raise Hand" feature #4569 (comment))
use store value in video bottom bar vue? it seems the unwatcher has a delay compared to the model attribute
fix hand icon alignment and spacing in VideoBottomBar