diff --git a/src/lib/requests/RequestManager.ts b/src/lib/requests/RequestManager.ts index 53164ffa..034221a7 100644 --- a/src/lib/requests/RequestManager.ts +++ b/src/lib/requests/RequestManager.ts @@ -1446,7 +1446,32 @@ export class RequestManager { GQLMethod.USE_MUTATION, GET_EXTENSIONS_FETCH, {}, - { refetchQueries: [GET_EXTENSIONS], ...options }, + { + ...options, + update(cache, { data: mutationData }) { + if (!mutationData?.fetchExtensions?.extensions) { + return; + } + + cache.writeQuery({ + query: GET_EXTENSIONS, + data: { + extensions: { + __typename: 'ExtensionNodeList', + nodes: mutationData.fetchExtensions.extensions, + pageInfo: { + __typename: 'PageInfo', + hasNextPage: false, + hasPreviousPage: false, + startCursor: null, + endCursor: null, + }, + totalCount: mutationData.fetchExtensions.extensions.length, + }, + }, + }); + }, + }, ); const [, setUpdatedCache] = useState({});