From 72ec925357d83287fe29322a84a5bc171b666579 Mon Sep 17 00:00:00 2001 From: "Satsuki Akiba (aider)" Date: Wed, 4 Jun 2025 12:02:03 +0900 Subject: [PATCH] fix: generate fallback ID for feed items --- scripts/fetch_and_generate.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/fetch_and_generate.ts b/scripts/fetch_and_generate.ts index 7b60825..9d22f1b 100644 --- a/scripts/fetch_and_generate.ts +++ b/scripts/fetch_and_generate.ts @@ -48,9 +48,16 @@ async function main() { pub.getMonth() === yesterday.getMonth() && pub.getDate() === yesterday.getDate() ) { + // Use item.id if available, otherwise generate fallback ID from title or link const itemId = item["id"] as string | undefined; - if (!itemId || typeof itemId !== 'string' || itemId.trim() === '') { - console.warn(`無効なフィードアイテムIDを検出: ${itemId}`, { + const fallbackId = item.link || item.title || JSON.stringify(item); + const finalItemId = itemId && typeof itemId === 'string' && itemId.trim() !== '' + ? itemId + : `fallback-${Buffer.from(fallbackId).toString('base64')}`; + + // Skip if even the fallback ID is missing (should be rare) + if (!finalItemId || finalItemId.trim() === '') { + console.warn(`フィードアイテムのIDを生成できませんでした`, { feedUrl: url, itemTitle: item.title, itemLink: item.link