Community metrics can silently go stale: updatedAt is never rendered and a failed fetch keeps old numbers
Los mantenedores suelen responder en 1 día
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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:
- A failed fetch keeps the old numbers. The script reads the existing file first and preserves
contributorsandstats; if the API call then fails, it writes the preserved values back and only refreshesupdatedAt. The payload is written unconditionally at the end. - Nothing renders
updatedAt.grep -rn "updatedAt" website/srcreturns no matches.Contributors.tsx:12readscontributors;MonthlyPulse.tsx:7-9readsstats. 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
updatedAtinMonthlyPulseas a "data as of …" line. - Fail (or warn loudly in the build log) when the fetch falls back to the previous snapshot, or when
updatedAtis 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
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de IntersectMBO/developer-experience
-
Site asks for Poppins but only loads InterPosiblemente ocupada @IanoNjuguna la tomó hace 1 día. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
IntersectMBO/developer-experience#325 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Canonical URL is the homepage on every pagePosiblemente ocupada @IanoNjuguna la tomó hace 1 día. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
IntersectMBO/developer-experience#324 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Home feature cards still show link underlinesPosiblemente ocupada @IanoNjuguna la tomó hoy. Abiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
IntersectMBO/developer-experience#323 · 1 comentario · 1 reacción · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
IntersectMBO/developer-experience#302 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
IntersectMBO/developer-experience#301 ·
Los mantenedores suelen responder en 1 día
Todos los issues de IntersectMBO/developer-experience
Issues similares
-
fix(frontend): correct VITE_IS_DEVELPOMENT typo in shared/app.ts and align dev environment flagsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
vicharanashala/ajrasakha#1439 ·
Los mantenedores suelen responder en 1 día
-
Add: TV5Monde AsieAbiertoapproved check:passed streams:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
codex-team/editor.js#3037 ·
-
complexity: trivial good first issue impact: low
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
ueberdosis/tiptap#8522 ·
Los mantenedores suelen responder en 1 día
-
Bump anybuf version to ^1.0.0Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
wormhole-foundation/wormhole#5062 ·
Los mantenedores suelen responder en 1 día