AOSSIE-Org / AOSSIE-Org/OrgExplorer

[BUG]: Cache key ignores auth state, causing stale contributor data after adding PAT

Abierto Apto para principiantes
#228 2 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
JavaScript
Estrellas
34
Forks
92
Merge medio
8 d 7 h
PR fusionados (30 d)
12

Descripción

### Bug Description

`fetchWithCache()` in `src/services/github.js` caches responses using only the URL as key, ignoring `pat`. Since `fetchContributors` uses `maxPages = pat ? 10 : 1`, page=1 has the same URL whether authenticated or not. Once page=1 is cached without a PAT, adding a PAT later silently returns the old cached page=1 instead of re-fetching with auth. Affects `fetchOrg`, `fetchRepos`, `fetchContributors`, `fetchIssues`, `fetchPulls`.

### Steps to Reproduce

1. Without a PAT, explore an org (e.g. AOSSIE-Org) — caches page=1 contributors for each repo.
2. Add a PAT in Settings, Save.
3. Explore the same org again.
4. In DevTools → Network, filter by a repo already explored in step 1 (e.g. "Website").
5. page=1 shows no new request (served from cache); only page=2, page=3... appear as fresh requests.

### Logs and Screenshots

async function fetchWithCache(url, pat) {
const cached = await cacheGet(url) // <-- pat ignored here
if (cached) return cached
...
const data = await res.json()
cacheSet(url, data) // <-- pat ignored here too
return data
}

### Environment Details

_No response_

### Impact

Critical - Application is unusable

### Code of Conduct

- [x] I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and will post updates there
- [x] I have searched existing issues to avoid duplicates

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start in src/services/github.js at fetchWithCache(), then trace its use from fetchOrg, fetchRepos, fetchContributors, fetchIssues, and fetchPulls. Reproduce the unauthenticated-then-authenticated sequence described in the issue and inspect cacheGet/cacheSet behavior. Done means page=1 is fetched again after a PAT is added instead of being served from the unauthenticated cache.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github, javascript
Área
api, backend
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Activo
Claridad
Bien especificado
Aptitud para principiantes
84/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.