fix(dashboard): add cache-busting and defensive chartManager guards to fix empty charts
Some checks failed
CI / Check (push) Has been cancelled
CI / Clippy (push) Has been cancelled
CI / Formatting (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Release Build (push) Has been cancelled

This commit is contained in:
2026-03-02 13:28:29 -05:00
parent 8d50ce7c22
commit 1766a12ea2
8 changed files with 88 additions and 34 deletions

View File

@@ -128,6 +128,9 @@ class OverviewPage {
async loadRequestsChart() {
try {
const cm = window.chartManager || await window.waitForChartManager();
if (!cm) { this.showEmptyChart('requests-chart', 'Chart system unavailable'); return; }
const data = await window.api.get('/usage/time-series');
const series = data.series || [];
@@ -148,7 +151,7 @@ class OverviewPage {
]
};
this.charts.requests = window.chartManager.createLineChart('requests-chart', chartData);
this.charts.requests = cm.createLineChart('requests-chart', chartData);
} catch (error) {
console.error('Error loading requests chart:', error);
this.showEmptyChart('requests-chart', 'Failed to load request data');
@@ -157,6 +160,9 @@ class OverviewPage {
async loadProvidersChart() {
try {
const cm = window.chartManager || await window.waitForChartManager();
if (!cm) { this.showEmptyChart('providers-chart', 'Chart system unavailable'); return; }
const data = await window.api.get('/usage/providers');
if (!data || data.length === 0) {
@@ -167,10 +173,10 @@ class OverviewPage {
const chartData = {
labels: data.map(item => item.provider),
data: data.map(item => item.requests),
colors: data.map((_, i) => window.chartManager.defaultColors[i % window.chartManager.defaultColors.length])
colors: data.map((_, i) => cm.defaultColors[i % cm.defaultColors.length])
};
this.charts.providers = window.chartManager.createDoughnutChart('providers-chart', chartData);
this.charts.providers = cm.createDoughnutChart('providers-chart', chartData);
} catch (error) {
console.error('Error loading providers chart:', error);
this.showEmptyChart('providers-chart', 'Failed to load provider data');