aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Media/Anime/Airing
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Media/Anime/Airing')
-rw-r--r--src/lib/Media/Anime/Airing/Subtitled/match.ts6
-rw-r--r--src/lib/Media/Anime/Airing/classify.test.ts4
2 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/Media/Anime/Airing/Subtitled/match.ts b/src/lib/Media/Anime/Airing/Subtitled/match.ts
index 10f63aa5..b72be71d 100644
--- a/src/lib/Media/Anime/Airing/Subtitled/match.ts
+++ b/src/lib/Media/Anime/Airing/Subtitled/match.ts
@@ -100,7 +100,7 @@ const FALLBACK_MIN_MARGIN = 0.08;
const MAX_MATCH_CACHE_ENTRIES = 10_000;
const MAX_INJECT_CACHE_ENTRIES = 10_000;
const STALE_AIRING_GRACE_SECONDS = 5 * 60;
-const MAX_EPISODE_SHIFT_WINDOW_SECONDS = 36 * 60 * 60;
+const MAX_EPISODE_SHIFT_WINDOW_SECONDS = 8 * 24 * 60 * 60;
interface SimilarityAnalysis {
score: number;
@@ -585,6 +585,7 @@ export const injectAiringTime = (
let untilAiring: number | undefined;
let time = new Date(airingAt ? airingAt * 1000 : 0);
let nextEpisode = anime.nextAiringEpisode?.episode || 0;
+ let nativeEpisode = nextEpisode;
if (!(displayNativeCountdown || !subsPlease)) {
const scheduleIndex = getScheduleIndex(subsPlease);
@@ -614,6 +615,7 @@ export const injectAiringTime = (
nativeTime.getTime() / 1000 > nowEpochSeconds + STALE_AIRING_GRACE_SECONDS
) {
nextEpisode -= 1;
+ nativeEpisode = nextEpisode;
}
if (nativeTime.getTime() - now.getTime() > SEVEN_DAYS) {
@@ -631,7 +633,7 @@ export const injectAiringTime = (
episode: nextEpisode,
airingAt: time.getTime() / 1000,
nativeAiringAt: nativeTime.getTime() / 1000,
- nativeEpisode: anime.nextAiringEpisode?.episode || 0,
+ nativeEpisode,
},
} as Media;
diff --git a/src/lib/Media/Anime/Airing/classify.test.ts b/src/lib/Media/Anime/Airing/classify.test.ts
index b05be83b..2b40d7df 100644
--- a/src/lib/Media/Anime/Airing/classify.test.ts
+++ b/src/lib/Media/Anime/Airing/classify.test.ts
@@ -146,6 +146,8 @@ describe("native countdown toggle parity", () => {
airingAt: nativeAiringAt,
};
+ if (media.mediaListEntry) media.mediaListEntry.progress = 5;
+
settings.setKey("displayNativeCountdown", true);
const nativeOnly = injectAiringTime(media, subsPlease);
@@ -242,7 +244,7 @@ describe("injectAiringTime cache safety", () => {
...media,
mediaListEntry: {
...(media.mediaListEntry || {}),
- progress: 8,
+ progress: 7,
},
} as Media;
const cachedCaughtUp = injectAiringTime(caughtUp, subsPlease);