diff --git a/src/unified-dashboard.ts b/src/unified-dashboard.ts index b5bb137..706a78f 100644 --- a/src/unified-dashboard.ts +++ b/src/unified-dashboard.ts @@ -480,14 +480,19 @@ async function buildUsageContent(): Promise { claudeBotRows.push(...buildClaudeUsageRows(cachedClaudeAccounts)); } - // Group 2: Codex bot (separate service) + // Group 2: Codex bot — use in-process cache (unified service) + // or fall back to snapshot from separate Codex service. const codexBotRows: UsageRow[] = []; - const codexSnapshot = readStatusSnapshots(STATUS_SNAPSHOT_MAX_AGE_MS).find( - (s) => s.serviceId === 'codex-main' || s.serviceId === 'codex', - ); - codexBotRows.push( - ...extractCodexUsageRows(codexSnapshot, USAGE_SNAPSHOT_MAX_AGE_MS), - ); + if (cachedCodexUsageRows.length > 0) { + codexBotRows.push(...cachedCodexUsageRows); + } else { + const codexSnapshot = readStatusSnapshots(STATUS_SNAPSHOT_MAX_AGE_MS).find( + (s) => s.serviceId === 'codex-main' || s.serviceId === 'codex', + ); + codexBotRows.push( + ...extractCodexUsageRows(codexSnapshot, USAGE_SNAPSHOT_MAX_AGE_MS), + ); + } lines.push(...renderUsageTable(claudeBotRows, codexBotRows));