From 86a6ac5130fe51b36430fba9de9741dc1b38abdd Mon Sep 17 00:00:00 2001 From: kiwigitops Date: Mon, 22 Jun 2026 01:20:34 -0400 Subject: [PATCH] fix: handle disabled token reporting in achievements --- src/webview/page-achievements.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/webview/page-achievements.ts b/src/webview/page-achievements.ts index 0de562bf..531d9316 100644 --- a/src/webview/page-achievements.ts +++ b/src/webview/page-achievements.ts @@ -478,6 +478,17 @@ function renderAchievementPage( /* ── Render ───────────────────────────────────────────────────────── */ +async function getAchievementConsumption(filter: DateFilter): Promise<{ modelTotals: Record }> { + try { + return await rpc<{ modelTotals: Record }>('getConsumption', filter as Record); + } catch (error) { + if (error instanceof Error && error.message === 'Token reporting is temporarily disabled') { + return { modelTotals: {} }; + } + throw error; + } +} + export async function renderAchievements(container: HTMLElement, filter: DateFilter): Promise { render(html`<${LoadingScreen} message="Computing achievements..." />`, container); @@ -499,7 +510,7 @@ export async function renderAchievements(container: HTMLElement, filter: DateFil const dailyActivity = await rpc('getDailyActivity', filter as Record); const allSessions = await rpc<{ total: number }>('getSessions', { page: 1, pageSize: 1, filter: filter as Record }); const codeByLang = await rpc<{ byLanguage: { labels: string[] } }>('getCodeProduction', filter as Record); - const consumption = await rpc<{ modelTotals: Record }>('getConsumption', filter as Record); + const consumption = await getAchievementConsumption(filter); const workflows = await rpc<{ clusters: { id: string }[] }>('getWorkflowOptimization', filter as Record); const avgReqsPerSession = allSessions.total > 0 ? stats.totalRequests / allSessions.total : 0;