From 4acedad987f2bcdd8087eb599d01ce5a12ae3537 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5var=20Aamb=C3=B8=20Fosstveit?= Date: Mon, 4 May 2020 15:21:49 +0200 Subject: [PATCH] Propagate raise hand timestamp to clients, ref #278 --- app/src/RoomClient.js | 14 ++++++++++++-- app/src/actions/peerActions.js | 4 ++-- app/src/reducers/peers.js | 6 +++++- server/lib/Room.js | 5 +++-- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/app/src/RoomClient.js b/app/src/RoomClient.js index 52b9383..8dbc9d1 100644 --- a/app/src/RoomClient.js +++ b/app/src/RoomClient.js @@ -2235,9 +2235,19 @@ export default class RoomClient case 'raisedHand': { - const { peerId, raisedHand } = notification.data; + const { + peerId, + raisedHand, + raisedHandTimestamp + } = notification.data; - store.dispatch(peerActions.setPeerRaisedHand(peerId, raisedHand)); + store.dispatch( + peerActions.setPeerRaisedHand( + peerId, + raisedHand, + raisedHandTimestamp + ) + ); const { displayName } = store.getState().peers[peerId]; diff --git a/app/src/actions/peerActions.js b/app/src/actions/peerActions.js index c1c3842..fee30a5 100644 --- a/app/src/actions/peerActions.js +++ b/app/src/actions/peerActions.js @@ -34,10 +34,10 @@ export const setPeerScreenInProgress = (peerId, flag) => payload : { peerId, flag } }); -export const setPeerRaisedHand = (peerId, raisedHand) => +export const setPeerRaisedHand = (peerId, raisedHand, raisedHandTimestamp) => ({ type : 'SET_PEER_RAISED_HAND', - payload : { peerId, raisedHand } + payload : { peerId, raisedHand, raisedHandTimestamp } }); export const setPeerPicture = (peerId, picture) => diff --git a/app/src/reducers/peers.js b/app/src/reducers/peers.js index 46fb99e..4c8bee1 100644 --- a/app/src/reducers/peers.js +++ b/app/src/reducers/peers.js @@ -21,7 +21,11 @@ const peer = (state = {}, action) => return { ...state, peerKickInProgress: action.payload.flag }; case 'SET_PEER_RAISED_HAND': - return { ...state, raisedHand: action.payload.raisedHand }; + return { + ...state, + raisedHand : action.payload.raisedHand, + raisedHandTimestamp : action.payload.raisedHandTimestamp + }; case 'ADD_CONSUMER': { diff --git a/server/lib/Room.js b/server/lib/Room.js index 4250fd5..9200be9 100644 --- a/server/lib/Room.js +++ b/server/lib/Room.js @@ -1267,8 +1267,9 @@ class Room extends EventEmitter // Spread to others this._notification(peer.socket, 'raisedHand', { - peerId : peer.id, - raisedHand : raisedHand + peerId : peer.id, + raisedHand : raisedHand, + raisedHandTimestamp : peer.raisedHandTimestamp }, true); // Return no error