Skip to content

Commit 689f6df

Browse files
authored
fix: VoIP widget mute action muting received audio instead of just microphone. (#36229)
1 parent 1d6f335 commit 689f6df

File tree

2 files changed

+9
-29
lines changed

2 files changed

+9
-29
lines changed

.changeset/breezy-tips-bake.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@rocket.chat/ui-voip": patch
3+
---
4+
5+
Fixes VoIP widget mute action muting received audio instead of just microphone

packages/ui-voip/src/lib/VoipClient.ts

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -288,35 +288,10 @@ class VoipClient extends Emitter<VoipEvents> {
288288
throw new Error('Peer connection closed.');
289289
}
290290

291-
try {
292-
const options: SessionInviteOptions = {
293-
requestDelegate: {
294-
onAccept: (): void => {
295-
this.muted = mute;
296-
this.toggleMediaStreamTracks('sender', !this.muted);
297-
this.toggleMediaStreamTracks('receiver', !this.muted);
298-
this.emit('stateChanged');
299-
},
300-
onReject: (): void => {
301-
this.toggleMediaStreamTracks('sender', !this.muted);
302-
this.toggleMediaStreamTracks('receiver', !this.muted);
303-
this.emit('muteerror');
304-
},
305-
},
306-
};
307-
308-
await this.session.invite(options);
309-
310-
this.toggleMediaStreamTracks('sender', !this.muted);
311-
this.toggleMediaStreamTracks('receiver', !this.muted);
312-
} catch (error) {
313-
if (error instanceof RequestPendingError) {
314-
console.error(`[${this.session?.id}] A mute request is already in progress.`);
315-
}
316-
317-
this.emit('muteerror');
318-
throw error;
319-
}
291+
const enableTracks = !mute;
292+
this.toggleMediaStreamTracks('sender', enableTracks);
293+
this.muted = mute;
294+
this.emit('stateChanged');
320295
};
321296

322297
public setHold = async (hold: boolean): Promise<void> => {

0 commit comments

Comments
 (0)