Recover mute state for moderator when returning from breakout's audio transfer
Fixes #11489
This commit is contained in:
parent
23e65e6f40
commit
404d65d7a4
@ -84,6 +84,11 @@ export default lockContextContainer(withModalMounter(withTracker(({ mountModal,
|
||||
const isViewer = currentUser.role === ROLE_VIEWER;
|
||||
const isPresenter = currentUser.presenter;
|
||||
|
||||
if (Service.isReturningFromBreakoutAudioTransfer()) {
|
||||
Service.setReturningFromBreakoutAudioTransfer(false);
|
||||
Service.recoverMicState();
|
||||
}
|
||||
|
||||
return ({
|
||||
processToggleMuteFromOutside: arg => processToggleMuteFromOutside(arg),
|
||||
showMute: isConnected() && !isListenOnly() && !isEchoTest() && !userLocks.userMic,
|
||||
|
@ -129,4 +129,10 @@ export default {
|
||||
playAlertSound: url => AudioManager.playAlertSound(url),
|
||||
updateAudioConstraints:
|
||||
constraints => AudioManager.updateAudioConstraints(constraints),
|
||||
recoverMicState,
|
||||
setReturningFromBreakoutAudioTransfer: (value) => {
|
||||
AudioManager.returningFromBreakoutAudioTransfer = value;
|
||||
},
|
||||
isReturningFromBreakoutAudioTransfer:
|
||||
() => AudioManager.returningFromBreakoutAudioTransfer,
|
||||
};
|
||||
|
@ -163,6 +163,7 @@ class BreakoutRoom extends PureComponent {
|
||||
intl,
|
||||
isUserInBreakoutRoom,
|
||||
exitAudio,
|
||||
setReturningFromBreakoutAudioTransfer,
|
||||
} = this.props;
|
||||
|
||||
const {
|
||||
@ -176,6 +177,7 @@ class BreakoutRoom extends PureComponent {
|
||||
const disable = waiting && requestedBreakoutId !== breakoutId;
|
||||
const audioAction = joinedAudioOnly
|
||||
? () => {
|
||||
setReturningFromBreakoutAudioTransfer(true);
|
||||
this.returnBackToMeeeting(breakoutId);
|
||||
return logger.debug({
|
||||
logCode: 'breakoutroom_return_main_audio',
|
||||
|
@ -25,6 +25,7 @@ export default withTracker((props) => {
|
||||
const breakoutRooms = findBreakouts();
|
||||
const isMicrophoneUser = AudioService.isConnected() && !AudioService.isListenOnly();
|
||||
const isMeteorConnected = Meteor.status().connected;
|
||||
const { setReturningFromBreakoutAudioTransfer } = AudioService;
|
||||
|
||||
return {
|
||||
...props,
|
||||
@ -41,5 +42,6 @@ export default withTracker((props) => {
|
||||
isMeteorConnected,
|
||||
isUserInBreakoutRoom,
|
||||
exitAudio: () => AudioManager.exitAudio(),
|
||||
setReturningFromBreakoutAudioTransfer,
|
||||
};
|
||||
})(BreakoutContainer);
|
||||
|
@ -37,6 +37,8 @@ class AudioManager {
|
||||
tracker: new Tracker.Dependency(),
|
||||
};
|
||||
|
||||
this._returningFromBreakoutAudioTransfer = false;
|
||||
|
||||
this.defineProperties({
|
||||
isMuted: false,
|
||||
isConnected: false,
|
||||
@ -523,6 +525,14 @@ class AudioManager {
|
||||
? this.bridge.inputDeviceId : DEFAULT_INPUT_DEVICE_ID;
|
||||
}
|
||||
|
||||
get returningFromBreakoutAudioTransfer() {
|
||||
return this._returningFromBreakoutAudioTransfer;
|
||||
}
|
||||
|
||||
set returningFromBreakoutAudioTransfer(value) {
|
||||
this._returningFromBreakoutAudioTransfer = value;
|
||||
}
|
||||
|
||||
set userData(value) {
|
||||
this._userData = value;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user