Let developers override the whole transport

The developer setting that overrode the LiveKit service URL becomes a
JSON transport, so that a `url`-only or combined transport can be tested
against a homeserver that does not advertise one yet. The settings modal
shows each LiveKit room's role instead of a never-populated isLocal flag.

Folds "Avoid null in transport dev setting" from the same PR. The setting feeds the SDK's transport option; the config fallback becomes a transport the host builds.

Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org>
This commit is contained in:
Robin
2026-10-14 10:23:29 +02:00
committed by Timo
co-authored by Johannes Marbach
parent f97dd2adab
commit 289260531b
3 changed files with 36 additions and 29 deletions
+6 -3
View File
@@ -83,7 +83,7 @@ import {
cameraCodec,
cameraFramerate,
cameraResolution,
customLivekitUrl,
customTransport,
echoCancellationSetting,
matrixRTCMode as matrixRTCModeSetting,
noiseSuppressionSetting,
@@ -823,7 +823,10 @@ export function rtcParticipationOptions(
delegatedDelayedLeave: session.delegated_delayed_leave,
},
mediaQuality: config.media_quality,
transportUrl: customLivekitUrl.value$.value ?? undefined,
fallbackTransportUrl: config.livekit?.livekit_service_url,
transport: customTransport.value$.value ?? undefined,
fallbackTransport: config.livekit && {
type: "livekit",
livekit_service_url: config.livekit.livekit_service_url,
},
};
}