Propagate raise hand timestamp to clients, ref #278

auto_join_3.3
Håvar Aambø Fosstveit 2020-05-04 15:21:49 +02:00
parent f70ed01e7e
commit 4acedad987
4 changed files with 22 additions and 7 deletions

View File

@ -2235,9 +2235,19 @@ export default class RoomClient
case 'raisedHand': 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]; const { displayName } = store.getState().peers[peerId];

View File

@ -34,10 +34,10 @@ export const setPeerScreenInProgress = (peerId, flag) =>
payload : { peerId, flag } payload : { peerId, flag }
}); });
export const setPeerRaisedHand = (peerId, raisedHand) => export const setPeerRaisedHand = (peerId, raisedHand, raisedHandTimestamp) =>
({ ({
type : 'SET_PEER_RAISED_HAND', type : 'SET_PEER_RAISED_HAND',
payload : { peerId, raisedHand } payload : { peerId, raisedHand, raisedHandTimestamp }
}); });
export const setPeerPicture = (peerId, picture) => export const setPeerPicture = (peerId, picture) =>

View File

@ -21,7 +21,11 @@ const peer = (state = {}, action) =>
return { ...state, peerKickInProgress: action.payload.flag }; return { ...state, peerKickInProgress: action.payload.flag };
case 'SET_PEER_RAISED_HAND': case 'SET_PEER_RAISED_HAND':
return { ...state, raisedHand: action.payload.raisedHand }; return {
...state,
raisedHand : action.payload.raisedHand,
raisedHandTimestamp : action.payload.raisedHandTimestamp
};
case 'ADD_CONSUMER': case 'ADD_CONSUMER':
{ {

View File

@ -1268,7 +1268,8 @@ class Room extends EventEmitter
// Spread to others // Spread to others
this._notification(peer.socket, 'raisedHand', { this._notification(peer.socket, 'raisedHand', {
peerId : peer.id, peerId : peer.id,
raisedHand : raisedHand raisedHand : raisedHand,
raisedHandTimestamp : peer.raisedHandTimestamp
}, true); }, true);
// Return no error // Return no error