Skip to content

fix(dashboard): surface size, limit, and config key in oversized dashboard error#41532

Merged
rusackas merged 2 commits into
masterfrom
fix/dashboard-position-limit-message
Jun 30, 2026
Merged

fix(dashboard): surface size, limit, and config key in oversized dashboard error#41532
rusackas merged 2 commits into
masterfrom
fix/dashboard-position-limit-message

Conversation

@rusackas

@rusackas rusackas commented Jun 29, 2026

Copy link
Copy Markdown
Member

SUMMARY

When a dashboard's serialized layout exceeds SUPERSET_DASHBOARD_POSITION_DATA_LIMIT (default 65535 bytes), saving layout edits is blocked in the UI with a generic toast:

Your dashboard is too large. Please reduce its size before saving it.

This gives the user no indication of how large the layout is, what the limit is, or how to change it — leading to lengthy debugging (see #41528, where a programmatically-imported 120-chart dashboard hit the wall after importing fine).

This PR:

  1. Improves the error message to include the actual layout size, the configured limit, and the name of the config setting to raise — the values are already in scope at the check site (positionJSONLength and limit), so this is a small, self-contained change:

    Your dashboard is too large to save: the layout is 74,960 bytes but the limit is 65,535 bytes. Reduce the dashboard size (for example, split it into multiple dashboards) or raise the SUPERSET_DASHBOARD_POSITION_DATA_LIMIT config setting.

  2. Documents SUPERSET_DASHBOARD_POSITION_DATA_LIMIT in the configuration reference — it was previously undocumented. The note covers the default, the historical MySQL TEXT rationale, when/how to raise it, and the fact that an imported oversized dashboard renders but can't be re-saved until the limit is raised.

The reporter (@Hamidcha-Mosaab) offered to take the error-message change; this folds it together with the docs gap they also identified, and credit goes to them for the thorough write-up.

BEFORE/AFTER

Before: Your dashboard is too large. Please reduce its size before saving it.

After: Your dashboard is too large to save: the layout is 74,960 bytes but the limit is 65,535 bytes. Reduce the dashboard size (for example, split it into multiple dashboards) or raise the SUPERSET_DASHBOARD_POSITION_DATA_LIMIT config setting.

TESTING INSTRUCTIONS

  1. Set a small SUPERSET_DASHBOARD_POSITION_DATA_LIMIT (e.g. 1) in superset_config.py, or build a dashboard whose layout exceeds the default.
  2. Open the dashboard in Edit mode, move/resize a chart, and click Save.
  3. The error toast now reports the actual size, the limit, and the config key.

Unit test added in Header.test.tsx covering the oversized-layout path (blocks save, surfaces size/limit/config key).

ADDITIONAL INFORMATION

🤖 Generated with Claude Code

…board error

When a dashboard's layout JSON exceeds SUPERSET_DASHBOARD_POSITION_DATA_LIMIT,
the save was blocked with a generic "Your dashboard is too large" toast that
gave no indication of the actual size, the configured limit, or how to raise
it. The values are already in scope at the check site, so include them along
with the config key name and a hint to split the dashboard.

Also document SUPERSET_DASHBOARD_POSITION_DATA_LIMIT in the configuration
reference (default, MySQL TEXT rationale, and how/when to raise it), which was
previously undocumented.

Reported via #41528.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dosubot dosubot Bot added change:frontend Requires changing the frontend dashboard:error Related to Dashboard errors doc Namespace | Anything related to documentation labels Jun 29, 2026
@netlify

netlify Bot commented Jun 29, 2026

Copy link
Copy Markdown

Deploy Preview for superset-docs-preview ready!

Name Link
🔨 Latest commit 66f2c66
🔍 Latest deploy log https://app.netlify.com/projects/superset-docs-preview/deploys/6a42bc170b79cf00085826bd
😎 Deploy Preview https://deploy-preview-41532--superset-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@bito-code-review bito-code-review Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Agent Run #cbd68a

Actionable Suggestions - 1
  • docs/admin_docs/configuration/configuring-superset.mdx - 1
Review Details
  • Files reviewed - 3 · Commit Range: 4d7803a..4d7803a
    • docs/admin_docs/configuration/configuring-superset.mdx
    • superset-frontend/src/dashboard/components/Header/Header.test.tsx
    • superset-frontend/src/dashboard/components/Header/index.tsx
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

Comment thread docs/admin_docs/configuration/configuring-superset.mdx Outdated
@sadpandajoe sadpandajoe added the review:checkpoint Last PR reviewed during the daily review standup label Jun 29, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Comment thread superset-frontend/src/dashboard/components/Header/index.tsx Outdated
…ength

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bito-code-review

bito-code-review Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Code Review Agent Run #467ddd

Actionable Suggestions - 0
Review Details
  • Files reviewed - 3 · Commit Range: 4d7803a..66f2c66
    • docs/admin_docs/configuration/configuring-superset.mdx
    • superset-frontend/src/dashboard/components/Header/Header.test.tsx
    • superset-frontend/src/dashboard/components/Header/index.tsx
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@sadpandajoe sadpandajoe removed the review:checkpoint Last PR reviewed during the daily review standup label Jun 30, 2026
@rusackas rusackas merged commit 2a1f632 into master Jun 30, 2026
66 checks passed
@rusackas rusackas deleted the fix/dashboard-position-limit-message branch June 30, 2026 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

change:frontend Requires changing the frontend dashboard:error Related to Dashboard errors doc Namespace | Anything related to documentation preset-io size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unhelpful "Your dashboard is too large" error when editing a programmatically-generated dashboard exceeding DASHBOARD_POSITION_DATA_LIMIT

3 participants