From 88adf9bcbd1bb5840600699eb66255bab0dca9f1 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Sun, 26 Oct 2025 21:58:32 +0200 Subject: [PATCH] Improve image download timeout handling --- src/lib/media/manip.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/lib/media/manip.ts b/src/lib/media/manip.ts index f8f8d0703d..da192b0a4d 100644 --- a/src/lib/media/manip.ts +++ b/src/lib/media/manip.ts @@ -378,14 +378,21 @@ function createPath(ext: string) { async function downloadImage(uri: string, path: string, timeout: number) { const dlResumable = createDownloadResumable(uri, path, {cache: true}) - - const to1 = setTimeout(() => dlResumable.cancelAsync(), timeout) + let timedOut = false + const to1 = setTimeout(() => { + timedOut = true + dlResumable.cancelAsync() + }, timeout) const dlRes = await dlResumable.downloadAsync() clearTimeout(to1) if (!dlRes?.uri) { - throw new Error('Failed to download image - dlRes is undefined') + if (timedOut) { + throw new Error('Failed to download image - timed out') + } else { + throw new Error('Failed to download image - dlRes is undefined') + } } return normalizePath(dlRes.uri)