You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jl...@apache.org on 2026/09/30 22:36:35 UTC

(superset) branch fix/refresh-interval-warning created (now 22c0aa2f43f)

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

sadpandajoe pushed a change to branch fix/refresh-interval-warning
in repository https://gitbox.apache.org/repos/asf/superset.git


      at 22c0aa2f43f fix(dashboard): show the configured refresh warning alongside the limit error

This branch includes the following new commits:

     new 22c0aa2f43f fix(dashboard): show the configured refresh warning alongside the limit error

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(superset) 01/01: fix(dashboard): show the configured refresh warning alongside the limit error

Posted by jl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sadpandajoe pushed a commit to branch fix/refresh-interval-warning
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 22c0aa2f43fb82c1bac285d94f303e554b177c5a
Author: Joe Li <jo...@preset.io>
AuthorDate: Wed Sep 30 15:36:04 2026 -0700

    fix(dashboard): show the configured refresh warning alongside the limit error
    
    RefreshIntervalModal suppressed the configured refresh warning whenever a
    refresh-limit error was showing, but the warning is only produced under the
    same condition as the error (0 < frequency < limit), so it could never render.
    Render the warning independently of the error.
    
    Co-Authored-By: Claude Sonnet 5.5 <no...@anthropic.com>
---
 .../components/RefreshIntervalModal.test.tsx       | 37 ++++++++++++++++++++++
 .../dashboard/components/RefreshIntervalModal.tsx  |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/superset-frontend/src/dashboard/components/RefreshIntervalModal.test.tsx b/superset-frontend/src/dashboard/components/RefreshIntervalModal.test.tsx
index 54423d55777..4ddb72f6eee 100644
--- a/superset-frontend/src/dashboard/components/RefreshIntervalModal.test.tsx
+++ b/superset-frontend/src/dashboard/components/RefreshIntervalModal.test.tsx
@@ -86,6 +86,43 @@ test('an interval below the configured limit blocks save with an error', async (
   expect(defaultProps.onChange).not.toHaveBeenCalled();
 });
 
+test('an interval below the limit shows the configured warning alongside the error', async () => {
+  setup(
+    {},
+    {
+      SUPERSET_DASHBOARD_PERIODICAL_REFRESH_LIMIT: 60,
+      SUPERSET_DASHBOARD_PERIODICAL_REFRESH_WARNING_MESSAGE:
+        'Frequent refreshes put load on the database',
+    },
+  );
+
+  await userEvent.click(screen.getByRole('radio', { name: '10 seconds' }));
+
+  expect(
+    screen.getByText('Refresh frequency must be at least 60 seconds'),
+  ).toBeInTheDocument();
+  expect(
+    screen.getByText('Frequent refreshes put load on the database'),
+  ).toBeInTheDocument();
+});
+
+test('the configured warning is hidden when the interval meets the limit', async () => {
+  setup(
+    {},
+    {
+      SUPERSET_DASHBOARD_PERIODICAL_REFRESH_LIMIT: 60,
+      SUPERSET_DASHBOARD_PERIODICAL_REFRESH_WARNING_MESSAGE:
+        'Frequent refreshes put load on the database',
+    },
+  );
+
+  await userEvent.click(screen.getByRole('radio', { name: '5 minutes' }));
+
+  expect(
+    screen.queryByText('Frequent refreshes put load on the database'),
+  ).not.toBeInTheDocument();
+});
+
 test('an interval at or above the configured limit does not block save', async () => {
   setup({}, { SUPERSET_DASHBOARD_PERIODICAL_REFRESH_LIMIT: 60 });
 
diff --git a/superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx b/superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx
index a4ec52d7313..47f926946f8 100644
--- a/superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx
+++ b/superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx
@@ -130,7 +130,7 @@ const RefreshIntervalModal = ({
                 ? t('Set the automatic refresh frequency for this dashboard.')
                 : t('Set refresh frequency for current session only.'))
             }
-            extra={refreshErrors[0] ? null : refreshWarningMessage}
+            extra={refreshWarningMessage}
             validateStatus={refreshErrors.length ? 'error' : undefined}
           >
             <RefreshFrequencySelect