diff --git a/src/auth/utils.ts b/src/auth/utils.ts index 45987042c..a870a49fa 100644 --- a/src/auth/utils.ts +++ b/src/auth/utils.ts @@ -18,9 +18,9 @@ export const displayDemoMessage = ( const getNetworkErrors = (error: ApolloError): string[] => { const networkErrors = error.networkError as ServerError; - if (networkErrors) { // Apparently network errors can be an object or an array + if (Array.isArray(networkErrors.result)) { networkErrors.result.forEach(result => { if (result.errors) { @@ -29,6 +29,10 @@ const getNetworkErrors = (error: ApolloError): string[] => { }); } + if (networkErrors.result?.errors) { + return networkErrors.result.errors.map(({ message }) => message); + } + return [networkErrors.message]; } diff --git a/src/hooks/makeMutation.ts b/src/hooks/makeMutation.ts index 11be2927c..880be8790 100644 --- a/src/hooks/makeMutation.ts +++ b/src/hooks/makeMutation.ts @@ -66,7 +66,7 @@ export function useMutation( }, onError: (err: ApolloError) => { if (!disableErrorHandling) { - if (err.graphQLErrors) { + if (err?.graphQLErrors.length > 0) { if (hasError(err, GqlErrors.ReadOnlyException)) { notify({ status: "error",