From 5f5433eb6714d75321f14f1cb1ceba8227a49efa Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Fri, 13 Mar 2026 01:43:35 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20speaking=20indicator=20layout=20shift=20?= =?UTF-8?q?=E2=80=94=20use=20box-shadow=20ring=20instead=20of=20container?= =?UTF-8?q?=20growth?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/web/src/components/voice/VoiceChannel.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/web/src/components/voice/VoiceChannel.tsx b/packages/web/src/components/voice/VoiceChannel.tsx index d2f05aa9..e1d77604 100644 --- a/packages/web/src/components/voice/VoiceChannel.tsx +++ b/packages/web/src/components/voice/VoiceChannel.tsx @@ -36,6 +36,7 @@ export function VoiceChannel({ channelId, channelName, onClick, locked, dragStat const permissionMutedUserIds = useVoiceStore((s) => s.permissionMutedUserIds); const participantMutes = useVoiceStore((s) => s.participantMutes); const unwatchedCameras = useVoiceStore((s) => s.unwatchedCameras); + const speakingUserIds = useVoiceStore((s) => s.speakingUserIds); const currentUserId = useVoiceStore((s) => { const local = s.participants.find(p => p.isLocal); return local?.userId ?? null; @@ -177,6 +178,7 @@ export function VoiceChannel({ channelId, channelName, onClick, locked, dragStat status={status} userId={member?.user.homeUserId ?? userId} user={member?.user} + className={speakingUserIds.has(userId) ? 'rounded-full ring-2 ring-status-online' : ''} /> {displayName} {/* Status badges */}