From 6768d67e7bc47b4572c293cfbfebbd41198c9353 Mon Sep 17 00:00:00 2001 From: RockinChaos Date: Fri, 30 Aug 2024 20:22:35 -0700 Subject: [PATCH] fix: undefined debug --- common/modules/sections.js | 1 + common/views/Player/MediaHandler.svelte | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/modules/sections.js b/common/modules/sections.js index f8d4655..9a99eda 100644 --- a/common/modules/sections.js +++ b/common/modules/sections.js @@ -28,6 +28,7 @@ export default class SectionsManager { return (page = 1, perPage = 50, search = variables) => { const hideSubs = search.hideSubs ? { idMal: malDubs.dubLists.value.dubbed } : {} const res = (search.hideMyAnime && Helper.isAuthorized()) ? Helper.userLists(search).then(res => { + // anilist queries do not support mix and match, you have to use the same id includes as excludes, id_not_in cannot be used with idMal_in. const hideMyAnime = Helper.isAniAuth() ? { [Object.keys(hideSubs).length > 0 ? 'idMal_not' : 'id_not']: Array.from(new Set(res.data.MediaListCollection.lists.filter(({ status }) => search.hideStatus.includes(status)).flatMap(list => list.entries.map(({ media }) => (Object.keys(hideSubs).length > 0 ? media.idMal : media.id))))) } : {idMal_not: res.data.MediaList.filter(({ node }) => search.hideStatus.includes(Helper.statusMap(node.my_list_status.status))).map(({ node }) => node.id)} return anilistClient.search({ page, perPage, ...hideSubs, ...hideMyAnime, ...SectionsManager.sanitiseObject(search) }) diff --git a/common/views/Player/MediaHandler.svelte b/common/views/Player/MediaHandler.svelte index 4ed75bf..1fdcc98 100644 --- a/common/views/Player/MediaHandler.svelte +++ b/common/views/Player/MediaHandler.svelte @@ -113,7 +113,7 @@ } function fileListToDebug (files) { - return files.map(({ name, media, url }) => `\n${name} ${media?.parseObject.anime_title} ${media?.parseObject.episode_number} ${media?.media?.title.userPreferred} ${media?.episode}`).join('') + return files?.map(({ name, media, url }) => `\n${name} ${media?.parseObject?.anime_title} ${media?.parseObject?.episode_number} ${media?.media?.title?.userPreferred} ${media?.episode}`).join('') } async function handleFiles (files) { @@ -149,7 +149,7 @@ if (!nowPlaying) { nowPlaying = findPreferredPlaybackMedia(videoFiles) - debug(`Found preferred playback media: ${nowPlaying.media?.id}:${nowPlaying.media?.title.userPreferred} ${nowPlaying.episode}`) + debug(`Found preferred playback media: ${nowPlaying?.media?.id}:${nowPlaying?.media?.title?.userPreferred} ${nowPlaying?.episode}`) } const filtered = nowPlaying?.media && videoFiles.filter(file => file.media?.media?.id && file.media?.media?.id === nowPlaying.media.id) @@ -161,7 +161,7 @@ result = filtered } else { const max = highestOccurence(videoFiles, file => file.media.parseObject.anime_title).media.parseObject.anime_title - debug(`Highest occurence anime title: ${max}`) + debug(`Highest occurrence anime title: ${max}`) result = videoFiles.filter(file => file.media.parseObject.anime_title === max) }