This is an automated email from the ASF dual-hosted git repository.

michaelsmolina pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 4581b46098aec2461dd90675bc1e0dedcb2d5439
Author: JUST.in DO IT <[email protected]>
AuthorDate: Tue Apr 2 09:20:43 2024 -0700

    fix(dashboard): missing null check in error extra (#27845)
    
    (cherry picked from commit f25795c4e49cd5c2876da8e0693d6c1511fbcc77)
---
 .../src/components/ErrorMessage/DatabaseErrorMessage.test.tsx    | 9 ++++++++-
 .../src/components/ErrorMessage/DatabaseErrorMessage.tsx         | 4 ++--
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git 
a/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.test.tsx 
b/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.test.tsx
index c8dbe8ba34..e8f040c0db 100644
--- 
a/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.test.tsx
+++ 
b/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.test.tsx
@@ -55,7 +55,14 @@ const mockedProps = {
 };
 
 test('should render', () => {
-  const { container } = render(<DatabaseErrorMessage {...mockedProps} />);
+  const nullExtraProps = {
+    ...mockedProps,
+    error: {
+      ...mockedProps.error,
+      extra: null,
+    },
+  };
+  const { container } = render(<DatabaseErrorMessage {...nullExtraProps} />);
   expect(container).toBeInTheDocument();
 });
 
diff --git 
a/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.tsx 
b/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.tsx
index a7a0a4199f..bf2d013fd0 100644
--- a/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.tsx
+++ b/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.tsx
@@ -36,7 +36,7 @@ function DatabaseErrorMessage({
   error,
   source = 'dashboard',
   subtitle,
-}: ErrorMessageComponentProps<DatabaseErrorExtra>) {
+}: ErrorMessageComponentProps<DatabaseErrorExtra | null>) {
   const { extra, level, message } = error;
 
   const isVisualization = ['dashboard', 'explore'].includes(source);
@@ -47,7 +47,7 @@ function DatabaseErrorMessage({
         {t('This may be triggered by:')}
         <br />
         {extra.issue_codes
-          .map<React.ReactNode>(issueCode => (
+          ?.map<React.ReactNode>(issueCode => (
             <IssueCode {...issueCode} key={issueCode.code} />
           ))
           .reduce((prev, curr) => [prev, <br />, curr])}

Reply via email to