(feat): improved microphone gate
All checks were successful
/ build-web (push) Successful in 1m16s
/ build-desktop (push) Successful in 14m2s
/ build-mobile (push) Successful in 19m13s
/ release (push) Successful in 24s

(fix): weird behaviour related to users that are screensharing
This commit is contained in:
Alois 2026-05-15 16:19:03 +02:00
commit c795f691bf
5 changed files with 34 additions and 9 deletions

View file

@ -16,6 +16,9 @@ export default function View() {
const callIsFullscreen = useCall((state) => state.callIsFullscreen);
const focusedParticipantId = useCall((state) => state.focusedParticipantId);
const focusedParticipantType = useCall(
(state) => state.focusedParticipantType,
);
const activeScreenShareParticipantIds = useCall(
(state) => state.activeScreenShareParticipantIds,
);
@ -157,6 +160,10 @@ export default function View() {
const focusedParticipant = getParticipantById(focusedParticipantId);
const focusedParticipantHasActiveScreenShare =
activeScreenShareParticipantIdSet.has(focusedParticipantId);
const focusedTileType: "user" | "stream" =
focusedParticipantType === "stream" && focusedParticipantHasActiveScreenShare
? "stream"
: "user";
const isImmersiveFocusedView = callIsFullscreen && usersInFocusedViewHidden;
return (
@ -179,7 +186,7 @@ export default function View() {
<Base
fill={isImmersiveFocusedView}
flush={isImmersiveFocusedView || isFocusedTileFlush}
type={focusedParticipantHasActiveScreenShare ? "stream" : "user"}
type={focusedTileType}
participant={focusedParticipant}
/>
</div>