From 5401a5e302af2b33bb58bbf8ab4cb2a48017b43e Mon Sep 17 00:00:00 2001 From: lenafx Date: Mon, 5 Jan 2026 03:58:44 +0100 Subject: [PATCH] fix on anime stream data --- desktop/src/api/anime/anime.service.ts | 9 +++++---- desktop/src/api/types.ts | 2 +- docker/src/api/anime/anime.service.ts | 9 +++++---- docker/src/api/types.ts | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/desktop/src/api/anime/anime.service.ts b/desktop/src/api/anime/anime.service.ts index 7e44e1c..8c98168 100644 --- a/desktop/src/api/anime/anime.service.ts +++ b/desktop/src/api/anime/anime.service.ts @@ -466,7 +466,10 @@ export async function searchEpisodesInExtension(ext: Extension | null, name: str export async function getStreamData(extension: Extension, episode: string, id: string, source: string, server?: string, category?: string, extensionAnimeId?: string): Promise { const providerName = extension.constructor.name; - const cacheKey = `anime:stream:${providerName}:${id}:${episode}:${server || 'default'}:${category || 'sub'}`; + const finalCategory = category ?? "sub"; + + const cacheKey = + `anime:stream:${providerName}:${id}:${episode}:${server}:${finalCategory}`; if (!extensionAnimeId) { const cached = await getCache(cacheKey); @@ -498,7 +501,6 @@ export async function getStreamData(extension: Extension, episode: string, id: s episodes = await extension.findEpisodes(targetId); if (extensionAnimeId) { - const anime: any = await getAnimeById(id); animeTitle = anime.title.romaji; @@ -523,8 +525,7 @@ export async function getStreamData(extension: Extension, episode: string, id: s throw new Error("Episode not found"); } - const serverName = server || "default"; - const streamData = await extension.findEpisodeServer(targetEp, serverName); + const streamData = await extension.findEpisodeServer(targetEp, server, category); await setCache(cacheKey, streamData, CACHE_TTL_MS); return streamData; diff --git a/desktop/src/api/types.ts b/desktop/src/api/types.ts index 7874a80..83b3341 100644 --- a/desktop/src/api/types.ts +++ b/desktop/src/api/types.ts @@ -99,7 +99,7 @@ export interface Extension { mediaType?: 'manga' | 'ln'; search?: (options: ExtensionSearchOptions) => Promise; findEpisodes?: (id: string) => Promise; - findEpisodeServer?: (episode: Episode, server: string) => Promise; + findEpisodeServer?: (s: any, server1: string | undefined, category: string | undefined) => Promise; findChapters?: (id: string) => Promise; findChapterPages?: (chapterId: string) => Promise; getSettings?: () => ExtensionSettings; diff --git a/docker/src/api/anime/anime.service.ts b/docker/src/api/anime/anime.service.ts index 7e44e1c..8c98168 100644 --- a/docker/src/api/anime/anime.service.ts +++ b/docker/src/api/anime/anime.service.ts @@ -466,7 +466,10 @@ export async function searchEpisodesInExtension(ext: Extension | null, name: str export async function getStreamData(extension: Extension, episode: string, id: string, source: string, server?: string, category?: string, extensionAnimeId?: string): Promise { const providerName = extension.constructor.name; - const cacheKey = `anime:stream:${providerName}:${id}:${episode}:${server || 'default'}:${category || 'sub'}`; + const finalCategory = category ?? "sub"; + + const cacheKey = + `anime:stream:${providerName}:${id}:${episode}:${server}:${finalCategory}`; if (!extensionAnimeId) { const cached = await getCache(cacheKey); @@ -498,7 +501,6 @@ export async function getStreamData(extension: Extension, episode: string, id: s episodes = await extension.findEpisodes(targetId); if (extensionAnimeId) { - const anime: any = await getAnimeById(id); animeTitle = anime.title.romaji; @@ -523,8 +525,7 @@ export async function getStreamData(extension: Extension, episode: string, id: s throw new Error("Episode not found"); } - const serverName = server || "default"; - const streamData = await extension.findEpisodeServer(targetEp, serverName); + const streamData = await extension.findEpisodeServer(targetEp, server, category); await setCache(cacheKey, streamData, CACHE_TTL_MS); return streamData; diff --git a/docker/src/api/types.ts b/docker/src/api/types.ts index 7874a80..83b3341 100644 --- a/docker/src/api/types.ts +++ b/docker/src/api/types.ts @@ -99,7 +99,7 @@ export interface Extension { mediaType?: 'manga' | 'ln'; search?: (options: ExtensionSearchOptions) => Promise; findEpisodes?: (id: string) => Promise; - findEpisodeServer?: (episode: Episode, server: string) => Promise; + findEpisodeServer?: (s: any, server1: string | undefined, category: string | undefined) => Promise; findChapters?: (id: string) => Promise; findChapterPages?: (chapterId: string) => Promise; getSettings?: () => ExtensionSettings;