sadpandajoe commented on code in PR #44082:
URL: https://github.com/apache/superset/pull/44082#discussion_r3986524352


##########
superset-frontend/src/dashboard/components/menu/DownloadMenuItems/index.tsx:
##########
@@ -244,23 +255,25 @@ export const useDownloadMenuItems = (
         },
       ];
 
+  const xlsxExportLabel = (mode: 'data' | 'images', text: string) =>
+    exportingXlsx === mode ? t('Preparing export…') : text;
+
   const exportMenuItems: MenuItem[] = [
     ...(userCanExport
       ? [
           {
             key: 'export-xlsx',
-            label: t('Export Data to Excel'),
+            label: xlsxExportLabel('data', t('Export Data to Excel')),

Review Comment:
   The production actions dropdown closes after every menu click, so this label 
change disappears as soon as a synchronous export starts. A workbook can take 
tens of seconds to build, during which the dashboard shows no in-flight 
feedback and the click appears unresponsive unless the user reopens the menu. 
Could the progress state be shown outside the closing dropdown (for example, 
with a persistent toast or header indicator) and covered through the Header 
menu?



##########
superset/views/base.py:
##########
@@ -556,6 +556,9 @@ def cached_common_bootstrap_data(  # pylint: 
disable=unused-argument
 
     # should not expose API TOKEN to frontend
     frontend_config = {k: _get_frontend_config_value(k) for k in 
FRONTEND_CONF_KEYS}
+    frontend_config["EXCEL_EXPORT_STORAGE_CONFIGURED"] = bool(

Review Comment:
   This bootstrap flag reads `EXCEL_EXPORT_S3_BUCKET` directly, while the 
endpoint selects its delivery path through `is_export_storage_configured()`. 
When the planned pluggable export-storage work changes that helper for a non-S3 
backend, the API can accept queued image exports while the UI still hides the 
action. Could this use the same capability helper so the client and endpoint 
cannot drift?



##########
docs/docs/using-superset/exporting-dashboard-data.mdx:
##########
@@ -88,18 +106,19 @@ variables, shared config, or instance role) unless 
overridden via
 ## Security considerations
 
 - The emailed link is a **pre-signed S3 URL**: anyone who holds it can download
-  the workbook until it expires. Keep the bucket **private**, enable
-  encryption, and consider a lifecycle rule to delete objects after a few days.
+  the workbook until it expires. Direct downloads are not stored or linked.
+  Keep the bucket **private**, enable encryption, and consider a lifecycle rule
+  to delete objects after a few days.
   Lower `EXCEL_EXPORT_LINK_TTL_SECONDS` if 24 hours is too long for your data.
 - The export runs with the requesting user's permissions; each chart's query is
   access-checked, so users only ever receive data they are entitled to.
 
 ## Limitations
 
 - **Embedded dashboards / guest tokens are not supported** in this version,
-  because guest users have no email address to deliver the link to. Logged-in
-  users viewing an embedded dashboard can still use the export.
+  including direct downloads. Logged-in users viewing an embedded dashboard can

Review Comment:
   Direct downloads still return 400 for any non-guest account without an email 
address, but this limitations section only calls out guest tokens while the 
page says logged-in users can export without configuration. An SSO user whose 
profile has no email will therefore see the action and get an undocumented 
failure. Could this document the account-email requirement, or remove that 
requirement for the inline path?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to