Skip to content

feat: added email delivery of XLSX reports#40885

Open
innovark37 wants to merge 10 commits into
apache:masterfrom
innovark37:innovark/feat/xlsx-report
Open

feat: added email delivery of XLSX reports#40885
innovark37 wants to merge 10 commits into
apache:masterfrom
innovark37:innovark/feat/xlsx-report

Conversation

@innovark37

Copy link
Copy Markdown
Contributor

SUMMARY

Adds XLSX as an output format for chart-based email reports.

This change:

  • Adds XLSX options to the chart report and Alerts & Reports modals.
  • Generates XLSX files using post-processed chart data.
  • Preserves the configured Excel export and index behavior.
  • Attaches regular exports as .xlsx files.
  • Attaches server-paginated, multi-file exports as .zip archives.
  • Sets the appropriate MIME types for XLSX and ZIP attachments.
  • Adds backend and frontend unit test coverage.
  • Updates the Alerts & Reports documentation.

Dashboard reports remain limited to PDF and PNG formats.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Before

XLSX was not available as an email report format.

After

Chart reports can be delivered as XLSX email attachments.

TESTING INSTRUCTIONS

  1. Enable the ALERT_REPORTS feature flag and configure email reports.
  2. Open a chart and select Schedule email report.
  3. Select Excel (XLSX) attached in email as the report format.
  4. Create the report and trigger its execution.
  5. Verify that the email contains an .xlsx attachment that opens successfully.
  6. Verify that the exported data reflects the chart's post-processing.
  7. Repeat with a server-paginated chart and verify that the email contains a .zip archive with XLSX files.
  8. Open Settings > Alerts & Reports and verify that XLSX is available for chart reports but not dashboard reports.
  9. Verify that the screenshot width field is not displayed when XLSX is selected.

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags: ALERT_REPORTS
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API

@dosubot dosubot Bot added alert-reports Namespace | Anything related to the Alert & Reports feature change:backend Requires changing the backend change:frontend Requires changing the frontend viz:charts:export Related to exporting charts labels Jun 9, 2026
@github-actions github-actions Bot added i18n Namespace | Anything related to localization i18n:russian Translation related to Russian language doc Namespace | Anything related to documentation labels Jun 9, 2026
@netlify

netlify Bot commented Jun 9, 2026

Copy link
Copy Markdown

Deploy Preview for superset-docs-preview ready!

Name Link
🔨 Latest commit 5e8cc55
🔍 Latest deploy log https://app.netlify.com/projects/superset-docs-preview/deploys/6a27bd8f81361200087cd3e3
😎 Deploy Preview https://deploy-preview-40885--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.

# Conflicts:
#	tests/unit_tests/charts/test_client_processing.py

@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 #077cf0

Actionable Suggestions - 1
  • superset/commands/report/execute.py - 1
