Show the whole transport in debug UI and logs

A transport may soon carry a LiveKit SFU `url` instead of, or as well as,
a `livekit_service_url`, so a service URL alone no longer identifies it.
Pass the whole transport to the tiles' debug stats and print it as JSON in
log lines instead of picking out the service URL.
This commit is contained in:
Robin
2026-10-12 10:09:50 +02:00
committed by Johannes Marbach
parent 4e4ab23cda
commit 3927c2b7dc
11 changed files with 48 additions and 61 deletions
+7 -6
View File
@@ -40,6 +40,7 @@ import { E2eeType } from "../../e2ee/e2eeType";
import { observeInboundRtpStreamStats$ } from "./observeRtpStreamStats";
import { type UserMediaViewModel } from "./UserMediaViewModel";
import { type ScreenShareViewModel } from "./ScreenShareViewModel";
import { type LivekitTransport } from "matrix-js-sdk/lib/matrixrtc";
// TODO: Encryption status is kinda broken and thus unused right now. Remove?
export enum EncryptionStatus {
@@ -59,10 +60,10 @@ export interface BaseMemberMediaViewModel extends BaseMediaViewModel {
*/
video$: Behavior<TrackReference | undefined>;
/**
* The URL of the LiveKit focus on which this member should be publishing.
* Exposed for debugging.
* The LiveKit transport on which this member should be publishing. Exposed
* for debugging.
*/
focusUrl$: Behavior<string | undefined>;
transport$: Behavior<LivekitTransport | undefined>;
/**
* Whether there should be a warning that this media is unencrypted.
*/
@@ -75,7 +76,7 @@ export interface MemberMediaInputs extends BaseMediaViewModel {
livekitRoom$: Behavior<LivekitRoom | undefined>;
audioSource: AudioSource;
videoSource: VideoSource;
focusUrl$: Behavior<string | undefined>;
transport$: Behavior<LivekitTransport | undefined>;
encryptionSystem: EncryptionSystem;
}
@@ -86,7 +87,7 @@ export function createMemberMedia(
livekitRoom$,
audioSource,
videoSource,
focusUrl$,
transport$,
encryptionSystem,
...inputs
}: MemberMediaInputs,
@@ -109,7 +110,7 @@ export function createMemberMedia(
return {
...createBaseMedia(inputs),
video$,
focusUrl$,
transport$,
unencryptedWarning$: scope.behavior(
combineLatest(
[audio$, video$],