Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Community metrics can silently go stale: updatedAt is never rendered and a failed fetch keeps old numbers

Abierto
#327 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@IanoNjuguna ya está trabajando en esto.

Desde el 14/10/2026.

  • #330 de @IanoNjuguna — abierto

Evaluación

Este issue todavía no se ha evaluado.

Descripción

enhancement

Problem

website/src/data/githubData.json drives the homepage community metrics. It is regenerated at build time by scripts/fetch-github-data.js (npm prebuild), and two things make it impossible to tell fresh data from months-old data:

  1. A failed fetch keeps the old numbers. The script reads the existing file first and preserves contributors and stats; if the API call then fails, it writes the preserved values back and only refreshes updatedAt. The payload is written unconditionally at the end.
  2. Nothing renders updatedAt. grep -rn "updatedAt" website/src returns no matches. Contributors.tsx:12 reads contributors; MonthlyPulse.tsx:7-9 reads stats. The timestamp is written, committed, and then never shown.

Evidence (2026-10-14)

  • Committed snapshot: updatedAt 2026-08-01, mergedPRs 136 / openIssues 12 / closedIssues 56.
  • A fetch run today: 162 / 9 / 77.

Those two states render identically to a visitor. If a fetch fails — rate limiting on an unauthenticated build (local builds here inject 0 env vars, no GITHUB_TOKEN), network hiccup, expired token — the site ships the older numbers with no marker.

Impact

  • Visitors cannot judge how current the metrics are.
  • Maintainers have no signal that a build silently fell back to a previous snapshot; the site keeps looking healthy.
  • The snapshot in the repo is already ~10 weeks old, so the fallback path is a real, not theoretical, state.

Suggested fix

Either or both:

  • Render updatedAt in MonthlyPulse as a "data as of …" line.
  • Fail (or warn loudly in the build log) when the fetch falls back to the previous snapshot, or when updatedAt is older than a threshold such as 7 days.

Notes

Independent of the font-loading work in #325. Raised while auditing what writes githubData.json, since npm run build / npm start rewrite that file on every run.

Related: #326 — the same fetch script can render automation accounts as contributors.

Lenguaje dominante
TypeScript
Estrellas
13
Forks
22
Merge medio
2 d 13 h
PR fusionados (30 d)
11

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de IntersectMBO/developer-experience

Todos los issues de IntersectMBO/developer-experience

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.