From 6a4123f59fe55de25395bbcd9786d29443359c18 Mon Sep 17 00:00:00 2001 From: ZhenShuo Leo <98386542+ZhenShuo2021@users.noreply.github.com> Date: Sat, 2 Aug 2025 19:54:43 +0800 Subject: [PATCH] fix(fetch-repo): prevent DOM updates with invalid remote data --- assets/js/fetch-repo.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/assets/js/fetch-repo.js b/assets/js/fetch-repo.js index 07b8f6a8..61bedfd0 100644 --- a/assets/js/fetch-repo.js +++ b/assets/js/fetch-repo.js @@ -64,6 +64,16 @@ }); const data = await response.json(); + if (!response.ok) { + console.error(`fetch-repo.js: HTTP Error: ${response.status} ${response.statusText}`); + return; + } + + if (!data || typeof data !== "object") { + console.error("fetch-repo.js: Invalid or empty data received from remote"); + return; + } + Object.entries(mapping).forEach(([dataField, elementSuffix]) => { const element = document.getElementById(`${repoId}-${elementSuffix}`); if (element) { @@ -71,7 +81,9 @@ if (processors[platform]?.[dataField]) { value = processors[platform][dataField](value); } - element.innerHTML = value; + if (value != null && value !== "") { + element.innerHTML = value; + } } }); } catch (error) {