Skip to content

Commit ff5b389

Browse files
committed
show changelog immediately when GPU selected, no date range required
1 parent 3b504c0 commit ff5b389

2 files changed

Lines changed: 32 additions & 28 deletions

File tree

packages/app/src/components/inference/ui/ChartDisplay.tsx

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -666,17 +666,15 @@ export default function ChartDisplay() {
666666
<ChartControls intermediateDates={intermediateDates} />
667667
<ModelArchitectureDiagram model={selectedModel} />
668668
{selectedGPUs.length === 0 && <WorkflowInfoDisplay workflowInfo={workflowInfo} />}
669-
{selectedGPUs.length > 0 &&
670-
selectedDateRange.startDate &&
671-
selectedDateRange.endDate && (
672-
<ComparisonChangelog
673-
changelogs={changelogs}
674-
selectedGPUs={selectedGPUs}
675-
selectedPrecisions={selectedPrecisions}
676-
loading={changelogsLoading}
677-
totalDatesQueried={totalDatesQueried}
678-
/>
679-
)}
669+
{selectedGPUs.length > 0 && (
670+
<ComparisonChangelog
671+
changelogs={changelogs}
672+
selectedGPUs={selectedGPUs}
673+
selectedPrecisions={selectedPrecisions}
674+
loading={changelogsLoading}
675+
totalDatesQueried={totalDatesQueried}
676+
/>
677+
)}
680678
</div>
681679
</Card>
682680
</section>

packages/app/src/hooks/api/use-comparison-changelogs.ts

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,40 +19,46 @@ export function useComparisonChangelogs(
1919
selectedDateRange: { startDate: string; endDate: string },
2020
availableDates: string[],
2121
) {
22-
const isComparisonMode =
23-
selectedGPUs.length > 0 && !!selectedDateRange.startDate && !!selectedDateRange.endDate;
22+
const hasGPUs = selectedGPUs.length > 0;
23+
const hasDateRange = !!selectedDateRange.startDate && !!selectedDateRange.endDate;
2424

25-
// Query all available dates within the selected range to discover which have changelog entries
26-
const datesInRange = useMemo(() => {
27-
if (!isComparisonMode) return [];
25+
// When GPUs selected: fetch all available dates. When date range also set: limit to range.
26+
const datesToQuery = useMemo(() => {
27+
if (!hasGPUs) return [];
28+
if (!hasDateRange) return availableDates;
2829
return availableDates.filter(
2930
(d) => d >= selectedDateRange.startDate && d <= selectedDateRange.endDate,
3031
);
31-
}, [isComparisonMode, availableDates, selectedDateRange.startDate, selectedDateRange.endDate]);
32+
}, [
33+
hasGPUs,
34+
hasDateRange,
35+
availableDates,
36+
selectedDateRange.startDate,
37+
selectedDateRange.endDate,
38+
]);
3239

3340
const queries = useQueries({
34-
queries: datesInRange.map((date) => ({
41+
queries: datesToQuery.map((date) => ({
3542
queryKey: ['workflow-info', date],
3643
queryFn: () => fetchWorkflowInfo(date),
37-
enabled: isComparisonMode,
44+
enabled: hasGPUs,
3845
})),
3946
});
4047

4148
const changelogs = useMemo(() => {
42-
if (!isComparisonMode) return [];
49+
if (!hasGPUs) return [];
4350

4451
const results: ComparisonChangelog[] = [];
4552

46-
for (let i = 0; i < datesInRange.length; i++) {
53+
for (let i = 0; i < datesToQuery.length; i++) {
4754
const query = queries[i];
4855
if (!query.data) continue;
4956

5057
const data = query.data as WorkflowInfoResponse;
5158
if (!data.changelogs || data.changelogs.length === 0) continue;
5259

53-
// Include all changelogs for this date (across all runs)
5460
results.push({
55-
date: datesInRange[i],
61+
date: datesToQuery[i],
5662
headRef: data.changelogs[data.changelogs.length - 1]?.head_ref,
5763
runUrl: data.runs[data.runs.length - 1]?.html_url ?? undefined,
5864
entries: data.changelogs.map((c: ChangelogRow) => ({
@@ -64,18 +70,18 @@ export function useComparisonChangelogs(
6470
}
6571

6672
return results;
67-
}, [isComparisonMode, datesInRange, queries]);
73+
}, [hasGPUs, datesToQuery, queries]);
6874

69-
// Intermediate dates with any changelog entries (excluding start/end)
75+
// Intermediate dates with any changelog entries (excluding start/end when date range is set)
7076
const intermediateDates = useMemo(() => {
71-
if (!isComparisonMode) return [];
77+
if (!hasGPUs || !hasDateRange) return [];
7278
return changelogs
7379
.filter((c) => c.date !== selectedDateRange.startDate && c.date !== selectedDateRange.endDate)
7480
.map((c) => c.date)
7581
.sort();
76-
}, [isComparisonMode, changelogs, selectedDateRange.startDate, selectedDateRange.endDate]);
82+
}, [hasGPUs, hasDateRange, changelogs, selectedDateRange.startDate, selectedDateRange.endDate]);
7783

7884
const loading = queries.some((q) => q.isLoading);
7985

80-
return { changelogs, intermediateDates, loading, totalDatesQueried: datesInRange.length };
86+
return { changelogs, intermediateDates, loading, totalDatesQueried: datesToQuery.length };
8187
}

0 commit comments

Comments
 (0)