Community metrics can silently go stale: updatedAt is never rendered and a failed fetch keeps old numbers
I maintainer di solito rispondono entro 1 giorno
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
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.
- Lingua principale
- TypeScript
- Stelle
- 13
- Fork
- 22
- Merge medio
- 2g 4h
- PR unite (30g)
- 13
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di IntersectMBO/developer-experience
-
Site asks for Poppins but only loads InterForse già presa @IanoNjuguna l’ha presa 1 giorno fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
IntersectMBO/developer-experience#325 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Canonical URL is the homepage on every pageForse già presa @IanoNjuguna l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
IntersectMBO/developer-experience#324 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Home feature cards still show link underlinesForse già presa @IanoNjuguna l’ha presa oggi. Apertabug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
IntersectMBO/developer-experience#323 · 1 commento · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 3/5 1-2 giorni Idoneità per principianti 70/100
IntersectMBO/developer-experience#302 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
IntersectMBO/developer-experience#301 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di IntersectMBO/developer-experience
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
wormhole-foundation/wormhole#5062 ·
I maintainer di solito rispondono entro 1 giorno
-
internal os specific
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
frostney/GocciaScript#1688 ·
I maintainer di solito rispondono entro 1 giorno
-
integration:hermes
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
vectorize-io/hindsight#5592 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
vercel/streamdown#673 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
apache/rocketmq-dashboard#6712 ·
I maintainer di solito rispondono entro 3 giorni