From e37f9ea24caa4a40abcd778793f9af466cd71b1e Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Tue, 3 Mar 2026 00:37:20 +0100 Subject: [PATCH] feat: route LiveKit token requests to correct instance for cross-instance voice --- packages/web/src/hooks/useLiveKit.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/web/src/hooks/useLiveKit.ts b/packages/web/src/hooks/useLiveKit.ts index f5699e79..b2637ee1 100644 --- a/packages/web/src/hooks/useLiveKit.ts +++ b/packages/web/src/hooks/useLiveKit.ts @@ -12,7 +12,7 @@ import { LocalAudioTrack, LocalTrackPublication, } from 'livekit-client'; -import { api } from '../api/client'; +import { getApiForOrigin, getChannelOrigin } from '../stores/serverStore'; import { useVoiceStore } from '../stores/voiceStore'; import { AudioManager } from '../audio/AudioManager'; import { SpeakingDetector } from '../audio/SpeakingDetector'; @@ -340,7 +340,8 @@ export function useLiveKit() { } try { - const { token, url } = isDm ? await api.livekit.dmToken(channelId) : await api.livekit.token(channelId); + const client = isDm ? getApiForOrigin('') : getApiForOrigin(getChannelOrigin(channelId)); + const { token, url } = isDm ? await client.livekit.dmToken(channelId) : await client.livekit.token(channelId); if (gen !== _connectGeneration) return; const newRoom = new Room({ adaptiveStream: true, dynacast: true, publishDefaults: { videoCodec: 'h264', simulcast: true } }); roomRef.current = newRoom;