From 4f12c3fbf47c0b13dfd13990536487a8f84ce446 Mon Sep 17 00:00:00 2001 From: Harman-singh-waraich Date: Wed, 29 Jan 2025 19:13:17 +0530 Subject: [PATCH 1/2] fix(Web): separate-batchers --- web/src/context/GraphqlBatcher.tsx | 35 +++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/web/src/context/GraphqlBatcher.tsx b/web/src/context/GraphqlBatcher.tsx index 23ffdb1b4..4bd26402a 100644 --- a/web/src/context/GraphqlBatcher.tsx +++ b/web/src/context/GraphqlBatcher.tsx @@ -22,11 +22,11 @@ interface IQuery { const Context = createContext(undefined); -const executor: AsyncExecutor = async ({ document, variables, extensions }) => { +const coreExecutor: AsyncExecutor = async ({ document, variables }) => { try { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore - const result = request(extensions.url, document, variables).then((res) => ({ + const result = request(getGraphqlUrl(false), document, variables).then((res) => ({ data: res, })) as Promise; @@ -38,12 +38,37 @@ const executor: AsyncExecutor = async ({ document, variables, extensions }) => { } }; -const batchExec = createBatchingExecutor(executor); +const dtrExecutor: AsyncExecutor = async ({ document, variables }) => { + try { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + //@ts-ignore + const result = request(getGraphqlUrl(true), document, variables).then((res) => ({ + data: res, + })) as Promise; + + return result; + } catch (error) { + console.error("Graph error: ", { error }); + debounceErrorToast("Graph query error: failed to fetch data."); + return { data: {} }; + } +}; + +const coreBatchExec = createBatchingExecutor(coreExecutor); +const dtrBatchExec = createBatchingExecutor(dtrExecutor); const fetcher = async (queries: IQuery[]) => { const batchdata = await Promise.all( - queries.map(({ document, variables, isDisputeTemplate, chainId }) => - batchExec({ document, variables, extensions: { url: getGraphqlUrl(isDisputeTemplate ?? false, chainId) } }) + queries.map(({ document, variables, isDisputeTemplate }) => + isDisputeTemplate + ? dtrBatchExec({ + document, + variables, + }) + : coreBatchExec({ + document, + variables, + }) ) ); From 9616df890ca71f88d571267828822ec9cceb9bd2 Mon Sep 17 00:00:00 2001 From: Harman-singh-waraich Date: Wed, 29 Jan 2025 19:24:36 +0530 Subject: [PATCH 2/2] refactor(web): abstract-fetch-logic --- web/src/context/GraphqlBatcher.tsx | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/web/src/context/GraphqlBatcher.tsx b/web/src/context/GraphqlBatcher.tsx index 4bd26402a..30917edaf 100644 --- a/web/src/context/GraphqlBatcher.tsx +++ b/web/src/context/GraphqlBatcher.tsx @@ -22,11 +22,11 @@ interface IQuery { const Context = createContext(undefined); -const coreExecutor: AsyncExecutor = async ({ document, variables }) => { +const fetch = async (url, document, variables) => { try { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore - const result = request(getGraphqlUrl(false), document, variables).then((res) => ({ + const result = request(url, document, variables).then((res) => ({ data: res, })) as Promise; @@ -38,20 +38,12 @@ const coreExecutor: AsyncExecutor = async ({ document, variables }) => { } }; -const dtrExecutor: AsyncExecutor = async ({ document, variables }) => { - try { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - //@ts-ignore - const result = request(getGraphqlUrl(true), document, variables).then((res) => ({ - data: res, - })) as Promise; +const coreExecutor: AsyncExecutor = async ({ document, variables }) => { + return fetch(getGraphqlUrl(false), document, variables); +}; - return result; - } catch (error) { - console.error("Graph error: ", { error }); - debounceErrorToast("Graph query error: failed to fetch data."); - return { data: {} }; - } +const dtrExecutor: AsyncExecutor = async ({ document, variables }) => { + return fetch(getGraphqlUrl(true), document, variables); }; const coreBatchExec = createBatchingExecutor(coreExecutor);