msyavuz opened a new pull request, #40530:
URL: https://github.com/apache/superset/pull/40530

   ### SUMMARY
   
   When `ALERT_REPORT_TABS` is enabled and a report's `extra.dashboard` is a 
non-null but empty dict (written by the modal while both `ALERT_REPORT_TABS` 
and `ALERT_REPORTS_FILTER` are on), `get_dashboard_urls()` entered the TABS 
branch and created a permalink with only `native_filters=()` encoded — nothing 
meaningful. Playwright then navigated through the resulting server-side 
redirect, which caused `domcontentloaded` timeouts and screenshot failures for 
any report that had no tab or filter configured.
   
   Fix: guard the `_get_tab_url` fallback so it only fires when there are 
actual native filter params to encode. An empty `dashboard_state` (no anchor, 
no filters) falls through to the plain dashboard URL, same as when the FFs are 
off.
   
   Reports with a tab or filter configured are unaffected — those paths already 
return early before reaching this guard.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   N/A — backend-only fix.
   
   ### TESTING INSTRUCTIONS
   
   1. Enable `ALERT_REPORT_TABS=True` and `ALERT_REPORTS_FILTER=True`.
   2. Create a report on a dashboard with **no tab and no filter** selected.
   3. Send the report — it should succeed and produce a screenshot.
   4. Confirm `CreateDashboardPermalinkCommand` is not called (no permalink 
created).
   5. Run `pytest tests/unit_tests/commands/report/execute_test.py -k 
"dashboard_urls"`.
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue:
   - [x] Required feature flags: `ALERT_REPORT_TABS`, `ALERT_REPORTS_FILTER`
   - [ ] Changes UI
   - [ ] Includes DB Migration
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API


-- 
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