From 8dbcacdc5bb153e69db8e96b3d699d0cafa8460f Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Sun, 26 Jul 2026 22:11:15 +0200 Subject: [PATCH] Fix front 422 and missing images crash (#1608) (#1609) --- api/src/controllers/images.ts | 20 ++++++++++++++++---- front/src/query/query.tsx | 2 +- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/api/src/controllers/images.ts b/api/src/controllers/images.ts index c82ae6b3c..71ecaed4e 100644 --- a/api/src/controllers/images.ts +++ b/api/src/controllers/images.ts @@ -83,10 +83,16 @@ function getRedirectToImageHandler({ filter }: { filter?: SQL }) { message: "Accept-Language header could not be satisfied.", }); } + if (!ret.image) { + return status(404, { + status: 404, + message: `No ${image} available for the item with id or slug: '${id}'.`, + }); + } set.headers["content-language"] = ret.language; return quality - ? redirect(`${prefix}/images/${ret.image!.id}?quality=${quality}`) - : redirect(`${prefix}/images/${ret.image!.id}`); + ? redirect(`${prefix}/images/${ret.image.id}?quality=${quality}`) + : redirect(`${prefix}/images/${ret.image.id}`); }; } @@ -271,10 +277,16 @@ export const imagesH = new Elysia({ tags: ["images"] }) message: "Accept-Language header could not be satisfied.", }); } + if (!ret.image) { + return status(404, { + status: 404, + message: `No logo available for the studio with id or slug: '${id}'.`, + }); + } set.headers["content-language"] = ret.language; return quality - ? redirect(`${prefix}/images/${ret.image!.id}?quality=${quality}`) - : redirect(`${prefix}/images/${ret.image!.id}`); + ? redirect(`${prefix}/images/${ret.image.id}?quality=${quality}`) + : redirect(`${prefix}/images/${ret.image.id}`); }, { detail: { description: "Get the logo of a studio." }, diff --git a/front/src/query/query.tsx b/front/src/query/query.tsx index 730692877..2c243c328 100644 --- a/front/src/query/query.tsx +++ b/front/src/query/query.tsx @@ -49,7 +49,7 @@ export const queryFn = async (context: { ? { Authorization: `Bearer ${context.authToken}` } : {}), ...(context.body ? { "Content-Type": "application/json" } : {}), - "Accept-Language": context.lang ?? "en", + "Accept-Language": `${context.lang ?? "en"}, en, *`, }, signal: context.signal, });