kat/add-apollo-timeout (#128)

Reviewed-on: railbird/railbird-mobile#128
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
This commit is contained in:
Kat Huang 2024-02-20 20:07:05 -07:00
parent d400434e89
commit edff79abb6
3 changed files with 12 additions and 4 deletions

View File

@ -33,6 +33,7 @@
"@types/react": "~18.2.14",
"@typescript-eslint/eslint-plugin": "^6.17.0",
"@typescript-eslint/parser": "^6.17.0",
"apollo-link-timeout": "^4.0.0",
"babel-plugin-inline-dotenv": "^1.7.0",
"backoff": "^2.5.0",
"d3-path": "^3.1.0",

View File

@ -7,6 +7,8 @@ import {
from,
} from "@apollo/client";
import ApolloLinkTimeout from "apollo-link-timeout";
import React, {
ReactNode,
createContext,
@ -61,15 +63,15 @@ export const ClientProvider: React.FC<Props> = ({ children }) => {
return forward(operation);
});
// We use useMemo to avoid recreating the client on every render
var timeoutLink = new ApolloLinkTimeout(4000);
const client = useMemo(
() =>
new ApolloClient({
// Chain the middleware with the httpLink
link: from([authMiddleware, httpLink]),
link: from([authMiddleware, timeoutLink]).concat(httpLink),
cache: new InMemoryCache(),
}),
[authHeader],
[authHeader], // Assuming authHeader is used within authMiddleware
);
return (

View File

@ -3989,6 +3989,11 @@ anymatch@^3.0.3:
normalize-path "^3.0.0"
picomatch "^2.0.4"
apollo-link-timeout@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/apollo-link-timeout/-/apollo-link-timeout-4.0.0.tgz#3e255bcced6a6babdcc080b1919dd958c036e235"
integrity sha512-2tZsNvmbsAHunWSsGi+URLMQSDoSU0NRDJeYicX/eB7J94QXydgvZOG4FCsgU5hY0dhUrPrLCotcpJjvOOfSlA==
appdirsjs@^1.2.4:
version "1.2.7"
resolved "https://registry.yarnpkg.com/appdirsjs/-/appdirsjs-1.2.7.tgz#50b4b7948a26ba6090d4aede2ae2dc2b051be3b3"