Community metrics can silently go stale: updatedAt is never rendered and a failed fetch keeps old numbers
Les mainteneurs répondent en général sous 1 jour
Évaluation
Cette issue n'a pas encore été évaluée.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 13
- Forks
- 22
- Merge moyen
- 2 j 13 h
- PR mergées (30 j)
- 11
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de IntersectMBO/developer-experience
-
Site asks for Poppins but only loads InterPeut-être pris @IanoNjuguna l’a pris il y a 2 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
IntersectMBO/developer-experience#325 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Canonical URL is the homepage on every pagePeut-être pris @IanoNjuguna l’a pris il y a 1 jour. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
IntersectMBO/developer-experience#324 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Home feature cards still show link underlinesPeut-être pris @IanoNjuguna l’a pris il y a 1 jour. Ouvertebug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
IntersectMBO/developer-experience#323 · 1 commentaire · 1 réaction · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue stale
Difficulté 3/5 1-2 jours Accessibilité débutants 70/100
IntersectMBO/developer-experience#302 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
stale
Difficulté 4/5 3-5 jours Accessibilité débutants 58/100
IntersectMBO/developer-experience#301 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de IntersectMBO/developer-experience
Issues similaires
-
Add: Yemen Education SDOuvertestreams:add
Difficulté 2/5 Moins d'une heure Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
apache/rocketmq-dashboard#6872 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
interledger/publisher-tools#931 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
ARTPARK-SAHAI-ORG/calibrate-frontend#727 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
fab-geocommuns/RNB-site#539 ·
Les mainteneurs répondent en général sous 2 jours