From 30718988b303359e96503ddb154df0633046f856 Mon Sep 17 00:00:00 2001 From: Steve C Date: Sat, 3 Jan 2026 21:46:36 -0500 Subject: [PATCH 1/2] Always convert petName to image hash in loadCustomPetData --- src/server/load-pet-data.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/server/load-pet-data.js b/src/server/load-pet-data.js index 59cb19d..b21f455 100644 --- a/src/server/load-pet-data.js +++ b/src/server/load-pet-data.js @@ -33,13 +33,11 @@ export async function loadCustomPetData(petName) { // prepending "@", which is a special code that can *also* be used in the // CustomPetService in place of name, to get a pet's appearance from its image // hash. - if (petName.match(/^[0-9]/)) { - const imageHash = await loadImageHashFromPetName(petName); - console.debug( - `[loadCustomPetData] Converted pet name ${petName} to @${imageHash}`, - ); - petName = "@" + imageHash; - } + const imageHash = await loadImageHashFromPetName(petName); + console.debug( + `[loadCustomPetData] Converted pet name ${petName} to @${imageHash}`, + ); + petName = "@" + imageHash; try { return neopetsAmfphpCall("CustomPetService.getViewerData", [petName]); -- 2.39.5 From 261f19a27090c4043ae656cd398cd8383a7c9654 Mon Sep 17 00:00:00 2001 From: Steve C Date: Sat, 3 Jan 2026 21:48:06 -0500 Subject: [PATCH 2/2] Use HEAD method in loadImageHashFromPetName fetch --- src/server/load-pet-data.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/load-pet-data.js b/src/server/load-pet-data.js index b21f455..a9396f0 100644 --- a/src/server/load-pet-data.js +++ b/src/server/load-pet-data.js @@ -58,6 +58,7 @@ const PETS_CP_URL_PATTERN = /https?:\/\/pets\.neopets\.com\/cp\/([a-z0-9]+)\/[0-9]+\/[0-9]+\.png/; async function loadImageHashFromPetName(petName) { const res = await fetch(`https://pets.neopets.com/cpn/${petName}/1/1.png`, { + method: "HEAD", redirect: "manual", }); if (res.status !== 302) { -- 2.39.5