diff options
author | 2022-07-20 22:50:31 +0700 | |
---|---|---|
committer | 2022-07-20 22:50:31 +0700 | |
commit | f99f34c56f4e73db04816668a375a319d0859b4f (patch) | |
tree | 13c8a23f105df2daf7125db697c2a3cf3042611c /source/github-helpers/api.ts | |
parent | 9a960a597a1b2e50e7361bd01c39563e068ad855 (diff) | |
download | refined-github-f99f34c56f4e73db04816668a375a319d0859b4f.tar.gz refined-github-f99f34c56f4e73db04816668a375a319d0859b4f.tar.zst refined-github-f99f34c56f4e73db04816668a375a319d0859b4f.zip |
Fix feature cache across ajaxed page loads (#5841)22.7.20
Diffstat (limited to 'source/github-helpers/api.ts')
-rw-r--r-- | source/github-helpers/api.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/github-helpers/api.ts b/source/github-helpers/api.ts index 13f56f58..4bc0e249 100644 --- a/source/github-helpers/api.ts +++ b/source/github-helpers/api.ts @@ -207,7 +207,17 @@ export const v4 = mem(async ( throw await getError(apiResponse as JsonObject); }, { - cacheKey: JSON.stringify, + cacheKey([query, options]) { + // `repository()` uses global state and must be handled explicitly + // https://github.com/refined-github/refined-github/issues/5821 + // https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1864 + const key = [query, options]; + if (query.includes('repository() {')) { + key.push(getRepo()?.nameWithOwner); + } + + return JSON.stringify(key); + }, }); export async function getError(apiResponse: JsonObject): Promise<RefinedGitHubAPIError> { |