From ddfcde4a0df009577f4b51232aac6ab116efee4a Mon Sep 17 00:00:00 2001 From: Robin Date: Wed, 7 Oct 2026 15:08:29 +0200 Subject: [PATCH] WIP --- src/livekit/auth/csApi.ts | 16 +++++++++------- src/livekit/auth/index.ts | 36 ++++++++++++++++++++---------------- src/utils/test.ts | 1 - 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/src/livekit/auth/csApi.ts b/src/livekit/auth/csApi.ts index e8ebe68f5..a8072d392 100644 --- a/src/livekit/auth/csApi.ts +++ b/src/livekit/auth/csApi.ts @@ -49,19 +49,21 @@ export type ClientDelegationParts = Pick< "_unstable_delegateDelayedLeave" | "baseUrl" >; +export interface DelegateDelayedLeaveParams { + client: ClientDelegationParts; + membership: CallMembershipIdentityParts; + url: string; + roomId: string; + delayId: string; +} + export async function delegateDelayedLeave({ client, membership, url, roomId, delayId, -}: { - client: ClientDelegationParts; - membership: CallMembershipIdentityParts; - url: string; - roomId: string; - delayId: string; -}): Promise { +}: DelegateDelayedLeaveParams): Promise { await doNetworkOperationWithRetry(async () => client._unstable_delegateDelayedLeave({ url, diff --git a/src/livekit/auth/index.ts b/src/livekit/auth/index.ts index 86e0fb87f..3051e4b40 100644 --- a/src/livekit/auth/index.ts +++ b/src/livekit/auth/index.ts @@ -37,6 +37,15 @@ function isEndpointUnsupported(e: unknown): boolean { ); } +export interface GetSFUConfigParams { + client: csApi.ClientGetTokenParts & openID.ClientOpenIDParts; + membership: CallMembershipIdentityParts; + transport: UnstableLivekitTransport; + roomId: string; + role: "publisher" | "subscriber"; + logger: Logger; +} + export async function getSFUConfig({ client, membership, @@ -44,14 +53,7 @@ export async function getSFUConfig({ roomId, role, logger, -}: { - client: csApi.ClientGetTokenParts & openID.ClientOpenIDParts; - membership: CallMembershipIdentityParts; - transport: UnstableLivekitTransport; - roomId: string; - role: "publisher" | "subscriber"; - logger: Logger; -}): Promise { +}: GetSFUConfigParams): Promise { if ("url" in transport) { try { return await csApi.getSFUConfig({ @@ -91,6 +93,15 @@ export async function getSFUConfig({ }); } +export interface DelegateDelayedLeaveParams { + client: csApi.ClientDelegationParts & openID.ClientOpenIDParts; + membership: CallMembershipIdentityParts; + transport: UnstableLivekitTransport; + roomId: string; + delayId: string; + logger: Logger; +} + export async function delegateDelayedLeave({ client, membership, @@ -98,14 +109,7 @@ export async function delegateDelayedLeave({ roomId, delayId, logger, -}: { - client: csApi.ClientDelegationParts & openID.ClientOpenIDParts; - membership: CallMembershipIdentityParts; - transport: UnstableLivekitTransport; - roomId: string; - delayId: string; - logger: Logger; -}): Promise { +}: DelegateDelayedLeaveParams): Promise { if ("url" in transport) { try { await csApi.delegateDelayedLeave({ diff --git a/src/utils/test.ts b/src/utils/test.ts index 7fb5502ad..29441d2ba 100644 --- a/src/utils/test.ts +++ b/src/utils/test.ts @@ -78,7 +78,6 @@ import { type RemoteScreenShareViewModel, } from "../state/media/RemoteScreenShareViewModel"; import { Connection } from "../state/CallViewModel/remoteMembers/Connection"; -import { type SFUConfig } from "../livekit/auth"; export function withFakeTimers(continuation: () => void): void { vi.useFakeTimers();