diff --git a/front/packages/models/src/login.ts b/front/packages/models/src/login.ts index aca99c8a..2875a4f4 100644 --- a/front/packages/models/src/login.ts +++ b/front/packages/models/src/login.ts @@ -41,6 +41,8 @@ export const login = async ( timeout?: number, ): Promise> => { try { + const controller = new AbortController(); + setTimeout(() => controller.abort(), 5_000); const token = await queryFn( { path: ["auth", action], @@ -48,7 +50,7 @@ export const login = async ( body, authenticated: false, apiUrl, - timeout, + signal: controller.signal, }, TokenP, ); diff --git a/front/packages/models/src/query.tsx b/front/packages/models/src/query.tsx index b2548239..31afb51f 100644 --- a/front/packages/models/src/query.tsx +++ b/front/packages/models/src/query.tsx @@ -38,7 +38,7 @@ const kyooUrl = // The url of kyoo, set after each query (used by the image parser). export let kyooApiUrl = kyooUrl; -export const queryFn = async ( +export const queryFn = async ( context: { apiUrl?: string; authenticated?: boolean; @@ -51,9 +51,9 @@ export const queryFn = async ( plainText?: boolean; } & Partial) ), - type?: z.ZodType, + type?: Parser, token?: string | null, -): Promise => { +): Promise> => { const url = context.apiUrl ?? (Platform.OS === "web" ? kyooUrl : getCurrentAccount()!.apiUrl); kyooApiUrl = url; @@ -106,10 +106,9 @@ export const queryFn = async ( throw data as KyooErrors; } - // @ts-expect-error Assume Data is nullable. if (resp.status === 204) return null; - if ("plainText" in context && context.plainText) return (await resp.text()) as unknown as Data; + if ("plainText" in context && context.plainText) return (await resp.text()) as unknown; let data; try { diff --git a/front/packages/ui/src/player/video.tsx b/front/packages/ui/src/player/video.tsx index 9a8221b7..8763350c 100644 --- a/front/packages/ui/src/player/video.tsx +++ b/front/packages/ui/src/player/video.tsx @@ -170,6 +170,7 @@ export const QualitiesMenu = (props: CustomMenu) => { }} /> {/* TODO: Support video tracks when the play mode is not hls. */} + {/* @ts-expect-error They forgot to type this. */} {info?.videoTracks.map((x) => (