diff --git a/app/releases.js b/app/releases.js index bb373a4..b338a17 100644 --- a/app/releases.js +++ b/app/releases.js @@ -58,6 +58,12 @@ export async function cleanupReleases(client, config) { const toDelete = selectReleasesToDelete(releases, config.keepCount) for (const release of toDelete) { + // 防禦非預期結構(null/非物件),避免解構時拋出未捕捉例外。 + if (release === null || typeof release !== 'object') { + warn('略過格式異常的成品項目') + continue + } + const { id, tag_name: tag, name } = release // 要求 id 為正整數(Gitea release id 本即正整數);非整數一律略過,不僅依賴 URL 編碼防護。