Prefer cached stills and stream first frames in the grid

This commit is contained in:
Fisto
2026-09-16 13:44:34 +02:00
parent 0081224954
commit 1e064b69d0
3 changed files with 71 additions and 47 deletions
+14 -3
View File
@@ -789,9 +789,20 @@ export function startWebUi(deps: WebUiDeps): WebUiHandle {
return;
}
const upstream = await fetch(source.url, {
headers: req.headers.range ? { range: String(req.headers.range) } : {}
});
const rangeHeaders: Record<string, string> = req.headers.range
? { range: String(req.headers.range) }
: {};
let upstream = await fetch(source.url, { headers: rangeHeaders });
// The signed CDN URL may have expired; re-fetch the message once and retry.
if (!upstream.ok && [403, 404, 410].includes(upstream.status)) {
const refreshed = await deps.media.refreshMediaUrl(
String(req.params.scrapeId),
Number(req.params.itemId)
);
if (refreshed) upstream = await fetch(refreshed, { headers: rangeHeaders });
}
if (!upstream.ok && upstream.status !== 206) {
throw new HttpError(502, `upstream ${upstream.status}`);
}