fix(conference) clear raised hands when conference changes

Fixes: https://github.com/jitsi/jitsi-meet-sdk-samples/issues/175
pull/13949/head jitsi-meet_9025
Saúl Ibarra Corretgé 2 years ago committed by Saúl Ibarra Corretgé
parent 07bade2557
commit 86e295e9bc
  1. 8
      react/features/base/participants/actionTypes.ts
  2. 14
      react/features/base/participants/actions.ts
  3. 7
      react/features/base/participants/reducer.ts
  4. 5
      react/features/conference/middleware.any.ts

@ -203,6 +203,14 @@ export const SET_LOADABLE_AVATAR_URL = 'SET_LOADABLE_AVATAR_URL';
*/
export const LOCAL_PARTICIPANT_RAISE_HAND = 'LOCAL_PARTICIPANT_RAISE_HAND';
/**
* Clear the raise hand queue.
* {
* type: RAISE_HAND_CLEAR
* }
*/
export const RAISE_HAND_CLEAR = 'RAISE_HAND_CLEAR';
/**
* Updates participant in raise hand queue.
* {

@ -22,6 +22,7 @@ import {
PARTICIPANT_SOURCES_UPDATED,
PARTICIPANT_UPDATED,
PIN_PARTICIPANT,
RAISE_HAND_CLEAR,
RAISE_HAND_UPDATED,
SCREENSHARE_PARTICIPANT_NAME_CHANGED,
SET_LOADABLE_AVATAR_URL,
@ -629,6 +630,19 @@ export function raiseHand(enabled: boolean) {
};
}
/**
* Clear the raise hand queue.
*
* @returns {{
* type: RAISE_HAND_CLEAR
* }}
*/
export function raiseHandClear() {
return {
type: RAISE_HAND_CLEAR
};
}
/**
* Update raise hand queue of participants.
*

@ -13,6 +13,7 @@ import {
PARTICIPANT_SOURCES_UPDATED,
PARTICIPANT_UPDATED,
PIN_PARTICIPANT,
RAISE_HAND_CLEAR,
RAISE_HAND_UPDATED,
SCREENSHARE_PARTICIPANT_NAME_CHANGED,
SET_LOADABLE_AVATAR_URL
@ -465,6 +466,12 @@ ReducerRegistry.register<IParticipantsState>('features/base/participants',
return { ...state };
}
case RAISE_HAND_CLEAR: {
return {
...state,
raisedHandsQueue: []
};
}
case RAISE_HAND_UPDATED: {
return {
...state,

@ -19,7 +19,7 @@ import { getLocalizedDateFormatter } from '../base/i18n/dateUtil';
import { translateToHTML } from '../base/i18n/functions';
import i18next from '../base/i18n/i18next';
import { browser } from '../base/lib-jitsi-meet';
import { pinParticipant } from '../base/participants/actions';
import { pinParticipant, raiseHandClear } from '../base/participants/actions';
import MiddlewareRegistry from '../base/redux/MiddlewareRegistry';
import StateListenerRegistry from '../base/redux/StateListenerRegistry';
import { SET_REDUCED_UI } from '../base/responsive-ui/actionTypes';
@ -90,6 +90,9 @@ StateListenerRegistry.register(
// remaining pinned, since it's not destroyed across runs.
dispatch(pinParticipant(null));
// Clear raised hands.
dispatch(raiseHandClear());
// XXX I wonder if there is a better way to do this. At this stage
// we do know what dialogs we want to keep but the list of those
// we want to hide is a lot longer. Thus we take a bit of a shortcut

Loading…
Cancel
Save