From a9062c398c2af29e7e746c3cf36819474d84376d Mon Sep 17 00:00:00 2001 From: Paul Trowbridge Date: Thu, 17 Sep 2026 15:13:48 -0400 Subject: [PATCH] Leave row labels at their default width MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each group_by level is its own row-header column, so fitting the first to its longest label pushes the second to start after it — and the default spacing reads better than the fitted result, cap or no cap. Fit now sizes the data columns only, which is what it was doing when it was useful. fitRowLabels is kept, unused, one call away: the measurement was the hard part and the judgement about whether to apply it may change. Co-Authored-By: Claude Opus 5 (1M context) --- ui/src/views/Forecast.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ui/src/views/Forecast.jsx b/ui/src/views/Forecast.jsx index 2d37821..778266a 100644 --- a/ui/src/views/Forecast.jsx +++ b/ui/src/views/Forecast.jsx @@ -1069,7 +1069,11 @@ export default function Forecast({ sources = [], sourceId, versions = [], versio grid.resetAutoSize() await grid.draw({ invalid_columns: true }) - await fitRowLabels(grid) + // Row labels are deliberately left at their default width. Each group_by + // level is its own column, so fitting the first to its longest label pushes + // the second to start after it, and the default spacing reads better than + // the fitted one. fitRowLabels below still does it, one call away, if that + // judgement changes. // Widths are not part of ViewConfig, so persist the layout to keep the // saved copy in step with what is on screen.