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
- Without a PAT, explore an org (e.g. AOSSIE-Org) — caches page=1 contributors for each repo.
- Add a PAT in Settings, Save.
- Explore the same org again.
- In DevTools → Network, filter by a repo already explored in step 1 (e.g. "Website").
- 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
Bug Description
fetchWithCache()insrc/services/github.jscaches responses using only the URL as key, ignoringpat. SincefetchContributorsusesmaxPages = 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. AffectsfetchOrg,fetchRepos,fetchContributors,fetchIssues,fetchPulls.Steps to Reproduce
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