diff --git a/app/components/Package/TrendsChart.vue b/app/components/Package/TrendsChart.vue index 98548cf94f..98aa85d024 100644 --- a/app/components/Package/TrendsChart.vue +++ b/app/components/Package/TrendsChart.vue @@ -402,7 +402,9 @@ const isEndDateOnPeriodEnd = computed(() => { }) const supportsEstimation = computed( - () => displayedGranularity.value !== 'daily' && selectedMetric.value !== 'contributors', + () => + !['daily', 'weekly'].includes(displayedGranularity.value) && + selectedMetric.value !== 'contributors', ) const hasDownloadAnomalies = computed(() => @@ -1081,7 +1083,10 @@ const normalisedDataset = computed(() => { { averageWindow: settings.value.chartFilter.averageWindow, smoothingTau: settings.value.chartFilter.smoothingTau, - predictionPoints: settings.value.chartFilter.predictionPoints ?? DEFAULT_PREDICTION_POINTS, + predictionPoints: + granularity === 'weekly' + ? 0 // weekly buckets are end-aligned → always complete, no prediction needed + : (settings.value.chartFilter.predictionPoints ?? DEFAULT_PREDICTION_POINTS), }, { granularity, lastDateMs, referenceMs, isAbsoluteMetric }, ) @@ -1763,15 +1768,14 @@ watch(selectedMetric, value => {