eschutho opened a new pull request, #45928: URL: https://github.com/apache/superset/pull/45928
### SUMMARY When a dashboard URL carries a saved filter state key (`native_filters_key`), the page fetches that state before it loads. If the request never completes (a stalled connection, a proxy that drops the response), the dashboard stays on its loading spinner forever, because nothing loads until the request finishes. This change makes the dashboard wait at most 5 seconds for the saved filter state. After that it gives up and loads the dashboard with no saved filters, exactly as it already does when the key is missing or the request fails with an error. A warning is logged to the console; users see no new error message. Also: - The request is now cancellable, and is cancelled on timeout or when leaving the page. - If the user leaves the dashboard (or switches to another one) while the state is still loading, the late response no longer triggers loading of the old dashboard. How the key gets written to the URL is untouched. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF N/A ### TESTING INSTRUCTIONS Automated: `npm run test -- src/dashboard/containers/DashboardPage.test.tsx` (new tests cover a stalled request, a successful request, and leaving the page mid-request). Manual: open a dashboard with `?native_filters_key=<valid key>` and, in browser dev tools, block or throttle the `/filter_state/` request indefinitely. The dashboard should load without the saved filters after about 5 seconds instead of spinning forever. With the request unblocked, the saved filters apply as before. ### ADDITIONAL INFORMATION - [ ] Has associated issue: - [ ] Required feature flags: - [ ] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] 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 Note: once merged, this is a good candidate to cherry-pick to the 6.0 and 6.1 release branches. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
