diff --git a/content.js b/content.js index eb686a1..02f862c 100644 --- a/content.js +++ b/content.js @@ -492,6 +492,22 @@ } function createWeeklyTracker(pageData, dailyData) { + // Defense in depth: si pageData/dailyData vienen del caché de chrome.storage, + // los Date pueden seguir siendo string/number aunque rehydrateDates haya pasado. + // Normalizar aquí mismo evita TypeError al llamar .toLocaleDateString/Time. + const ensureDate = (v) => { + if (v == null) return null; + if (v instanceof Date) return isNaN(v.getTime()) ? null : v; + if (typeof v === 'string' || typeof v === 'number') { + const d = new Date(v); + return isNaN(d.getTime()) ? null : d; + } + return null; + }; + pageData.sessionStartTime = ensureDate(pageData.sessionStartTime); + pageData.sessionEndTime = ensureDate(pageData.sessionEndTime); + dailyData.estimatedEndDate = ensureDate(dailyData.estimatedEndDate); + const container = document.createElement('div'); container.className = 'claude-usage-tracker-container'; container.id = 'claude-usage-tracker';