diff --git a/AppImage/components/latency-detail-modal.tsx b/AppImage/components/latency-detail-modal.tsx index 827f398f..9cc5c17f 100644 --- a/AppImage/components/latency-detail-modal.tsx +++ b/AppImage/components/latency-detail-modal.tsx @@ -177,16 +177,26 @@ const generateLatencyReport = (report: ReportData) => { let chartSvg = '
Not enough data points for chart
' if (chartData.length >= 2) { - const minVal = Math.min(...chartData) - const maxVal = Math.max(...chartData) - const range = maxVal - minVal || 1 + const rawMin = Math.min(...chartData) + const rawMax = Math.max(...chartData) + // Ensure a minimum range of 10ms or 20% of the average to avoid flat lines + const avgVal = chartData.reduce((a, b) => a + b, 0) / chartData.length + const minRange = Math.max(10, avgVal * 0.2) + const range = Math.max(rawMax - rawMin, minRange) + // Center the data if range was expanded + const midPoint = (rawMin + rawMax) / 2 + const minVal = midPoint - range / 2 + const maxVal = midPoint + range / 2 + const width = 700 const height = 120 - const padding = 30 + const padding = 40 + const chartHeight = height - padding * 2 + const chartWidth = width - padding * 2 const points = chartData.map((val, i) => { - const x = padding + (i / (chartData.length - 1)) * (width - padding * 2) - const y = height - padding - ((val - minVal) / range) * (height - padding * 2) + const x = padding + (i / (chartData.length - 1)) * chartWidth + const y = padding + chartHeight - ((val - minVal) / range) * chartHeight return `${x},${y}` }).join(' ') @@ -203,9 +213,9 @@ const generateLatencyReport = (report: ReportData) => {${ - statusText === 'Excellent' ? 'Network latency is excellent. No action required.' : - statusText === 'Good' ? 'Network latency is within acceptable parameters.' : - statusText === 'Fair' ? 'Network latency is elevated. Consider investigating network congestion or routing issues.' : - statusText === 'Poor' ? 'Network latency is critically high. Immediate investigation recommended.' : - 'Unable to determine network status.' - }
-