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),
})