Skip to content

Commit 5d80f5f

Browse files
Refresh download pages faster after GitHub releases (5m revalidate).
1 parent 386ba65 commit 5d80f5f

3 files changed

Lines changed: 12 additions & 2 deletions

File tree

‎app/download/page.tsx‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import {
1111

1212
import { buildPageMetadata } from "@/lib/page-metadata";
1313

14+
export const revalidate = 300;
15+
1416
export const metadata: Metadata = buildPageMetadata({
1517
path: "/download",
1618
title: "Download",

‎app/page.tsx‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import { OpenSourceStrip } from "@/components/home/open-source-strip";
1212
import { ScreenshotGallery } from "@/components/screenshot-gallery";
1313
import { getLatestRelease, getRepoStats } from "@/lib/github";
1414

15+
export const revalidate = 300;
16+
1517
export default async function HomePage() {
1618
const [release, stats] = await Promise.all([
1719
getLatestRelease(),

‎lib/github.ts‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,15 @@ async function ghFetch<T>(path: string, revalidate = 3600): Promise<T> {
3838
return res.json() as Promise<T>;
3939
}
4040

41-
export async function getLatestRelease(): Promise<GitHubRelease | null> {
41+
/** Shorter cache on download/home so new GitHub releases show up within minutes. */
42+
export async function getLatestRelease(
43+
revalidateSeconds = 300,
44+
): Promise<GitHubRelease | null> {
4245
try {
43-
return await ghFetch<GitHubRelease>(`/repos/${GITHUB_REPO}/releases/latest`);
46+
return await ghFetch<GitHubRelease>(
47+
`/repos/${GITHUB_REPO}/releases/latest`,
48+
revalidateSeconds,
49+
);
4450
} catch {
4551
return null;
4652
}

0 commit comments

Comments
 (0)