From a0b1d4d60feef9e477161f5b1041aaa8d3c902a9 Mon Sep 17 00:00:00 2001 From: ThaUnknown <6506529+ThaUnknown@users.noreply.github.com> Date: Wed, 6 Apr 2022 19:40:33 +0200 Subject: [PATCH] fix: edge case when season resolving would get stuck in an infinite loop --- package.json | 2 +- src/index.js | 6 ------ src/renderer/src/modules/anime.js | 10 +++++----- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index fbe4af9..1b4d5bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Miru", - "version": "1.1.3", + "version": "1.1.4", "author": "ThaUnknown_ ", "main": "src/index.js", "homepage": "https://github.com/ThaUnknown/miru#readme", diff --git a/src/index.js b/src/index.js index 202c128..97840f9 100644 --- a/src/index.js +++ b/src/index.js @@ -76,12 +76,6 @@ function createWindow () { mainWindow.webContents.openDevTools() } - // Uncomment the following line of code when app is ready to be packaged. - // loadURL(mainWindow); - - // Open the DevTools and also disable Electron Security Warning. - process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = true - // Emitted when the window is closed. mainWindow.on('closed', () => { // Dereference the window object, usually you would store windows diff --git a/src/renderer/src/modules/anime.js b/src/renderer/src/modules/anime.js index 099ca88..42e445b 100644 --- a/src/renderer/src/modules/anime.js +++ b/src/renderer/src/modules/anime.js @@ -186,12 +186,12 @@ async function resolveSeason (opts) { const rootHighest = (rootMedia.nextAiringEpisode?.episode || rootMedia.episodes) - const prequel = !increment && findEdge(media, 'PREQUEL')?.node - const sequel = !prequel && findEdge(media, 'SEQUEL')?.node + const prequel = !increment && findEdge(media, 'PREQUEL', undefined, force)?.node + const sequel = !prequel && (increment || increment == null) && findEdge(media, 'SEQUEL', undefined, force)?.node const edge = prequel || sequel - increment = !prequel + increment = increment ?? !prequel - if (!prequel && !sequel) { + if (!edge) { const obj = { media, episode: episode - offset, offset, increment, rootMedia } if (!force) { console.warn('Error in parsing!', obj) @@ -210,7 +210,7 @@ async function resolveSeason (opts) { const diff = episode - (highest + offset) media = temp offset += highest - if (diff <= rootHighest) { + if (!force && diff <= rootHighest) { episode -= offset if (sequel) rootMedia = temp return { media, episode, offset, increment, rootMedia }