diff --git a/manifest.v2.json b/manifest.v2.json index c1ec4dd..bece332 100644 --- a/manifest.v2.json +++ b/manifest.v2.json @@ -18,7 +18,6 @@ "https://odysee.com/", "https://madiator.com/", "https://finder.madiator.com/", - "tabs", "storage" ], "web_accessible_resources": [ diff --git a/manifest.v3.json b/manifest.v3.json index 28b99f1..601e8ad 100644 --- a/manifest.v3.json +++ b/manifest.v3.json @@ -8,7 +8,6 @@ "128": "assets/icons/wol/icon128.png" }, "permissions": [ - "tabs", "storage" ], "host_permissions": [ diff --git a/src/modules/yt/urlResolve.ts b/src/modules/yt/urlResolve.ts index 85fc901..99d4df7 100644 --- a/src/modules/yt/urlResolve.ts +++ b/src/modules/yt/urlResolve.ts @@ -47,7 +47,12 @@ export async function resolveById(params: Paramaters, progressCallback?: (progre url.searchParams.set('video_ids', params.filter((item) => item.type === 'video').map((item) => item.id).join(',')) url.searchParams.set('channel_ids', params.filter((item) => item.type === 'channel').map((item) => item.id).join(',')) - const apiResponse = await fetch(url.toString(), { cache: 'no-store' }) + const controller = new AbortController() + // 5 second timeout: + const timeoutId = setTimeout(() => controller.abort(), 5000) + const apiResponse = await fetch(url.toString(), { cache: 'no-store', signal: controller.signal }) + clearTimeout(timeoutId) + if (apiResponse.ok) { const response: ApiResponse = await apiResponse.json() for (const item of params) {