fix: resync voice state after LiveKit reconnect

This commit is contained in:
2026-06-01 11:30:30 +05:30
parent 1dd0270f4f
commit 1f5a219734
2 changed files with 40 additions and 1 deletions
+13 -1
View File
@@ -44,7 +44,7 @@
voiceMicMuted,
voiceState,
} from "@app/call/stores"
import {cancelJoinVoiceRoom, leaveVoiceRoom, toggleMute} from "@app/call/voice"
import {cancelJoinVoiceRoom, joinVoiceRoom, leaveVoiceRoom, toggleMute} from "@app/call/voice"
const {relay, h} = $derived($page.params)
const url = $derived(relay ? decodeRelay(relay) : undefined)
@@ -86,6 +86,11 @@
pushModal(VoiceRoomJoinDialog, {url: targetRoom.url, h: targetRoom.h})
}
const onReconnect = () => {
if (!targetRoom) return
void joinVoiceRoom(targetRoom.url, targetRoom.h)
}
const goToRoom = () => {
if (!targetRoom) return
const path = makeRoomPath(targetRoom.url, targetRoom.h)
@@ -237,6 +242,13 @@
onclick={leaveVoiceRoom}>
<Icon icon={PhoneRounded} size={4} />
</Button>
{:else if $currentVoiceRoom}
<Button
data-tip="Reconnect"
class="center tooltip tooltip-top btn btn-sm btn-square btn-success"
onclick={onReconnect}>
<Icon icon={PhoneCallingRounded} size={4} />
</Button>
{:else}
<Button
data-tip="Join Voice"