From b0ba5cc2ab52d1a5677b96d4a59d023000195b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dro=C5=84?= Date: Wed, 7 Dec 2022 11:00:42 +0100 Subject: [PATCH] Enable use unknown in catch variables (#2784) * Enable use unknown in catch variables rule * Add type guards in useAuthProvider * Add type cast in FilterErrorsList * Handle error in tasks --- src/auth/hooks/useAuthProvider.ts | 12 ++++++++++-- .../Filter/FilterContent/FilterErrorsList.tsx | 2 +- src/containers/BackgroundTasks/tasks.ts | 6 +++++- tsconfig.json | 1 + 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/auth/hooks/useAuthProvider.ts b/src/auth/hooks/useAuthProvider.ts index e7db7bac0..0427415cb 100644 --- a/src/auth/hooks/useAuthProvider.ts +++ b/src/auth/hooks/useAuthProvider.ts @@ -157,7 +157,11 @@ export function useAuthProvider({ return result.data.tokenCreate; } catch (error) { - handleLoginError(error); + if (error instanceof ApolloError) { + handleLoginError(error); + } else { + setErrors(["unknownLoginError"]); + } } }; @@ -195,7 +199,11 @@ export function useAuthProvider({ return result?.data?.externalObtainAccessTokens; } catch (error) { - handleLoginError(error); + if (error instanceof ApolloError) { + handleLoginError(error); + } else { + setErrors(["unknownLoginError"]); + } } }; diff --git a/src/components/Filter/FilterContent/FilterErrorsList.tsx b/src/components/Filter/FilterContent/FilterErrorsList.tsx index c3eea80e1..f339abe2b 100644 --- a/src/components/Filter/FilterContent/FilterErrorsList.tsx +++ b/src/components/Filter/FilterContent/FilterErrorsList.tsx @@ -55,7 +55,7 @@ const FilterErrorsList: React.FC = ({ { dependencies: dependencies?.join() }, ); } catch (e) { - errorTracker.captureException(e); + errorTracker.captureException(e as Error); console.warn("Translation missing for filter error code: ", code); return intl.formatMessage(validationMessages.UNKNOWN_ERROR); } diff --git a/src/containers/BackgroundTasks/tasks.ts b/src/containers/BackgroundTasks/tasks.ts index a8ba656dd..2a1daae79 100644 --- a/src/containers/BackgroundTasks/tasks.ts +++ b/src/containers/BackgroundTasks/tasks.ts @@ -37,7 +37,11 @@ export async function handleTask(task: QueuedTask): Promise { }); } } catch (error) { - task.onError(error); + if (error instanceof Error) { + task.onError(error); + } else { + console.error("Unknown error", error); + } } return status; diff --git a/tsconfig.json b/tsconfig.json index c7d754f90..edefe6f39 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,6 +15,7 @@ "noImplicitThis": true, "alwaysStrict": true, "strictBindCallApply": true, + "useUnknownInCatchVariables": true, "paths": { "@assets/*": ["assets/*"], "@locale/*": ["locale/*"],