From 469dfeeac3acffe10b0f7cf374fb7f0d11ecd90f Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 1 Mar 2026 19:56:11 -0800 Subject: fix(match): prevent cached airing injection mutation regressions --- src/lib/List/Anime/DueAnimeList.svelte | 16 +++++++++++----- src/lib/List/Anime/UpcomingAnimeList.svelte | 21 ++++++++++++--------- 2 files changed, 23 insertions(+), 14 deletions(-) (limited to 'src/lib/List/Anime') diff --git a/src/lib/List/Anime/DueAnimeList.svelte b/src/lib/List/Anime/DueAnimeList.svelte index 4da6836f..e170a81e 100644 --- a/src/lib/List/Anime/DueAnimeList.svelte +++ b/src/lib/List/Anime/DueAnimeList.svelte @@ -93,11 +93,17 @@ const cleanMedia = ( // Outdated media hasDueEpisodes(media), ) - .map((media: Media) => { - if (hasNoAiredEpisodes(media)) media.nextAiringEpisode = { episode: -1 }; - - return media; - }); + .map((media: Media) => + hasNoAiredEpisodes(media) + ? { + ...media, + nextAiringEpisode: { + ...(media.nextAiringEpisode || { episode: 0 }), + episode: -1, + }, + } + : media, + ); if (!displayUnresolved) dueAnime = dueAnime.filter( diff --git a/src/lib/List/Anime/UpcomingAnimeList.svelte b/src/lib/List/Anime/UpcomingAnimeList.svelte index 2dd69a68..4bd7a287 100644 --- a/src/lib/List/Anime/UpcomingAnimeList.svelte +++ b/src/lib/List/Anime/UpcomingAnimeList.svelte @@ -60,16 +60,19 @@ const cleanMedia = ( ? media.mediaListEntry?.status === "PLANNING" : false) || !hasDueEpisodes(media), ) - .map((media: Media) => { + .map((media: Media) => // Adjust for planned anime - if ( - ($settings.displayPlannedAnime ? media.episodes !== 1 : true) && - hasNoAiredEpisodes(media) - ) - media.nextAiringEpisode = { episode: -1 }; - - return media; - }); + ($settings.displayPlannedAnime ? media.episodes !== 1 : true) && + hasNoAiredEpisodes(media) + ? { + ...media, + nextAiringEpisode: { + ...(media.nextAiringEpisode || { episode: 0 }), + episode: -1, + }, + } + : media, + ); let upcomingAnime = filterAnime( plannedOnly ? "NOT_YET_RELEASED" : "RELEASING", ); -- cgit v1.2.3