Additional Suggestions - 3
  • tests/unit_tests/utils/test_core.py - 1
    • Missing test coverage for PDF attachments · Line 72-91
      The test covers `.xlsx` and `.zip` but misses `.pdf` extension, which is defined in `EMAIL_ATTACHMENT_SUBTYPES` (line 126 in `superset/utils/core.py`). This gap means potential regressions in PDF email attachments would go undetected. Additionally, consider testing the fallback behavior for unsupported extensions like `.txt` to verify it correctly defaults to `application/octet-stream`.
  • superset/commands/report/execute.py - 2
    • Inconsistent timeout logging · Line 573-574
      The XLSX timeout handler at line 573-574 does not log elapsed_seconds before raising ReportScheduleXlsxTimeout, unlike _get_csv_data (line 549), _get_screenshots (line 481), and _get_embedded_data (line 612) which all log timing before their respective timeout exceptions. This inconsistency reduces debuggability for XLSX timeout incidents.
      Code suggestion
      --- a/superset/commands/report/execute.py
      +++ b/superset/commands/report/execute.py
       @@ -570,6 +570,11 @@ class BaseReportState:
       
            def _get_xlsx_data(self) -> bytes:
                start_time = datetime.utcnow()
                try:
                    xlsx_data = self._get_chart_data(ChartDataResultFormat.XLSX)
                except SoftTimeLimitExceeded as ex:
      +            elapsed_seconds = (datetime.utcnow() - start_time).total_seconds()
      +            logger.warning(
      +                "XLSX generation timeout after %.2fs - execution_id: %s",
      +                elapsed_seconds,
      +                self._execution_id,
      +            )
                    raise ReportScheduleXlsxTimeout() from ex
                except Exception as ex:
                    raise ReportScheduleXlsxFailedError(
    • Inconsistent error logging · Line 575-578
      The XLSX error handler at line 575-578 raises ReportScheduleXlsxFailedError without calling logger.exception, unlike _get_csv_data (line 558) and _get_screenshots (line 489) which both log the full exception trace before raising their respective errors. This inconsistency may cause XLSX error details to be lost in logs.
      Code suggestion
      --- a/superset/commands/report/execute.py
      +++ b/superset/commands/report/execute.py
       @@ -572,6 +572,11 @@ class BaseReportState:
                    xlsx_data = self._get_chart_data(ChartDataResultFormat.XLSX)
                except SoftTimeLimitExceeded as ex:
                    raise ReportScheduleXlsxTimeout() from ex
                except Exception as ex:
      +            elapsed_seconds = (datetime.utcnow() - start_time).total_seconds()
      +            logger.exception(
      +                "XLSX generation failed after %.2fs - execution_id: %s",
      +                elapsed_seconds,
      +                self._execution_id,
      +            )
                    raise ReportScheduleXlsxFailedError(
                        f"Failed generating xlsx {str(ex)}"
                    ) from ex
Review Details
  • Files reviewed - 19 · Commit Range: a3acdce..a3acdce
    • docs/admin_docs/configuration/alerts-reports.mdx
    • docs/user_docs_versioned_docs/version-6.0.0/configuration/alerts-reports.mdx
    • superset-frontend/src/features/alerts/AlertReportModal.test.tsx
    • superset-frontend/src/features/alerts/AlertReportModal.tsx
    • superset-frontend/src/features/reports/ReportModal/ReportModal.test.tsx
    • superset-frontend/src/features/reports/ReportModal/index.tsx
    • superset-frontend/src/features/reports/types.ts
    • superset/charts/client_processing.py
    • superset/commands/report/exceptions.py
    • superset/commands/report/execute.py
    • superset/reports/models.py
    • superset/reports/notifications/base.py
    • superset/reports/notifications/email.py
    • superset/translations/ru/LC_MESSAGES/messages.po
    • superset/utils/core.py
    • tests/unit_tests/charts/test_client_processing.py
    • tests/unit_tests/commands/report/execute_test.py
    • tests/unit_tests/reports/notifications/email_tests.py
    • tests/unit_tests/utils/test_core.py
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • Eslint (Linter) - ✔︎ Successful
    • MyPy (Static Code Analysis) - ✔︎ Successful
    • Astral Ruff (Static Code Analysis) - ✔︎ 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 superset/commands/report/execute.py
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

⚠️ Translation Regression Detected

A source change in this PR renamed or reworded strings, invalidating existing translations (they are now #, fuzzy) in ar, ca, cs, de, fi, fr, it, ja, ko, lv, mi, nl, pt, sk, sl, th, tr, uk. Please resolve the affected .po files before merging.

Note: intentionally deleting a translatable string is not a regression and is not flagged here — only translations invalidated by a renamed/reworded source string are.

Language Fuzzy before Fuzzy after New
ar 1136 1141 +5
ca 815 820 +5
cs 787 792 +5
de 997 1002 +5
fi 4823 4828 +5
fr 1014 1019 +5
it 1667 1669 +2
ja 322 327 +5
ko 1521 1522 +1
lv 295 300 +5
mi 807 812 +5
nl 1143 1148 +5
pt 1839 1841 +2
sk 774 779 +5
sl 963 968 +5
th 4823 4828 +5
tr 786 788 +2
uk 293 298 +5

How to fix

1. Install dependencies (if not already set up):

pip install -r superset/translations/requirements.txt
sudo apt-get install gettext   # or: brew install gettext

2. Re-extract strings and sync .po files:

./scripts/translations/babel_update.sh

This rewrites superset/translations/messages.pot from the current source files and merges the changes into every .po file. Strings whose msgid changed will be marked #, fuzzy.

3. Resolve the fuzzy entries in the affected language files (ar, ca, cs, de, fi, fr, it, ja, ko, lv, mi, nl, pt, sk, sl, th, tr, uk):

grep -n '#, fuzzy' superset/translations/<lang>/LC_MESSAGES/messages.po

For each fuzzy entry, either rewrite the msgstr to match the new string and remove the #, fuzzy line, or clear the msgstr to "" if you cannot provide a translation.

4. Commit your changes to the .po files.

@codecov

codecov Bot commented Jun 9, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 50.00000% with 38 lines in your changes missing coverage. Please review.
✅ Project coverage is 64.12%. Comparing base (c58408d) to head (83d22a1).
⚠️ Report is 4 commits behind head on master.

Files with missing lines Patch % Lines
superset/commands/report/execute.py 37.50% 18 Missing and 2 partials ⚠️
superset/reports/notifications/email.py 38.88% 10 Missing and 1 partial ⚠️
superset/charts/client_processing.py 25.00% 6 Missing ⚠️
superset/utils/core.py 88.88% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master   #40885      +/-   ##
==========================================
- Coverage   64.13%   64.12%   -0.02%     
==========================================
  Files        2653     2653              
  Lines      143569   143643      +74     
  Branches    33126    33135       +9     
==========================================
+ Hits        92084    92110      +26     
- Misses      49873    49915      +42     
- Partials     1612     1618       +6     
Flag Coverage Δ
hive 39.49% <25.67%> (-0.02%) ⬇️
javascript 67.87% <100.00%> (-0.01%) ⬇️
mysql 58.23% <48.64%> (-0.02%) ⬇️
postgres 58.30% <48.64%> (-0.03%) ⬇️
presto 41.09% <25.67%> (-0.02%) ⬇️
python 59.77% <48.64%> (-0.03%) ⬇️
sqlite 57.92% <48.64%> (-0.02%) ⬇️
unit 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions Bot added i18n:spanish Translation related to Spanish language i18n:italian Translation related to Italian language i18n:french Translation related to French language i18n:chinese Translation related to Chinese language i18n:japanese Translation related to Japanese language i18n:korean Translation related to Korean language i18n:dutch i18n:slovak labels Jun 9, 2026

@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 #64f414

Actionable Suggestions - 60
Additional Suggestions - 12
  • superset/translations/zh/LC_MESSAGES/messages.po - 1
    • Template string translated incorrectly · Line 192-194
      Template translation appears incorrect: '%(name)s.%(extension)s' is a filename template (e.g., 'report.xlsx') but msgstr '维度' means 'dimension', which is semantically unrelated. The translation may cause confusing output or be unused.
  • superset/translations/sk/LC_MESSAGES/messages.po - 1
    • Lost meaningful translation · Line 229-230
      Changed from meaningful Slovak word 'Rozšírenie' (Extension) to untranslated placeholder `%(name)s.%(extension)s`. The original translation was semantically appropriate for a file extension placeholder.
  • superset/translations/pl/LC_MESSAGES/messages.po - 4
    • Incorrect CSV reference in XLSX translation · Line 969-969
      The translation at line 969 incorrectly references 'CSV' instead of 'XLSX'. The English msgid is 'A timeout occurred while generating an xlsx.' but the Polish msgstr uses 'pliku CSV'. Compare with the existing correct translation at line 962 for 'A timeout occurred while generating a csv.' which uses 'pliku CSV'.
      Code suggestion
      --- superset/translations/pl/LC_MESSAGES/messages.po
      +++ superset/translations/pl/LC_MESSAGES/messages.po
       @@ -966,7 +966,7 @@
       
        #, fuzzy
        msgid "A timeout occurred while generating an xlsx."
      -msgstr "Wystąpiło przekroczenie czasu podczas generowania pliku CSV."
      +msgstr "Wystąpiło przekroczenie czasu podczas generowania pliku XLSX."
       
        msgid "A timeout occurred while taking a screenshot."
        msgstr "Wystąpiło przekroczenie czasu podczas wykonywania zrzutu ekranu."
    • Incorrect CSV reference in Excel translation · Line 6608-6608
      The translation at line 6608 incorrectly describes the feature as 'Sformatowany CSV' (Formatted CSV) when the English says 'Excel (XLSX) attached in email'. Polish users will see misleading CSV reference instead of Excel.
      Code suggestion
      --- superset/translations/pl/LC_MESSAGES/messages.po
      +++ superset/translations/pl/LC_MESSAGES/messages.po
       @@ -6605,7 +6605,7 @@
       
        #, fuzzy
        msgid "Excel (XLSX) attached in email"
      -msgstr "Sformatowany CSV załączony w e-mailu"
      +msgstr "Arkusz Excel załączony w e-mailu"
       
        #, fuzzy
        msgid "Excel Export"
    • Incorrect CSV reference in XLSX translation · Line 11390-11392
      The translation at lines 11390-11392 incorrectly references 'pliku CSV' instead of 'pliku XLSX'. The English msgid at line 11389 is 'Report Schedule execution failed when generating an xlsx.' Polish users will see wrong file format in error message.
      Code suggestion
      --- superset/translations/pl/LC_MESSAGES/messages.po
      +++ superset/translations/pl/LC_MESSAGES/messages.po
       @@ -11387,7 +11387,7 @@
       
        #, fuzzy
        msgid "Report Schedule execution failed when generating an xlsx."
      -msgstr ""
      -"Wykonanie harmonogramu raportu nie powiodło się podczas generowania pliku"
      -" CSV."
      +msgstr ""
      +"Wykonanie harmonogramu raportu nie powiodło się podczas generowania pliku"
      +" XLSX."
    • Incorrect translation for 'Send as Excel' · Line 12806-12806
      The translation at line 12806 uses 'Wyślij jako tekst' (Send as text) for 'Send as Excel'. This is incorrect and misleading. Compare with adjacent correct translations: 'Send as CSV' → 'Wyślij jako CSV' (line 12802), 'Send as PDF' → 'Wyślij jako PDF' (line 12810).
      Code suggestion
      --- superset/translations/pl/LC_MESSAGES/messages.po
      +++ superset/translations/pl/LC_MESSAGES/messages.po
       @@ -12803,7 +12803,7 @@
       
        #, fuzzy
        msgid "Send as Excel"
      -msgstr "Wyślij jako tekst"
      +msgstr "Wyślij jako Excel"
       
        #, fuzzy
        msgid "Send as PDF"
  • superset/translations/pt/LC_MESSAGES/messages.po - 1
    • Missing Portuguese translation · Line 900-901
      The xlsx timeout message now has an empty `msgstr`, causing English text to display to Portuguese users instead of a localized message. All other timeout messages in this file have Portuguese translations. This creates an inconsistent user experience for pt-BR users.
  • superset/translations/es/LC_MESSAGES/messages.po - 4
    • Fuzzy entry with placeholder mismatch · Line 238-240
      This entry is marked fuzzy (won't be used) and msgstr 'Dimensiones' doesn't use placeholders. File naming pattern won't display correctly to Spanish users.
    • Missing translation · Line 7051-7055
      Empty msgstr leaves file size error untranslated. Spanish users will see English error message about file upload limits.
    • Missing translation · Line 11441-11444
      Empty msgstr for resample method validation error. Spanish users will see English validation message.
    • Missing translations · Line 16099-16109
      Two error messages have empty msgstr. Spanish users will see English errors about query complexity limits.
  • superset/translations/lv/LC_MESSAGES/messages.po - 1
    • Empty translation for error message · Line 10679-10680
      The msgstr is empty, but this is an operator-facing error message, not a user-facing UI label. Consider adding translation for consistency, though impact is lower.
Filtered by Review Rules

Bito filtered these suggestions based on rules created automatically for your feedback. Manage rules.

  • superset/translations/de/LC_MESSAGES/messages.po - 1
  • tests/unit_tests/commands/report/execute_test.py - 1
Review Details
  • Files reviewed - 31 · Commit Range: a3acdce..870adf4
    • superset/translations/ar/LC_MESSAGES/messages.po
    • superset/translations/ca/LC_MESSAGES/messages.po
    • superset/translations/cs/LC_MESSAGES/messages.po
    • superset/translations/de/LC_MESSAGES/messages.po
    • superset/translations/en/LC_MESSAGES/messages.po
    • superset/translations/es/LC_MESSAGES/messages.po
    • superset/translations/fa/LC_MESSAGES/messages.po
    • superset/translations/fi/LC_MESSAGES/messages.po
    • superset/translations/fr/LC_MESSAGES/messages.po
    • superset/translations/it/LC_MESSAGES/messages.po
    • superset/translations/ja/LC_MESSAGES/messages.po
    • superset/translations/ko/LC_MESSAGES/messages.po
    • superset/translations/lv/LC_MESSAGES/messages.po
    • superset/translations/messages.pot
    • superset/translations/mi/LC_MESSAGES/messages.po
    • superset/translations/nl/LC_MESSAGES/messages.po
    • superset/translations/pl/LC_MESSAGES/messages.po
    • superset/translations/pt/LC_MESSAGES/messages.po
    • superset/translations/pt_BR/LC_MESSAGES/messages.po
    • superset/translations/ru/LC_MESSAGES/messages.po
    • superset/translations/sk/LC_MESSAGES/messages.po
    • superset/translations/sl/LC_MESSAGES/messages.po
    • superset/translations/th/LC_MESSAGES/messages.po
    • superset/translations/tr/LC_MESSAGES/messages.po
    • superset/translations/uk/LC_MESSAGES/messages.po
    • superset/translations/zh/LC_MESSAGES/messages.po
    • superset/translations/zh_TW/LC_MESSAGES/messages.po
    • superset/commands/report/execute.py
    • superset-frontend/src/features/alerts/AlertReportModal.test.tsx
    • tests/unit_tests/commands/report/execute_test.py
    • tests/unit_tests/reports/notifications/email_tests.py
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • MyPy (Static Code Analysis) - ✔︎ Successful
    • Astral Ruff (Static Code Analysis) - ✔︎ 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 superset/translations/th/LC_MESSAGES/messages.po
Comment thread superset/translations/th/LC_MESSAGES/messages.po
Comment thread superset/translations/th/LC_MESSAGES/messages.po
Comment thread superset/translations/th/LC_MESSAGES/messages.po
Comment thread superset/translations/lv/LC_MESSAGES/messages.po
Comment thread superset/translations/lv/LC_MESSAGES/messages.po
Comment thread superset/translations/lv/LC_MESSAGES/messages.po
Comment thread superset/translations/ja/LC_MESSAGES/messages.po
Comment thread superset/translations/ja/LC_MESSAGES/messages.po
Comment thread superset/translations/ja/LC_MESSAGES/messages.po
Comment thread superset/translations/ja/LC_MESSAGES/messages.po
Comment thread superset/translations/fa/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/fa/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/fa/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/fa/LC_MESSAGES/messages.po
Comment thread superset/translations/fa/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/cs/LC_MESSAGES/messages.po
Comment thread superset/translations/cs/LC_MESSAGES/messages.po
Comment thread superset/translations/cs/LC_MESSAGES/messages.po
Comment thread superset/translations/cs/LC_MESSAGES/messages.po
Comment thread superset/translations/tr/LC_MESSAGES/messages.po
Comment thread superset/translations/it/LC_MESSAGES/messages.po
Comment thread superset/translations/it/LC_MESSAGES/messages.po
Comment thread superset/translations/nl/LC_MESSAGES/messages.po
Comment thread superset/translations/nl/LC_MESSAGES/messages.po
Comment thread superset/translations/nl/LC_MESSAGES/messages.po
Comment thread superset/translations/nl/LC_MESSAGES/messages.po
Comment thread superset/translations/zh_TW/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/zh_TW/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/zh_TW/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/zh_TW/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/zh_TW/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/es/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/es/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/es/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/es/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/zh/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/zh/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/zh/LC_MESSAGES/messages.po
Comment thread superset/translations/zh/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/zh/LC_MESSAGES/messages.po
Comment thread superset/translations/zh/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/pt_BR/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/pt_BR/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/pt_BR/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/pt_BR/LC_MESSAGES/messages.po
Comment thread superset/translations/pt_BR/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/pt_BR/LC_MESSAGES/messages.po
Comment thread superset/translations/pt_BR/LC_MESSAGES/messages.po Outdated
Comment thread superset/translations/pt_BR/LC_MESSAGES/messages.po
Comment thread superset/translations/pt_BR/LC_MESSAGES/messages.po
Comment thread superset/translations/de/LC_MESSAGES/messages.po
Comment thread superset/translations/de/LC_MESSAGES/messages.po
Comment thread superset/translations/de/LC_MESSAGES/messages.po
Comment thread superset/translations/sk/LC_MESSAGES/messages.po
Comment thread superset/translations/fr/LC_MESSAGES/messages.po
Comment thread superset/translations/fr/LC_MESSAGES/messages.po
Comment thread superset/translations/fr/LC_MESSAGES/messages.po
Comment thread superset/translations/ko/LC_MESSAGES/messages.po

@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 #561edf

Actionable Suggestions - 10
  • superset/translations/pt_BR/LC_MESSAGES/messages.po - 2
  • superset/translations/es/LC_MESSAGES/messages.po - 1
  • superset/translations/zh_TW/LC_MESSAGES/messages.po - 5
  • superset/translations/pl/LC_MESSAGES/messages.po - 2
Review Details
  • Files reviewed - 6 · Commit Range: 870adf4..83d22a1
    • superset/translations/pl/LC_MESSAGES/messages.po
    • superset/translations/zh/LC_MESSAGES/messages.po
    • superset/translations/zh_TW/LC_MESSAGES/messages.po
    • superset/translations/es/LC_MESSAGES/messages.po
    • superset/translations/fa/LC_MESSAGES/messages.po
    • superset/translations/pt_BR/LC_MESSAGES/messages.po
  • 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 superset/translations/pt_BR/LC_MESSAGES/messages.po
Comment thread superset/translations/es/LC_MESSAGES/messages.po
Comment thread superset/translations/zh_TW/LC_MESSAGES/messages.po
Comment thread superset/translations/zh_TW/LC_MESSAGES/messages.po
Comment thread superset/translations/zh_TW/LC_MESSAGES/messages.po
Comment thread superset/translations/zh_TW/LC_MESSAGES/messages.po
Comment thread superset/translations/zh_TW/LC_MESSAGES/messages.po
Comment thread superset/translations/pl/LC_MESSAGES/messages.po
Comment thread superset/translations/pl/LC_MESSAGES/messages.po
@sfirke

sfirke commented Jun 10, 2026

Copy link
Copy Markdown
Member

Hi @innovark37 , I wanted to say thanks for your contributions to Superset! They have been great. If you ever want to discuss how you fit into the project, your goals or interests in contributing, etc. feel free to connect with me or @rusackas on Slack, LinkedIn, email etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

alert-reports Namespace | Anything related to the Alert & Reports feature change:backend Requires changing the backend change:frontend Requires changing the frontend doc Namespace | Anything related to documentation i18n:brazilian i18n:chinese Translation related to Chinese language i18n:czech i18n:dutch i18n:french Translation related to French language i18n:italian Translation related to Italian language i18n:japanese Translation related to Japanese language i18n:korean Translation related to Korean language i18n:latvian i18n:persian i18n:portuguese i18n:russian Translation related to Russian language i18n:slovak i18n:spanish Translation related to Spanish language i18n:traditional-chinese i18n:ukrainian i18n Namespace | Anything related to localization size/XXL viz:charts:export Related to exporting charts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants