diff --git a/components/Settings/Crunchyroll.vue b/components/Settings/Crunchyroll.vue index 5435dad..045e84b 100644 --- a/components/Settings/Crunchyroll.vue +++ b/components/Settings/Crunchyroll.vue @@ -15,7 +15,7 @@ - +
Fallback to non-drm stream if no widevine key provided
diff --git a/src/api/routes/crunchyroll/crunchyroll.service.ts b/src/api/routes/crunchyroll/crunchyroll.service.ts index 7b6ee11..ba303a3 100644 --- a/src/api/routes/crunchyroll/crunchyroll.service.ts +++ b/src/api/routes/crunchyroll/crunchyroll.service.ts @@ -805,29 +805,15 @@ export async function crunchyGetMetadata(q: string) { 'User-Agent': 'Crunchyroll/1.8.0 Nintendo Switch/12.3.12.0 UE4/4.27' } - try { - const response = await fetch(`https://static.crunchyroll.com/skip-events/production/${q}.json`, { - method: 'GET', - headers: headers - }) + const response = await fetch(`https://static.crunchyroll.com/skip-events/production/${q}.json`, { + method: 'GET', + headers: headers + }) - if (response.ok) { - return (await JSON.parse(await response.text())) as VideoMetadata - } else { - const error = await response.text() - - messageBox('error', ['Cancel'], 2, 'Failed to get Crunchyroll Metadata', 'Failed to get Crunchyroll Metadata', error) - server.logger.log({ - level: 'error', - message: 'Failed to get Crunchyroll Metadata', - error: error, - timestamp: new Date().toISOString(), - section: 'metadataCrunchyrollFetch' - }) - throw new Error(error) - } - } catch (e) { - throw new Error(e as string) + if (response.ok) { + return (await JSON.parse(await response.text())) as VideoMetadata + } else { + return null } } diff --git a/src/api/routes/service/service.service.ts b/src/api/routes/service/service.service.ts index bd97111..177a272 100644 --- a/src/api/routes/service/service.service.ts +++ b/src/api/routes/service/service.service.ts @@ -703,6 +703,8 @@ export async function downloadCrunchyrollPlaylist( const chapterDownload = async () => { const metadata = await crunchyGetMetadata(e) + if (!metadata) return null + if (!metadata.intro && !metadata.credits && !metadata.preview && !metadata.recap) { return null } diff --git a/src/electron/preload.ts b/src/electron/preload.ts index c03deb9..0e309de 100644 --- a/src/electron/preload.ts +++ b/src/electron/preload.ts @@ -22,5 +22,7 @@ contextBridge.exposeInMainWorld('myAPI', { setEpisodeTemplate: (name: string) => ipcRenderer.invoke('dialog:setEpisodeTemplate', name), getEpisodeTemplate: () => ipcRenderer.invoke('dialog:getEpisodeTemplate'), setSeasonTemplate: (name: string) => ipcRenderer.invoke('dialog:setSeasonTemplate', name), - getSeasonTemplate: () => ipcRenderer.invoke('dialog:getSeasonTemplate') + getSeasonTemplate: () => ipcRenderer.invoke('dialog:getSeasonTemplate'), + setSeasonEnabled: (status: boolean) => ipcRenderer.invoke('dialog:setSeasonEnabledTemplate', status), + getSeasonEnabled: (status: boolean) => ipcRenderer.invoke('dialog:setSeasonEnabledTemplate', status), })