Skip to content

Commit

Permalink
fix(push2talk): incorect state on release because a new audio track i…
Browse files Browse the repository at this point in the history
…s beening created. (part 2)
  • Loading branch information
hristoterezov committed Jul 23, 2024
1 parent 3a40b52 commit b242900
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
10 changes: 6 additions & 4 deletions conference.js
Original file line number Diff line number Diff line change
Expand Up @@ -705,11 +705,13 @@ export default {

/**
* Simulates toolbar button click for audio mute. Used by shortcuts and API.
*
* @param {boolean} mute true for mute and false for unmute.
* @param {boolean} [showUI] when set to false will not display any error
* dialogs in case of media permissions error.
* @returns {Promise}
*/
muteAudio(mute, showUI = true) {
async muteAudio(mute, showUI = true) {
const state = APP.store.getState();

if (!mute
Expand Down Expand Up @@ -749,7 +751,8 @@ export default {
};

APP.store.dispatch(gumPending([ MEDIA_TYPE.AUDIO ], IGUMPendingState.PENDING_UNMUTE));
createLocalTracksF({ devices: [ 'audio' ] })

await createLocalTracksF({ devices: [ 'audio' ] })
.then(([ audioTrack ]) => audioTrack)
.catch(error => {
maybeShowErrorDialog(error);
Expand Down Expand Up @@ -1277,8 +1280,7 @@ export default {
return;
}

APP.store.dispatch(
replaceLocalTrack(oldTrack, newTrack, room))
APP.store.dispatch(replaceLocalTrack(oldTrack, newTrack, room))
.then(() => {
this.updateAudioIconEnabled();
})
Expand Down
6 changes: 4 additions & 2 deletions react/features/keyboard-shortcuts/actions.web.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,8 @@ export const initKeyboardShortcuts = () =>
pttTimeout = window.setTimeout(() => {
sendAnalytics(createShortcutEvent('push.to.talk', ACTION_SHORTCUT_RELEASED));
logger.log('Talk shortcut released');
mutePromise = mutePromise.then(() => APP.conference.muteAudio(true));
mutePromise = mutePromise.then(() =>
APP.conference.muteAudio(true).catch(() => { /* nothing to be done */ }));
}, pttDelay);
}

Expand All @@ -131,7 +132,8 @@ export const initKeyboardShortcuts = () =>
clearTimeout(pttTimeout);
sendAnalytics(createShortcutEvent('push.to.talk', ACTION_SHORTCUT_PRESSED));
logger.log('Talk shortcut pressed');
mutePromise = mutePromise.then(() => APP.conference.muteAudio(false));
mutePromise = mutePromise.then(() =>
APP.conference.muteAudio(false).catch(() => { /* nothing to be done */ }));
} else if (key === 'ESCAPE') {
focusedElement?.blur();
}
Expand Down

0 comments on commit b242900

Please sign in to comment.